User's Guide

TAPEOUT

Output multiple LAS images to tape

Function:

Copies multiple LAS images to magnetic tape. Each image may be processed with its own unique set of parameters. The image may be windowed, subsampled, or converted to a new data type prior to being written to tape.

The user has the option to copy the data descriptor record (DDR) for each input image to tape. The DDR is copied, updated to represent the output image, and then it is written to tape.

Parameters:

IN
Input image. IN may be a single or multi-band image and may be of any data type. Window and/or band options may be specified.

COMMENT
Description of tape. A text string sent to the operator's terminal describing the tape to be mounted. If a new tape is being created the comment should indicate the type of tape to be used. For example, "please mount a 9-track scratch tape." If there is a specific tape that the images are to be placed on, then the comment should contain the tape library identification number and a short description of the tape. This will allow the operator to ensure that the correct tape is mounted.

OUTSYS(SAME)
Output computer system. This represents the computer system for which the output data is being generated. The default is to use the same system on which the tape is being generated.

Hewlett Packard (HP) systems require an even number of bytes in each record. For BYTE images if the number of samples in the input image window is odd, a zero-valued pixel is added to the end of each input line so the output record length is even. A limit of 14,999 samples in the image window is applied.


  = SAME:  Same as input.
  = IEEE:  IEEE Standard.
  = HP:    Hewlett Packard.

TAPEDENS(&$TPDENS)
Tape density. The density of the tape in bits per inch. The default is defined by the TAE global $TPDENS and the list of valid densities are defined by the TAE global $TPVAL.

SKIPNUM(0)
Number of files to skip. The number of image files to be skipped on tape prior to writing the LAS image(s). See the User Notes.

BFORM(BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ, BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ, BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ, BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ,BSQ)
Band format. The format of the image data on tape. If there is more than one band in the image, the data may be stored in band sequential (BSQ) or band interleaved by line (BIL) format.


  = BSQ:  Band sequential. 
  = BIL:  Band interleaved by line.

ODTYPE(SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME, SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME, SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME, SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME,SAME)
Output data type. The data type of the output image.


  = SAME:  Same as input
  = BYTE:  BYTE       (8-bit unsigned integer) 
  = I*2:   INTEGER*2  (16-bit signed integer) 
  = I*4:   INTEGER*4  (32-bit signed integer) 
  = R*4:   REAL*4     (32-bit signed real) 
 

