diff --git a/isis/src/base/apps/pds2isis/main.cpp b/isis/src/base/apps/pds2isis/main.cpp index e7e152bc21..f796abdadc 100644 --- a/isis/src/base/apps/pds2isis/main.cpp +++ b/isis/src/base/apps/pds2isis/main.cpp @@ -1,84 +1,28 @@ #include "Isis.h" -#include "ProcessImportPds.h" +#include "Application.h" +#include "Process.h" #include "UserInterface.h" -#include "FileName.h" -using namespace std; +#include "pds2isis.h" + using namespace Isis; void IsisMain() { - ProcessImportPds p; - Pvl label; - UserInterface &ui = Application::GetUserInterface(); - - QString labelFile = ui.GetFileName("FROM"); - QString imageFile(""); - if(ui.WasEntered("IMAGE")) { - imageFile = ui.GetFileName("IMAGE"); - } - - p.SetPdsFile(labelFile, imageFile, label); - Cube *ocube = p.SetOutputCube("TO"); - - // Get user entered special pixel ranges - if(ui.GetBoolean("SETNULLRANGE")) { - p.SetNull(ui.GetDouble("NULLMIN"), ui.GetDouble("NULLMAX")); - } - if(ui.GetBoolean("SETHRSRANGE")) { - p.SetHRS(ui.GetDouble("HRSMIN"), ui.GetDouble("HRSMAX")); - } - if(ui.GetBoolean("SETHISRANGE")) { - p.SetHIS(ui.GetDouble("HISMIN"), ui.GetDouble("HISMAX")); - } - if(ui.GetBoolean("SETLRSRANGE")) { - p.SetLRS(ui.GetDouble("LRSMIN"), ui.GetDouble("LRSMAX")); - } - if(ui.GetBoolean("SETLISRANGE")) { - p.SetLIS(ui.GetDouble("LISMIN"), ui.GetDouble("LISMAX")); - } - - // Export the cube - p.StartProcess(); - // Get as many of the other labels as we can - Pvl otherLabels; - p.TranslatePdsProjection(otherLabels); - if(p.IsIsis2()) { - p.TranslateIsis2Labels(otherLabels); + UserInterface &ui = Application::GetUserInterface(); + Pvl appLog; + try { + pds2isis(ui, &appLog); } - else { - p.TranslatePdsLabels(otherLabels); + catch (...) { + for (auto grpIt = appLog.beginGroup(); grpIt!= appLog.endGroup(); grpIt++) { + Application::Log(*grpIt); + } + throw; } - if(otherLabels.hasGroup("Mapping") && - (otherLabels.findGroup("Mapping").keywords() > 0)) { - ocube->putGroup(otherLabels.findGroup("Mapping")); - } - if(otherLabels.hasGroup("Instrument") && - (otherLabels.findGroup("Instrument").keywords() > 0)) { - ocube->putGroup(otherLabels.findGroup("Instrument")); - } - if(otherLabels.hasGroup("BandBin") && - (otherLabels.findGroup("BandBin").keywords() > 0)) { - ocube->putGroup(otherLabels.findGroup("BandBin")); + for (auto grpIt = appLog.beginGroup(); grpIt!= appLog.endGroup(); grpIt++) { + Application::Log(*grpIt); } - if(otherLabels.hasGroup("Archive") && - (otherLabels.findGroup("Archive").keywords() > 0)) { - ocube->putGroup(otherLabels.findGroup("Archive")); - } - - // Check for and log any change from the default projection offsets and multipliers - if (p.GetProjectionOffsetChange()) { - PvlGroup results = p.GetProjectionOffsetGroup(); - results.setName("Results"); - results[0].addComment("Projection offsets and multipliers have been changed from"); - results[0].addComment("defaults. New values are below."); - Application::Log(results); - } - - p.EndProcess(); - - return; } -