Evolution of the fingerPro Package

Comparative analysis of the fingerPro package versions back to the original standalone C program. Each phase documents the state, features, and development metrics of the package, presented in reverse chronological order.


fingerPro 2.1

API Refinement and CRAN Preparation

This version focuses on standardizing the package for CRAN, refining the public API, and improving data ingestion workflows.

Key Features


fingerPro 2.0

Refinement and Variability Propagation

A major development cycle aimed at polishing the package for CRAN. While the initial objective was to include the Conservative Balance (CB) method, the project evolved into a deep revision of almost all existing functions and documentation.

Key Features


fingerPro 1.4

**Restructuring and Standardization

This phase modernized the codebase by gathering dispersed functions and adopting consistent naming conventions.

Key Features


fingerPro 1.3

Major Expansion: Selection and Logic

A significant growth phase that introduced the core tracer selection framework.

Key Features


fingerPro 1.2 / 1.1

Maintenance and Metadata * 1.2: Updated README.md to include CRAN/Zenodo badges and formal DOI citations. * 1.1: Maintenance release; identical to the 1.0 code base.


fingerPro 1.0

The Full R Package Transition

This version marked the transformation from a single-function bridge into a comprehensive statistical toolset. * Algorithm: New optimization using Latin Hypercube sampling with iterative variability corrections. * Statistical Testing: Built-in functions for Kruskal-Wallis (KW) and Discriminant Function Analysis (DFA). * Graphic Suite: Implemented a wide range of plots using ggplot2, including PCA biplots, LDA plots, and contribution density plots.


fingerPro 0.9

The Rcpp Bridge

The first iteration as an R package, originally named fingerprinting. It provided a single Rcpp wrapper around the original C algorithm, implementing a Goodness of Fit (GOF).


fingerPro-C 0.8

Standalone C Program

The original implementation of the unmixing logic. * Interface: Command-line execution using input.txt and solution.txt. * Dependencies: GNU Scientific Library (GSL). * Algorithm: Random weight generation (sorted uniforms) with quadratic GOF optimization.