BLKSIZ(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
Block size. The number of image lines to be written as a physical tape record.

LINEINC(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
Line increment. Specifies that every LINEINCth line, beginning with the starting line of the input window, becomes part of the image written to tape. Increasing the line increment reduces the number of lines in the output image. The default results in all lines of the input image being placed in the image on tape.

SAMPINC(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
Sample increment. Specifies that every SAMPINCth sample, beginning with the starting sample of the input window, becomes part of the image written to tape. Increasing the sample increment reduces the number of samples in the output image. The default results in all samples of the input image being placed in the image on tape.

DDRFLG(YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES, YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES, YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES,YES, YES,YES,YES,YES,YES)
DDR flag. Option to copy the DDR of the input image to tape.


  = YES:  Copy the DDR.  The DDR from the
          input image is copied to tape.
  = NO:   Do not copy the DDR.  The DDR
          is not copied to tape.

MVOLFLG(NO)
Multi-volume flag. This flag allows the user to specify whether images are to be split across several tapes or not. See the User Notes.


   = YES:  Split images across
           tapes if needed
   = NO:   Do not split images
           across tapes

ERRFLG(YES)
Error flag. Allows the user to specify how error conditions should be handled.


  = YES:  Stop processing on errors.  If an error is
          encountered the tape is backspaced to the
          beginning of the current file, an EOV mark
          is written, and TAPEOUT is aborted.
  = NO:   Continue processing on errors.  If an error
          is encountered, the tape is backspaced to
          the beginning of the current file, an error
          message is issued, and subsequent images
          are copied to tape.

ASCFLG(NO)
ASCII DDR flag. This flag allows the user to specify whether DDRs are output in ASCII or binary form. The ASCII form of a DDR is similar to the output of the DSPDDR application.


  = YES:  Copy the DDR as an ASCII file.
  = NO:   Copy the DDR as an binary file.

AFTFLG(NO)
DDR placement flag. This flag allows the user to specify where the ASCII DDR is to be written on the tape. This flag is ignored when writing the DDR in binary form.


  = YES:  Put the ASCII DDR after the image.
  = NO:   Put the ASCII DDR before the image.

NRETRIES(0)
The number of retries to perform. The number of times the user wants to start again if an error is encountered.

Examples:

  1. LAS> tapeout in=image1 comment="please mount tape m055" tapedens=6250 skipnum=1 bform=bil lineinc=2 sampinc=2

    The user has specified to copy one LAS image to tape M055. This tape must have a density of 6250 bits per inch. The first image file on tape is skipped prior to the copy. A copy of the input image's DDR is updated to reflect the subsampling and is then placed on the tape. The image is placed on the tape in BIL (band interleaved by line) format. By default, the data type of the image placed on the tape will be the same as the image on disk and it will have a blocking factor of one. The input image is subsampled taking every other line and sample before it is placed on the tape.

  2. LAS> tapeout in=("image1(100,200,1000,1100:1,3)","image2") comment="please mount a 9 track scratch tape" outsys=hp tapedens=6250 bform=("bil","bsq") odtype=(same,i*2) lineinc=(1,2) sampinc=(1,3) ddrflg=("yes","no") mvolflg=yes errflg=no ascflg=yes aftflg=yes

    The user has specified to copy two LAS images to a scratch tape in HP format (reference OUTSYS for an explanation of HP format). The first file to be copied is a subwindow of the LAS image IMAGE1. The subwindow to be copied has a starting line of 100, starting sample of 200, number of lines of 1000, number of samples of 1100, and bands 1 and 3 are to be copied to tape. The tape will have a density of 6250 bits per inch. By default there are no files skipped at the beginning of the tape before writing begins. IMAGE1 will be written in BIL (band interleaved by line) format while IMAGE2 will be written in BSQ (band sequential) format. IMAGE1 will be copied to tape with the same data type while IMAGE2 will be converted to INTEGER*2. Subsampling is applied to IMAGE2, taking every other line and every third sample. A copy of the DDR for IMAGE1 will be updated and written to tape as an ASCII file after IMAGE1 has been written. The user has specified that either of the images can span two tapes. If a fatal error is encountered while writing one image to tape, the tape is rewound over the error and processing continues with the next image.

Description/Algorithm:

After the first tape is mounted the specified number of image files are skipped (refer to the User Notes for an explanation) and each input image is copied to tape. When a tape becomes full, the next tape mounting comment is sent to the operator's terminal. Processing continues after the next tape has been mounted. As each tape is mounted the identification number is echoed to the terminal.

If the user types "<ctrl> C" after the tape copy is invoked, the tape is rewound and dismounted.

Nonfatal Error Messages:

  1. [tapeout-ddr] Output system and input system must be the same

    If the output system and input system are not the same a ddr cannot be written to tape. Set DDRFLG = NO.

  2. [tapeout-longid] Tape ID truncated to <xxxxx>

    The tape ID entered by the operator was longer than six characters. The tape ID has been truncated to <xxxxx>.

  3. [tapeout-noeot] No backspacing after EOT

    On some tape drives EOT is not supported by LAS tapeio. Therefore, the partial image or record that was just written to tape will not be removed.

  4. [tapeout-retry] Attempting to retry

    A tapeio error has occurred and NRETRIES is > 0. The module will re-start from the beginning.

  5. [tapeout-warn] Nonfatal error encountered

    A nonfatal error was encountered during processing. The image was successfully written to the tape. The message displayed immediately preceding this message is the specific error that was encountered.

  6. [tapeout-write] Error encountered writing image to tape

    An error was encountered while writing the current image to tape. The image was erased from the tape and processing continues with the next image. This error occurs only if ERRFLG=NO.

Fatal Error Messages:

  1. [tapeout-fatal] Fatal error encountered

    A fatal error was encountered. The message that is displayed preceding this message was the error that was encountered. If ERRFLG=YES all processing stops, if ERRFLG=NO then processing continues with the next image.

  2. [tapeout-hpmax] Maximum image size for HP computer systems is 14999 samples

    If OUTSYS=HP, Hewlett Packard, the maximum number of samples for an image is 14,999. Specify a window for the image or supply a value for SAMPINC for this image.

  3. [tapeout-malloc] Error allocating memory

    An error occurred while allocating dynamic memory. There isn't enough memory available at this time for this application to run. If the error persists contact the system administrator.

  4. [tapeout-wind] Input images do not have the same window size

    Input images do not have the same window size. When using multiple input images to create one output image all of the images must have the same size. Check the size of the images and specify windows as necessary.

User Notes:

  1. The following example illustrates the difference between image files and physical tape files. If an image does not have its DDR copied to tape it will be placed in a single file on the tape. Images that have their binary DDR placed on tape will consist of two files, first the DDR and then the actual image data. The following diagram illustrates this.

                   Image                   Physical
                   Files                   Files
                          --------------
                     1 -->| Image Data |<--- 1
                          |     EOF    |
                     2 -->|  DDR File  |<--- 2
                          |     EOF    |
                          | Image Data |<--- 3
                          |     EOF    |
                     3 -->| Image Data |<--- 4
                          |     EOF    |
                          |     EOF    |
                          --------------
    
    
    ASCII DDRs may be placed before or after the actual image data. The parameter SKIPNUM specifies the number of image files to be skipped on tape rather than the number of physical files. For example, if the user specified SKIPNUM=2 with the above diagram the first two image files would be skipped and the first image placed on tape would overwrite the third image file. This corresponds to the fourth physical file.

  2. If the end of tape is encountered before the entire image is written to tape, MVOLFLG indicates the action to be taken. If MVOLFLG=NO the tape is rewound to erase that portion of the image that has been written to tape so far, the next tape is mounted, and the image is placed on the new tape. If the image does not fit on a single tape, the software forces the image to be split across multiple tapes regardless of the value of MVOLFLG.

    If MVOLFLG=YES the next tape is mounted and the remaining portion of the current image is placed on the new tape.

  3. Unexpected results may occur if the input data type is converted to a smaller data type. If the pixel value is larger than what the new type supports, the least significant bits are used.

  4. The IEEE Standard is taken from "IEEE Standard for Binary Floating-Point Arithmetic" (Std 754-1985). This publication establishes a standard format for the output of REAL and DOUBLE data types. When on a DEC machine, the data must also be byte swapped before being written to the output tape. The reformatting and byte swapping increases the processing time.

  5. Related LAS modules are SETAPOUT, SETAPIN, and TAPEIN