fitgauss1d
Fit 1D Gassian to data ndarray
($cen, $pk, $fwhm, $back, $err, $fit) = fitgauss1d($x, $data);
($cen, $pk, $fwhm, $back, $err, $fit) = fitgauss1d($x, $data);
xval(n); data(n); [o]xcentre();[o]peak_ht(); [o]fwhm();
[o]background();int [o]err(); [o]datafit(n);
[t]sig(n); [t]ytmp(n); [t]yytmp(n); [t]rtmp(n);
Fits a 1D Gaussian robustly free parameters are the centre, peak height, FWHM. The background is NOT fit,
because I find this is generally unreliable, rather a median is determined in the 'outer' 10% of pixels
(i.e. those at the start/end of the data ndarray). The initial estimate of the FWHM is the length of the
ndarray/3, so it might fail if the ndarray is too long. (This is non-robust anyway). Most data does just
fine and this is a good default gaussian fitter.
The values of the error code $err correspond to:
0: successful fit
1: internal problem with memory allocation
2: insufficient number of data points
3: fit did not converge
SEE ALSO: fitgauss1dr() for fitting radial gaussians
fitgauss1dr
Fit 1D Gassian to radial data ndarray
($pk, $fwhm2, $back, $err, $fit) = fitgauss1dr($r, $data);
($pk, $fwhm2, $back, $err, $fit) = fitgauss1dr($r, $data);
xval(n); data(n); [o]peak_ht(); [o]fwhm();
[o]background();int [o]err(); [o]datafit(n);
[t]sig(n); [t]ytmp(n); [t]yytmp(n); [t]rtmp(n);
Fits a 1D radial Gaussian robustly free parameters are the peak height, FWHM. Centre is assumed to be X=0
(i.e. start of ndarray). The background is NOT fit, because I find this is generally unreliable, rather
a median is determined in the 'outer' 10% of pixels (i.e. those at the end of the data ndarray). The
initial estimate of the FWHM is the length of the ndarray/3, so it might fail if the ndarray is too long.
(This is non-robust anyway). Most data does just fine and this is a good default gaussian fitter.
The values of the error code $err correspond to:
0: successful fit
1: internal problem with memory allocation
2: insufficient number of data points
3: fit did not converge
SEE ALSO: fitgauss1d() to fit centre as well.