diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /noao/twodspec/apextract/apimmap.x | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'noao/twodspec/apextract/apimmap.x')
-rw-r--r-- | noao/twodspec/apextract/apimmap.x | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/noao/twodspec/apextract/apimmap.x b/noao/twodspec/apextract/apimmap.x new file mode 100644 index 00000000..f001dc39 --- /dev/null +++ b/noao/twodspec/apextract/apimmap.x @@ -0,0 +1,48 @@ +include <imhdr.h> + +# AP_IMMAP -- Map an input image for the APEXTRACT package. + +pointer procedure ap_immap (image, apaxis, dispaxis) + +char image[ARB] # Image to map +int apaxis # Aperture axis +int dispaxis # Dispersion axis + +pointer im, immap() +int i, j, imgeti(), clgeti() +errchk immap + +data i/0/, j/0/ + +begin + im = immap (image, READ_ONLY, 0) + if (IM_NDIM(im) == 1) { + call imunmap (im) + call error (0, "Image must be two dimensional") + } else if (IM_NDIM(im) > 2) { + if (i == 0) + call eprintf ( + "Warning: Image(s) are not two dimensional (ignoring higher dimensions)\n") + i = i + 1 + } else + i = 0 + + iferr (dispaxis = imgeti (im, "dispaxis")) + dispaxis = clgeti ("dispaxis") + if (dispaxis < 1 || dispaxis > 2) { + apaxis = dispaxis + dispaxis = max (1, min (2, clgeti ("dispaxis"))) + if (j == 0) { + call eprintf ( + "WARNING: Dispersion axis %d invalid; using axis %d\n") + call pargi (apaxis) + call pargi (dispaxis) + } + j = j + 1 + } else + j = 0 + + apaxis = mod (dispaxis, 2) + 1 + + return (im) +end |