Commit ec612f45 authored by Tracie Sucharski's avatar Tracie Sucharski
Browse files

Vimscal now adds a RadiometricCalibration group to the output cube labels...

Vimscal now adds a RadiometricCalibration group to the output cube labels which contains calibration files & parameters.  The Cassini/Vims team has also released a new performance model calibration file.  Fixes #2055.

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/trunk@5756 41f8697f-d340-4b68-9986-7bafba869bb8
parent 777b45c4
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -8,9 +8,18 @@ include $(ISISROOT)/make/isismake.tsts
commands:
	$(APPNAME) FROM=$(INPUT)/v1570021638_1.ir.cub \
	TO=$(OUTPUT)/v1570021638_1.ir.iof.cal.cub > /dev/null;
	catlab FROM=$(OUTPUT)/v1570021638_1.ir.iof.cal.cub \
	to=$(OUTPUT)/v1570021638_1.ir.iof.cal.pvl > /dev/null;
	$(APPNAME) FROM=$(INPUT)/v1570021638_1.vis.cub \
	TO=$(OUTPUT)/v1570021638_1.vis.iof.cal.cub > /dev/null;
	catlab FROM=$(OUTPUT)/v1570021638_1.vis.iof.cal.cub \
	to=$(OUTPUT)/v1570021638_1.vis.iof.cal.pvl > /dev/null;
	$(APPNAME) FROM=$(INPUT)/v1570021638_1.ir.cub \
	TO=$(OUTPUT)/v1570021638_1.ir.spec.cal.cub units=specenergy > /dev/null;
	catlab FROM=$(OUTPUT)/v1570021638_1.ir.spec.cal.cub \
	to=$(OUTPUT)/v1570021638_1.ir.spec.cal.pvl > /dev/null;
	$(APPNAME) FROM=$(INPUT)/v1570021638_1.vis.cub \
	TO=$(OUTPUT)/v1570021638_1.vis.spec.cal.cub units=specenergy > /dev/null;
	catlab FROM=$(OUTPUT)/v1570021638_1.vis.spec.cal.cub \
	to=$(OUTPUT)/v1570021638_1.vis.spec.cal.pvl > /dev/null;
+14 −4
Original line number Diff line number Diff line
@@ -13,17 +13,27 @@ include $(ISISROOT)/make/isismake.tsts
commands:
	$(APPNAME) from=$(INPUT)/V1515948001_1.ir.cub \
	  to=$(OUTPUT)/V1515948001_1.ir.cal1.cub UNITS=IOF \
	  IRORIGDARK=false DARK=true > /dev/null; \
	  IRORIGDARK=false DARK=true > /dev/null;
	catlab from=$(OUTPUT)/V1515948001_1.ir.cal1.cub \
	  TO=$(OUTPUT)/V1515948001_1.ir.cal1.pvl > /dev/null;
	$(APPNAME) from=$(INPUT)/V1515948001_1.ir.cub \
	  to=$(OUTPUT)/V1515948001_1.ir.cal2.cub UNITS=SPECENERGY \
	  IRORIGDARK=false DARK=true > /dev/null; \
	  IRORIGDARK=false DARK=true > /dev/null;
	catlab from=$(OUTPUT)/V1515948001_1.ir.cal2.cub \
	  TO=$(OUTPUT)/V1515948001_1.ir.cal2.pvl < /dev/null;
	$(APPNAME) from=$(INPUT)/V1515948001_1.ir.cub \
	  to=$(OUTPUT)/V1515948001_1.ir.cal3.cub UNITS=IOF \
	  IRORIGDARK=true DARK=true > /dev/null; \
	  IRORIGDARK=true DARK=true > /dev/null;
	catlab from=$(OUTPUT)/V1515948001_1.ir.cal3.cub \
	  TO=$(OUTPUT)/V1515948001_1.ir.cal3.pvl > /dev/null;
	$(APPNAME) from=$(INPUT)/V1515948001_1.ir.cub \
	  to=$(OUTPUT)/V1515948001_1.ir.cal4.cub UNITS=IOF \
	  IRORIGDARK=true DARK=false > /dev/null; \
	  IRORIGDARK=true DARK=false > /dev/null;
	catlab from=$(OUTPUT)/V1515948001_1.ir.cal4.cub \
	  TO=$(OUTPUT)/V1515948001_1.ir.cal4.pvl > /dev/null;
	$(APPNAME) from=$(INPUT)/V1515948001_1.ir.cub \
	  to=$(OUTPUT)/V1515948001_1.ir.cal5.cub UNITS=IOF \
	  IRORIGDARK=false DARK=false > /dev/null;
	catlab from=$(OUTPUT)/V1515948001_1.ir.cal5.cub \
	  TO=$(OUTPUT)/V1515948001_1.ir.cal5.pvl > /dev/null;
