Nanodrop.Baseline
(nanodrop v0.3.1)
Copy Markdown
Baseline correction using Rayleigh scattering turbidity model.
Fits turbidity baseline to:
baseline(λ) = A / (λ + c)^4 + bUsing Levenberg-Marquardt nonlinear least squares over two segments where peak contribution is minimal:
- 225-235nm (left edge, avoiding noisy low-wavelength data)
- 300-400nm (right side)
The corrected spectrum is simply: raw - baseline A260 is read directly from the corrected spectrum.
Summary
Functions
Corrects a spectrum for baseline using Rayleigh turbidity fit.
Fits turbidity parameters using Levenberg-Marquardt over specified windows.
Functions
@spec correct( Nanodrop.Spectrum.t(), keyword() ) :: {Nanodrop.Spectrum.t(), Nanodrop.Spectrum.t(), Nanodrop.Functions.Turbidity.t()}
Corrects a spectrum for baseline using Rayleigh turbidity fit.
Options
:windows- List of{min, max}wavelength ranges for fitting (default:[{225.0, 235.0}, {300.0, 400.0}])
Returns a tuple of {spectrum, corrected_spectrum, turbidity}:
spectrum- the original input spectrumcorrected_spectrum- baseline-subtracted spectrumturbidity- fitted turbidity parameters (%Turbidity{})
Fits turbidity parameters using Levenberg-Marquardt over specified windows.
Model: A(λ) = A / (λ + c)^4 + b
Parameters:
- A (amplitude)
- c (wavelength offset)
- b (y-offset)