diff --git a/isis/appdata/serialnumbers/MessengerMdisSerialNumber.trn b/isis/appdata/serialnumbers/MessengerMdisSerialNumber.trn new file mode 100644 index 0000000000..b77bf796c7 --- /dev/null +++ b/isis/appdata/serialnumbers/MessengerMdisSerialNumber.trn @@ -0,0 +1,31 @@ +Group = Keyword1 + Auto + InputKey = SpacecraftName + InputGroup = "IsisCube,Instrument" + InputPosition = (IsisCube, Instrument) + OutputName = Keyword1 + OutputPosition = (Group, SerialNumberKeywords) + Translation = (MeSSEnGeR, Messenger) + Translation = (*, *) +End_Group + +Group = Keyword2 + Auto + InputKey = InstrumentId + InputGroup = "IsisCube,Instrument" + InputPosition = (IsisCube, Instrument) + OutputName = Keyword2 + OutputPosition = (Group, SerialNumberKeywords) + Translation = (*, *) +End_Group + +Group = Keyword3 + Auto + InputKey = SpacecraftClockCount + InputGroup = "IsisCube,Instrument" + InputPosition = (IsisCube, Instrument) + OutputName = Keyword3 + OutputPosition = (Group, SerialNumberKeywords) + Translation = (*, *) +End_Group +End diff --git a/isis/src/messenger/apps/mdis2isis/MessengerMdisArchive.trn b/isis/src/messenger/apps/mdis2isis/MessengerMdisArchive.trn new file mode 100644 index 0000000000..a4ac748efe --- /dev/null +++ b/isis/src/messenger/apps/mdis2isis/MessengerMdisArchive.trn @@ -0,0 +1,202 @@ +# +# The group names listed here are the native names used by +# applications to get the foreign names and values +# +# There is only one level of groups the groups are not +# allowed to be nested +# +# The Group names can NOT be repeated. +# +# InputGroup is a comma delimited list of objects and/or +# groups in the foreign label. Traversing this list will +# lead to the correct level to find the foreign keyword. +# +# InputKey is the keyword within the group which holds +# the information. +# +# InputDefault is the value used if there is no value for +# the keyword +# +# Translation is the native and corresponding foreign values. +# Translation may be repeated as needed. +# +Group = DataSetId + Auto + InputKey = DATA_SET_ID + OutputName = DataSetId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = DataQualityDesc + Auto + Optional + InputKey = DATA_QUALITY_DESC + OutputName = DataQualityDesc + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (Null, NULL) + Translation = (*, *) +End_Group + +Group = DataQualityId + Auto + Optional + InputKey = DATA_QUALITY_ID + OutputName = DataQualityId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (Null, NULL) + Translation = (*, *) +End_Group + +Group = ProducerId + Auto + InputKey = PRODUCER_INSTITUTION_NAME + OutputName = ProducerId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = OriginalProductId + Auto + Optional + InputKey = ORIGINAL_PRODUCT_ID + OutputName = OriginalProductId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = EdrSourceProductId + Auto + Optional + InputKey = SOURCE_PRODUCT_ID + OutputName = EdrSourceProductId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = ProductId + Auto + InputKey = PRODUCT_ID + OutputName = ProductId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = SequenceName + Auto + InputKey = SEQUENCE_NAME + InputDefault = UNKNOWN + OutputName = SequenceName + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = ObservationId + Auto + InputKey = OBSERVATION_ID + InputDefault = UNKNOWN + OutputName = ObservationId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = ObservationType + Auto + InputKey = OBSERVATION_TYPE + InputDefault = UNKNOWN + OutputName = ObservationType + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = SiteId + Auto + InputKey = SITE_ID + InputDefault = UNKNOWN + OutputName = SiteId + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = MissionElapsedTime + Auto + InputKey = MESS:MET_EXP + InputDefault = NULL + OutputName = MissionElapsedTime + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = EdrProductCreationTime + Auto + InputKey = PRODUCT_CREATION_TIME + OutputName = EdrProductCreationTime + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = ObservationStartTime + Auto + InputKey = START_TIME + OutputName = ObservationStartTime + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = SpacecraftClockStartCount + Auto + InputKey = SPACECRAFT_CLOCK_START_COUNT + InputDefault = -9999 + OutputName = SpacecraftClockStartCount + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = SpacecraftClockStopCount + Auto + InputKey = SPACECRAFT_CLOCK_STOP_COUNT + InputDefault = -9999 + OutputName = SpacecraftClockStopCount + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = Exposure + Auto + InputKey = MESS:EXPOSURE + InputDefault = -9999 + OutputName = Exposure + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = CCDTemperature + Auto + InputKey = MESS:CCD_TEMP + InputDefault = -9999 + OutputName = CCDTemperature + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (*, *) +End_Group + +Group = FilterNumber + Auto + InputKey = FILTER_NUMBER + InputDefault = 0 + OutputName = OriginalFilterNumber + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (0, N/A) + Translation = (*, *) +End_Group + +Group = OrbitNumber + Auto + Optional + InputKey = ORBIT_NUMBER + InputDefault = 0 + OutputName = OrbitNumber + OutputPosition = (Object, IsisCube, Group, Archive) + Translation = (0, N/A) + Translation = (*, *) +End_Group +End diff --git a/isis/src/messenger/apps/mdis2isis/MessengerMdisBandBin.trn b/isis/src/messenger/apps/mdis2isis/MessengerMdisBandBin.trn new file mode 100644 index 0000000000..d29d83be5d --- /dev/null +++ b/isis/src/messenger/apps/mdis2isis/MessengerMdisBandBin.trn @@ -0,0 +1,59 @@ +# +# The group names listed here are the native names used by +# applications to get the foreign names and values +# +# There is only one level of groups the groups are not +# allowed to be nested +# +# The Group names can NOT be repeated. +# +# InputGroup is a comma delimited list of objects and/or +# groups in the foreign label. Traversing this list will +# lead to the correct level to find the foreign keyword. +# +# InputKey is the keyword within the group which holds +# the information. +# +# InputDefault is the value used if there is no value for +# the keyword +# +# Translation is the native and corresponding foreign values. +# Translation may be repeated as needed. +# +Group = FilterName + Auto + InputKey = FILTER_NAME + OutputName = Name + OutputPosition = (Object, IsisCube, Group, BandBin) + Translation = (Monochrome, N/A) + Translation = (*, *) +End_Group + +Group = FilterNumber + Auto + InputKey = FILTER_NUMBER + InputDefault = 0 + OutputName = Number + OutputPosition = (Object, IsisCube, Group, BandBin) + Translation = (0, N/A) + Translation = (*, *) +End_Group + +Group = FilterCenter + Auto + InputKey = CENTER_FILTER_WAVELENGTH + OutputName = Center + OutputPosition = (Object, IsisCube, Group, BandBin) + Translation = (750, N/A) + Translation = (*, *) +End_Group + +Group = FilterWidth + Auto + InputKey = BANDWIDTH + OutputName = Width + OutputPosition = (Object, IsisCube, Group, BandBin) + Translation = (50, N/A) + Translation = (*, *) +End_Group +End diff --git a/isis/src/messenger/apps/mdis2isis/MessengerMdisInstrument.trn b/isis/src/messenger/apps/mdis2isis/MessengerMdisInstrument.trn new file mode 100644 index 0000000000..f8f2a427ae --- /dev/null +++ b/isis/src/messenger/apps/mdis2isis/MessengerMdisInstrument.trn @@ -0,0 +1,247 @@ +# +# The group names listed here are the native names used by +# applications to get the foreign names and values +# +# There is only one level of groups the groups are not +# allowed to be nested +# +# The Group names can NOT be repeated. +# +# InputGroup is a comma delimited list of objects and/or +# groups in the foreign label. Traversing this list will +# lead to the correct level to find the foreign keyword. +# +# InputKey is the keyword within the group which holds +# the information. +# +# InputDefault is the value used if there is no value for +# the keyword +# +# Translation is the native and corresponding foreign values. +# Translation may be repeated as needed. +# +Group = SpacecraftName + Auto + InputKey = MISSION_NAME + InputDefault = UNKNOWN + OutputName = SpacecraftName + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (Messenger, MESSENGER) + Translation = (*, *) +End_Group + +Group = InstrumentName + Auto + InputKey = INSTRUMENT_NAME + InputDefault = UNKNOWN + OutputName = InstrumentName + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = InstrumentId + Auto + InputKey = INSTRUMENT_ID + InputDefault = UNKNOWN + OutputName = InstrumentId + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = TargetName + Auto + InputKey = TARGET_NAME + InputDefault = Sky + OutputName = TargetName + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (Earth, EARTH) + Translation = (Moon, MOON) + Translation = (Venus, VENUS) + Translation = (Mercury, MERCURY) + Translation = (Mars, MARS) + Translation = (Sky, NULL) + Translation = (*, *) +End_Group + +Group = OriginalTargetName + Auto + InputKey = TARGET_NAME + InputDefault = Sky + OutputName = OriginalTargetName + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = StartTime + Auto + InputKey = START_TIME + InputDefault = -9999 + OutputName = StartTime + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = StopTime + Auto + InputKey = STOP_TIME + InputDefault = -9999 + OutputName = StopTime + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = SpacecraftClockCount + Auto + InputKey = SPACECRAFT_CLOCK_START_COUNT + InputDefault = -9999 + OutputName = SpacecraftClockCount + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = MissionPhaseName + Auto + InputKey = MISSION_PHASE_NAME + InputDefault = UNKNOWN + OutputName = MissionPhaseName + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (Cruise, NULL) + Translation = (*, *) +End_Group + +Group = ExposureDuration + Auto + InputKey = EXPOSURE_DURATION + InputDefault = -9999 + OutputName = ExposureDuration + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = ExposureType + Auto + InputKey = EXPOSURE_TYPE + InputDefault = UNKNOWN + OutputName = ExposureType + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (Manual, MANUAL) + Translation = (Automatic, AUTOMATIC) + Translation = (*, *) +End_Group + +Group = DetectorTemperature + Auto + InputKey = DETECTOR_TEMPERATURE + InputDefault = UNKNOWN + OutputName = DetectorTemperature + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = FocalPlaneTemperature + Auto + InputKey = FOCAL_PLANE_TEMPERATURE + InputDefault = UNKNOWN + OutputName = FocalPlaneTemperature + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = FilterTemperature + Auto + InputKey = FILTER_TEMPERATURE + InputDefault = UNKNOWN + OutputName = FilterTemperature + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = OpticsTemperature + Auto + InputKey = OPTICS_TEMPERATURE + InputDefault = UNKNOWN + OutputName = OpticsTemperature + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = AttitudeQuality + Auto + InputKey = MESS:ATT_FLAG + InputDefault = UNKNOWN + OutputName = AttitudeQuality + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (Ok, 7) + Translation = (Ok, 6) + Translation = (Ok, 5) + Translation = (Illegal, 4) + Translation = (Bad, 3) + Translation = (Bad, 2) + Translation = (Bad, 1) + Translation = (Bad, 0) +End_Group + +Group = FilterWheelPosition + Auto + InputKey = MESS:FW_POS + InputDefault = UNKNOWN + OutputName = FilterWheelPosition + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = PivotPosition + Auto + InputKey = MESS:PIV_POS + InputDefault = UNKNOWN + OutputName = PivotPosition + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = FpuBinningMode + Auto + InputKey = MESS:FPU_BIN + InputDefault = UNKNOWN + OutputName = FpuBinningMode + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = PixelBinningMode + Auto + InputKey = MESS:PIXELBIN + InputDefault = UNKNOWN + OutputName = PixelBinningMode + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = SubFrameMode + Auto + InputKey = MESS:SUBFRAME + InputDefault = 0 + OutputName = SubFrameMode + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = JailBars + Auto + InputKey = MESS:JAILBARS + InputDefault = 0 + OutputName = JailBars + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (*, *) +End_Group + +Group = DpuId + Auto + InputKey = MESS:DPU_ID + InputDefault = UNKNOWN + OutputName = DpuId + OutputPosition = (Object, IsisCube, Group, Instrument) + Translation = (DPU-A, 0) + Translation = (DPU-B, 1) +End_Group +End diff --git a/isis/src/messenger/apps/mdis2isis/main.cpp b/isis/src/messenger/apps/mdis2isis/main.cpp index 4b4beeb1c3..f33514d77b 100644 --- a/isis/src/messenger/apps/mdis2isis/main.cpp +++ b/isis/src/messenger/apps/mdis2isis/main.cpp @@ -184,23 +184,23 @@ Pvl TranslateMdisEdrLabels(FileName &labelFile, const QString &target) { // Get the directory where the MESSENGER/MDIS translation tables are. PvlGroup dataDir(Preference::Preferences().findGroup("DataDirectory")); - QString transDir = (QString) dataDir["Messenger"] + "/translations/"; + QString transDir = "$ISISROOT/appdata/translations/"; // Get a filename for the MESSENGER EDR label Pvl labelPvl(labelFile.expanded()); // Translate the Instrument group - FileName transFile(transDir + "mdisInstrument.trn"); + FileName transFile(transDir + "MessengerMdisInstrument.trn"); PvlToPvlTranslationManager instrumentXlater(labelPvl, transFile.expanded()); instrumentXlater.Auto(outLabel); // Translate the BandBin group - transFile = transDir + "mdisBandBin.trn"; + transFile = transDir + "MessengerMdisBandBin.trn"; PvlToPvlTranslationManager bandBinXlater(labelPvl, transFile.expanded()); bandBinXlater.Auto(outLabel); // Translate the Archive group - transFile = transDir + "mdisArchive.trn"; + transFile = transDir + "MessengerMdisArchive.trn"; PvlToPvlTranslationManager archiveXlater(labelPvl, transFile.expanded()); archiveXlater.Auto(outLabel); @@ -289,7 +289,7 @@ int CreateFilterSpecs(const QString &instId, int filter_code, } else if(instId == "MDIS-WAC") { // Set up WAC calibration file - FileName calibFile("$messenger/calibration/mdisCalibration????.trn"); + FileName calibFile("$ISISROOT/appdata/translations/MessengerMdisCalibration.trn"); calibFile = calibFile.highestVersion(); Pvl config(calibFile.expanded()); @@ -405,4 +405,3 @@ LutTable LoadLut(Pvl &label, QString &tableused, QString &froot) { // cout << "Lut Table " << mlut << endl; return (mlut); } - diff --git a/isis/src/messenger/apps/mdis2pds/MessengerMdisCdrLabel.trn b/isis/src/messenger/apps/mdis2pds/MessengerMdisCdrLabel.trn new file mode 100644 index 0000000000..38ba9a4801 --- /dev/null +++ b/isis/src/messenger/apps/mdis2pds/MessengerMdisCdrLabel.trn @@ -0,0 +1,1542 @@ +# General data description parameters +Group = SpacecraftName + Auto + InputKey = SpacecraftName + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = MISSION_NAME + OutputPosition = Root + Translation = ("MESSENGER", Messenger) + Translation = (*, *) +End_Group + +Group = INSTRUMENT_HOST_NAME + Auto + InputKey = INSTRUMENT_HOST_NAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = INSTRUMENT_HOST_NAME + OutputPosition = ROOT + Translation = ("MESSENGER", MESSENGER) + Translation = (*, *) +End_Group + +Group = DataSetId + Auto + InputKey = DataSetId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = DATA_SET_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = DataQualityId + Auto + InputKey = DataQualityId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = DATA_QUALITY_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ProductId + Auto + InputKey = ProductId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = PRODUCT_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ObservationType + Auto + InputKey = ObservationType + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = OBSERVATION_TYPE + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SiteId + Auto + InputKey = SiteId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = SITE_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SOURCE_PRODUCT_ID + Auto + InputKey = SOURCE_PRODUCT_ID + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = SOURCE_PRODUCT_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ProducerId + Auto + InputKey = ProducerId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = PRODUCER_INSTITUTION_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SOFTWARE_NAME + Auto + InputKey = SoftwareName + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = SOFTWARE_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SOFTWARE_VERSION_ID + Auto + InputKey = SOFTWARE_VERSION_ID + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = SOFTWARE_VERSION_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = MissionPhaseName + Auto + InputKey = MissionPhaseName + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = MISSION_PHASE_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = TARGET_NAME + Auto + InputKey = TARGET_NAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = TARGET_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SEQUENCE_NAME + Auto + InputKey = SEQUENCE_NAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = SEQUENCE_NAME + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = OBSERVATION_ID + Auto + InputKey = OBSERVATION_ID + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = OBSERVATION_ID + OutputPosition = ROOT + Translation = (*, *) +End_Group + +# Time parameters +Group = StartTime + Auto + InputKey = StartTime + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = START_TIME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = StopTime + Auto + InputKey = StopTime + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = STOP_TIME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SpacecraftClockStartCount + Auto + InputKey = SpacecraftClockStartCount + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = SPACECRAFT_CLOCK_START_COUNT + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SpacecraftClockStopCount + Auto + InputKey = SpacecraftClockStopCount + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = SPACECRAFT_CLOCK_STOP_COUNT + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ORBIT_NUMBER + Auto + Optional + InputKey = ORBIT_NUMBER +# InputGroup = OriginalLabelObject +# InputPosition = OriginalLabelObject + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = "N/A" + OutputName = ORBIT_NUMBER + OutputPosition = Root + Translation = ("N/A", 0) + Translation = (*, *) +End_Group + +Group = EdrProductCreationTime + Auto + InputKey = EdrProductCreationTime + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = PRODUCT_CREATION_TIME + OutputPosition = Root + Translation = (*, *) +End_Group + +# Instrument engineering parameters +Group = InstrumentName + Auto + InputKey = InstrumentName + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = INSTRUMENT_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = InstrumentId + Auto + InputKey = InstrumentId + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = INSTRUMENT_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = FILTER_NAME + Auto + InputKey = Name + InputGroup = "Root,IsisCube,BandBin" + InputPosition = (Root, IsisCube, BandBin) + OutputName = FILTER_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = FILTER_NUMBER + Auto + InputKey = FILTER_NUMBER + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = FILTER_NUMBER + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = CENTER_FILTER_WAVELENGTH + Auto + InputKey = Center + InputGroup = "Root,IsisCube,BandBin" + InputPosition = (Root, IsisCube, BandBin) + OutputName = CENTER_FILTER_WAVELENGTH + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = FilterWidth + Auto + InputKey = Width + InputGroup = "Root,IsisCube,BandBin" + InputPosition = (Root, IsisCube, BandBin) + OutputName = BANDWIDTH + OutputPosition = Root + + # Translation = (N/A, 50) + Translation = (*, *) +End_Group + +Group = ExposureDuration + Auto + InputKey = ExposureDuration + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + InputDefault = N/A + OutputName = EXPOSURE_DURATION + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ExposureType + Auto + InputKey = ExposureType + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + InputDefault = UNKNOWN + OutputName = EXPOSURE_TYPE + OutputPosition = Root + Translation = (MANUAL, Manual) + Translation = (AUTOMATIC, Automatic) + Translation = (*, *) +End_Group + +Group = Units + Auto + InputKey = Units + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = UNIT + OutputPosition = (Object, IMAGE) + Translation = (*, *) +End_Group + +Group = DarkStripMean + Auto + InputKey = DarkStripMean + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = DARK_STRIP_MEAN + OutputPosition = (Object, IMAGE) + Translation = (*, *) +End_Group + +Group = DETECTOR_TEMPERATURE + Auto + InputKey = DETECTOR_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = DETECTOR_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = FOCAL_PLANE_TEMPERATURE + Auto + InputKey = FOCAL_PLANE_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = FOCAL_PLANE_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = FILTER_TEMPERATURE + Auto + InputKey = FILTER_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = FILTER_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = OPTICS_TEMPERATURE + Auto + InputKey = OPTICS_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = OPTICS_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +# Empirical correction parameters - not automatically translated +Group = MESS:EC_FACTOR + Auto + InputKey = EmpiricalCorrectionFactor + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = MESS:EC_FACTOR + OutputPosition = Root + Translation = (*, *) +End_Group + +# Instrument raw parameters +Group = MESS:MET_EXP + Auto + InputKey = MESS:MET_EXP + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:MET_EXP + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:IMG_ID_LSB + Auto + InputKey = MESS:IMG_ID_LSB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = MESS:IMG_ID_LSB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:IMG_ID_MSB + Auto + InputKey = MESS:IMG_ID_MSB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = MESS:IMG_ID_MSB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_CLOCK_COUNT + Auto + InputKey = MESS:ATT_CLOCK_COUNT + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_CLOCK_COUNT + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q1 + Auto + InputKey = MESS:ATT_Q1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q2 + Auto + InputKey = MESS:ATT_Q2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q3 + Auto + InputKey = MESS:ATT_Q3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q4 + Auto + InputKey = MESS:ATT_Q4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_FLAG + Auto + InputKey = MESS:ATT_FLAG + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_FLAG + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_POS_MOTOR + Auto + InputKey = MESS:PIV_POS_MOTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = MESS:PIV_POS_MOTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_GOAL + Auto + InputKey = MESS:PIV_GOAL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_GOAL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_POS + Auto + InputKey = MESS:PIV_POS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_POS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_READ + Auto + InputKey = MESS:PIV_READ + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_READ + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_CAL + Auto + InputKey = MESS:PIV_CAL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_CAL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_GOAL + Auto + InputKey = MESS:FW_GOAL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_GOAL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_POS + Auto + InputKey = MESS:FW_POS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_POS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_READ + Auto + InputKey = MESS:FW_READ + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_READ + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CCD_TEMP + Auto + InputKey = MESS:CCD_TEMP + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CCD_TEMP + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CAM_T1 + Auto + InputKey = MESS:CAM_T1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CAM_T1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CAM_T2 + Auto + InputKey = MESS:CAM_T2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CAM_T2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:EXPOSURE + Auto + InputKey = MESS:EXPOSURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:EXPOSURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:DPU_ID + Auto + InputKey = MESS:DPU_ID + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:DPU_ID + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:IMAGER + Auto + InputKey = MESS:IMAGER + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:IMAGER + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SOURCE + Auto + InputKey = MESS:SOURCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SOURCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FPU_BIN + Auto + InputKey = MESS:FPU_BIN + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FPU_BIN + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:COMP12_8 + Auto + InputKey = MESS:COMP12_8 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:COMP12_8 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:COMP_ALG + Auto + InputKey = MESS:COMP_ALG + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:COMP_ALG + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:COMP_FST + Auto + InputKey = MESS:COMP_FST + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:COMP_FST + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:TIME_PLS + Auto + InputKey = MESS:TIME_PLS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:TIME_PLS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:LATCH_UP + Auto + InputKey = MESS:LATCH_UP + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:LATCH_UP + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:EXP_MODE + Auto + InputKey = MESS:EXP_MODE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:EXP_MODE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_STAT + Auto + InputKey = MESS:PIV_STAT + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_STAT + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_MPEN + Auto + InputKey = MESS:PIV_MPEN + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_MPEN + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_PV + Auto + InputKey = MESS:PIV_PV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_PV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_RV + Auto + InputKey = MESS:PIV_RV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_RV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_PV + Auto + InputKey = MESS:FW_PV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_PV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_RV + Auto + InputKey = MESS:FW_RV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_RV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_STAT + Auto + InputKey = MESS:AEX_STAT + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_STAT + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_STHR + Auto + InputKey = MESS:AEX_STHR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_STHR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_TGTB + Auto + InputKey = MESS:AEX_TGTB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_TGTB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_BACB + Auto + InputKey = MESS:AEX_BACB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_BACB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_MAXE + Auto + InputKey = MESS:AEX_MAXE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_MAXE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_MINE + Auto + InputKey = MESS:AEX_MINE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_MINE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:DLNKPRIO + Auto + InputKey = MESS:DLNKPRIO + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:DLNKPRIO + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:WVLRATIO + Auto + InputKey = MESS:WVLRATIO + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:WVLRATIO + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIXELBIN + Auto + InputKey = MESS:PIXELBIN + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIXELBIN + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBFRAME + Auto + InputKey = MESS:SUBFRAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBFRAME + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X1 + Auto + InputKey = MESS:SUBF_X1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y1 + Auto + InputKey = MESS:SUBF_Y1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX1 + Auto + InputKey = MESS:SUBF_DX1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY1 + Auto + InputKey = MESS:SUBF_DY1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X2 + Auto + InputKey = MESS:SUBF_X2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y2 + Auto + InputKey = MESS:SUBF_Y2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX2 + Auto + InputKey = MESS:SUBF_DX2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY2 + Auto + InputKey = MESS:SUBF_DY2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X3 + Auto + InputKey = MESS:SUBF_X3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y3 + Auto + InputKey = MESS:SUBF_Y3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX3 + Auto + InputKey = MESS:SUBF_DX3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY3 + Auto + InputKey = MESS:SUBF_DY3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X4 + Auto + InputKey = MESS:SUBF_X4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y4 + Auto + InputKey = MESS:SUBF_Y4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX4 + Auto + InputKey = MESS:SUBF_DX4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY4 + Auto + InputKey = MESS:SUBF_DY4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X5 + Auto + InputKey = MESS:SUBF_X5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y5 + Auto + InputKey = MESS:SUBF_Y5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX5 + Auto + InputKey = MESS:SUBF_DX5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY5 + Auto + InputKey = MESS:SUBF_DY5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CRITOPNV + Auto + InputKey = MESS:CRITOPNV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CRITOPNV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JAILBARS + Auto + InputKey = MESS:JAILBARS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JAILBARS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JB_X0 + Auto + InputKey = MESS:JB_X0 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JB_X0 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JB_X1 + Auto + InputKey = MESS:JB_X1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JB_X1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JB_SPACE + Auto + InputKey = MESS:JB_SPACE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JB_SPACE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RIGHT_ASCENSION + Auto + InputKey = RIGHT_ASCENSION + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RIGHT_ASCENSION + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = DECLINATION + Auto + InputKey = DECLINATION + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = DECLINATION + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = TWIST_ANGLE + Auto + InputKey = TWIST_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = TWIST_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RA_DEC_REF_PIXEL + Auto + InputKey = RA_DEC_REF_PIXEL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RA_DEC_REF_PIXEL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_RA + Auto + InputKey = RETICLE_POINT_RA + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_RA + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_DECLINATION + Auto + InputKey = RETICLE_POINT_DECLINATION + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_DECLINATION + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SC_TARGET_POSITION_VECTOR + Auto + InputKey = SC_TARGET_POSITION_VECTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SC_TARGET_POSITION_VECTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = TARGET_CENTER_DISTANCE + Auto + InputKey = TARGET_CENTER_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = TARGET_CENTER_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SLANT_DISTANCE + Auto + InputKey = SLANT_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SLANT_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = CENTER_LATITUDE + Auto + InputKey = CENTER_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = CENTER_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = CENTER_LONGITUDE + Auto + InputKey = CENTER_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = CENTER_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = HORIZONTAL_PIXEL_SCALE + Auto + InputKey = HORIZONTAL_PIXEL_SCALE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = HORIZONTAL_PIXEL_SCALE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = VERTICAL_PIXEL_SCALE + Auto + InputKey = VERTICAL_PIXEL_SCALE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = VERTICAL_PIXEL_SCALE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SMEAR_MAGNITUDE + Auto + InputKey = SMEAR_MAGNITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SMEAR_MAGNITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SMEAR_AZIMUTH + Auto + InputKey = SMEAR_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SMEAR_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = NORTH_AZIMUTH + Auto + InputKey = NORTH_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = NORTH_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_LATITUDE + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_LONGITUDE + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SPACECRAFT_LATITUDE + Auto + InputKey = SUB_SPACECRAFT_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SPACECRAFT_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SPACECRAFT_LONGITUDE + Auto + InputKey = SUB_SPACECRAFT_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SPACECRAFT_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SPACECRAFT_ALTITUDE + Auto + InputKey = SPACECRAFT_ALTITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SPACECRAFT_ALTITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SPACECRAFT_AZIMUTH + Auto + InputKey = SUB_SPACECRAFT_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SPACECRAFT_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SPACECRAFT_SOLAR_DISTANCE + Auto + InputKey = SPACECRAFT_SOLAR_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SPACECRAFT_SOLAR_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SC_SUN_POSITION_VECTOR + Auto + InputKey = SC_SUN_POSITION_VECTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SC_SUN_POSITION_VECTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SC_SUN_VELOCITY_VECTOR + Auto + InputKey = SC_SUN_VELOCITY_VECTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SC_SUN_VELOCITY_VECTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SOLAR_DISTANCE + Auto + InputKey = SOLAR_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SOLAR_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SOLAR_AZIMUTH + Auto + InputKey = SUB_SOLAR_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SOLAR_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SOLAR_LATITUDE + Auto + InputKey = SUB_SOLAR_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SOLAR_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SOLAR_LONGITUDE + Auto + InputKey = SUB_SOLAR_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SOLAR_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = INCIDENCE_ANGLE + Auto + InputKey = INCIDENCE_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = INCIDENCE_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = PHASE_ANGLE + Auto + InputKey = PHASE_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = PHASE_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = EMISSION_ANGLE + Auto + InputKey = EMISSION_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = EMISSION_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = LOCAL_HOUR_ANGLE + Auto + InputKey = LOCAL_HOUR_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = LOCAL_HOUR_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUBFRAME1_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME1_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME1_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME1_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME1_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME1_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME1_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME1_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME2_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME2_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME2_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME2_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME2_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME2_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME2_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME2_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME3_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME3_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME3_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME3_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME3_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME3_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME3_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME3_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME4_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME4_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME4_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME4_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME4_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME4_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME4_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME4_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME5_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME5_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME5_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME5_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME5_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME5_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME5_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME5_PARAMETERS) + Translation = (*, *) +End_Group +End diff --git a/isis/src/messenger/apps/mdis2pds/main.cpp b/isis/src/messenger/apps/mdis2pds/main.cpp index b98fa668df..a842f372a4 100644 --- a/isis/src/messenger/apps/mdis2pds/main.cpp +++ b/isis/src/messenger/apps/mdis2pds/main.cpp @@ -174,7 +174,7 @@ void IsisMain() { processPds.SetOutputHrs(pow(2.0, (double)(nbits)) - 1.0); dataSetID += "0"; } - else { // 16 < nbits < 32 + else { // 16 < nbits < 32 QString msg = "[" + toString(nbits) + "] is not a supported bit length."; throw IException(IException::User, msg, _FILEINFO_); } @@ -202,7 +202,7 @@ void IsisMain() { // Translates the ISIS labels along with the original EDR labels origLabel.addObject(*(incube->label())); PvlToPvlTranslationManager labels(origLabel, - "$messenger/translations/mdisCDRLabel.trn"); + "$ISISROOT/appdata/translations/MessengerMdisCdrLabel.trn"); labels.Auto(pdsLabel); p.CheckStatus(); @@ -215,7 +215,7 @@ void IsisMain() { PvlKeyword &empiricalCorrection(pdsLabel.findKeyword("MESS:EC_FACTOR")); if (empiricalCorrection[0] == "N/A") { if (incube->label()->hasKeyword("ContaminationEventFactor", Pvl::Traverse)) { - empiricalCorrection.setValue(incube->label()->findKeyword("ContaminationEventFactor", + empiricalCorrection.setValue(incube->label()->findKeyword("ContaminationEventFactor", Pvl::Traverse)[0]); } } @@ -257,31 +257,31 @@ void IsisMain() { // Fixes bad keywords // data set id - PvlKeyword &dataSetIdKeyword = pdsLabel.findKeyword("DATA_SET_ID", + PvlKeyword &dataSetIdKeyword = pdsLabel.findKeyword("DATA_SET_ID", Pvl::Traverse); dataSetIdKeyword.setValue(dataSetID); - + // product id - PvlKeyword &productIdKeyword = pdsLabel.findKeyword("PRODUCT_ID", + PvlKeyword &productIdKeyword = pdsLabel.findKeyword("PRODUCT_ID", Pvl::Traverse); if (productIdKeyword[0] == "N/A") { productIdKeyword.setValue(output.baseName()); } - + // product creation time - PvlKeyword &productCreationTimeKeyword = pdsLabel.findKeyword("PRODUCT_CREATION_TIME", + PvlKeyword &productCreationTimeKeyword = pdsLabel.findKeyword("PRODUCT_CREATION_TIME", Pvl::Traverse); productCreationTimeKeyword.setValue(mdis2pdsRuntime); - + // software name - PvlKeyword &softwareNameKeyword = pdsLabel.findKeyword("SOFTWARE_NAME", + PvlKeyword &softwareNameKeyword = pdsLabel.findKeyword("SOFTWARE_NAME", Pvl::Traverse); if (softwareNameKeyword[0] == "N/A") { softwareNameKeyword.setValue(mdis2pdsProgram); } - + // software version id - PvlKeyword &softwareVersionIdKeyword = pdsLabel.findKeyword("SOFTWARE_VERSION_ID", + PvlKeyword &softwareVersionIdKeyword = pdsLabel.findKeyword("SOFTWARE_VERSION_ID", Pvl::Traverse); if (softwareVersionIdKeyword[0] == "N/A") { softwareVersionIdKeyword.setValue(quote(mdis2pdsVersion)); @@ -289,9 +289,9 @@ void IsisMain() { else { softwareVersionIdKeyword.setValue(softwareVersionIdKeyword[0]); } - + // filter number - PvlKeyword &filterNumberKeyword = pdsLabel.findKeyword("FILTER_NUMBER", + PvlKeyword &filterNumberKeyword = pdsLabel.findKeyword("FILTER_NUMBER", Pvl::Traverse); if ((filterNumberKeyword.size() > 0)) { filterNumberKeyword.setValue(quote(filterNumberKeyword[0])); @@ -300,32 +300,32 @@ void IsisMain() { // Add quotes // data quality id - PvlKeyword &dataQualityIdKeyword = pdsLabel.findKeyword("DATA_QUALITY_ID", + PvlKeyword &dataQualityIdKeyword = pdsLabel.findKeyword("DATA_QUALITY_ID", Pvl::Traverse); dataQualityIdKeyword.setValue(quote(dataQualityIdKeyword)); - + // sequence name - PvlKeyword &sequenceNameKeyword = pdsLabel.findKeyword("SEQUENCE_NAME", + PvlKeyword &sequenceNameKeyword = pdsLabel.findKeyword("SEQUENCE_NAME", Pvl::Traverse); sequenceNameKeyword.setValue(quote(sequenceNameKeyword)); - + // spacecraft clock start count - PvlKeyword &startCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_START_COUNT", + PvlKeyword &startCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_START_COUNT", Pvl::Traverse); startCountKeyword.setValue(quote(startCountKeyword)); - + // spacecraft clock stop count - PvlKeyword &stopCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_STOP_COUNT", + PvlKeyword &stopCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_STOP_COUNT", Pvl::Traverse); stopCountKeyword.setValue(quote(stopCountKeyword)); - + // site id - PvlKeyword &siteIdKeyword = pdsLabel.findKeyword("SITE_ID", + PvlKeyword &siteIdKeyword = pdsLabel.findKeyword("SITE_ID", Pvl::Traverse); siteIdKeyword.setValue(quote(siteIdKeyword)); - + // source product id - PvlKeyword &sourceProductIdKeyword = pdsLabel.findKeyword("SOURCE_PRODUCT_ID", + PvlKeyword &sourceProductIdKeyword = pdsLabel.findKeyword("SOURCE_PRODUCT_ID", Pvl::Traverse); for (int i = 0; i < sourceProductIdKeyword.size(); i++) { sourceProductIdKeyword[i] = quote(sourceProductIdKeyword[i]); @@ -367,7 +367,7 @@ void IsisMain() { p.CheckStatus(); // All done...write result. - pdsLabel.setFormatTemplate("$messenger/templates/labels/mdisPdsCDR.pft"); + pdsLabel.setFormatTemplate("$ISISROOT/appdata/templates/mdis2pds/mdisPdsCdr.def"); QString ofile(output.expanded()); ofstream outstream(ofile.toLatin1().data()); processPds.OutputLabel(outstream); diff --git a/isis/src/messenger/apps/mdis2pds/mdisPdsCdr.def b/isis/src/messenger/apps/mdis2pds/mdisPdsCdr.def new file mode 100644 index 0000000000..d463b70f86 --- /dev/null +++ b/isis/src/messenger/apps/mdis2pds/mdisPdsCdr.def @@ -0,0 +1,230 @@ +PDS_VERSION_ID = PDS3 + +/*** FILE FORMAT ***/ +RECORD_TYPE +RECORD_BYTES +FILE_RECORDS +LABEL_RECORDS +LABEL_REVISION_NOTE = "2007-12-20, S. Murchie (JHU/APL); + 2008-01-02, S. Murchie (JHU/APL); + 2008-01-11, J. Ward (GEO)" + +/*** POINTERS TO START BYTE OFFSET OF OBJECTS IN IMAGE FILE ***/ +^IMAGE + +/*** GENERAL DATA DESCRIPTION PARAMETERS ***/ +MISSION_NAME +INSTRUMENT_HOST_NAME +DATA_SET_ID +DATA_QUALITY_ID +/* pcnnnnnnnnnnf_tt_v */ +/* p = product type (C calibrated */ +/* or D derived) */ +/* c = camera (W WAC or N NAC) */ +/* nnnnnnnnnn = Mission Elapsed Time */ +/* f = filter */ +/* tt = data type (RA radiance, IF I/F, */ +/* or DE derived products) */ +/* v = version number */ +PRODUCT_ID +OBSERVATION_TYPE +SITE_ID +SOURCE_PRODUCT_ID +PRODUCER_INSTITUTION_NAME +SOFTWARE_NAME +SOFTWARE_VERSION_ID +MISSION_PHASE_NAME +TARGET_NAME +SEQUENCE_NAME +OBSERVATION_ID + +/*** TIME PARAMETERS ***/ +START_TIME +STOP_TIME +SPACECRAFT_CLOCK_START_COUNT +SPACECRAFT_CLOCK_STOP_COUNT +ORBIT_NUMBER +PRODUCT_CREATION_TIME + +/*** INSTRUMENT ENGINEERING PARAMETERS ***/ +INSTRUMENT_NAME +INSTRUMENT_ID +FILTER_NAME +FILTER_NUMBER +CENTER_FILTER_WAVELENGTH +BANDWIDTH +EXPOSURE_DURATION +EXPOSURE_TYPE +DETECTOR_TEMPERATURE +FOCAL_PLANE_TEMPERATURE +FILTER_TEMPERATURE +OPTICS_TEMPERATURE + +/*** EMPIRICAL CORRECTION PARAMETERS ***/ +MESS:EC_FACTOR + +/*** INSTRUMENT RAW PARAMETERS ***/ +MESS:MET_EXP +MESS:IMG_ID_LSB +MESS:IMG_ID_MSB +MESS:ATT_CLOCK_COUNT +MESS:ATT_Q1 +MESS:ATT_Q2 +MESS:ATT_Q3 +MESS:ATT_Q4 +MESS:ATT_FLAG +MESS:PIV_POS_MOTOR +MESS:PIV_GOAL +MESS:PIV_POS +MESS:PIV_READ +MESS:PIV_CAL +MESS:FW_GOAL +MESS:FW_POS +MESS:FW_READ +MESS:CCD_TEMP +MESS:CAM_T1 +MESS:CAM_T2 +MESS:EXPOSURE +MESS:DPU_ID +MESS:IMAGER +MESS:SOURCE +MESS:FPU_BIN +MESS:COMP12_8 +MESS:COMP_ALG +MESS:COMP_FST +MESS:TIME_PLS +MESS:LATCH_UP +MESS:EXP_MODE +MESS:PIV_STAT +MESS:PIV_MPEN +MESS:PIV_PV +MESS:PIV_RV +MESS:FW_PV +MESS:FW_RV +MESS:AEX_STAT +MESS:AEX_STHR +MESS:AEX_TGTB +MESS:AEX_BACB +MESS:AEX_MAXE +MESS:AEX_MINE +MESS:DLNKPRIO +MESS:WVLRATIO +MESS:PIXELBIN +MESS:SUBFRAME +MESS:SUBF_X1 +MESS:SUBF_Y1 +MESS:SUBF_DX1 +MESS:SUBF_DY1 +MESS:SUBF_X2 +MESS:SUBF_Y2 +MESS:SUBF_DX2 +MESS:SUBF_DY2 +MESS:SUBF_X3 +MESS:SUBF_Y3 +MESS:SUBF_DX3 +MESS:SUBF_DY3 +MESS:SUBF_X4 +MESS:SUBF_Y4 +MESS:SUBF_DX4 +MESS:SUBF_DY4 +MESS:SUBF_X5 +MESS:SUBF_Y5 +MESS:SUBF_DX5 +MESS:SUBF_DY5 +MESS:CRITOPNV +MESS:JAILBARS +MESS:JB_X0 +MESS:JB_X1 +MESS:JB_SPACE + +/*** GEOMETRY INFORMATION ***/ +RIGHT_ASCENSION +DECLINATION +TWIST_ANGLE +RA_DEC_REF_PIXEL +RETICLE_POINT_RA +RETICLE_POINT_DECLINATION + +/*** TARGET PARAMETERS ***/ +SC_TARGET_POSITION_VECTOR +TARGET_CENTER_DISTANCE + +/*** TARGET WITHIN SENSOR FOV ***/ +SLANT_DISTANCE +CENTER_LATITUDE +CENTER_LONGITUDE +HORIZONTAL_PIXEL_SCALE +VERTICAL_PIXEL_SCALE +SMEAR_MAGNITUDE +SMEAR_AZIMUTH +NORTH_AZIMUTH +RETICLE_POINT_LATITUDE +RETICLE_POINT_LONGITUDE + +/*** SPACECRAFT POSITION WITH RESPECT TO CENTRAL BODY ***/ +SUB_SPACECRAFT_LATITUDE +SUB_SPACECRAFT_LONGITUDE +SPACECRAFT_ALTITUDE +SUB_SPACECRAFT_AZIMUTH + +/*** SPACECRAFT LOCATION ***/ +SPACECRAFT_SOLAR_DISTANCE +SC_SUN_POSITION_VECTOR +SC_SUN_VELOCITY_VECTOR + +/*** VIEWING AND LIGHTING GEOMETRY (SUN ON TARGET) ***/ +SOLAR_DISTANCE +SUB_SOLAR_AZIMUTH +SUB_SOLAR_LATITUDE +SUB_SOLAR_LONGITUDE +INCIDENCE_ANGLE +PHASE_ANGLE +EMISSION_ANGLE +LOCAL_HOUR_ANGLE + +OBJECT = IMAGE + LINES + LINE_SAMPLES + BANDS + BAND_STORAGE_TYPE + OFFSET + SCALING_FACTOR + SAMPLE_BITS + SAMPLE_BIT_MASK + SAMPLE_TYPE + CORE_NULL + CORE_LOW_REPR_SATURATION + CORE_LOW_INSTR_SATURATION + CORE_HIGH_REPR_SATURATION + CORE_HIGH_INSTR_SATURATION + BAND_NAME + UNIT + DARK_STRIP_MEAN +END_OBJECT = IMAGE + +/*** GEOMETRY FOR EACH SUBFRAME ***/ +GROUP = SUBFRAME1_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME1_PARAMETERS + +GROUP = SUBFRAME2_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME2_PARAMETERS + +GROUP = SUBFRAME3_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME3_PARAMETERS + +GROUP = SUBFRAME4_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME4_PARAMETERS + +GROUP = SUBFRAME5_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME5_PARAMETERS +END diff --git a/isis/src/messenger/apps/mdiscal/main.cpp b/isis/src/messenger/apps/mdiscal/main.cpp index b0e6a43880..d6c4f370ea 100644 --- a/isis/src/messenger/apps/mdiscal/main.cpp +++ b/isis/src/messenger/apps/mdiscal/main.cpp @@ -25,8 +25,8 @@ using namespace std; // Global variables // dark current /** - * Enumeration to determine the type of dark current correction to be applied, - * if any. + * Enumeration to determine the type of dark current correction to be applied, + * if any. */ enum MdisDarkCurrentMode { DarkCurrentNone, //!< No dark current correction applied. @@ -90,7 +90,7 @@ void IsisMain() { // We will be processing by column in case of a linear dark current fit. This will make the // calibration a one pass system in this case, rather than two. ProcessByLine p; - FileName calibFile("$messenger/calibration/mdisCalibration????.trn"); + FileName calibFile("$ISISROOT/appdata/translations/MessengerMdisCalibration.trn"); calibFile = calibFile.highestVersion(); g_configFile.read(calibFile.expanded()); @@ -146,7 +146,7 @@ void IsisMain() { // Get the trusted filter number if (!g_isNarrowAngleCamera) { g_filterNumber = ((int)(icube->group("BandBin")["Number"])) - 1; - } + } else { g_filterNumber = 1; // For the NAC } @@ -204,15 +204,15 @@ void IsisMain() { unique_ptr darkModel; if (darkCurr == "NONE") { g_darkCurrentMode = DarkCurrentNone; - } + } else if (darkCurr == "STANDARD") { g_darkCurrentMode = DarkCurrentStandard; g_calibrationValues.resize(icube->lineCount()); - } + } else if (darkCurr == "LINEAR") { g_darkCurrentMode = DarkCurrentLinear; g_calibrationValues.resize(icube->lineCount()); - } + } else {//if (darkCurr == "MODEL") { ...in this case g_nValidDark > 0 if (g_exposureDuration > 1.0) { // set processing to standard @@ -226,7 +226,7 @@ void IsisMain() { IException ie(IException::User, mess, _FILEINFO_); ie.print(); - } + } else { g_darkCurrentMode = DarkCurrentModel; } @@ -237,11 +237,11 @@ void IsisMain() { if (g_darkCurrentMode != DarkCurrentModel) { p.Progress()->SetText("Gathering Dark Current Statistics"); p.StartProcess(gatherDarkStatistics); - } + } else { // read in dark current table variables and report the filename used - darkModel = unique_ptr(new DarkModelPixel(pxlBin, - g_ccdTemperature, + darkModel = unique_ptr(new DarkModelPixel(pxlBin, + g_ccdTemperature, g_exposureDuration)); darkCurrentFile = darkModel->loadCoefficients(g_isNarrowAngleCamera, g_isBinnedData); g_model = darkModel.get(); @@ -306,7 +306,7 @@ void IsisMain() { if (applyECFactor) { // Get correction for WAC filters empiricalCorrectionFile = ""; g_empiricalCorrectionFactor = loadEmpiricalCorrection(startTime, g_filterNumber + 1, - empiricalCorrectionFile, + empiricalCorrectionFile, empiricalCorrectionDate); empiricalCorrectionFactor = toString(g_empiricalCorrectionFactor); } @@ -333,7 +333,7 @@ void IsisMain() { g_Ff = sol[2]; g_iof = pi_c() * (g_solarDist * g_solarDist) / g_Ff; validIOF = true; - } + } else { // already set g_iof = 1.0; validIOF = false; @@ -346,7 +346,7 @@ void IsisMain() { FileName flatfield = determineFlatFieldFile(); if (pxlBin > 0) { QString scale(toString(pxlBin)); - FileName newflat = FileName::createTempFile("$temporary/" + FileName newflat = FileName::createTempFile("$temporary/" + flatfield.baseName() + "_reduced.cub"); reducedFlat = newflat.expanded(); QString parameters = "FROM=" + flatfield.expanded() + @@ -394,10 +394,10 @@ void IsisMain() { calibrationLog.addKeyword(PvlKeyword("DarkCurrentModel", darkCurr)); if (g_darkCurrentMode == DarkCurrentLinear) { - QString equation = "Y = " + toString(g_calibrationValues[0]) + QString(" + ") + QString equation = "Y = " + toString(g_calibrationValues[0]) + QString(" + ") + toString(g_calibrationValues[1]) + QString("x"); calibrationLog.addKeyword(PvlKeyword("DarkCurrentEquation", (QString)equation)); - } + } else if (g_darkCurrentMode == DarkCurrentModel) { calibrationLog.addKeyword(PvlKeyword("DarkCurrentFile", darkCurrentFile)); } @@ -405,9 +405,9 @@ void IsisMain() { calibrationLog.addKeyword(PvlKeyword("BinnedImage", toString((int)g_isBinnedData))); calibrationLog.addKeyword(PvlKeyword("FilterNumber", toString(g_filterNumber + 1))); if (g_applyFlatfield) { - calibrationLog.addKeyword(PvlKeyword("FlatFieldFile", + calibrationLog.addKeyword(PvlKeyword("FlatFieldFile", flatfield.originalPath() + "/" + flatfield.name())); - } + } else { calibrationLog.addKeyword(PvlKeyword("FlatFieldFile", "N/A")); } @@ -430,11 +430,11 @@ void IsisMain() { calibrationLog.addKeyword(PvlKeyword("FilterIrradianceFactor", toString(g_Ff))); calibrationLog.addKeyword(PvlKeyword("IOFFactor", toString(g_iof))); calibType = "IF"; - } + } else if (g_applyRadiometric) { calibrationLog.addKeyword(PvlKeyword("Units", "W / (m**2 micrometer sr)")); calibType = "RA"; - } + } else { calibrationLog.addKeyword(PvlKeyword("Units", "DN")); calibType = "DN"; @@ -451,8 +451,8 @@ void IsisMain() { Pvl::Replace); if (g_darkStrip.TotalPixels() > 0) { double avgDark = (g_darkStrip.ValidPixels() > 0) ? g_darkStrip.Average() : 0.0; - calibrationLog.addKeyword(PvlKeyword("DarkStripMean", toString(avgDark)), - Pvl::Replace); + calibrationLog.addKeyword(PvlKeyword("DarkStripMean", toString(avgDark)), + Pvl::Replace); } // Report nulled sample count @@ -473,7 +473,7 @@ void IsisMain() { for (int i = 0; i < key.size(); i++) { key[i] = quote(key[i]); } - } + } else { key = PvlKeyword("SourceProductId", quote(orgProdId)); } @@ -506,7 +506,7 @@ FileName determineFlatFieldFile() { if (g_isNarrowAngleCamera) { // NAC spec is simpler filename += "_?.cub"; - } + } else { // add a zero if the filter is 1-digit filename += "_FIL"; @@ -540,7 +540,7 @@ void gatherDarkStatistics(Buffer& in) { // grab the middle element in the array for the median g_calibrationValues[in.Line() - 1] = calibValues[nDark / 2]; - } + } else if (g_darkCurrentMode == DarkCurrentLinear) { // Presently the linear regression only uses the first sample in the // dark current data @@ -590,15 +590,15 @@ void calibrate(vector& in, vector& out) { // Step 1: Perform dark current corrections if (g_darkCurrentMode == DarkCurrentNone) { imageOut[i] = imageIn[i]; - } + } else if (g_darkCurrentMode == DarkCurrentStandard) { imageOut[i] = imageIn[i] - g_calibrationValues[imageIn.Line() - 1]; - } + } else if (g_darkCurrentMode == DarkCurrentLinear) { // Linear: out = in - bestfitline = in - (A + Bx) imageOut[i] = imageIn[i] - (g_calibrationValues[0] + g_calibrationValues[1] * (imageIn.Line() - 1)); - } + } else if (g_darkCurrentMode == DarkCurrentModel) { imageOut[i] = imageIn[i] - g_model->getDarkPixel(i, imageIn.Line() - 1); } @@ -607,16 +607,16 @@ void calibrate(vector& in, vector& out) { if (g_isNarrowAngleCamera == true) { if (imageOut[i] <= 0.0) { imageOut[i] /= 0.912031; - } + } else { imageOut[i] /= 0.011844 * log10(imageOut[i]) + 0.912031; } - } + } else { // Wide angle camera if (imageOut[i] <= 0.0) { imageOut[i] /= 0.936321; - } + } else { imageOut[i] /= 0.008760 * log10(imageOut[i]) + 0.936321; } @@ -629,7 +629,7 @@ void calibrate(vector& in, vector& out) { } g_prevLineData[i] = imageOut[i]; - + // Step 4: Uniformity (flat field) if (g_applyFlatfield) { imageOut[i] /= flatField[i]; // divide by flat field @@ -638,7 +638,7 @@ void calibrate(vector& in, vector& out) { // Step 5: Absolute coefficient // Using g_exposureDuration (in seconds). This gives ~ the same results // as the previous version of mdiscal did. Using exposureTime gives - // a factor of 1000 smaller value, as one would expect. + // a factor of 1000 smaller value, as one would expect. if (g_exposureDuration > 0.0) { imageOut[i] = imageOut[i] / g_exposureDuration * g_absCoef; } diff --git a/isis/src/messenger/apps/mdisddr/MessengerMdisDdrLabel.trn b/isis/src/messenger/apps/mdisddr/MessengerMdisDdrLabel.trn new file mode 100644 index 0000000000..9bdb509665 --- /dev/null +++ b/isis/src/messenger/apps/mdisddr/MessengerMdisDdrLabel.trn @@ -0,0 +1,1529 @@ +#Base +Group = SpacecraftName + Auto + InputKey = SpacecraftName + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = MISSION_NAME + OutputPosition = Root + Translation = ("MESSENGER", Messenger) + Translation = (*, *) +End_Group + +Group = INSTRUMENT_HOST_NAME + Auto + InputKey = INSTRUMENT_HOST_NAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = INSTRUMENT_HOST_NAME + OutputPosition = ROOT + Translation = ("MESSENGER", MESSENGER) + Translation = (*, *) +End_Group + +Group = DataSetId + Auto + InputKey = DataSetId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = DATA_SET_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = DataQualityId + Auto + InputKey = DataQualityId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = DATA_QUALITY_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ProductId + Auto + InputKey = ProductId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = PRODUCT_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ObservationType + Auto + InputKey = ObservationType + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = OBSERVATION_TYPE + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SiteId + Auto + InputKey = SiteId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = SITE_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SOURCE_PRODUCT_ID + Auto + InputKey = SOURCE_PRODUCT_ID + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = N/A + OutputName = SOURCE_PRODUCT_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ProducerId + Auto + InputKey = ProducerId + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = PRODUCER_INSTITUTION_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SOFTWARE_NAME + Auto + InputKey = SoftwareName + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = SOFTWARE_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SOFTWARE_VERSION_ID + Auto + InputKey = SOFTWARE_VERSION_ID + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = SOFTWARE_VERSION_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = MissionPhaseName + Auto + InputKey = MissionPhaseName + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = MISSION_PHASE_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = TARGET_NAME + Auto + InputKey = TARGET_NAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = TARGET_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SEQUENCE_NAME + Auto + InputKey = SEQUENCE_NAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = SEQUENCE_NAME + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = OBSERVATION_ID + Auto + InputKey = OBSERVATION_ID + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = OBSERVATION_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +# Times +Group = StartTime + Auto + InputKey = StartTime + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = START_TIME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = StopTime + Auto + InputKey = StopTime + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = STOP_TIME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SpacecraftClockStartCount + Auto + InputKey = SpacecraftClockStartCount + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = SPACECRAFT_CLOCK_START_COUNT + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = SpacecraftClockStopCount + Auto + InputKey = SpacecraftClockStopCount + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = SPACECRAFT_CLOCK_STOP_COUNT + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ORBIT_NUMBER + Auto + Optional + InputKey = ORBIT_NUMBER +# InputGroup = OriginalLabelObject +# InputPosition = OriginalLabelObject + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + InputDefault = "N/A" + OutputName = ORBIT_NUMBER + OutputPosition = Root + Translation = ("N/A", 0) + Translation = (*, *) +End_Group + +Group = EdrProductCreationTime + Auto + InputKey = EdrProductCreationTime + InputGroup = "Root,IsisCube,Archive" + InputPosition = (Root, IsisCube, Archive) + OutputName = PRODUCT_CREATION_TIME + OutputPosition = Root + Translation = (*, *) +End_Group + +# Instrument +Group = InstrumentName + Auto + InputKey = InstrumentName + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = INSTRUMENT_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = InstrumentId + Auto + InputKey = InstrumentId + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + OutputName = INSTRUMENT_ID + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = FILTER_NAME + Auto + InputKey = Name + InputGroup = "Root,IsisCube,BandBin" + InputPosition = (Root, IsisCube, BandBin) + OutputName = FILTER_NAME + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = FILTER_NUMBER + Auto + InputKey = FILTER_NUMBER + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = FILTER_NUMBER + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = CENTER_FILTER_WAVELENGTH + Auto + InputKey = Center + InputGroup = "Root,IsisCube,BandBin" + InputPosition = (Root, IsisCube, BandBin) + OutputName = CENTER_FILTER_WAVELENGTH + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = FilterWidth + Auto + InputKey = Width + InputGroup = "Root,IsisCube,BandBin" + InputPosition = (Root, IsisCube, BandBin) + OutputName = BANDWIDTH + OutputPosition = Root + + # Translation = (N/A, 50) + Translation = (*, *) +End_Group + +Group = ExposureDuration + Auto + InputKey = ExposureDuration + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + InputDefault = N/A + OutputName = EXPOSURE_DURATION + OutputPosition = Root + Translation = (*, *) +End_Group + +Group = ExposureType + Auto + InputKey = ExposureType + InputGroup = "Root,IsisCube,Instrument" + InputPosition = (Root, IsisCube, Instrument) + InputDefault = UNKNOWN + OutputName = EXPOSURE_TYPE + OutputPosition = Root + Translation = (MANUAL, Manual) + Translation = (AUTOMATIC, Automatic) + Translation = (*, *) +End_Group + +Group = Units + Auto + InputKey = Units + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = UNIT + OutputPosition = (Object, IMAGE) + Translation = (*, *) +End_Group + +Group = DarkStripMean + Auto + InputKey = DarkStripMean + InputGroup = "Root,IsisCube,RadiometricCalibration" + InputPosition = (Root, IsisCube, RadiometricCalibration) + InputDefault = N/A + OutputName = DARK_STRIP_MEAN + OutputPosition = (Object, IMAGE) + Translation = (*, *) +End_Group + +Group = DETECTOR_TEMPERATURE + Auto + InputKey = DETECTOR_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = DETECTOR_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = FOCAL_PLANE_TEMPERATURE + Auto + InputKey = FOCAL_PLANE_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = FOCAL_PLANE_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = FILTER_TEMPERATURE + Auto + InputKey = FILTER_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = FILTER_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = OPTICS_TEMPERATURE + Auto + InputKey = OPTICS_TEMPERATURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = OPTICS_TEMPERATURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:MET_EXP + Auto + InputKey = MESS:MET_EXP + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:MET_EXP + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:IMG_ID_LSB + Auto + InputKey = MESS:IMG_ID_LSB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = MESS:IMG_ID_LSB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:IMG_ID_MSB + Auto + InputKey = MESS:IMG_ID_MSB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = MESS:IMG_ID_MSB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_CLOCK_COUNT + Auto + InputKey = MESS:ATT_CLOCK_COUNT + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_CLOCK_COUNT + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q1 + Auto + InputKey = MESS:ATT_Q1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q2 + Auto + InputKey = MESS:ATT_Q2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q3 + Auto + InputKey = MESS:ATT_Q3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_Q4 + Auto + InputKey = MESS:ATT_Q4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_Q4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:ATT_FLAG + Auto + InputKey = MESS:ATT_FLAG + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:ATT_FLAG + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_POS_MOTOR + Auto + InputKey = MESS:PIV_POS_MOTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + InputDefault = N/A + OutputName = MESS:PIV_POS_MOTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_GOAL + Auto + InputKey = MESS:PIV_GOAL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_GOAL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_POS + Auto + InputKey = MESS:PIV_POS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_POS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_READ + Auto + InputKey = MESS:PIV_READ + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_READ + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_CAL + Auto + InputKey = MESS:PIV_CAL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_CAL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_GOAL + Auto + InputKey = MESS:FW_GOAL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_GOAL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_POS + Auto + InputKey = MESS:FW_POS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_POS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_READ + Auto + InputKey = MESS:FW_READ + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_READ + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CCD_TEMP + Auto + InputKey = MESS:CCD_TEMP + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CCD_TEMP + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CAM_T1 + Auto + InputKey = MESS:CAM_T1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CAM_T1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CAM_T2 + Auto + InputKey = MESS:CAM_T2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CAM_T2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:EXPOSURE + Auto + InputKey = MESS:EXPOSURE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:EXPOSURE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:DPU_ID + Auto + InputKey = MESS:DPU_ID + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:DPU_ID + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:IMAGER + Auto + InputKey = MESS:IMAGER + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:IMAGER + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SOURCE + Auto + InputKey = MESS:SOURCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SOURCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FPU_BIN + Auto + InputKey = MESS:FPU_BIN + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FPU_BIN + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:COMP12_8 + Auto + InputKey = MESS:COMP12_8 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:COMP12_8 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:COMP_ALG + Auto + InputKey = MESS:COMP_ALG + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:COMP_ALG + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:COMP_FST + Auto + InputKey = MESS:COMP_FST + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:COMP_FST + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:TIME_PLS + Auto + InputKey = MESS:TIME_PLS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:TIME_PLS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:LATCH_UP + Auto + InputKey = MESS:LATCH_UP + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:LATCH_UP + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:EXP_MODE + Auto + InputKey = MESS:EXP_MODE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:EXP_MODE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_STAT + Auto + InputKey = MESS:PIV_STAT + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_STAT + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_MPEN + Auto + InputKey = MESS:PIV_MPEN + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_MPEN + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_PV + Auto + InputKey = MESS:PIV_PV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_PV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIV_RV + Auto + InputKey = MESS:PIV_RV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIV_RV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_PV + Auto + InputKey = MESS:FW_PV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_PV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:FW_RV + Auto + InputKey = MESS:FW_RV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:FW_RV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_STAT + Auto + InputKey = MESS:AEX_STAT + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_STAT + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_STHR + Auto + InputKey = MESS:AEX_STHR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_STHR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_TGTB + Auto + InputKey = MESS:AEX_TGTB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_TGTB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_BACB + Auto + InputKey = MESS:AEX_BACB + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_BACB + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_MAXE + Auto + InputKey = MESS:AEX_MAXE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_MAXE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:AEX_MINE + Auto + InputKey = MESS:AEX_MINE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:AEX_MINE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:DLNKPRIO + Auto + InputKey = MESS:DLNKPRIO + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:DLNKPRIO + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:WVLRATIO + Auto + InputKey = MESS:WVLRATIO + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:WVLRATIO + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:PIXELBIN + Auto + InputKey = MESS:PIXELBIN + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:PIXELBIN + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBFRAME + Auto + InputKey = MESS:SUBFRAME + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBFRAME + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X1 + Auto + InputKey = MESS:SUBF_X1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y1 + Auto + InputKey = MESS:SUBF_Y1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX1 + Auto + InputKey = MESS:SUBF_DX1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY1 + Auto + InputKey = MESS:SUBF_DY1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X2 + Auto + InputKey = MESS:SUBF_X2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y2 + Auto + InputKey = MESS:SUBF_Y2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX2 + Auto + InputKey = MESS:SUBF_DX2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY2 + Auto + InputKey = MESS:SUBF_DY2 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY2 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X3 + Auto + InputKey = MESS:SUBF_X3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y3 + Auto + InputKey = MESS:SUBF_Y3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX3 + Auto + InputKey = MESS:SUBF_DX3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY3 + Auto + InputKey = MESS:SUBF_DY3 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY3 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X4 + Auto + InputKey = MESS:SUBF_X4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y4 + Auto + InputKey = MESS:SUBF_Y4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX4 + Auto + InputKey = MESS:SUBF_DX4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY4 + Auto + InputKey = MESS:SUBF_DY4 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY4 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_X5 + Auto + InputKey = MESS:SUBF_X5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_X5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_Y5 + Auto + InputKey = MESS:SUBF_Y5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_Y5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DX5 + Auto + InputKey = MESS:SUBF_DX5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DX5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:SUBF_DY5 + Auto + InputKey = MESS:SUBF_DY5 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:SUBF_DY5 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:CRITOPNV + Auto + InputKey = MESS:CRITOPNV + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:CRITOPNV + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JAILBARS + Auto + InputKey = MESS:JAILBARS + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JAILBARS + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JB_X0 + Auto + InputKey = MESS:JB_X0 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JB_X0 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JB_X1 + Auto + InputKey = MESS:JB_X1 + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JB_X1 + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = MESS:JB_SPACE + Auto + InputKey = MESS:JB_SPACE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = MESS:JB_SPACE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RIGHT_ASCENSION + Auto + InputKey = RIGHT_ASCENSION + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RIGHT_ASCENSION + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = DECLINATION + Auto + InputKey = DECLINATION + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = DECLINATION + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = TWIST_ANGLE + Auto + InputKey = TWIST_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = TWIST_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RA_DEC_REF_PIXEL + Auto + InputKey = RA_DEC_REF_PIXEL + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RA_DEC_REF_PIXEL + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_RA + Auto + InputKey = RETICLE_POINT_RA + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_RA + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_DECLINATION + Auto + InputKey = RETICLE_POINT_DECLINATION + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_DECLINATION + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SC_TARGET_POSITION_VECTOR + Auto + InputKey = SC_TARGET_POSITION_VECTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SC_TARGET_POSITION_VECTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = TARGET_CENTER_DISTANCE + Auto + InputKey = TARGET_CENTER_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = TARGET_CENTER_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SLANT_DISTANCE + Auto + InputKey = SLANT_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SLANT_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = CENTER_LATITUDE + Auto + InputKey = CENTER_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = CENTER_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = CENTER_LONGITUDE + Auto + InputKey = CENTER_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = CENTER_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = HORIZONTAL_PIXEL_SCALE + Auto + InputKey = HORIZONTAL_PIXEL_SCALE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = HORIZONTAL_PIXEL_SCALE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = VERTICAL_PIXEL_SCALE + Auto + InputKey = VERTICAL_PIXEL_SCALE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = VERTICAL_PIXEL_SCALE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SMEAR_MAGNITUDE + Auto + InputKey = SMEAR_MAGNITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SMEAR_MAGNITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SMEAR_AZIMUTH + Auto + InputKey = SMEAR_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SMEAR_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = NORTH_AZIMUTH + Auto + InputKey = NORTH_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = NORTH_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_LATITUDE + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = RETICLE_POINT_LONGITUDE + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SPACECRAFT_LATITUDE + Auto + InputKey = SUB_SPACECRAFT_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SPACECRAFT_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SPACECRAFT_LONGITUDE + Auto + InputKey = SUB_SPACECRAFT_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SPACECRAFT_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SPACECRAFT_ALTITUDE + Auto + InputKey = SPACECRAFT_ALTITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SPACECRAFT_ALTITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SPACECRAFT_AZIMUTH + Auto + InputKey = SUB_SPACECRAFT_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SPACECRAFT_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SPACECRAFT_SOLAR_DISTANCE + Auto + InputKey = SPACECRAFT_SOLAR_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SPACECRAFT_SOLAR_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SC_SUN_POSITION_VECTOR + Auto + InputKey = SC_SUN_POSITION_VECTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SC_SUN_POSITION_VECTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SC_SUN_VELOCITY_VECTOR + Auto + InputKey = SC_SUN_VELOCITY_VECTOR + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SC_SUN_VELOCITY_VECTOR + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SOLAR_DISTANCE + Auto + InputKey = SOLAR_DISTANCE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SOLAR_DISTANCE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SOLAR_AZIMUTH + Auto + InputKey = SUB_SOLAR_AZIMUTH + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SOLAR_AZIMUTH + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SOLAR_LATITUDE + Auto + InputKey = SUB_SOLAR_LATITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SOLAR_LATITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUB_SOLAR_LONGITUDE + Auto + InputKey = SUB_SOLAR_LONGITUDE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = SUB_SOLAR_LONGITUDE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = INCIDENCE_ANGLE + Auto + InputKey = INCIDENCE_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = INCIDENCE_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = PHASE_ANGLE + Auto + InputKey = PHASE_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = PHASE_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = EMISSION_ANGLE + Auto + InputKey = EMISSION_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = EMISSION_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = LOCAL_HOUR_ANGLE + Auto + InputKey = LOCAL_HOUR_ANGLE + InputGroup = OriginalLabelObject + InputPosition = OriginalLabelObject + OutputName = LOCAL_HOUR_ANGLE + OutputPosition = ROOT + Translation = (*, *) +End_Group + +Group = SUBFRAME1_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME1_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME1_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME1_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME1_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME1_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME1_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME1_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME2_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME2_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME2_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME2_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME2_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME2_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME2_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME2_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME3_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME3_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME3_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME3_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME3_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME3_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME3_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME3_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME4_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME4_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME4_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME4_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME4_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME4_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME4_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME4_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME5_PARAMETERS + Auto + InputKey = RETICLE_POINT_LATITUDE + InputGroup = "OriginalLabelObject,SUBFRAME5_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME5_PARAMETERS) + OutputName = RETICLE_POINT_LATITUDE + OutputPosition = (Group, SUBFRAME5_PARAMETERS) + Translation = (*, *) +End_Group + +Group = SUBFRAME5_PARAMETERS2 + Auto + InputKey = RETICLE_POINT_LONGITUDE + InputGroup = "OriginalLabelObject,SUBFRAME5_PARAMETERS" + InputPosition = (OriginalLabelObject, SUBFRAME5_PARAMETERS) + OutputName = RETICLE_POINT_LONGITUDE + OutputPosition = (Group, SUBFRAME5_PARAMETERS) + Translation = (*, *) +End_Group +End diff --git a/isis/src/messenger/apps/mdisddr/main.cpp b/isis/src/messenger/apps/mdisddr/main.cpp index 04c004ecd0..d81cd6e48a 100644 --- a/isis/src/messenger/apps/mdisddr/main.cpp +++ b/isis/src/messenger/apps/mdisddr/main.cpp @@ -199,7 +199,7 @@ void IsisMain() { // Translates the ISIS labels along with the original EDR labels origLabel.addObject(*from.label()); PvlToPvlTranslationManager labels(origLabel, - "$messenger/translations/mdisDDRLabel.trn"); + "$ISISROOT/appdata/translations/MessengerMdisDdrLabel.trn"); labels.Auto(pdsLabel); p.CheckStatus(); @@ -212,15 +212,15 @@ void IsisMain() { // Fix bad keywords // data set id - PvlKeyword &dataSetIdKeyword = pdsLabel.findKeyword("DATA_SET_ID", + PvlKeyword &dataSetIdKeyword = pdsLabel.findKeyword("DATA_SET_ID", Pvl::Traverse); dataSetIdKeyword.setValue(dataSetID); // product set id QString prodid(input.baseName()); - PvlKeyword &productIdKeyword = pdsLabel.findKeyword("PRODUCT_ID", + PvlKeyword &productIdKeyword = pdsLabel.findKeyword("PRODUCT_ID", Pvl::Traverse); - if ((productIdKeyword.size() == 0) + if ((productIdKeyword.size() == 0) || ((productIdKeyword.size() > 0) && (productIdKeyword[0] == "N/A"))) { productIdKeyword.setValue(prodid); } @@ -239,22 +239,22 @@ void IsisMain() { if (!toEntered) ui.PutFileName("TO", output.expanded()); // product creation time - PvlKeyword &productCreationTimeKeyword = pdsLabel.findKeyword("PRODUCT_CREATION_TIME", + PvlKeyword &productCreationTimeKeyword = pdsLabel.findKeyword("PRODUCT_CREATION_TIME", Pvl::Traverse); productCreationTimeKeyword.setValue(mdisddrRuntime); - + // software name - PvlKeyword &softwareNameKeyword = pdsLabel.findKeyword("SOFTWARE_NAME", + PvlKeyword &softwareNameKeyword = pdsLabel.findKeyword("SOFTWARE_NAME", Pvl::Traverse); softwareNameKeyword.setValue(mdisddrProgram); - + // software version id - PvlKeyword &softwareVersionIdKeyword = pdsLabel.findKeyword("SOFTWARE_VERSION_ID", + PvlKeyword &softwareVersionIdKeyword = pdsLabel.findKeyword("SOFTWARE_VERSION_ID", Pvl::Traverse); softwareVersionIdKeyword.setValue(quote(mdisddrVersion)); - + // filter number - PvlKeyword &filterNumberKeyword = pdsLabel.findKeyword("FILTER_NUMBER", + PvlKeyword &filterNumberKeyword = pdsLabel.findKeyword("FILTER_NUMBER", Pvl::Traverse); if ((filterNumberKeyword.size() > 0)) { filterNumberKeyword.setValue(quote(filterNumberKeyword[0])); @@ -263,30 +263,30 @@ void IsisMain() { // Add quotes // data quality id - PvlKeyword &dataQualityIdKeyword = pdsLabel.findKeyword("DATA_QUALITY_ID", + PvlKeyword &dataQualityIdKeyword = pdsLabel.findKeyword("DATA_QUALITY_ID", Pvl::Traverse); dataQualityIdKeyword.setValue(quote(dataQualityIdKeyword)); - + // sequence name - PvlKeyword &sequenceNameKeyword = pdsLabel.findKeyword("SEQUENCE_NAME", + PvlKeyword &sequenceNameKeyword = pdsLabel.findKeyword("SEQUENCE_NAME", Pvl::Traverse); sequenceNameKeyword.setValue(quote(sequenceNameKeyword)); - + // spacecraft clock start count - PvlKeyword &startCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_START_COUNT", + PvlKeyword &startCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_START_COUNT", Pvl::Traverse); startCountKeyword.setValue(quote(startCountKeyword)); - + // spacecraft clock stop count - PvlKeyword &stopCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_STOP_COUNT", + PvlKeyword &stopCountKeyword = pdsLabel.findKeyword("SPACECRAFT_CLOCK_STOP_COUNT", Pvl::Traverse); stopCountKeyword.setValue(quote(stopCountKeyword)); - + // source product id // For DDRs, the SOURCE_PRODUCT_ID is made up of SPICE kernels. I need to go get em. Kernels kernels(from); QStringList kfiles = kernels.getKernelList(); - PvlKeyword &sourceProductIdKeyword = pdsLabel.findKeyword("SOURCE_PRODUCT_ID", + PvlKeyword &sourceProductIdKeyword = pdsLabel.findKeyword("SOURCE_PRODUCT_ID", Pvl::Traverse); sourceProductIdKeyword.clear(); for (int i = 0; i < kfiles.size(); i++) { @@ -296,7 +296,7 @@ void IsisMain() { // Enforce parentheses for scalars if (sourceProductIdKeyword.size() == 1) sourceProductIdKeyword.setValue('(' + sourceProductIdKeyword[0] + ')'); - + // Removes keywords PvlObject imageObject(pdsLabel.findObject("IMAGE")); if (imageObject.hasKeyword("CENTER_FILTER_WAVELENGTH")) { @@ -359,7 +359,7 @@ void IsisMain() { p.CheckStatus(); // All done...write result. - pdsLabel.setFormatTemplate("$messenger/templates/labels/mdisPdsDDR.pft"); + pdsLabel.setFormatTemplate("$ISISROOT/appdata/templates/mdisddr/mdisPdsDdr.def"); QString ofile(output.expanded()); ofstream outstream(ofile.toLatin1().data()); processPds.OutputLabel(outstream); diff --git a/isis/src/messenger/apps/mdisddr/mdisPdsDdr.def b/isis/src/messenger/apps/mdisddr/mdisPdsDdr.def new file mode 100644 index 0000000000..cf0c4cc61b --- /dev/null +++ b/isis/src/messenger/apps/mdisddr/mdisPdsDdr.def @@ -0,0 +1,221 @@ +PDS_VERSION_ID = PDS3 + +/*** FILE FORMAT ***/ +RECORD_TYPE +RECORD_BYTES +FILE_RECORDS +LABEL_RECORDS +LABEL_REVISION_NOTE = "2007-12-20, S. Murchie (JHU/APL); + 2008-01-02, S. Murchie (JHU/APL); + 2008-01-11, J. Ward (GEO)" + +/*** POINTERS TO START BYTE OFFSET OF OBJECTS IN IMAGE FILE ***/ +^IMAGE + +/*** GENERAL DATA DESCRIPTION PARAMETERS ***/ +MISSION_NAME +SPACECRAFT_NAME +INSTRUMENT_HOST_NAME +DATA_SET_ID +DATA_QUALITY_ID +/* pcnnnnnnnnnnf_tt_v */ +/* p = product type (C calibrated */ +/* or D derived) */ +/* c = camera (W WAC or N NAC) */ +/* nnnnnnnnnn = Mission Elapsed Time */ +/* f = filter */ +/* tt = data type (RA radiance, IF I/F, */ +/* or DE derived products) */ +/* v = version number */ +PRODUCT_ID +SOURCE_PRODUCT_ID +PRODUCER_INSTITUTION_NAME +SOFTWARE_NAME +SOFTWARE_VERSION_ID +MISSION_PHASE_NAME +TARGET_NAME +SEQUENCE_NAME +OBSERVATION_ID + +/*** TIME PARAMETERS ***/ +START_TIME +STOP_TIME +SPACECRAFT_CLOCK_START_COUNT +SPACECRAFT_CLOCK_STOP_COUNT +ORBIT_NUMBER +PRODUCT_CREATION_TIME + +/*** INSTRUMENT ENGINEERING PARAMETERS ***/ +INSTRUMENT_NAME +INSTRUMENT_ID +FILTER_NAME +FILTER_NUMBER +CENTER_FILTER_WAVELENGTH +BANDWIDTH +EXPOSURE_DURATION +EXPOSURE_TYPE +DETECTOR_TEMPERATURE +FOCAL_PLANE_TEMPERATURE +FILTER_TEMPERATURE +OPTICS_TEMPERATURE + +/*** INSTRUMENT RAW PARAMETERS ***/ +MESS:MET_EXP +MESS:IMG_ID_LSB +MESS:IMG_ID_MSB +MESS:ATT_CLOCK_COUNT +MESS:ATT_Q1 +MESS:ATT_Q2 +MESS:ATT_Q3 +MESS:ATT_Q4 +MESS:ATT_FLAG +MESS:PIV_POS_MOTOR +MESS:PIV_GOAL +MESS:PIV_POS +MESS:PIV_READ +MESS:PIV_CAL +MESS:FW_GOAL +MESS:FW_POS +MESS:FW_READ +MESS:CCD_TEMP +MESS:CAM_T1 +MESS:CAM_T2 +MESS:EXPOSURE +MESS:DPU_ID +MESS:IMAGER +MESS:SOURCE +MESS:FPU_BIN +MESS:COMP12_8 +MESS:COMP_ALG +MESS:COMP_FST +MESS:TIME_PLS +MESS:LATCH_UP +MESS:EXP_MODE +MESS:PIV_STAT +MESS:PIV_MPEN +MESS:PIV_PV +MESS:PIV_RV +MESS:FW_PV +MESS:FW_RV +MESS:AEX_STAT +MESS:AEX_STHR +MESS:AEX_TGTB +MESS:AEX_BACB +MESS:AEX_MAXE +MESS:AEX_MINE +MESS:DLNKPRIO +MESS:WVLRATIO +MESS:PIXELBIN +MESS:SUBFRAME +MESS:SUBF_X1 +MESS:SUBF_Y1 +MESS:SUBF_DX1 +MESS:SUBF_DY1 +MESS:SUBF_X2 +MESS:SUBF_Y2 +MESS:SUBF_DX2 +MESS:SUBF_DY2 +MESS:SUBF_X3 +MESS:SUBF_Y3 +MESS:SUBF_DX3 +MESS:SUBF_DY3 +MESS:SUBF_X4 +MESS:SUBF_Y4 +MESS:SUBF_DX4 +MESS:SUBF_DY4 +MESS:SUBF_X5 +MESS:SUBF_Y5 +MESS:SUBF_DX5 +MESS:SUBF_DY5 +MESS:CRITOPNV +MESS:JAILBARS +MESS:JB_X0 +MESS:JB_X1 +MESS:JB_SPACE + +/*** GEOMETRY INFORMATION ***/ +RIGHT_ASCENSION +DECLINATION +TWIST_ANGLE +RA_DEC_REF_PIXEL +RETICLE_POINT_RA +RETICLE_POINT_DECLINATION + +/*** TARGET PARAMETERS ***/ +SC_TARGET_POSITION_VECTOR +TARGET_CENTER_DISTANCE + +/*** TARGET WITHIN SENSOR FOV ***/ +SLANT_DISTANCE +CENTER_LATITUDE +CENTER_LONGITUDE +HORIZONTAL_PIXEL_SCALE +VERTICAL_PIXEL_SCALE +SMEAR_MAGNITUDE +SMEAR_AZIMUTH +NORTH_AZIMUTH +RETICLE_POINT_LATITUDE +RETICLE_POINT_LONGITUDE + +/*** SPACECRAFT POSITION WITH RESPECT TO CENTRAL BODY ***/ +SUB_SPACECRAFT_LATITUDE +SUB_SPACECRAFT_LONGITUDE +SPACECRAFT_ALTITUDE +SUB_SPACECRAFT_AZIMUTH + +/*** SPACECRAFT LOCATION ***/ +SPACECRAFT_SOLAR_DISTANCE +SC_SUN_POSITION_VECTOR +SC_SUN_VELOCITY_VECTOR + +/*** VIEWING AND LIGHTING GEOMETRY (SUN ON TARGET) ***/ +SOLAR_DISTANCE +SUB_SOLAR_AZIMUTH +SUB_SOLAR_LATITUDE +SUB_SOLAR_LONGITUDE +INCIDENCE_ANGLE +PHASE_ANGLE +EMISSION_ANGLE +LOCAL_HOUR_ANGLE + +/*** GEOMETRY FOR EACH SUBFRAME ***/ +GROUP = SUBFRAME1_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME1_PARAMETERS + +GROUP = SUBFRAME2_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME2_PARAMETERS + +GROUP = SUBFRAME3_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME3_PARAMETERS + +GROUP = SUBFRAME4_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME4_PARAMETERS + +GROUP = SUBFRAME5_PARAMETERS + RETICLE_POINT_LATITUDE + RETICLE_POINT_LONGITUDE +END_GROUP = SUBFRAME5_PARAMETERS + +OBJECT = IMAGE + LINES + LINE_SAMPLES + SAMPLE_TYPE + SAMPLE_BITS + BANDS + BAND_STORAGE_TYPE + BAND_NAME + CORE_NULL + CORE_LOW_REPR_SATURATION + CORE_LOW_INSTR_SATURATION + CORE_HIGH_REPR_SATURATION + CORE_HIGH_INSTR_SATURATION +END_OBJECT = IMAGE +END diff --git a/isis/src/messenger/translations/MessengerMdisCalibration.trn b/isis/src/messenger/translations/MessengerMdisCalibration.trn new file mode 100644 index 0000000000..2bd76816b3 --- /dev/null +++ b/isis/src/messenger/translations/MessengerMdisCalibration.trn @@ -0,0 +1,59 @@ +# Filter encoder positions for filters 10, 11 and 12 were incorrect and +# are updated in this version (KJB, 2008-01-19). +Group = NarrowAngleResponsivity + NotBinned = 3.5504E+04 + Binned = 3.5504E+04 +EndGroup + +Group = NarrowAngleOffset + NotBinned = 1.3191E+00 + Binned = 1.3191E+00 +EndGroup + +Group = NarrowAngleSlope + NotBinned = -3.0184E-04 + Binned = -3.0184E-04 +EndGroup + +Group = WideAngleResponsivity + NotBinned = (1.9359E+05, 9.8165E+04, 5.6441E+04, + 1.3643E+05, 1.7488E+05, 1.0788E+04, + 1.7803E+05, 8.8803E+04, 4.0546E+04, + 1.2662E+05, 4.2273E+04, 1.6698E+05) + Binned = (1.9359E+05, 9.8165E+04, 5.6441E+04, + 1.3643E+05, 1.7488E+05, 1.0788E+04, + 1.7803E+05, 8.8803E+04, 4.0546E+04, + 1.2662E+05, 4.2273E+04, 1.6698E+05) +EndGroup + +Group = WideAngleOffset + FilterValues = (1.2488E+00, 9.5557E-01, 1.8314E+00, + 1.5695E+00, 1.5327E+00, 2.3026E+00, + 1.0912E+00, -3.5311E-01, -1.2844E+00, + 2.3988E-01, -1.8549E+00, 7.4585E-01) +EndGroup + +Group = WideAngleSlope + FilterValues = (-2.3460E-04, 4.1897E-05, -7.8410E-04, + -5.3712E-04, -5.0237E-04, -1.2284E-03, + -8.6054E-05, 1.2761E-03, 2.1543E-03, + 7.1685E-04, 2.6924E-03, 2.3968E-04) +EndGroup + +Group = FilterWheel + EncoderPosition1 = 17376 # Wave(nm) 700 FWHM(nm) 5 + EncoderPosition2 = 11976 # Wave(nm) 700 FWHM(nm) 600 + EncoderPosition3 = 6492 # Wave(nm) 480 FWHM(nm) 10 + EncoderPosition4 = 1108 # Wave(nm) 560 FWHM(nm) 5 + EncoderPosition5 = 61104 # Wave(nm) 630 FWHM(nm) 5 + EncoderPosition6 = 55684 # Wave(nm) 415 FWHM(nm) 40 + EncoderPosition7 = 50148 # Wave(nm) 750 FWHM(nm) 5 + EncoderPosition8 = 44760 # Wave(nm) 950 FWHM(nm) 7 + EncoderPosition9 = 39256 # Wave(nm) 1000 FWHM(nm) 15 + EncoderPosition10 = 33796 # Wave(nm) 900 FWHM(nm) 5 + EncoderPosition11 = 28252 # Wave(nm) 1020 FWHM(nm) 40 + EncoderPosition12 = 22852 # Wave(nm) 830 FWHM(nm) 5 + EncoderTolerance = 240 +EndGroup + +End