+4 −0
Original line number Diff line number Diff line
@@ -9,6 +9,10 @@ commands:
	$(APPNAME) FROM=$(INPUT)/V1483214528_1.ir.cub \
	  TO=$(OUTPUT)/V1483214528_1.ir.avgdark.cal.cub \
	  irorigdark=false > /dev/null;
	catlab from=$(OUTPUT)/V1483214528_1.ir.avgdark.cal.cub \
	  TO=$(OUTPUT)/V1483214528_1.ir.avgdark.cal.pvl > /dev/null;
	$(APPNAME) FROM=$(INPUT)/V1483214528_1.ir.cub \
	  TO=$(OUTPUT)/V1483214528_1.ir.origdark.cal.cub \
	  irorigdark=true > /dev/null;
	catlab from=$(OUTPUT)/V1483214528_1.ir.origdark.cal.cub \
	  TO=$(OUTPUT)/V1483214528_1.ir.origdark.cal.pvl > /dev/null;
+4 −2
Original line number Diff line number Diff line
@@ -6,5 +6,7 @@ include $(ISISROOT)/make/isismake.tsts

commands:
	$(APPNAME) FROM=$(INPUT)/V1483214528_1.ir.cub \
	  TO=$(OUTPUT)/V1483214528_1.ir.nodark.cal.cub \
	  dark=false > /dev/null;
	  TO=$(OUTPUT)/V1483214528_1.ir.nodark.cal.cub dark=false > /dev/null;
	catlab from=$(OUTPUT)/V1483214528_1.ir.nodark.cal.cub \
	  TO=$(OUTPUT)/V1483214528_1.ir.nodark.cal.pvl > /dev/null;
+21 −4
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
#include <vector>
#include <stdio.h>

#include <QDebug>
#include <QFile>

#include "Camera.h"
@@ -14,6 +15,7 @@
#include "PolynomialUnivariate.h"
#include "ProcessByLine.h"
#include "ProgramLauncher.h"
#include "PvlGroup.h"
#include "Statistics.h"
#include "Table.h"
#include "UserInterface.h"
@@ -59,6 +61,8 @@ PvlGroup calibInfo;
void IsisMain() {
  UserInterface &ui = Application::GetUserInterface();

  const QString calVersion = "RC17";
  
  tempFiles.clear();
  specificEnergyCorrections.clear();
  sampleBasedDarkCorrections.clear();
@@ -66,7 +70,8 @@ void IsisMain() {
  solarRemoveCoefficient = 1.0;
  iof = (ui.GetString("UNITS") == "IOF");

  calibInfo = PvlGroup("Results");
  calibInfo = PvlGroup("RadiometricCalibration");
  calibInfo += PvlKeyword("CalibrationVersion", calVersion);

  ProcessByLine p;
  Cube *icube = p.SetInputCube("FROM");
@@ -91,6 +96,8 @@ void IsisMain() {
    throw IException(IException::User, msg, _FILEINFO_);
  }

  calibInfo += PvlKeyword("OutputUnits", ((iof) ? "I/F" : "Specific Energy"));

  // done first since it's likely to cause an error if one exists
  calculateSolarRemove(icube, &p);

@@ -100,12 +107,14 @@ void IsisMain() {
  chooseFlatFile(icube, &p);
  calculateSpecificEnergy(icube);

  calibInfo += PvlKeyword("OutputUnits", ((iof) ? "I/F" : "Specific Energy"));
  Cube *outCube = p.SetOutputCube("TO");
  p.StartProcess(calibrate);

  outCube->putGroup(calibInfo);
  // Rename group to Results for writing to Log
  calibInfo.setName("Results");
  Application::Log(calibInfo);

  p.SetOutputCube("TO");
  p.StartProcess(calibrate);
  p.EndProcess();

  for(unsigned int i = 0; i < tempFiles.size(); i++) {
@@ -270,6 +279,9 @@ void calculateSolarRemove(Cube *icube, ProcessByLine *p) {
  FileName solarFileName("$cassini/calibration/vims/solar_v????.cub");
  solarFileName = solarFileName.highestVersion();

  calibInfo += PvlKeyword("SolarColorFile",
                          solarFileName.originalPath() + "/" + solarFileName.name());

  p->SetInputCube(createCroppedFile(icube, solarFileName.expanded()), iatt);
}

@@ -321,6 +333,11 @@ void calculateSpecificEnergy(Cube *icube) {
  Cube waveCalCube;
  waveCalCube.open(waveCalFileName.expanded());

  calibInfo += PvlKeyword("SpecificEnergyFile",
                          specEnergyFileName.originalPath() + "/" + specEnergyFileName.name());
  calibInfo += PvlKeyword("WavelengthCalibrationFile",
                          waveCalFileName.originalPath() + "/" + waveCalFileName.name());

  LineManager specEnergyMgr(specEnergyCube);
  LineManager waveCalMgr(waveCalCube);

Loading