ISIS Application Documentation
|Printer Friendly View | TOC | Home|
Computes MESSENGER/MDIS EDR geometric keyword values
mdisedrinfo computes geometric properties that satisfy PDS EDR archive specifications. The input file can be either a MDIS EDR or an ISIS cube. It will work on either one. The file type is distinguished by the file extension. If the extension is not .cub, then the file is deemed a PDS EDR. It is converted to an ISIS cube (using mdis2isis) and initialized with SPICE kernels (using spiceinit). The resulting ISIS cube file is then used to compute the values. If the FROM file extension is .cub, then it is assumed to be an ISIS cube that has been initialized with the proper SPICE kernel information.
The ISIS cube file stores the original MDIS PDS EDR labels. All PDS EDR keywords are loaded with their intial values. The keyword/values generated by mdisedrinfo replace the original ones and are made available through a semi-colon delineated list provided in either the KEYLIST or TO parameter. All original PDS EDR keywords and their values are available as well. The RETICLE_POINT_LATITUDE and RETICLE_POINT_LONGITUDE keywords in each of the SUBFRAME_PARAMETERS objects are also computed by mdisedrinfo. These parameters are referenced using the name of the object from whence they came. For example, the RETICLE_POINT_LATITUDE in object SUBFRAME2_PARAMETERS is referenced as SUBFRAME2_PARAMETERS/RETICLE_POINT_LATITUDE. In general, this special class of reticle point keywords are prepended with the name of the object followed by the keyword name and separated by a forward slash. See the parameter descriptions for further details.
Also, the KEYLIST parameter is expected to contain the single line of semi-colon delineated keywords selected for update. It is optional in that the TO file can also provide this item, if the TO file exists. The idea is to provide a single file that has the keyword list and have each image data appended to it on succesive runs. On the first run, if TO does not exist and KEYLIST is given, the keyword list is read from KEYLIST, TO is created and the single keyword list line from KEYLIST is written to it followed by the computed/selected keywords. Any keyword in the list provided that does not exist will cause the application to abort.
There are three additional keywords generated by this application that are not in the PDS EDR label at the time this application was developed. The filename specified in the FROM parameter is provided through the FILENAME keyword. It is added as an additional reference to support subsequent processing of the results. The SOURCE_PRODUCT_ID keyword is added that identifies every SPICE kernel used to compute the geometric parameters. And the RA_DEC_REF_PIXEL records the center pixel coordinate of the image that was used to compute all the target geometric properties. These keywords may be used in future PDS EDRs released by the team.
Images that do not have a target name recognized by NAIF (such as STAR, etc...) will generally fail if left unchanged. When processing raw PDS EDR images, a check is performed by mdisedrinfo after importing into ISIS with mdis2isis of the TargetName (TARGET_NAME in the PDS EDR header) keyword for a valid NAIF target. If it is invalid, the TargetName ISIS keyword is changed to Sky so spiceinit executes properly. This check is not performed if the input FROM file is an ISIS cube. It is the responsibility of the user to ensure proper target names are in ISIS cube files.
Images that were acquired in subframe mode are not supported and will abort the application when they are detected.
The follow table lists the keywords that are computed by mdisedrinfo along with a description for each one:
This from file can be either a raw MESSENGER/MDIS EDR image (ending in with a .IMG file extension) or an ISIS cube file that has been properly initialize with SPICE kernel information.
MDIS PDS EDRs are converted to ISIS format using mdis2isis and intialized with SPICE kernels using spiceinit. This is the minimum expected processing for an ISIS cube provided as input to mdiserdinfo. If and only if the input is an MDIS PDS EDR, the temporary ISIS file created from it is deleted when the program terminates (normally or abnormally).
|Filter||*.IMG *.IMA *.cub|
This file contains at least one row that has a list of semi-colon delimited keywords as specified in the EDR header. This row must be the first row in the file. All other contents of the file are ignored. This application computes all keyword values and places them in a table. This table is then used to match the names from this single row of keyword names and the keyword values are formatted in the same fashion as the list - a semi-colon delineated list of values. This single row of values is then appended to the TO file.
Note that this parameter is optional. If the TO file does not exist, it is created and the row containing the keyword list is written to it. After which all keyword values are appended to it. By this definition, the TO file can provide the keyword list and the KEYLIST parameter is not longer required. It is only really necessary when the TO file does not exist and it seeds the TO file with the keyword list.
Below is an example of how this line may look:
This parameter provides the name of the file where keyword values are written. The list of keyword names can be provided in the KEYLIST parameter or, if the TO file already exists, it may have the list of keywords in the first line of this file. See the KEYLIST parameter for further details. To use the TO file as the source of the keyword list, do not provided the KEYLIST parameter. Run this way implies the keyword list is in the TO file provided here.
If the TO file does not exist, the list of keywords must be provided in the KEYLIST parameter to seed the creation of the TO file for subsequent use in this application. When mdisedrinfo creates the TO file it writes the semi-colon delineated list of keword names as the first line of the file. The resulting values for those keywords are appended to the contents of the TO after it is created or if it already exists.
Each single run of mdisedrinfo results in a single row of keyword values. This single row is appended to the TO file. Each value is formatted according to PDS guidelines and delineated by a semi-colon, following the same format as the keyword name list supplied in KEYLIST.
TO is an optional output parameter as this program offers serveral options for presentation of the resulting values. Below is an example of an output line generated from the values as specified in the KEYLIST example:
EW0031509051D.IMG;58.94599 <DEG>;23.52788 <DEG>;(-98852166.98839 <KM>,105701815.82312 <KM>,45826277.13516 <KM>);("N/A","N/A","N/A","N/A")
The name of a file where the keywords generated by this application are written in PVL form. This is an optional file and not generally used but does provide a more user-friendly view of the output data created by mdisedrinfo. If KEYLIST or TO is entered, the keywords listed in this source will also be the keywords written, otherwise only the keywords that are changed are reported.
Below is an example of the expected output for the PVL format:
FILENAME = EW0031509051D.IMG SOURCE_PRODUCT_ID = (msgr_20040803_20120401_od094sc.bsp, msgr_v070.tf, 0089907251_mdis_atthist.bc, 0001425715_0090876143_mdis_pivot.bc, de405.bsp, pck00008.tpc, pck00008_MSGR.tpc, mdisAddendum003.ti, naif0008.tls, messenger_390.tsc) RA_DEC_REF_PIXEL = (256.00000, 256.00000) RIGHT_ASCENSION = 58.94599 <DEG> DECLINATION = 23.52788 <DEG> TWIST_ANGLE = -169.91467 <DEG> RETICLE_POINT_RA = (63.79144, 52.09774, 65.35154, 54.51029) <DEG> RETICLE_POINT_DECLINATION = (29.50223, 27.59525, 19.15652, 17.39244) <DEG> SC_TARGET_POSITION_VECTOR = (-63778.06349, 18245.88488, -27909.07737) <KM> TARGET_CENTER_DISTANCE = 71968.53685 <KM> SLANT_DISTANCE = 67948.17343 <KM> CENTER_LATITUDE = -7.41010 <DEG> CENTER_LONGITUDE = 256.79419 <DEG> HORIZONTAL_PIXEL_SCALE = 24404.16696 <M> VERTICAL_PIXEL_SCALE = 24404.16696 <M> SMEAR_MAGNITUDE = "N/A" SMEAR_AZIMUTH = "N/A" NORTH_AZIMUTH = 253.70430 <DEG> RETICLE_POINT_LATITUDE = ("N/A", "N/A", "N/A", "N/A") RETICLE_POINT_LONGITUDE = ("N/A", "N/A", "N/A", "N/A") SUB_SPACECRAFT_LATITUDE = -22.86533 <DEG> SUB_SPACECRAFT_LONGITUDE = 305.16796 <DEG> SPACECRAFT_ALTITUDE = 65593.64024 <KM> SUB_SPACECRAFT_AZIMUTH = 358.70848 <DEG> SPACECRAFT_SOLAR_DISTANCE = 151804718.18318 <KM> SC_SUN_POSITION_VECTOR = (-98852166.98839, 105701815.82312, 45826277.13516) <KM> SC_SUN_VELOCITY_VECTOR = (18.82124, 14.64880, 4.90060) <KM/S> SOLAR_DISTANCE = 151801349.19267 <KM> SUB_SOLAR_AZIMUTH = 182.12965 <DEG> SUB_SOLAR_LATITUDE = 17.54908 <DEG> SUB_SOLAR_LONGITUDE = 203.65223 <DEG> INCIDENCE_ANGLE = 58.11450 <DEG> PHASE_ANGLE = 111.06803 <DEG> EMISSION_ANGLE = 52.98043 <DEG> LOCAL_HOUR_ANGLE = 233.14196 <DEG> End