Estimates a baseline for a series of numbers whose minimum value is drifting. (D.B. Baird).
Options
PLOT = string token |
Whether to plot the series and the fitted baseline (baseline ); default * i.e. no plot |
---|---|
BANDWIDTH = scalar |
Bandwidth for the moving minimum; default 50 |
WINDOW = scalar |
Window number for the plot; default 1 |
KEYWINDOW = scalar |
Window for the key (zero for no key); default 2 |
Parameters
Y = variates |
Series whose baseline is to be estimated |
---|---|
NEWY = variates |
Saves the y-values corrected to a zero baseline |
BASELINE = variates |
Saves the estimated baseline |
TITLE = text |
Title for the plot |
Description
BASELINE
is useful in the situation where you have a series of observations that are assumed to be fluctuating above and then back down to a baseline. Often the baseline may be drifting, and this will need to be corrected if, for example, you want to identify peaks and their heights.
The series is supplied, in a variate, by the Y
parameter. The corrected values can be saved using the NEWY
parameter, and the estimated baseline can be saved using the BASELINE
parameter (both in variates). The baseline is estimated by taking the maximum of a moving minimum over a bandwidth specified by the BANDWIDTH
option (default 50). If you want to detect peaks, the bandwidth should be greater than their anticipated width.
You can set option PLOT=baseline
to plot the series and the estimated baseline. The WINDOW
option specifies the window to use for the plot (default 1), and the KEYWINDOW
option specifies the window for the key (default 2). You can supply a title for the plot using the TITLE
parameter; the default title is “Moving minimum (b) baseline fitted to y” where b is the bandwidth, and y is the identifier of the Y
variate.
Options: PLOT
, BANDWIDTH
, TITLE
, WINDOW
, KEYWINDOW
.
Parameters: Y
, NEWY
, BASELINE
.
Action with RESTRICT
Any restrictions on the Y
variate are ignored.
See also
Procedures: ALIGNCURVE
, PEAKFINDER
.
Commands for: Calculations and manipulation.
Example
CAPTION 'BASELINE example'; STYLE=meta " generate artificial data " SCALAR N,NP,W,A,B; VALUE=1000,10,30,*,* VARIATE [VALUES=1...N] X CALCULATE [SEED=49438] A,B = GRUNIFORM(1; -1; 1) & [SEED=0] Peak = GRUNIFORM(NP;0;N) & P[1...NP] = EXP(-((X-#Peak)**2)/W**2) & Y = A*(X/1000) + B*COS(X/200) + VSUM(P) + GRUNIFORM(N;0;0.2) BASELINE [PLOT=baseline;BANDWIDTH=100] Y; NEWY=Ycorrected; BASELINE=Baseline PRINT Y,Ycorrected,Baseline PEN 1; METHOD=line; SYMBOL=0 DGRAPH [TITLE='Corrected data'] Y=Ycorrected; X=X