Help for VISISX
PURPOSE:
VISISX transforms from a Vicar 3-D image file to an ISIS Cube file
and vice versa.
EXECUTION:
VISIS2 input output mode [suffix-images] [histfile] [taskname]
where "input" and "output" are Vicar and ISIS files, in a sequence
determined by "mode", the suffix-images are separate files in Vicar
but part of the cube in ISIS, and "histfile" is an optional ascii text
file containing an ISIS History object. If label processing is to be
done (in TOISIS mode only), then "taskname" must be specified to denote
the task from which the history labels are to be taken.
The suffix images are optional. If they are omitted in TOVICAR mode,
then any suffix data in the ISIS cube will simply be skipped over. If
they are specified in TOISIS mode, then the images will be checked for
consistency of dimensions with the core. Currently, only backplanes
are supported in TOISIS mode.
Suffix planes / bands:
The Vicar cube file is stored as the Core of the ISIS cube. The
suffixes are stored as separate image files in Vicar, but as part of
the cube in ISIS. There are three kinds of suffixes: sideplanes,
backplanes, and bottomplanes. This terminology comes from applications
in which two of the three cube dimensions are spatial and one spectral,
with the two spatial dimensions constituting the "front" view of the
cube, while the spectral one is the "depth". For other applications,
these terms lose their meaning, but are retained here since spatial-
spectral cubes are the most common types currently used by VICAR.
Here are their definitions in terms of the storage orders supported
by VISISX:
Band-Sequential (BSQ) storage order, in which Sample is the most
rapidly varying dimension, then Line, then Band:
Sideplanes are stored at the end of each line.
Bottomplanes are stored at the end of the last line of each band.
Backplanes are stored at the end of the cube.
Band-Interleaved by Line (BIL) storage order, in which Sample is the
most rapidly varying dimension, then Band, then Line:
Sideplanes are stored at the end of each line.
Backplanes are stored at the end of the last band of each line.
Bottomplanes are stored at the end of the cube.
These are the only storage orders supported by VISISX.
Note that suffix planes are only allowed at the end of their
corresponding dimension, not at the beginning.
Not all combinations are supported. Backplanes are supported
for all modes, but sideplanes and bottomplanes are only supported
for BIL format and in TOVICAR mode (for Cassini VIMS). For this
case, here is the detailed specification of the dimensionalities:
Let the Core of the cube have the dimensions C1, C2, C3 (in order from
most to least rapid variation), and let the width of the suffix planes
be S1, S2, S3 (in the order Sideplane, Backplane, Bottomplane), then the
corresponding image dimensions will be:
Sideplane: S1, C2, C3.
Backplane: C1+S1, S2, C3.
Bottomplane: C1+S1, C2+S2, S3.
I.e., the "corners" formed by two successive suffix planes are included in
the second of each sequence.
Again, note that the above schema is for BIL format only.
Assumptions and Restrictions:
1. All suffix planes are assumed to be in 4-byte (real or integer) format.
(Additionally, VIMS side- and bottomplanes are always integers.)
2. Currently, only BSQ and BIL file organizations are supported.
3. The maximum BAND dimension allowed is 500.
05dec98 -- Written by L.W.Kamp (based on VISIS2).
Changes:
04dec98 -lwk- original version
09dec98 -lwk- added U_NL/S to zvopens in get_recinfo (for Solaris)
16dec98 -lwk- added support for BIL files and for SUFFIX planes
(TOVICAR mode only, not saved!); specified "int" for functions
that return values
18dec98 -lwk- added HOST parameter
18jan99 -lwk- fixed HOST parameter
22jan99 -lwk- fixed CORE_ITEMS in TOISIS mode (was broken when BIL added),
and CORE_ITEM_TYPE (was VAX-only); added CORE_NAME & CORE_UNIT as
they're required by Unix ISIS
26jan99 -lwk- use zvhost for int/realfmt
30jan99 -lwk- replaced HOST parameter in TOVICAR by search on CORE_ITEM_TYPE
01feb99 -lwk- treat NATIVE_TIMEs differently per project (tovicar mode only)
02feb99 -lwk- added "U_ORG","BSQ" to zvopen in write_object (TOISIS) to fix
problem with BIL cubes
22apr99 -lwk- skip over the AXIS_NAME item in the specplot part of the label
for the case of a NIMS cube
06jun99 -lwk- allow for partial subset of labels depending on 'maplabs'
flag -- this is designed to allow NIMSSKY cubes to be processed, but
ideally each label item should be checked separately
13sep99 -lwk- check for ORTHOGRAPHIC alone and replace by OBLIQUE_ORTHO;
start search for map keywords at "GROUP = IMAGE_MAP_PROJECTION",
since some cubes have RADIUS keywords before MAP_PROJECTION_TYPE
19jun00 -lwk- removed objectindex stuff from keyword_value (since we have
only 1 object containing labels); deleted a few residual "NIMS"s
and function byte_nibble; added EAST/WESTERNMOST_LONGITUDEs to
ISIS->VICAR mode
20jun00 -bam - added new keywords FIRST_LINE_SAMPLE, LINE_EXPOSURE_DURATION,
START_TIME, and EASTERNMOST/WESTERNMOST LONGITUDE (these replace
MINIMUM/MAXIMUM LONGITUDE in the newer files). I have also added a
new function for double precision values, get_double_value, and
modified the code to accept this new function. This is necessary
for port to LINUX.
11jul00 -lwk- fixed bug checking for map labels in ToVic mode
18jul00 -lwk- checking for Property map labels even if no Task specified
15may02 -lwk- added ISIS 'CYLINDRICAL_EQUAL-AREA'
27apr04 -lwk- merged BAM and LWK versions; increased MAXBANDS to 600;
check for fullword int in inverse mode; fixed bug in treatment of
backplanes in write_object
29apr04 -lwk- added support for suffix planes in TOVICAR mode; replaced
all references to "forward/backward" modes with "toisis/tovicar"
22may04 -lwk- added VIMS keywords: START/STOP_TIME (need special function
find_keyword_str to distinguish from NATIVE_TIME), INTERLINE_DELAY,
EXPOSURE_DURATION, X/Z_OFFSET
01jun04 -lwk- added VIMS keywords SAMPLING_MODE_ID & SCAN_MODE_ID; fiddled
with string delimiters in get_string_value() (again)
15jun04 -lwk- changed algorithm for distinguishing NATIVE_TIME and plain
TIME, since Cassini has now made both strings
18jun04 -lwk- allow backplanes from co-cube in TOISIS mode; changed treatment
of the various suffix planes
22jun04 -lwk- translate CORE_NAME/UNIT to Vicar items; added BAND_SUFFIX items
for display of backplanes in cv
28jun04 -lwk- added option to read wavelengths in from user parameter
14jul04 -lwk- added FAKEPROJ keyword as a workaround for limited ISIS projections
26jul04 -lwk- changed PROJECT_NAME to MISSION_NAME in TOISIS mode; fixed code to
find SUFFIX_ITEM_TYPE
22sep04 -lwk- added more VIMS keywords at CCA's request; fiddled some more with
the code for START_TIME & NATIVE_START_TIME (latter can be with or without
quotes!)
12oct04 -lwk- enabled fullword integer support in TOVICAR mode; added label items
BAND_BIN_ORIGINAL_BAND/ORIGBANDS and (in VICAR) WAVUNIT; read TARGET name
in TOISIS mode
19oct04 -lwk- added CORE_MULTIPLIER input for Radar cubes
21oct04 -lwk- get NB from input cube label, not from WAVES! (TOISIS mode)
29oct04 -lwk- added ISIS special values to CORE & BAND_SUFFIX label items (TOISIS mode)
10dec04 -lwk- remove hard-coded nbkpln=9; added FRAME_LINE/SAMP to BAND_SUFFIX items
for VIMS
07may05 -lwk- added case of nbkpln=2
08may05 -lwk- write entire Vicar history to PDS History object in TOISIS mode
18may05 -lwk- fixed problems with backplanes in BSQ cube in TOISIS mode; ensure that
co-cube is always BSQ in TOVICAR mode
01jun05 -lwk- fixed bug introduced by last change in calculation of FILE_RECORDS
27oct05 -lwk- look for LAT_TYPE as well as LATITUDE_TYPE
28oct05 -lwk- added X86 (Linux) hostname support, treat it as AXP.
29oct05 -lwk- changed AXP-UNIX to X86-LINUX at RGD's request since that's the only
currently officially supported VICAR platform of that flavor
PARAMETERS:
INP
Input file
OUT
Output file
SIDE
Sideplanes file
BACK
Backplanes file
BOTT
Bottomplanes file
HISTFILE
History object file
MODE
Specify transformation
direction
HOST
Specify original Host
(TOVICAR only)
TO_ORI
Override default line/samp
offset direction
(TOVICAR only)
TASKNAME
Name of task with
history labels
TASKNAME
TASKNAME can be used to change
the task searched for.
(See Help TASKNAME.)
WAVES
Wavelengths (override label
item)
FAKEPROJ
Fake map projection to fool
ISIS
(TOISIS only)
VICLAB
Add entire VICAR label to
ISIS History object
(TOISIS only)
See Examples:
Cognizant Programmer: