aboutsummaryrefslogtreecommitdiff
path: root/noao/nproto/ir/irdbio.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/nproto/ir/irdbio.x
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'noao/nproto/ir/irdbio.x')
-rw-r--r--noao/nproto/ir/irdbio.x117
1 files changed, 117 insertions, 0 deletions
diff --git a/noao/nproto/ir/irdbio.x b/noao/nproto/ir/irdbio.x
new file mode 100644
index 00000000..00e40532
--- /dev/null
+++ b/noao/nproto/ir/irdbio.x
@@ -0,0 +1,117 @@
+include "iralign.h"
+
+# IR_DTRPARAMS -- Procedure to read in the parameters from the database file.
+
+procedure ir_dtrparams (dt, image, ir)
+
+pointer dt # pointer to the database file
+char image[ARB] # input image
+pointer ir # pointer to the ir structure
+
+int recnum, nsubrasters
+pointer sp, str
+int dtlocate(), dtgeti(), strmatch()
+real dtgetr()
+
+begin
+ call smark (sp)
+ call salloc (str, SZ_FNAME, TY_CHAR)
+ recnum = dtlocate (dt, image)
+
+ IR_NCOLS(ir) = dtgeti (dt, recnum, "ncols")
+ IR_NROWS(ir) = dtgeti (dt, recnum, "nrows")
+ IR_NXSUB(ir) = dtgeti (dt, recnum, "nxsub")
+ IR_NYSUB(ir) = dtgeti (dt, recnum, "nysub")
+ IR_NXOVERLAP(ir) = dtgeti (dt, recnum, "nxoverlap")
+ IR_NYOVERLAP(ir) = dtgeti (dt, recnum, "nyoverlap")
+
+ call dtgstr (dt, recnum, "corner", Memc[str], SZ_FNAME)
+ if (strmatch (Memc[str], "ll") != 0)
+ IR_CORNER(ir) = IR_LL
+ else if (strmatch (Memc[str], "lr") != 0)
+ IR_CORNER(ir) = IR_LR
+ else if (strmatch (Memc[str], "ul") != 0)
+ IR_CORNER(ir) = IR_UL
+ else if (strmatch (Memc[str], "ur") != 0)
+ IR_CORNER(ir) = IR_UR
+ else
+ IR_CORNER(ir) = IR_LL
+
+ call dtgstr (dt, recnum, "order", Memc[str], SZ_FNAME)
+ if (strmatch (Memc[str], "column") != 0)
+ IR_ORDER(ir) = IR_COLUMN
+ else if (strmatch (Memc[str], "row") != 0)
+ IR_ORDER(ir) = IR_ROW
+ else
+ IR_ORDER(ir) = IR_ROW
+
+ call dtgstr (dt, recnum, "raster", Memc[str], SZ_FNAME)
+ if (strmatch (Memc[str], "yes") != 0)
+ IR_RASTER(ir) = YES
+ else if (strmatch (Memc[str], "no") != 0)
+ IR_RASTER(ir) = NO
+ else
+ IR_RASTER(ir) = NO
+
+ IR_OVAL(ir) = dtgetr (dt, recnum, "oval")
+ nsubrasters = dtgeti (dt, recnum, "nsubrasters")
+
+ call sfree (sp)
+end
+
+
+# IR_DTWPARAMS -- Procedure to write out the parameters to the output file
+
+procedure ir_dtwparams (dt, outimage, trimsection, medsection, ir)
+
+pointer dt # pointer to the database file
+char outimage[ARB] # name of the output image
+char trimsection[ARB]# input subraster section
+char medsection[ARB] # section for computing the median
+pointer ir # pointer to the ir structure
+
+bool itob()
+
+begin
+ call dtptime (dt)
+ call dtput (dt, "begin\t%s\n")
+ call pargstr (outimage)
+ call dtput (dt, "\ttrimsection\t%s\n")
+ call pargstr (trimsection)
+ call dtput (dt, "\tmedsection\t\t%s\n")
+ call pargstr (medsection)
+ call dtput (dt, "\tncols\t\t%d\n")
+ call pargi (IR_NCOLS(ir))
+ call dtput (dt, "\tnrows\t\t%d\n")
+ call pargi (IR_NROWS(ir))
+ call dtput (dt, "\tnxsub\t\t%d\n")
+ call pargi (IR_NXSUB(ir))
+ call dtput (dt, "\tnysub\t\t%d\n")
+ call pargi (IR_NYSUB(ir))
+ call dtput (dt, "\tnxoverlap\t%d\n")
+ call pargi (IR_NXOVERLAP(ir))
+ call dtput (dt, "\tnyoverlap\t%d\n")
+ call pargi (IR_NYOVERLAP(ir))
+ call dtput (dt, "\tcorner\t\t%s\n")
+ switch (IR_CORNER(ir)) {
+ case IR_LL:
+ call pargstr ("ll")
+ case IR_LR:
+ call pargstr ("lr")
+ case IR_UL:
+ call pargstr ("ul")
+ case IR_UR:
+ call pargstr ("ur")
+ }
+ call dtput (dt, "\torder\t\t%s\n")
+ switch (IR_ORDER(ir)) {
+ case IR_ROW:
+ call pargstr ("row")
+ case IR_COLUMN:
+ call pargstr ("column")
+ }
+ call dtput (dt, "\traster\t\t%b\n")
+ call pargb (itob (IR_RASTER(ir)))
+ call dtput (dt, "\toval\t\t%g\n")
+ call pargr (IR_OVAL(ir))
+end