Multiplicative Scatter Correction (msc)
This function implements the multiplicative scatter correction method which attempts to remove physical light scatter by accounting for additive and multiplicative effects (Geladi et al., 1985).
msc(X, reference_spc = colMeans(X))
X |
a numeric matrix of spectral data. |
reference_spc |
a numeric vector corresponding to an "ideal" reference
spectrum (e.g. free of scattering effects). By default the function uses the
mean spectrum of the input |
The Multiplicative Scatter Correction (MSC) is a normalization method that attempts to account for additive and multiplicative effects by aligning each spectrum (\(x_i\)) with an ideal reference one (\(x_r\)) as follows:
where \(a_i\) and \(m_i\) are the additive and multiplicative terms respectively.
a matrix of normalized spectral data with an attribute which indicates the reference spectrum used.
Leonardo Ramirez-Lopez and Guillaume Hans
Geladi, P., MacDougall, D., and Martens, H. 1985. Linearization and Scatter-Correction for Near-Infrared Reflectance Spectra of Meat. Applied Spectroscopy, 39(3):491-500.
data(NIRsoil) NIRsoil$msc_spc <- msc(X = NIRsoil$spc) # 10 first snv spectra matplot( x = as.numeric(colnames(NIRsoil$msc_spc)), y = t(NIRsoil$msc_spc[1:10, ]), type = "l", xlab = "wavelength, nm", ylab = "msc" )
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.