aboutsummaryrefslogtreecommitdiff
path: root/noao/mtlocal/pds/structure.hlp
diff options
context:
space:
mode:
Diffstat (limited to 'noao/mtlocal/pds/structure.hlp')
-rw-r--r--noao/mtlocal/pds/structure.hlp85
1 files changed, 85 insertions, 0 deletions
diff --git a/noao/mtlocal/pds/structure.hlp b/noao/mtlocal/pds/structure.hlp
new file mode 100644
index 00000000..6bb2eab8
--- /dev/null
+++ b/noao/mtlocal/pds/structure.hlp
@@ -0,0 +1,85 @@
+.help pdsread 2 "Program Structure"
+.sh
+PDSREAD Structure Chart
+
+.nf
+t_pdsread()
+# Returns when file list is satisfied or if EOT is encountered.
+
+ read_pds (pdsfile, iraffile)
+ # Returns OK or EOF
+
+ read_header (pds_fd, im, parameters)
+ # Returns OK or EOF
+
+ read_image (pds_fd, im, parameters)
+
+ set_image_header (im)
+
+ init_read_scan (parameters)
+ # Returns OK
+
+ read_scan (fd, scanbuf)
+ # Returns EOF or number of points in a scan
+.fi
+
+.sh
+PDSREAD Structure Summary
+
+.ls t_pdsread
+The main procedure reads the control parameters.
+The files to be read and converted are calculated from the specified source
+and file list.
+A loop through the files determines the specific input source names and
+output file names and calls READ_PDS for each conversion.
+.ls read_pds
+The input source is opened and the output image header file is created.
+If only the PDS header is to be listed then a temporary image header
+file is created. The PDS header is read and decoded into the IRAF
+image header bye READ_HEADER. If the image is to be read then
+READ_IMAGE is called. Finally all files are closed. If a temporary
+image file was created it is deleted.
+.ls read_header
+The 120 byte PDS header is read into an integer array. The ID string
+in the first 80 bytes is unpacked into a text string using the MIIUP routine
+and stored in the IRAF image header. The 12 bit PDP values are converted to
+SPP short data valuese using the routine APDP8S.
+The PDP 059 text code is converted to ASCII using the routine APDP059.
+The remaining header quantities are unpacked into short
+or long SPP integers using the MIIUP, APDP8S, UNPACKS and UNPACKL and
+the image dimensions are stored in the IRAF image header.
+Finally the PRINT_HEADER is called to print a long or short version of the
+header.
+.le
+.ls read_image
+The PDS image pixels are converted to an IRAF image file.
+The image file header is set.
+The lines of the image are converted one at a time.
+.ls set_image_header
+The pixel type for the IRAF image is set to the user specified type.
+If no type has been specified then the type is determined from the
+number of bits per pixel given in pds.h.
+.le
+.ls init_read_scan
+Initializes the scan parameters. Input is a long integer array containing
+the decoded header parameters. The procedure uses the number of data points
+per scan, the number of records per scan and the number of points per full
+records, calculates and allocates the buffer space required and determines
+the size of each record in chars. If the tape is an old 7 track tape the
+size of the record must be rounded up till it holds an integral number
+of Cyber words in length. For example a record containing 1001 real data
+points will actually be 1005 data points long with junk in the last 4 spaces.
+.le
+.ls read_scan
+Reads an entire PDS scan a record at a time looping over the number of
+records per scan. The procedure uses the MIIUP
+routine which is machine dependent. The bitpix must correspond to
+an MII type. READ_SCAN returns the number of data points per scan or EOF.
+READ_SCAN calls APDP8S to convert the 10 or 12 bit data values to short
+integers and calls AFLIPS to flip every other scan if the PDS scan
+is a raster scan.
+.le
+.le
+.le
+.le
+.endhelp