Isis 2 Documentation
ISIS RELEASE NOTES For May 15, 2001 ISIS Release
This document describes the changes and enhancements that have been made to ISIS since the previous release on August 15, 2000. This is divided into several sections:
We currently support Sun Solaris 2.6, Compaq Alpha running Compaq Tru64 Unix V4.0 - Rev. 1091 (previously known as DEC Alpha Digital Unix), and RedHat Linux 6.1. This will be the last ISIS release that supports Compaq Alpha platforms. If you use this platform and want to continue using ISIS and receiving user support from us, then you should consider migrating to a Sun Solaris or Intel Linux platform.
The IDL display programs in this ISIS release are compatible with IDL Version 5.4. We have discovered minor bugs when using the ISIS programs cv in IDL 5.2 that are still present in IDL 5.4. Please see Known Bugs for a discription of these bugs. In addition, refer to Notes on Use of the IDL Display Programs for proper display setup instructions.
The $ISISDOC directory contains Release Notes for each release of ISIS. These are contained in files named "isisYYMMDD_release.notes" or "isis_release_notes.YYMMDD", where YYMMDD is the date of the ISIS release. Each Release Notes file describes changes in the system since the previous release.
The current documentation for a release of ISIS is contained in a set of files in the $ISISHTML directory, which is part of the local ISIS installation. These are in a format that can be accessed with a web browser. For example, to view the local copy of the ISIS documentation with netscape, type:
netscape $ISISHTML/documentation.html
You can also access the ISIS documentation over the Internet at the ISIS web site. However, note that the documentation on the ISIS web site is updated each time updates are made to our internal developmental version of ISIS. Thus, the web site documentation might contain information on new or modified programs that are not yet contained in the public release of ISIS that is described in your local $ISISHTML directory. However, the web site can be used for registering to receive update notices and for looking at the latest version of the Frequently Asked Questions list.
In addition to new documentation for the new programs and minor updates to documentation for previously existing programs, the following are some additional program documentation updates:
coreg.pdf - Cleared up documentation to better explain how LOW and HIGH DN values are handled. They are not included in registration computations but are processed and propagated to the output file.
coreg2.pdf - Cleared up documentation to better explain how LOW and HIGH DN values are handled. They are not included in registration computations but are processed and propagated to the output file.
Policy on Support for External ISIS Users - The ISIS support policy has been updated to emphasize the support priorities and appropriate channels.
Known Bugs - Updated with information to correct for a bug in the make_startup script used in the August 15, 2000 ISIS release CD-ROMs only.
Frequently Asked Questions - Added an explanation for receiving a "Not enough memory to return a STRING" error message when processing Viking data. Also, added an explanation of how to install ISIS from the ISIS release CD-ROM when PERL is not locally installed. Additionally, defined how to properly mount the ISIS release CD-ROM on an Alpha OFS1 system.
Frequently Asked Questions - Redefined the issue of needing Perl to successfully install ISIS as pertaining to the August 15, 2000 release only.
ISIS Acquisition - Added a request for the "Number of people that will be using ISIS".
ISIS Appendix E - Environment Variables - Updated to include a description of the use of the PERL5LIB environment variable.
ISIS Documentation - Added links to two new pages for the May 15, 2001 release: Projection Offset Parameter Discrepancies Among USGS-Produced Planetary Digital Global Maps and Definition of Keywords in the Image Map Projection Group for ISIS.
ISIS Installation Guide - Updated for the May 15, 2001 release.
ISIS Patches and ISIS Release Notes - Removed patch links and patch release notes for August 2001 ISIS Release.
ISIS Program List - Alphabetical and Menu Categories - Updated these two pages with MGS/MOC, IDL, and ISIS programs.
ISIS Program List - Alphabetical and Menu Categories - Menu Categories - Updated these two pages with new ISIS programs.
ISIS Docmentation - Added a link to the HDF/HDF-EOS Standalone CV (Cube Visualization Program).
ISIS Known Bugs - Deleted bug reports relating to "tvtie", "cv", and "isis2std" as these bugs were resolved.
May 15th, 2001 Release Notes - New Description of updates included in this release.
MGS/MOC Image Processing Capabilities with ISIS - This page has been updated to reflect the current state of MOC processing capabilities.
Notes on Use of the IDL Display Programs - Added a reference to the problems that arrise when using GNOME and IDL display programs and expained how to turn off GNOME.
bin5r.pro - A routine that can be called from IDL to read a BIN5 file, e.g., data extracted from an HDF/HDF-EOS file by "cv".
bin5w.pro - A routine that can be called from IDL to write an IDL array to a BIN5 file (which can then be read by the "bin5r" routine).
bin5lab.pro - A routine that can be called from IDL to create an ISIS detached label for a BIN5 file created by the "bin5w" routine.
chipper - This is a application that is a batch version of match point registration. It utilizes the new match point software and supports fast geometric projections of images for those that require it. It also supports both SPICE software libraries in the ISIS system: the old SPICE software and the LEV library currently under development.
dform.pl - A script that converts an ISIS cube to a raw, tif or gif output format. An ISIS cube can also be output (i.e., change the bit-type of the input cube file to 8 or 16 bit).
dstripe - This prcedure is used to destripe an input image using a sequence of boxcar filters. Most often used for photoclinometry. Was very successful in destripng the Lunar Orbiter mosaics. Because this is a TAE procedure, it must be executed within TAE.
example.pro - This IDL program that is an example illustrating how to use the CALL_EXTERNAL routines to access an ISIS cube file.
imp_plot - This program plots frame boundaries and match points for a Mars Pathfinder image.
isis2tif - Converts a standard ISIS Cube file to a Tagged Image File Format (TIFF) file. Input ISIS images can be 8, 16, or 32 bit. Output images are 8 bit TIFF format.
isisinfo - This application will print information about ISIS files. It can be helful in identifying all kinds of information about detached (and attached) labels, especially where the detach QUBE object file was eventually located and used to read data from.
last2prj - This program replaces imp2prj. It projects lander stereo data and creates a TFILE for input to geom.
lastjig - This program corrects camera angles for a group of lander stereo images.
levinit - This program is used to initialize the labels of a cube in preparation of geometric processing. The initialization includes determining the proper NAIF kernels, target information (radii, omega0, etc), and instrument parameters. While the program currently only works for MOC images, in the future it will work on older missions such as Viking, Voyager, Galileo, and other upcoming Missions such as Cassini. Other geometric software such as "lev1tolev2" and "lev1stats" will not run if a cube is not initialized with this program.
mgstime - Converts between different MGS time formats. Enter UTC or SCLK or J2000, program then displays/outputs time in all three formats.
mocaspect.pl - A MGS/MOC program that performs aspect ratio correction on a single MOC image. This is a "poor-man" geometry correction. This program does not use spice, but instead will use the aspect ratio value provided in the image index file of the PDS formatted data products. The program will also flip an image if necessary.
mocftp.pl - This MGS.MOC procedure will download MOC images from the default 'ida.wr.usgs.gov' ftp site.
mocindex.pl - This MGS/MOC program prints information from the index file for any image id that matches "image_id" input.
moclev0.pl - A MGS/MOC level 0 processing for moc images. This level converts input moc image to ISIS format.
moclev1.pl - This script runs thru the level 1 processing sequence for MGS/MOC images. The processing includes radiometric correction and camera artifact removal.
moclev2.pl - Use this program to project a MGS/MOC image to a chosen output map projection
moclevall.pl - A MGS/MOC script calls a sequence of scripts to process a single MOC image file thru all of the ISIS prcessing steps (i.e., starting with the PDS raw format (MOCLEV0) and process thru a map projection (MOCLEV2).
mocmola.pl - Creates MOLA ISIS binary table file based on MOC image time span. Table can be used with "qview" - Application - Plot Ascii Table may also be created for export to other applications. Calls "molasearch" to find PEDR filenames, "mocftp" to retrieve Pedr binary files, and "mola2isis" to create MOLA Tables.
mocnawa.pl - This MOC script takes two MOC input files, one WA frame and one NA frame and mosaics them together. The output has the NA mosaicked on top of the WA. The frames must have been taken simulaneously for registration.
mocsearch.pl - Use this MGS/MOC procedure to search through the cumindex.tab file that is available on the PDS MOC CDROM distribution. The search is contrained by the user specified ranges for latitude, longitude, resolution, and 'L sub S'. The 'TO' ouput file is a formatted ascii table file that contains the list of images that fall within the contraints.
moctime.pl - Displays/outputs the time span of a MOC image in UTC, SCLK, and J2000 formats.
mola2isis.pl - Creates MOLA ISIS binary table file based on MOC image time span. Table can be used with "qview" - Application - Plot Ascii Table may also be created for export to other applications.
molasearch.pl - Finds the MOLA PEDR files that correspond to a specified time range found in Updated MOLA Cumulative Index. The time range can be specified by either providing a MOC image or a start and stop J2000 time span.
mr9fixlabel - This is an application that makes corrections to the labels of a Mariner 9 image created by the "pds2isis" program.
photomet - "photompr" and "photom" have been combined into one program presently called "photomet" (short for photometric) that is presently in the Flagstaff internal development area of "new ISIS" on 3 systems, Linux, Alpha, and Solaris machines. This program will be called "photomet" until we are sure we don't need the old "photom- pr" and "photom" anymore. This new program has the new implementation of trimming found in "trimangle" that allows trimming by lat or lon range window and trimming by incidence angle, emission angle, neither or both. Changes to "photomet" since going into the development area include added documentation and:
shadow_tau - A new program that uses level-surface and shadow image values to determine the local atmospheric optical depth. The surface and atmosphere models use the same assumptions as the "photomet" photometric correction software so the resulting optical depth estimate will be useful for processing images with that software. (In other words, the optical depth calculated by this program is model-dependent but it is exactly the model-dependent value that will avoid nulling out shadows in "photomet".) Changes to "shadow_tau" since the original Flagstaff internal development version:
socet2jig - This program creates pic, matchpoint, and ground point files for lander stereo data to be used as input to lastjig.
stddes - A standard set of destriping filters for clinometry. An optional high-pass filter will be applied to the input file. Will remove stripes in the sample or line direction. Width of stripes have already been specified and passed to the 'dstripe' procedure. Because this is a TAE procedure, it must be executed within TAE.
b4equal - The log file mean and ratio fields for contrast mode were widened to handle elevation data.
convert - convert had a problem with standard ISIS cubes of BIL and probably BIP physical storage orders when SFROM was used to select partial portions of axes. The fix has rendered "convert" (temporarily, I hope) unable to convert non-standard ISIS cubes at all. This would be cubes that do not have 3 axes and/or are not physically stored in one of the standard ISIS storage orders: BSQ, BIL or BIP.
cpylab - INSTRUMENT_TWIST was added to the IMPSUB keyword list
cubeit-Changed to allow up to 1024 input files and fixed bug associated with closing a file.
cv (IDL) - Fixed a bug that caused it to fail when a zero-length SFROM string was specified.
cv (IDL) - Several updates were made:
cvplot/cv (IDL) - A bug was fixed that prevented writing a PostScript output file when "cvplot" was being used without "cv" running.
daisy - A round-off error that occurred in the routine map_zp_tran on Solaris machines has been corrected.
findrx - This program will now run on cube files processed under old ISIS as well as cube files with lev labels created by levinit.
getrange - A previously checked in program that has been modified to allow the processing of 200 images, which is the same number that "hidim" allows. Also, a problem with a range adjustment has been fixed.
hilomatch - Old version was not initializing a file id which sometimes caused a core dump.
impcal - Updated for latest cal.pro release.
impcal - Old version had bug in the smear correction when there was empty data in the image.
imp2prj - A previously checked in program that has been modified to use the new matchpoint library. Also, the registration offsets are no longer being negated.
isis2pics - Did not extract correct BAND_BIN keywords from multi-band cubes when a band other than the first one is selected. This has been corrected.
isis2std - Changed to be compatible with the updated CALL_EXTERNAL routines.
isis2std - A bug was fixed in a utility routine that was causing it to generate blank output images in rare cases.
isis2std - A bug was fixed in the display of error messages.
lev1geoplane - Writes out NULL values as opposed to zero when photometric angles or latitude/longitude can not be computed.
lev1pt, lev1geoplane, lev1stats, lev1tolev2 - No longer use the INSTPARS parameter. See the *NEW* program "levinit" for more information.
lev1tolev2 - No longer uses the LONSYS parameter. See the program "levinit" for more information.
levinit - This program has been modified so that if the user sets LATSYS=OCENTRIC then LONSYS will always be set to 360 as is required by the definition of planetocentric.
mocca - This MGS MOC radiometric calibration application has undergone major revisions, albeit a complete rewrite. It has numerous enhancements and capabilities. Here is a list of all that I can think of at the moment:
mocevenodd - Look for CROSSTRACK_SUMMING in the ISIS_INSTRUMENT group.
mocnoise50 - Look for CROSSTRACK_SUMMING and INSTRUMENT_ID in ISIS_INSTRUMENT group.
mosaic - Added functionality for the new lev2 system. Removes the ISIS_INSTRUMENT, ISIS_TARGET and ISIS_GEOMETRY groups from labels and add the ISIS_MOSAIC group which contains INSTRUMENT_ID, SPACECRAFT_NAME, IMAGE_NUMBER and PRODUCT_ID for each image put into the mosaic. A bug was also fixed with the rectangular option when using a value for SFROM. When intitializing a mosaic the ouput size is computed and if there is no disk room, and appropriate error message is printed. labels-Extended size of the TAE parameters KWRD, KVAL and DELETE. Also added capability to update a keyword in a table file.
mosaic - Added the new ISIS keyword group ISIS_MOSAIC and when creating mosaic delete ISIS_GEOMETRY, ISIS_TARGET and ISIS_INSTRUMENT groups.
mosaic - Added the new ISIS keyword group ISIS_MOSAIC and when creating mosaic delete ISIS_GEOMETRY, ISIS_TARGET and ISIS_INSTRUMENT groups.
mpt_bilin - This routine is one that is used in matchpoint registration and was used only in cases where a fast geom was taking place. It was incorrectly interpolating the new output pixel and essentially could be off by as much as a whole pixel. Other applications will utilize this routine as well in the future as I/We strive for consistancy.
nuproj - A round-off error that occurred in the routine map_zp_tran on Solaris machines has been corrected.
pds2isis - The parsing routine was fixed so that it can handle literal values that start with a numeric digit (0-9).
pds2isis - the parsing routine was fixed so that the fractional seconds in a PDS date/time value will be correctly transferred to the ISIS label.
pds2isis - The program was modified so that it can handle unterminated comment statements in compressed Voyager 1 PDS images.
pds2isis - The program was modified so that it can handle tab characters in the translation table.
photostat - An updated version has been checked in to add user requested output parameters OUTLINE & OUTSAMP and OUTLAT & OUTLON. Now if a user would like to input a particular line and sample, using the original LINE & SAMP, the output latitude and longitude can be passed to another application in the user's pdf, using OUTLAT & OUTLON. It will work the same with the user inputting a particular latitude and longitude, using LAT & LON, thus being able to pass the output line and sample to another application using OUTLINE & OUTSAMP.
pics2isis - In rare cases, the POSITIVE_LONGITUDE keyword didn't exist in PICS labels and this caused the program to abort. It indicates that the mapping keywords are incomplete but should not preclude generation of an ISIS cube. This has been corrected.
plansinu - A bug was fixed that caused either too much trimming or generated extra data outside the edge of the image
pntreg - Modified to take advantage of new development in image registration software. It now supports fast geometric projects for matching points on images. These changes should also make the application run more efficiently.
qview - Has several new features added including:
remrx - This program will now run on cube files processed under the Flagstaff internal "old ISIS" system as well as cube files with lev labels created by levinit.
sedrsort - The length of all file specifications was increased to 128.
stretch - Updated to be compatible with a change in a utility routine that is called. No change in functionality.
tvimp (IDL) - Changed so that it avoids the IDL bug that was causing it to display only one (or one-half) line in the list of points. Changed to be compatible with the updated CALL_EXTERNAL routines.
tvtie (IDL) - Changed so that it avoids the IDL bug that was causing it to display only one (or one-half) line in the list of points. Changed to be compatible with the updated CALL_EXTERNAL routines.
vikcal - This program will now run on cube files processed under the Flagstaff internal "old ISIS" system as well as cube files with lev labels created by "levinit".
TAE Menus - The program menus (obtained by typing "menu" (without the quotes) at the TAE prompt) have been updated to include the new programs.
callisto.def.1 - a *NEW* target definition file for Callisto to be used by the LEV library software.
europa.def.1 - a *NEW* target definition file for Europa to be used by the LEV library software.
ganymede.def.1 - a *NEW* target definition file for Ganymede to be used by the LEV library software.
gll_pds2isis_x.tbl - a *NEW* file that is for the Galileo mission only and can be loaded into the "pds2isis" parameter: TRANSTAB to convert Galileo SSI pds images to the ISIS format needed for the new LEV library software.
io.def.1 - a *NEW* target definition file for Io to be used by the LEV library software.
pck00005.tpc - The w0 value for Europa was mistakenly entered as 35.022 instead of 36.022. This value has been corrected.
pds2isis_translation.tbl - changed so that the PDS SPACECRAFT_NAME information is transferred to a new ISIS keyword called MOSAIC_SPACECRAFT_NAMES for PDS digital image map (DIM) data.
pds2isis_translation.tbl - Added translation for Mariner 9 EDR images.
planet.sav - The radius for Ganymede was incorrect in the 8-10-00 update and has been corrected to 2632.345 km.
s001024a.bsp - a new Galileo mission reconstruction for I27 & G28 and predict reference trajectory to end of 2002. This file begins 1 FEB 2000. It goes in $ISISGALDATA.
ckg28agd.plt - a new Galileo mission G-28 predict in $ISISGALDATA.
ckg29ahc.plt - a new Galileo mission G-29 predict in $ISISGALDATA.
gll_pds2isis_translation.def.1 - This file came from $ISISDATA and was originally named gll_pds2isis_x.tbl. Use this file for "pds2isis" to start processing of images in the new LEV software for the Galileo mission.
s000224a.bsp - has been deleted from $ISISGALDATA
imp_camera.sav - This file had an incorrect focal length value for the left camera. The incorrect value was .02340 and has been corrected to .02345.
imp_camera.sav - The following values in this file were updated to match the "final" lastjig solution over the entire Pathfinder control-net: delta twist for both left and right cameras was updated from -.21 to -0.03680040214086301; gamma0l was updated from .013270 to 0.01337868027218723; gamma05 was updated from .013648 to 0.01373348698604646; berrr0 was updated from .0018470 to 0.001633139821688337; and berrr5 was updated from .0013788 to 0.001115533884724178.
MGSC_1110_wago.tab, wago_table_index.lis - These files are the most recent MGS MOC WA Gain Offset (WAGO) tables. They became available with the April 2001 MGS MOC data release. Note that these files replace wago.tab and wago_index.lis in $ISISMGSDATA. Also note the new naming scheme particularly for the actual WAGO table. MGSC_1110 is the actual CDROM title where the table was taken from. These files are currently being used by the "moccal" application to correct for WAGO changes that occurred during Wide Angle image acquisition.
MGS_SCLKSCET.00036.tsc - New MGS SPICE spacecraft clock kernel (SCLK) kernel containing information required for Mars Global Surveyor spacecraft on-board clock to ET conversion. This file also contains definitions of MGS reference frames. A file with of the same name with ".lbl" also exists that contains a PDS label description of this file.
isis_moc_kernels.doc - Update this document to make it describe the current status of MGS MOC NAIF SPICE kernels in the ISIS environment.
mgs_map5.bsp, mgs_map6.bsp, mgs_map7.bsp, mgs_map8.bsp, mgs_map.bsp, mgs_map_rec.bsp - These are the newest files that contain the instrument ephemeris data for the Mars Global Surveyor (MGS) spacecraft. NAIF ID code for MGS is -94. The coverage dates of these files is 2000 FEB 09 00:00:00.000 to 2001 MAR 11 17:30:00.000. All the mgs_map[5678].bsp files have a file with a ".lbl" extension that contain PDS label descriptions of each of the files. There are also ".log" files for some that contain a brief description of some files using the NAIF "spacit" application to summarize the records in the file.
mgs_sc_map5.bc, mgs_sc_map6.bc, mgs_sc_map7.bc, mgs_sc_map8.bc, mgs_sc_map.bc, mgs_sc_map.bc - These files contain orientation and angular velocity data for the Mars Global Surveyor (MGS) spacecraft frame, 'MGS_SPACECRAFT', relative to the 'J2000' inertial frame. The NAIF ID code for the 'MGS_SPACECRAFT' frame is -94000. All the mgs_sc_map[5678].bc files have a file with a ".lbl" extension that contain PDS label descriptions of each of the files. There are also ".log" files for some that contain a brief description of some files using the NAIF "spacit" application to summarize the records in the file.
moc_kernels.def.2 - New version of ISIS kernel file that applications read in to determine the appropriate NAIF SPICE file to load.
moc_parameters.def.2 - This file in $ISISMSGDATA has been modified and updated to adhere to the formalization of support for the parameter defaults in the ISIS environment. Also, numerous keywords have been added for the ISIS application "moccal" which radiometrically corrects MGS MOC images. See this file for further details.
moc_parameters.def.3 - The MOC parameters file, $ISISMGSDATA/moc_parameters.def.2, has been modified to version 3. The boresight for the narrow angle camera has been changed from 1024.0 to 1024.5
moc_wa_red.coef - This MOC WA RED detector correction file contained an erroneous entry for hardware pixel 322. The value was way too low causing a dark streak the length of the image for pixels that mapped to this detector pixel.
wago.tab - This file contains the gain offset changes that occur during MGS MOC Wide Angle image acquisition. It is used for calibration of the MOC WA images.
wago_index.lis - An accompanying file to wago.tab, this contains an index of wago tables that expedite fast lookups of relevent wagos for WA images based upon spacecraft clock time.
mar033.bsp - This NAIF spacecraft/planet kernel contains orbital information for Mars from Planetary Ephemeris Number: DE400 /LE400.
vis_parameters.def.1 - This file contains the instrument specific parameters for Viking Orbiter 1 and 2 cameras A and B.
vo1_fict.tsc - This file is a new spacecraft clock kernel for Viking 1 that converts from et to the time units used to reference the c-kernels .
vo1_fsc.tsc - This file is a new spacecraft clock kernel for Viking 1 that references FSC to et.
vo2_fict.tsc - This file is a new spacecraft clock kernel for Viking 2 that converts from et to the time units used to reference the c-kernels .
vo2_fsc.tsc - This file is a new spacecraft clock kernel for Viking 2 that references FSC to et.
vo1_sedr.bc - This NAIF camera-kernel contains the Viking Orbiter 1 SEDR pointing data.
vo2_sedr.bc - This NAIF camera-kernel contains the Viking Orbiter 2 SEDR pointing data.
vo1_rcon.bsp - This NAIF spacecraft/planet kernel contains the Viking Orbiter 1 trajectory for primary, extended and continuation phases of the mission as reconstructed by Alex Konopliv of Inner Planet Navigation and Gravity Group/JPL in 1995.
vo1_sedr.bsp - This NAIF spacecraft/planet kernel contains the Viking Orbiter 1 state vectors from the original VO1 Camera Supplemental Engineering Data Record (SEDR) files produced by the Viking Project.
vo2_rcon.bsp - This NAIF spacecraft/planet kernel contains the Viking Orbiter 2 trajectory for primary, extended and continuation phases of the mission as reconstructed by Alex Konopliv of Inner Planet Navigation and Gravity Group/JPL in 1995.
vo2_sedr.bsp - This NAIF spacecraft/planet kernel contains the Viking Orbiter 2 state vectors from the original VO1 Camera Supplemental Engineering Data Record (SEDR) files produced by the Viking Project.
vo1_vis_kernels.def.1 - This file contains the most current NAIF SPICE kernels for Viking Orbiter 1.
vo2_vis_kernels.def.1 - This file contains the most current NAIF SPICE kernels for Viking Orbiter 2.
Detached Labels - Additions made to the ISIS low-level label software (PU routines) now support relative paths in object pointer keywords. For example, if a QUBE data file resides in a directory above the detached label, the label entry for the object pointer keyword can look like:
^QUBE = "../object.dat"
This form was not previously supported but became necessary to support some PDS CDROM products. See the new application "isisinfo" to determine exactly where the file associated with the QUBE data object is resolved when a detached label is parsed. See $ISIS/subs/libisis/pds/pu_rectify_fname.c for the algorithm used to find detached object files. It is not as straightforward as one might think! These changes were made in several files in $ISIS/subs/libisis/pds and $ISISINC/pdsdef.h. Main applications that at a minimum include pdsdef.h will have to be rebuilt as they will no longer function.
I_getspecial - Added VALID_MIN and VALID_MAX to the list of special pixel values returned to the calling IDL routine.
ISIS Parameter Defaults Software - A new set of routines have been added to the utility section of the libisis library. These routines provide access to ISIS parameter default files (usually a "*.def.xxx" where xxx is an increasing version number). They parse and internalize PDS/ISIS-like keywords whilst giving the application programmer access the values therein. These files are intended to provide ISIS applications with an easily manageable means which to modify volatile parameters to applications and track those changes. See the u_parmdef_*.c routines in $ISIS/subs/libisis/utilib. Don't forget to include isisparmdef.h in your calling routines (found in $ISISINC).
ISIS Parameter File Parsing Software - A new set of routines using the PDS label parsing software is under development and resides in $ISIS/subs/libisis/pds.
PDS Label Parsing Software Changes - The recent libisispds library has been relocated to the libisis subroutine. The net effect is that the P-level PU utility routines have been moved from $ISIS/subs/libisis/pds to $ISIS/subs/libisis/pu. The complete libisispds library now resides in $ISIS/subs/libisis/pds.
PDS Label Parsing Software - Some new routines were added to "export" keyword values from a parsed file. See pds_export_integer.c, pds_export_real.c, pds_export_string.c and pds_export_values.c in $ISIS/subs/libisis/pds.
convert - If SFROM is used by the user to select a portion of the input ISIS cube to convert and the storage order is either BIL or BIP, the parsing fails horribly. The problem is totally isolated in SFROM parsing and the support routines that return information about SFROM as it relates to the real cube dimensions. It will at times scramble the core and suffix dimensions and result in invalid QUBE object access. Typical behavior is incorrect report on axis sizes and eventually fatal I/O errors to the ISIS QUBE object. It also seems to require the SFROM to be given in the same order as the physical storage order and still will generate incorrect information. Note that SFROM has a special usage of a "P" prefix that indicates all axis specifications are in physical order, corresponding with that of the ISIS QUBE data axes. Here is the section of convert code that demonstrates the problem:
C********************************************************************** C Parse the input subcube specification C********************************************************************** IF (SFROM .NE. ' ') THEN AXMODE = 2 CALL U_PARSE_ISUB(IFID, SFROM, AXMODE, INO, SNO, ICONT,. SCONT, IERR) IF (IERR .NE. 0) GOTO 9900 CALL Q_SET_VIRTUAL(IFID, IERR) IF (IERR .NE. 0) GOTO 9900 ENDIF
"convert" uses AXMODE = 2 which requests the order of the return values to be that of the physical storage order of the QUBE data object axis elements, core and suffix. This mode is *required* for parsing non-standard subcube specifications since AXMODE = 1 will return axis dimensions in logical order, BSQ. If its not a standard ISIS cube, it cannot return the information. "convert" was written to handle any 3-D ISIS qube. Bottom line is that subcube parsing is in dire need of a thorough review and potentially a redesign and rewrite. We also know of other problems that exist with subcube parsing. Do not use AXMODE = 2...it doesn't work as advertised. h_enable - The compliment of h_disable will turn back on history reporting to files when called. h_disable and h_enable can be called numerous times during the course of an application and selectively allows for history to be recorded to files opened for update when closed.
isispds.h - Used to be libisispds.h. Renamed and modified for new functionality and enhancements.
libisismpt - Support for fast geometric projections has been added completing the full implementation of the match point software. A lower entry point (mpt_coreg_chips) has been added to make it more efficient and flexible. Support for both the libisisspi and the libisislev currently under development have been added and coexist in the same programming environment. This implies that registering of MDIM and MOC, for example, can be done with this new software (in theory). See the new chipper.c application on how to utilize this library fully. Also note the linkage implication. It uses the NAIF C Spice library for all applications and it seems to work just fine. Let me know if you have any problems.
libisispht - This is a *New* photometric library that is accessed by the new applications "photomet" and "shadow_tau".
libisispds - This *New* library provides extensive manipulation of both ISIS and PDS labels. It should be viewed as an extension to the ISIS label parsing software as it is built on top of it. It doesn't replace it but augments the merging of the two, sometimes largely varying, label formats.
mocxtrack.h - This include file contains the hardware to output pixel mapping tables for the special MGS MOC Wide Angle (WA) crosstrack summing modes of 27 and 13. These maps are taken directly from the MSSS document "Software Interface Specification Narrow Angle and Wide Angle Standard Data Products", September 1999, formatted April 7, 2000, Appendix F. See the file for how to use these tables.
pdsdef.h - A *New* comments state of "Non_Standard" was added to the PDS_COMMENT structure to distinguish standard ISIS comments from comments that start with a '#' character.
pu.h - This file has now been moved to $ISISINC. With the increasing number of main C applications that utilize low-level ISIS label software, this prototype file was needed in order use much of those routines. Prior to this file being in $ISISINC, application programmers had to add $ISIS/subs/libisis/pds to the include path in their main application make files (*.mak). This was generally accomplished by modifying the INCLUDES make macro in each individual make file. This is undesireable since, in theory, this is a reserved macro that can change as the system evolves, thus overriding these changes causing problems. Programmers please modify your application .mak files and remove any reassignments made to the INCLUDES macro. If you need to add a different include path use EXTRA_CINCLUDES and EXTRA_FINCLUDES as they are explicitly for this purpose.
spi_initspc - *New* documentation was added to this routine to explain the positive return values of IERR.
spi_last_cmodel.F - Gimbal twist was replaced with delta twist (dtwist).
spi_last_cmodel - This routine returned an incorrect value for the right focal length of .02340. The error has been corrected and the routine now returns a right focal length of .02335.
spi_last_lbspice.F - Camera model file and directory were added to the argument list. "twist" argument returned is now the effective twist = ctwist +/- dtwist for left/right camera, where ctwist is the camera head twist (read from the labels) and dtwist is the delta twist for the camera (read from the camera model file).
spi_spc_modulator - This routine is a C interface to the multi-SPICE routines in libisisspi, namely spi_minitspc, spi_mfindlat and spi_mfindlin. It is extensively used in the libisismpt software library and I recommend usage of that library rather than attempting to utilize this routine directly.
tf_get_tid - Returns the associated table object identifier for a specified object in a file. It must have been initialized either with tf_open or td_init.
u_get_line.c - This routine provides a C (only) interface to reading a line from a text file. It provides the following functionality:
Note that it is left to the caller to open the file (via fopen) and close it (fclose).
u_range1 - Changed to return IMIN,IMAX=INULL1 if no valid values are found in the input buffer. (Previously, it returned IMIN=VALID_MIN1 and IMAX=VAMID_MAX1.) This allows detection of the case where the buffer contains no valid values.
u_range2 - Changed to return IMIN,IMAX=INULL2 if no valid values are found in the input buffer. (Previously, it returned IMIN=VALID_MIN2 and IMAX=VAMID_MAX2.) This allows detection of the case where the buffer contains no valid values.
u_range3 - Changed to return MIN,MAX=NULL4 if no valid values are found in the input buffer. (Previously, it returned MIN,MAX=0.0.) This allows detection of the case where the buffer contains no valid values.
u_regchip.F - I have converted an error condition to a warning. The case where a whole pixel registration was computed successfully but the subpixel determination failed was treated as an error condition, a -4 error code. It now is flagged as a +3 warning code to allow the caller to have the final say. This is mostly to allow callers who really only want a whole pixel registration to continue since the proper information is attained. The FITS return parameter have 0.0s returned in indices 1, 2, 5 and 6 (1-based indexing) in this case. Only values 3 and 4 hold R and CHISQ values for whole pixel shifts. The rest of the parameters (DYX, LSBEST, LSADD and CBEST) are also computed correctly for this case. Oh, BTW, I have abstract the computations of LSBEST (best whole pixel), LSADD (best node) and CBEST (bilinear pixel coefficients) into routines (U_REGBEST, U_REGNODE and U_REGFACT, respectively) so that when given only subpixel LINE and SAMPLE coordinates, the remaining parameters can be computed consistantly. The source for these routines are in u_regchip.F. C interfaces are provided in u_bind_F.c and prototyped in regchip.h.
u_regchip.F - This routine had an erroneous check for line, sample search ranges (LTOL, STOL) that would cause it to skip the neighborhood search and consequently overflow a buffer. This would occur when LTOL or STOL was 5 or less an the other was greater than 5.
u_vectorize_image - This routine is very handy at creating a two dimension access scheme to images or virtually any other 2-d element in C applications. See the documentation for usage details.
qview.mak - Had to add an additional library (Xp in /usr/X11R6/lib) for Linux systems in order to link successfully with the new Motif libraries.
Our Perl scripts require that you have Perl installed in /usr/bin. If you have Perl installed in a different directory you need to set up a link between your location and /usr/bin/perl. To accomplish this you need to determine the absolute path name of your Perl executables. Then type the following at the command line:
ln -s <your Perl absolute path name>/perl /usr/bin/perl
This will estabish a softlink between our perl scripts and your Perl exectables. If you don't have root priviledges you will have to see your Sys-Admin person to execute this command.
If you use and develop your own Perl scripts and modules you may be using the PERL5LIB environment variable. If you are, please be aware that we are also setting this variable in the ISIS startup scripts to point to our Perl modules. Our startup scripts will check to see if you have PERL5LIB defined and then append to your path list (and not overwrite it). Therefore, if you are defining this variable, it is important to so before initiating ISIS. If you define PERL5LIB after initiating ISIS, you may overwrite our ISIS Perl path names and our Perl scripts will not operate correctly.
<End of Release Notes>