File Exchange

image thumbnail

Baseline Fit

version 1.0 (2.98 KB) by

A baseline fit is interpolated from selected points and then applied to the data.

64 Downloads

Updated

View License

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.

Comments and Ratings (9)

Saylee M.

Mustafa UNAL

JHEHG YI-WUN

Anjul Khadria

This works nicely but changes the original values of y to relative values. Can you please advise, how do I do the baseline correction and readjust with the original values of y. I am trying to correct for a data obtained from photobleaching of few images.

marcogiordani

It perfectly works. Where did you find the theoretical references to implement such an algorithm?

Céline B

Thanks !! Works perfectly for me, thank you very much :-)

Exactly what I needed. Well done.

Sindhu Kaimal

Brad Ridder

Absolutely awesome.

Saved me a lot of time. Thanks!

MATLAB Release
MATLAB 7.5 (R2007b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video