diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /math/interp/usernote | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'math/interp/usernote')
-rw-r--r-- | math/interp/usernote | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/math/interp/usernote b/math/interp/usernote new file mode 100644 index 00000000..55483022 --- /dev/null +++ b/math/interp/usernote @@ -0,0 +1,118 @@ + Using the Sequential One Dimensional Interpolation Routines + A Quick Note for Programmers + + +I. GENERAL NOTES: + + 1. Defines are found in file interpdef.h. The routines + are in library interplib.a. + + 2. All pixels are assumed to be good. Except for routine + arbpix. + + 3. This is for uniformly spaced data -- thus for the i-th + data value, y[i], the corresponding x[i] = i by assumption. + + 4. All x references are assumed to land in the closed interval + 1 <= x <= NPTS, where NPTS is the number of points in the + data array. If x is outside this range, the result is + not specified. + + 5. A storage area and work space array must be provided. + It is of type real and the size is 2 * NPTS + SZ_ASI + + + +II. PROCEDURES: + + + **** Subroutine to select the interpolator type + * + * interpolator_type = clginterp (param) + * + * char param[ARB] + * + * The parameter prompt string is sent to the CL and the + * routine evaluates the returned string to select one of the + * interpolator types given in interpdef.h. The input string + * may be one of the following with possible abbreviations: + * nearest + * linear + * 3rd order poly + * 5th order poly + **** cubic spline + + + **** Subroutine to replace INDEF's with interpolated values. + * + * arbpix (datain, n, dataout, interpolator_type) + * + * real datain[ARB] # data_in array + * int n # number of points in data_in + * real dataout[ARB] # array out, may not be same as + * # data_in + * int interpolator_type + * + * The interpolator type can be set to: + * + * IT_NEAREST nearest neighbor + * IT_LINEAR linear interpolation + * IT_POLY3 interior polynomial 3rd order + * IT_POLY5 interior polynomial 5th order + **** IT_SPLINE3 cubic natural spline + + + **** Subroutine to set interpolator type. + * + * asiset(coeff,interpolator_type) + * + * real coeff[ARB] # work + storage array, dimension + * # 2 * NPTS + SZ_ASI + **** int interpolator_type # see above + + + **** Subroutine to fit interpolator to data. + * + * asifit (datain, npts, coeff) + * + * real datain[ARB] # data array + * int npts # number of points in data array + **** real coeff[ARB] # work+storage area dim 2*npts + SZ_ASI + + + **** Subroutine to return interpolated value after fitting. + * + * real asival (x, coeff) + * + * real x + **** real coeff[ARB] + + + **** Subroutine to evaluate an ordered sequence of values. + * + * asieva (x, y, n, coeff) + * + * real x[ARB] # input array of x values + * real y[ARB] # output array of interpolated values + * int n # number of x values + **** real coeff[ARB] + + + **** Subroutine to evaluate derivatives at a point. + * + * asider (x, derivs, nder, coeff) + * + * real x + * real derivs[ARB] # output array containing derivatives + * # derivs[1] is function value + * int nder # input: nder - 1 derivatives are evaluated + **** real coeff[ARB] + + + **** Subroutine to integrate the interpolated data. + * + * real asigrl (a, b, coeff) + * + * real a # lower limit + * real b # upper limit + **** real coeff[ARB] |