aboutsummaryrefslogtreecommitdiff
path: root/noao/twodspec/longslit/getdaxis.x
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /noao/twodspec/longslit/getdaxis.x
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'noao/twodspec/longslit/getdaxis.x')
-rw-r--r--noao/twodspec/longslit/getdaxis.x36
1 files changed, 36 insertions, 0 deletions
diff --git a/noao/twodspec/longslit/getdaxis.x b/noao/twodspec/longslit/getdaxis.x
new file mode 100644
index 00000000..06be22c7
--- /dev/null
+++ b/noao/twodspec/longslit/getdaxis.x
@@ -0,0 +1,36 @@
+include <mwset.h>
+
+
+# GET_DAXIS -- Get logical dispersion axis.
+
+procedure get_daxis (im, laxis, paxis)
+
+pointer im #I IMIO pointer
+int laxis #O Logical dispersion axis
+int paxis #O Physical dispersion axis
+
+real ltm[2,2], ltv[2]
+pointer mw, tmp, mw_openim()
+int imgeti(), clgeti()
+errchk imaddi, mw_openim, mw_gltermr
+
+begin
+ # Get the dispersion axis from the header or package parameter.
+ iferr (paxis = imgeti (im, "dispaxis")) {
+ paxis = clgeti ("dispaxis")
+ call imaddi (im, "dispaxis", paxis)
+ }
+ laxis = paxis
+
+ # Check for a transposed image.
+ iferr {
+ mw= NULL
+ tmp = mw_openim (im); mw = tmp
+ call mw_gltermr (mw, ltm, ltv, 2)
+ if (ltm[1,1] == 0. && ltm[2,2] == 0)
+ laxis = mod (paxis, 2) + 1
+ } then
+ ;
+ if (mw != NULL)
+ call mw_close (mw)
+end