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: