What’s New in Revision 0.12.8
These are the changes in SpectroChemPy-0.12.8. See Release notes for a full changelog, including other versions of SpectroChemPy.
New Features
Added
scp.Pipelinefor linear, reproducible composition of SpectroChemPy estimators: allowlisted preprocessing transformers optionally followed by a final transformer (PCA) or a supervised estimator (PLSRegression,LSTSQ,NNLS). Steps are templates cloned on fit (fitted_steps_/fitted_named_steps_);transform/fit_transformare available for transformer-final pipelines andpredict/scorefor estimator-final pipelines, with nestedset_paramssupport and fitted-state invalidation. (#1590)OMNIC
.spaimports now expose additional acquisition metadata indataset.metawhen available for the file variant: scan and FFT point counts, sample and background scan counts and gains, interferogram peak position, aperture, digitizer bit depth, filter settings, and reference frequency. (#1606)
Bug Fixes
Fixed
scp.simpsonso it always resolves to the public numerical integration functionsimpson(dataset, dim='x'), even when a plugin contributes a SIMPSON I/O reader;scp.read_simpsonandscp.nmr.read_simpsonremain the explicit file-reading surfaces anddataset.simpson()is unchanged. (#1599)Corrected OMNIC
.spainterferogram optical-path-difference coordinates by honoring the native header sample-spacing factor instead of always assuming a doubled step. (#1598)Corrected OMNIC SPA metadata decoding: optical velocity now comes from the canonical acquisition-parameter block when available, with a fallback for older files; Raman
laser_frequencynow reports the excitation frequency separately fromreference_frequency. Experiment Information in SPA and SPG files now correctly distinguishes the path, title, description, and accessory fields. (#1603, #1605, #1606)Recognized library/retrieved OMNIC
.spavariants no longer receive a spurious acquisition date. They use an undated spectrum coordinate instead of interpreting a non-acquisition header value as a timestamp. (#1605)Corrected OMNIC
.srsseries time-axis anchoring (it now starts from the recorded series minimum time) and fixed per-spectrum labels, which no longer include binary metadata leaked past the 84-byte record. (#1593)Normalized OMNIC
.srsspectral series to the publicread_spaconvention: wavenumbers are exposed descending with the intensity data matched to them. Rapid-scan interferograms keep their ascending data-points axis and records with an unrecognized X-axis type are left unchanged with a warning. (#1594, #1595)
Breaking Changes
Removed
dataset.meta.omnic_experiment_filefrom OMNIC Experiment Information. Despite its name, this field exposed the native experiment title rather than a reliable filename and could therefore provide incorrect provenance information. It was removed as a metadata-correctness fix rather than retained through the normal deprecation cycle. Usedataset.meta.omnic_experiment_titlefor the native title/name field; the separate description is available asdataset.meta.omnic_experiment_description. (#1605)
Deprecations
The
reverse_xkeyword argument ofread_srsis deprecated: SRS spectral orientation is now handled automatically. Supplying it (with any value) emits aDeprecationWarningand is ignored. (#1594, #1595)
Developer
MAINT: Refactored the OMNIC SPA reader to separate native parsing, signal selection, coordinate construction, metadata attachment, and dataset finalization, preserving spectral and standalone/associated interferogram reading modes. (#1604, #1606, #1607)
MAINT: Centralized the reserved-root-symbol policy so plugins cannot shadow
public scp symbols; conflicting plugin I/O namespaces are rejected at
registration with a controlled warning while the read_<format> reader
remains available through its explicit surfaces. (#1599)
MAINT: Standardized fitted-state inspection, unfitted cloning, and lifecycle
invalidation for the estimators supported by Pipeline. (#1589)
DOC: Expanded the Pipeline user guide and documented the validated OMNIC SRS and SPA file layouts and SPA reader behavior. (#1592, #1596, #1597, #1602, #1607)