pp_iasls — Improved asymmetric least-squares baseline correction (IAsLS)¶
Group: Baseline correction · C ABI: n4m_transform_iasls_*
Description¶
Improved asymmetric least-squares baseline correction.
Parameters¶
Name |
Type |
Default |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
API and bindings¶
C ABI (ABI 2): n4m_transform_iasls_create · n4m_transform_iasls_create_ex · n4m_transform_iasls_destroy · n4m_transform_iasls_transform. Use the linked public header for the exact signature, configuration, and result handles.
Python (verified public re-export):
from n4m.transform.baseline import IAsLS
Source signature: IAsLS(lam: float = 1000000.0, p: float = 0.01, lam_1: float = 0.0001, polyorder: int = 2, diff_order: int = 2, max_iter: int = 50, tol: float = 0.001).
R: no current source-verified entry point was found for this catalog method.
MATLAB / Octave: no current source-verified entry point was found for this catalog method.
Explanations¶
Bibliographic source¶
He et al. (2014), Baseline correction for Raman spectra using an improved asymmetric least squares method, Analytical Methods 6, 4402–4407, https://doi.org/10.1039/C4AY00068D.
Mathematical principle¶
IAsLS augments asymmetric Whittaker fitting with a derivative fidelity penalty controlled by lam_1; it estimates an initial polynomial background, then iterates asymmetric weights while penalizing the configured baseline difference order.
Appropriate uses¶
Baseline correction when ordinary AsLS leaves peak-dependent distortion and a derivative-aware smoothness term is useful.
Limits and validation¶
The result is sensitive to two penalties, asymmetry, polynomial order, and stopping criteria. Published IAsLS variants differ, so this page describes the shipped kernel.
Implementation¶
n4m.transform.baseline.IAsLS uses n4m_transform_iasls_*; the exact polynomial initialization and weighted solve are in preprocessing/baselines/iasls.c.
The ABI-2 implementation is the n4m_transform_iasls_* lifecycle in libn4m.
Sources and provenance¶
https://doi.org/10.1039/C4AY00068D; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/baselines/iasls.c
See also: methods index · interactive dashboard