Emscorr

From Eigenvector Research Documentation Wiki
Revision as of 16:11, 15 October 2008 by imported>Scott
Jump to navigation Jump to search

Purpose

Extended multiplicative scatter correction (EMSC) preprocessing.

Synopsis

[sx,fx,xref,reg,res] = emscorr(x,xref,options)

Description

EMSCORR attempts to remove additive and multiplicative scattering effects in spectra. This can be thought of as a filter where some portions of the signal are passed and some are rejected. The input x is a MxN matrix (class "double") of M spectra measured at N channels. Each row of x is regressed against input xref and the results are used to 'correct' x. If xref is not input then mean(x) is used.

There are several options to allow for weighted least squares (i.e. to de-weight channels that should not be included in the regression), including different spectra that should be filtered out, and including spectra that should not be filtered out.

The outputs are sx the corrected spectra, fx the signal that was filtered out, and xref the reference spectrum. Outputs reg are the regression coefficients and res is a MxN matrix of residuals. For non-windowed filtering, reg is [number of coefficients] x M. The number of coefficients corresponds to the number of basis vectors included in the correction. The coefficients are ordered according to the following basis: xbase = [xref, 1 x x2 ..., options.p, options.s]. If a windowed filter is used, reg is [number of coefficients] x N x M. where mode 2 corresponds to the windows.

Inputs

  • first = first input is this.

Optional Inputs

  • second = optional second input is this.

Outputs

  • firstout = first output is this.

Algorithm

Options

options = a structure array with the following fields:

  • plots: [ {'none'} | 'final' ] governs plotting of results, and
  • order: positive integer for polynomial order {default = 1}.

Example

>>This is an example
Error: does not exist

See Also

baselinew, deresolv