Commit c7f1fbff authored by Kristin Berry's avatar Kristin Berry
Browse files

Updated leisa2isis to have correct StartTime, EndTime, and FrameRate

parent dee06306
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#include "PvlGroup.h"
#include "PvlKeyword.h"
#include "UserInterface.h"
#include "iTime.h"

#include <fstream>
#include <iostream>
@@ -91,6 +92,29 @@ void IsisMain() {
  kernelsXlater.Auto(outLabel);
  output->putGroup(outLabel.findGroup("Kernels", Pvl::Traverse));


  // Modify/add Instument group keywords not handled by the translater
  Pvl *isisLabel = output->label();
  PvlGroup &inst = isisLabel->findGroup("Instrument", Pvl::Traverse);

  //Add StartTime & EndTime
  QString midTime = inst["MidObservationTime"];
  iTime midTimeBetter(midTime.toDouble());

  QString obsDuration = inst["ObservationDuration"];
  double obsSeconds = obsDuration.toDouble();

  //do stuff with Isis time class to calculate startTime
  iTime startTime = midTimeBetter - obsSeconds/2.0;
  iTime endTime = midTimeBetter + obsSeconds/2.0;
  inst.addKeyword(PvlKeyword("StartTime", startTime.UTC()), PvlGroup::Replace);
  inst.addKeyword(PvlKeyword("EndTime", endTime.UTC()), PvlGroup::Replace);

  //Add FrameRate
  QString exposureTime = inst["ExposureDuration"];
  double frameRate = 1.0/exposureTime.toDouble(); //in Hz!
  inst.addKeyword(PvlKeyword("FrameRate", QString::number(frameRate)), PvlGroup::Replace); 
  inst.findKeyword("FrameRate").setUnits("Hz");
  // Save the input FITS label in the Cube original labels
  Pvl pvl;
  pvl += importFits.fitsLabel(0);
+10 −30
Original line number Diff line number Diff line
@@ -12,16 +12,6 @@ Group = SpacecraftName
  Translation    = ("NEW HORIZONS", "NEW HORIZONS")
End_Group

Group = SpacecraftClockStartCount
 Auto
 InputKey = SPCSCLK0
 InputPosition = FITSLABELS
 OutputName  = SpacecraftClockStartCount
 OutputPosition = (Object, IsisCube, Group, Instrument)
 Translation = (*, *)
End_Group


Group = InstrumentId
  Auto
  InputKey       = INSTRU
@@ -49,13 +39,22 @@ End_Group

Group = MidObservationTime
  Auto
  InputKey       = SPCUTCAL
  InputKey       = SPCSCET
  InputPosition  = FITSLABELS
  OutputName     = MidObservationTime
  OutputPosition = (Object, IsisCube, Group, Instrument)
  Translation    = (*, *)
End_Group

Group = ObservationDuration
  Auto
  InputKey       = DURMET
  InputPosition  = FITSLABELS
  OutputName     = ObservationDuration
  OutputPosition = (Object, IsisCube, Group, Instrument)
  Translation    = (*, *)
End_Group

# Commented out until/if we have start and stop times
# Currently there are only center of exposure times
#Group = StopTime
@@ -87,16 +86,6 @@ End_Group
#  Translation    = (*, *)
#End_Group

#### This is WRONG! Put in temporarily for test. 
Group = StartTime
  Auto
  InputKey       = SPCUTCAL
  InputPosition  = FITSLABELS
  OutputName     = StartTime
  OutputPosition = (Object, IsisCube, Group, Instrument)
  Translation    = (*, *)
End_Group

Group = ExposureDuration
  Auto
  InputKey       = RALPHEXP
@@ -124,13 +113,4 @@ Group = ScanType
  Translation    = (*, *)
End_Group

Group = RalphExposureDuration
  Auto
  InputKey       = RALPHEXP
  InputPosition  = FITSLABELS
  OutputName     = RalphExposureDuration
  OutputPosition = (Object, IsisCube, Group, Instrument)
  Translation    = (*, *)
End_Group

End