Oplecorr
Purpose
Optical path-length estimation and correction with closure constraints.
Synopsis
- model = oplecorr(x,y,ncomp,options); %identifies model (calibration)
- sx = oplecorr(x,model,options); %applies the model
Description
The OPLEC model is similar to EMSC but doesn't require esimates of the pure spectra for filtering. Instead it assumes closure on the chemical analyte contributions and the use of a non-chemical signal basis P defined by the input (options.order). For example, if options.order = 2, then P = [1, (1:n)', (1:n)'.^2] to account for offset, slope and curvature in the baseline.
INPUTS
1) Calibration: model = oplecorr(x,y,ncomp,options); x = M by N matrix of spectra (class "double" or "dataset").
y = M by 1 matrix of known reference values. ncomp = number of components to to be used for the basis Z (positive integer scalar).
2) Apply: sx = oplecorr(x,model,options);
Optional input (options) is a structure array described below. x = M by N matrix of spectra to be correctected .
model = oplecorr model.
OUTPUT
model = oplecorr model. sx = a M by N matrix of filtered ("corrected") spectra.
Options
options = a structure array with the following fields:
- display: [ {'off'}| 'on' ] governs level of display to the command window.
- order: defines the order of polynomial to describe 'non-chemical' signal due to physical artifacts.
- Alternatively, (order) can be a N by Kp matrix corresponding to basis vectors to account for non-chemical signal.
This portion of the signal is not included in the closure constraint. See Algorithm for a more complete description.
- center: [ {false} | true] governs mean-centering of the PLS model that regresses the corrections factors (model.b). No centering (the default) results in a force fit through zero.