Nanodrop.Baseline (nanodrop v0.3.1)

Copy Markdown

Baseline correction using Rayleigh scattering turbidity model.

Fits turbidity baseline to:

baseline(λ) = A / (λ + c)^4 + b

Using 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

correct(spectrum, opts \\ [])

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 spectrum
  • corrected_spectrum - baseline-subtracted spectrum
  • turbidity - fitted turbidity parameters (%Turbidity{})

fit_turbidity(wavelengths, absorbance, windows)

Fits turbidity parameters using Levenberg-Marquardt over specified windows.

Model: A(λ) = A / (λ + c)^4 + b

Parameters:

  • A (amplitude)
  • c (wavelength offset)
  • b (y-offset)