This document records all notable changes to pyMCR.
This project adheres to PEP 440 -- Version Identification and Dependency Specification.
- Fixed numpy deprecated dtype specifications
- Providing sklearn-like features
- Added fit_transform method that acts like the sklearn NMF fit_transform method.
- Returns C
- Added components attribute, which is synonymous with ST
- Added fit_kwargs parameter to McrAR that will pass forward to the fit and fit_transform methods
- One can, e.g., set the ST or C guess from instantiation instead of calling fit or fit_transform
- Added fit_transform method that acts like the sklearn NMF fit_transform method.
- Moved to Github actions for CD
- Logging setup by default upon importing the library.
- Updated Jupyter Notebooks to reflect the change to the logging setup
- Minor bug fixes
- Moved to Github actions for CI
- Jupyter Notebook in Examples from JRes NIST publication.
- Minor tweeks and fixes
- Added Conda-Forge badge
- Implemented logging and removed print() statements
- Removed Jupyter Notebook from forthcoming pub -- will return in the future with better examples
- Minor fixes to CI
- Documentation: https://pages.nist.gov/pyMCR or build locally via Sphinx
- Added Jupyter Notebook that generates images from forthcoming publication.
- Perform semi-learning: assigning some input ST or C components to be static in fit method.
- Main class pymcr.mcr.McrAls renamed to pymcr.mcr.McrAR
- Constraints
- Non-negative cumulative summation
- Zero end-points
- Zero (approx) cumulative summation end-points (can specify nodes as well)
- Compress or cut values above or below a threshold value
- Replace sum-across-features samples (e.g., 0 concentration) with prescribed target
- Enforce a plane ("planarize"). E.g., a concentration image is a plane.
- Improved Demo Notebook documentation
- Total re-write that is incompatible with earlier version
- Built-in solvers: non-negative least squares (scipy.optimize.nnls), ordinary least squares (scipy.linalg.lstsq)
- Native support for scikit-learn estimators as least squares solvers / regressor
- Can now explicitly list and order constraints.
- Concentration and spectral mean relative distance tracked across iterations
- Initial version