Help for LTGEN

PURPOSE:
 
LTGEN is the first of a sequence of VICAR applications programs which
measure the radiometric properties of a camera system.  The programs
are designed to support radiometric calibration of flight camera systems.
 
 
LTGEN will initialize the Light Transfer File (LTF) by specifying areas
within the image where measurements are to be made, and initializing one
record for each exposure level of the light transfer or reciprocity
sequence.  The next program in the sequence, MOMGEN, then extracts the
moments for each area (sum of DNs, sum of squares of DNs, and cross terms)
and stores these moments in each exposure record.  Finally, data analysis
routines access the LTF and extract camera properties such as:
 
        1) System gain constant and read noise floor (see CCDNOISE).
        2) Light transfer curve slope and offset (see CCDSLOPE).
        3) Shutter offset and camera sensitivity (see CCDRECIP).
 
EXECUTION:
 
                  LTGEN INP=PIC.DAT OUT=LTF.DAT PARAMS
 
OPERATION:
 
The input image (INP) may be any image from the light transfer or
reciprocity test sequence.  The VICAR label of this image is copied
to LTF to help identify the file.
 
The output Light Transfer File will contain a header record, followed
by one record for each exposure level in the light transfer (or
reciprocity) sequence.
 
The AREA parameter may be used to specify the size fields of areas in
the image from which data is to be extracted.
 
The GRID keyword may be specified if a uniform grid of areas is desired.
The default grid consists of 100 areas spaced in a 10x10 grid pattern,
with each area 20x20 pixels in size.   The size of the input image
(800x800 for Galileo) is used to space these 100 areas uniformly
throughout the field of view.
 
The grid spacing and area size may be modified by using the GRES
parameter:
 
        Example:  GRES=(16,10,10) will create 256 areas in a 16x16 grid
                pattern, with each area 10x10 pixels in size.
 
At least one of the parameters AREA, GRID, or GRES must be used to
specify the areas.  These parameters may be used in combination,
so long as the total number of areas does not exceed 400.  However,
see note below.  Also, note that the AREA parameter should not be
used for reciprocity sequences since CCDRECIP requires a rectangular grid
pattern to determine line dependency for shutter offsets.
 
The EXPO parameter is used to specify the exposure levels of the light
transfer (or reciprocity) sequence.  The exposures should be specified
in ascending order, beginning with 0.0 for the dark current frame and ending
with the highest exposure in the sequence.  If, for Galileo, extended
exposure dark-current frames are also included in the sequence, then
they are entered first (as -1.0) followed by the normal dark-current
and the remaining exposures.
 
        Example:  EXPO=(-1.0,0.0,4.167,6.25,8.333,12.5)
 
The NI parameter specifies the maximum number of frames at any one
exposure level in the sequence.  This is necessary in order to ensure
that the exposure record is made large enough to hold the moments
for each input frame.
 
The LIST parameter contains the filename of the list of files for
which MOMGEN will be storing statistics.  The file must be a SRCH-format
file (see program SRCH) in which the files are sorted by increasing
exposure time.  LTGEN will read the labels of the files in
the list, extract the exposure times and derive NI automatically.
Therefore, if LIST is specified, EXPO and NI need not be used.

LTGEN will store the area size fields and exposures in the LTF file 
label.  The LTF will generate one place holder record for each exposure, 
which will be filled with moment information entered by MOMGEN.
 
Note that there is a VAX/VMS restriction on the maximum record size
of the LTF file (32,768 bytes).  This places a limit on the number of
specifiable areas which may be computed as follows:
 
   Let:  NAREA = the number of areas specified by the AREA and/or
                 GRID or GRES keywords.
         NI    = the maximum number of frames at a fixed exposure in the
                 light transfer sequence.
 
   Then: NS = 3*NAREA*NI+1 must not exceed 32768.
 
         NEXPO = the number of exposures (including dark current).
         NREC  = NEXPO
 
The following table gives the maximum number of areas specifiable for
each NI:
 
                     NI   GRES  NAREA  RECLEN(bytes)
 
                     1     20   400     4808
                     2     20   400     9608
                     3     20   400    14408
                     4     20   400    19208
                     5     20   400    24008
                     6     20   400    28808
                     7     19   361    30332
                     8     18   324    31112
                     9     17   289    31220
                    10     16   256    30728
 
RESTRICTIONS:
 
   1. Maximum of 100 destinct exposure levels.
   2. Maximum of 500 frames in the LIST file.
 
ORIGINAL PROGRAMMER: Gary Yagi, circa 1983
CURRENT COGNIZANT PROGRAMMER: Gary Yagi
REVISION HISTORY:

   12 Nov 2012...R. Bambery..... Fixes for 64-bit unix, gcc 4.6.2
                                changed conflicting exp to exposure, zero arrays
   13 MAR 1997...T.Huang........Ported from VAX to UNIX to support both 
                              CASSINI and Galileo. 
   22 NOV 1993...C.C.Avis.......Added LIST parameter, extraction of EXPs
                              from labels, and error checking
   26 APR 1988...G.M.Yagi.......Added more documentation.
    4 JUL 1986...G.M.Yagi.......Code and documentation clean-up
   19 FEB 1985...M.E.MORRILL....INCLUDED EXTENDED EXPOSURE MODE
   14 JAN 1985...M.E.MORRILL....EXPANSION TO 20x20 GRID WITH VARIABLE
                                RESOLUTION AND SAMPLE AREA
   27 SEP 1984...M.E.MORRILL....CONVERSION TO VAX-VICAR*2
   12 MAR 1984...M.E.MORRILL....CONVERSION TO VAX-VICAR 1*
   15 OCT 1982...G.M.YAGI.......INITIAL RELEASE
 

PARAMETERS:


INP

An image from the light transfer sequence.

OUT

The LTF output file.

AREA

INTEGER Specifies areas by SL1,SS1,NL1,NS1 SL2,SS2,NL2,NS2 " " " " SLx,SSx,NLx,NSx.

GRID

KEYWORD Invokes a 10x10 grid of 20x20 areas uniformly distributed over the image.

GRES

INTEGER GRES=(N,NL,NS). Generates NxN grid of NLxNS pixel areas spaced uniformly over the image.

EXPO

REAL Exposure times (msec) for the light transfer sequence.

NI

INTEGER Specifies the max number of frames at any one exposure of the light transfer sequence.

LIST

STRING Specifies the name of a file containing the names of all files to be processed by MOMGEN.

DBUG

KEYWORD Invokes special debug print.

See Examples:


Cognizant Programmer: