This baseline correction routine iteratively finds the baseline of a spectrum using a polynomial fitting or accepts a manual baseline.
Usage
subtr_baseline(x, ...)
# Default S3 method
subtr_baseline(x, ...)
# S3 method for class 'OpenSpecy'
subtr_baseline(
x,
type = "polynomial",
degree = 8,
raw = FALSE,
baseline,
make_rel = TRUE,
...
)
Arguments
- x
a list object of class
OpenSpecy
.- type
one of
"polynomial"
or"manual"
depending on whether you want spectra to be corrected with a manual baseline or with polynomial baseline fitting.- degree
the degree of the polynomial. Must be less than the number of unique points when raw is
FALSE
. Typically a good fit can be found with a 8th order polynomial.- raw
if
TRUE
, use raw and not orthogonal polynomials.- baseline
an
OpenSpecy
object containing the baseline data to be subtracted.- make_rel
logical; if
TRUE
spectra are automatically normalized withmake_rel()
.- ...
further arguments passed to
poly()
.
Value
subtr_baseline()
returns a data frame containing two columns named
"wavenumber"
and "intensity"
.
Details
This is a translation of Michael Stephen Chen's MATLAB code written for the
imodpolyfit
routine from Zhao et al. 2007.
References
Chen MS (2020). Michaelstchen/ModPolyFit. MATLAB. Retrieved from https://github.com/michaelstchen/modPolyFit (Original work published July 28, 2015)
Zhao J, Lui H, McLean DI, Zeng H (2007). “Automated Autofluorescence Background Subtraction Algorithm for Biomedical Raman Spectroscopy.” Applied Spectroscopy, 61(11), 1225–1232. doi:10.1366/000370207782597003 .
See also
poly()
;
smooth_intens()
Examples
data("raman_hdpe")
subtr_baseline(raman_hdpe)
#> wavenumber intensity
#> <num> <num>
#> 1: 301.040 0.000000000
#> 2: 304.632 0.010833354
#> 3: 308.221 0.008185951
#> 4: 311.810 0.000000000
#> 5: 315.398 0.000000000
#> ---
#> 960: 3187.990 0.037684523
#> 961: 3190.520 0.037684523
#> 962: 3193.060 0.043235847
#> 963: 3195.590 0.043235847
#> 964: 3198.120 0.032133199
#>
#> $metadata
#> x y user_name spectrum_type spectrum_identity organization
#> <int> <int> <char> <char> <char> <char>
#> 1: 1 1 Win Cowger Raman HDPE Horiba Scientific
#> license session_id
#> <char> <char>
#> 1: CC BY-NC 5728ddde4f649fd71f6f487fc5ad8d80/dc85257201307a131e71d9ec24aaccbf
#> file_id
#> <char>
#> 1: cb06ce2846b119d932fb6696479a445b