mssgolay
Smooth signal with peaks using least-squares polynomial
Syntax
Yout
= mssgolay(X
, Intensities
)
mssgolay(X
, Intensities
,
...'Span', SpanValue
, ...)
mssgolay(X
, Intensities
,
...'Degree', DegreeValue
, ...)
mssgolay(X
, Intensities
,
...'ShowPlot', ShowPlotValue
, ...)
Arguments
X | Vector of separation-unit values for
a set of signals with peaks. The number of elements in the vector
equals the number of rows in the matrix Intensities .
The separation unit can quantify wavelength, frequency, distance,
time, or m/z depending on the instrument that generates the signal
data. |
Intensities | Matrix of intensity values for a set of peaks that share the
same separation-unit range. Each row corresponds to a separation-unit
value, and each column corresponds to either a set of signals with
peaks or a retention time. The number of rows equals the number of
elements in vector X . |
Description
Tip
Use the following syntaxes with data from any separation technique that produces signal data, such as spectroscopy, NMR, electrophoresis, chromatography, or mass spectrometry.
smooths
raw noisy signal data, Yout
= mssgolay(X
, Intensities
)Intensities
, using
a least-squares digital polynomial filter (Savitzky and Golay filters).
The default span or frame is 15
samples.
mssgolay(
calls X
, Intensities
,
...'PropertyName
', PropertyValue
,
...)mssgolay
with optional properties
that use property name/property value pairs. You can specify one or
more properties in any order. Each PropertyName
must
be enclosed in single quotation marks and is case insensitive. These
property name/property value pairs are as follows:
mssgolay(
modifies
the frame size for the smoothing function. If X
, Intensities
,
...'Span', SpanValue
, ...)SpanValue
is
greater than 1
, the window is the size of
in
samples independent of the SpanValue
X
vector. Higher
values smooth the signal more with an increase in computation time.
If SpanValue
is less than 1
,
the window size is a fraction of the number of points in the input
data, X
. For example, if SpanValue
is 0.05
,
the window size is equal to 5%
of the number of
points in X
.
Note
The original algorithm by Savitzky and Golay assumes the input
vector, X
, has uniformly spaced separation
units, while mssgolay
also allows one that is not
uniformly spaced. Therefore, the sliding frame for smoothing is centered
using the closest samples in terms of the X
value
and not in terms of the X
index.
When the input vector, X
, does not
have repeated values or NaN values, the algorithm is approximately
twice as fast.
When the input vector, X
, is evenly
spaced, the least-squares fitting is performed once so that the signal
is filtered with the same coefficients, and the speed of the algorithm
increases considerably.
If the input vector, X
, is evenly
spaced and SpanValue
is even, span is incremented
by 1
to include both edge samples in the frame.
mssgolay(
specifies
the degree of the polynomial (X
, Intensities
,
...'Degree', DegreeValue
, ...)DegreeValue
)
fitted to the points in the moving frame. The default value is 2
. DegreeValue
must
be smaller than SpanValue
.
mssgolay(
plots
smoothed signals over the original. When X
, Intensities
,
...'ShowPlot', ShowPlotValue
, ...)mssgolay
is
called without output arguments, the signals are plotted unless ShowPlotValue
is false
.
When ShowPlotValue
is true
,
only the first signal in Intensities
is
plotted. ShowPlotValue
can also contain
an index to one of the signals in Intensities
.
Examples
Version History
Introduced before R2006a
See Also
mspalign
| msbackadj
| msdotplot
| msalign
| msheatmap
| mslowess
| msnorm
| mspeaks
| msresample
| msppresample
| msviewer
Topics
- Mass Spectrometry and Bioanalytics
- Preprocessing Raw Mass Spectrometry Data
- Visualizing and Preprocessing Hyphenated Mass Spectrometry Data Sets for Metabolite and Protein/Peptide Profiling
- Differential Analysis of Complex Protein and Metabolite Mixtures Using Liquid Chromatography/Mass Spectrometry (LC/MS)