Fits and Convolutions

The IM program performs a variety of type of fits. These are all least-squares (or chi-squared) type fits, computed using the program CURVFIT which is described separately. Commands used for fits and convolutions are as follows:

COnvolute/si
arguments: number of convolutions (integer)
           min, max columns for test area (integers)
           min, max rows for test area (integers)
Convolutes the data with a specified test area from the same data array. If the test area contains, e.g. simple sinusoidal corrugation, then this routine can be used for identifying regions of the image with ordered, corrugated areas.

COnvolute/st
arguments: step height (real)
           width of test region (integer)
           discriminator level (-1 for no discrimination) (integer)
Convolutes the data with a step of specified height and extending over some width. This routine is essentially equivalent to computing a numerical derivative of each line of the data. After the convolution is done, a discriminator level can be specified, such that all data values less than this level are set to zero and all values above it are set to unity.

COnvolute/di
arguments: dipole height (real)
           width of test region (integer)
           discriminator level (-1 for no discrimination) (integer)
Convolutes the data with a dipole shape with specified height and extending over some width. This routine is essentially equivalent to computing a numerical derivative of each line of the data. After the convolution is done, a discriminator level can be specified, such that all data values less than this level are set to zero and all values above it are set to unity.

FIt/si
arguments: wavevector 1 (kx,ky) (reals)
           wavevector 2 (kx,ky) (reals)
           no. nonlinear parameter (0=none,2=one sinusoid,4=two sinusoids) (integer)
           xdrift,ydrift,odrift,hdrift (reals)
           number of iterations (integer)
           response to plot query (y/n) (string)
Fits up to two sinusoidal surfaces to the data array. The user specifies initial guesses for the wavevectors, and the number of sinusoids to fit. Drift parameters (such that the resulting wavevectors can accurately correspond to unit cell dimensions) are also specified. The user also supplies the number of iterations, corresponding to the maximum number of iterations of the nonlinear least-squares fitting program.

FIt/g
arguments: channel range (min,max) (integers)
           number of iterations (integer)
           response to plot query (y/n) (string)
Fits a single gaussian, with no background term, to a line of data.

FIt/st
arguments: step height (real)
           bottom terrace height (real)
           width of test region (integer)
           discriminator level (-1 for no discrimination) (integer)
Fits the data with a step of specified height and extending over some width. The data array is then replaced by one containing the sum of squared residuals of the fit at each location. After the convolution is done, a discriminator level can be specified, such that all data values less than this level are set to zero and all values above it are set to unity.