Baseline Fit each column in "x".
There did not seem to be a similar function in th file exchange. This routine is simply a wrapper for two Matlab routines, interp1 and ginput.
Syntax:
[ycorr,yfit] = bf(y,pts,avgpts,method,confirm);
ycorr = bf(y); ycorr = bf(y,method);
A baseline fit is interpolated from selected points and then applied to the data. The selected points are indices into the column and may be specified explicitly ("pts") or interactively.
Arguments following "y" may be in any order.
To provide some noise immunity, "avgpts" determines the width in points for the calculation of the mean y(pts).
The "method" controls the algorithm applied for the baseline fit, see Matlab's interp1. (Default is 'spline').
"confirm", if specified as the string 'confirm', will allow the user to see the result and to confirm it is acceptable. If not the user can reslect "pts".
Examples:
[y,yfit] = bf(y,'confirm','linear');
"y" will be plotted and the user is instructed to select points for the fit. A baseline will be linearly interpolated from the selected points and will be plotted together with "y". The user is prompted as to whether to redo the baseline selection. Upon completion, the corrected data "y" and the fitted baseline "yfit" are output.
ycorr = bf(y,5);
"y" is plotted and the user is instructed to select points for the fit. The baseline fit is based on the mean value of "y" over 5 points centered on the selected points. Cubic spline interpolation is used for the baseline fit. The corrected data "ycorr" is output.
ycorr = bf(y,[5,10,15,30,35,40],'pchip');
Points with the specified indices are used to calculate a baseline fit using the piecewise cubic Hermite interpolation method. No data is plotted. The baseline fit is based on the mean value of "y" over 3 points centered on the selected points. The corrected data "ycorr" is output. |