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 /sys/imio/imsslv.x | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'sys/imio/imsslv.x')
-rw-r--r-- | sys/imio/imsslv.x | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sys/imio/imsslv.x b/sys/imio/imsslv.x new file mode 100644 index 00000000..2cc5e2a8 --- /dev/null +++ b/sys/imio/imsslv.x @@ -0,0 +1,41 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include <imhdr.h> +include <imio.h> + +# IMSSLV -- Given two vectors (VS, VE) defining the starting and ending +# physical coordinates of the two pixels defining an image section, +# initialize the "loop index" vector V, and the "loop increment" vector, +# VINC. Compute NPIX, the number of pixels in a line segment. + +procedure imsslv (im, vs, ve, v, vinc, npix) + +pointer im +long vs[IM_MAXDIM], ve[IM_MAXDIM] +long v[IM_MAXDIM], vinc[IM_MAXDIM], npix, step +int i + +begin + # Determine the direction in which each dimension is to be + # traversed. + + do i = 1, IM_NPHYSDIM(im) { + step = abs (IM_VSTEP(im,i)) + if (vs[i] <= ve[i]) + vinc[i] = step + else + vinc[i] = -step + } + + # Initialize the extraction vector (passed to IMRDS? to read a + # contiguous array of pixels). Compute the length of a line, + # allowing for decimation by the step size. + + do i = 1, IM_NPHYSDIM(im) + v[i] = vs[i] + + if (vs[1] > ve[1]) + v[1] = ve[1] + + npix = (ve[1] - vs[1]) / vinc[1] + 1 +end |