Unverified Commit d6af3942 authored by AustinSanders's avatar AustinSanders Committed by GitHub
Browse files

Initial fits2isis gtest conversion (#4114)

* Initial fits2isis gtest conversion

* Addresses PR feedback

* Resolved test failure
parent 7a7ef6fb
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
#include "fits2isis.h"
#include "Cube.h"
#include "IException.h"
#include "IString.h"
#include "OriginalLabel.h"
#include "ProcessImportFits.h"
#include "Pvl.h"
#include "PvlGroup.h"
#include "PvlKeyword.h"
#include "UserInterface.h"

#include <fstream>
#include <iostream>
#include <QString>

using namespace std;


namespace Isis{

  void fits2isis(UserInterface &ui) {
    ProcessImportFits pfits;
    pfits.setFitsFile(FileName(ui.GetFileName("FROM")));

    if(ui.GetString("ORGANIZATION") == "BIL") {
      pfits.SetOrganization(ProcessImport::BIL);
    }
    else if(ui.GetString("ORGANIZATION") == "BSQ") {
      pfits.SetOrganization(ProcessImport::BSQ);
    }
    else if(ui.GetString("ORGANIZATION") == "BIP") {
      pfits.SetOrganization(ProcessImport::BIP);
    }
    else {
      QString msg = "Unknow value for ORGANIZATION [" + ui.GetString("ORGANIZATION") + "]";
      throw IException(IException::Programmer, msg, _FILEINFO_);
    }

    pfits.setProcessFileStructure(ui.GetInteger("IMAGENUMBER"));

    CubeAttributeOutput &att = ui.GetOutputAttribute("TO");
    Cube *output = pfits.SetOutputCube(ui.GetFileName("TO"), att);

    // Add instrument group if any keywords were put into it.
    PvlGroup instGrp = pfits.standardInstrumentGroup(pfits.fitsImageLabel(0));
    if (instGrp.keywords() > 0) {

      output->label()->findObject("IsisCube") += instGrp;
    }

    // Save the input FITS label in the Cube original labels
    Pvl pvl;
    pvl += pfits.fitsImageLabel(0);
    OriginalLabel originals(pvl);
    output->write(originals);

    // Convert the image data
    pfits.StartProcess();
    pfits.EndProcess();
  }
}
+10 −0
Original line number Diff line number Diff line
#ifndef fits2isis_h
#define fits2isis_h

#include "UserInterface.h"

namespace Isis{
  extern void fits2isis(UserInterface &ui);
}

#endif
+2 −52
Original line number Diff line number Diff line
#include "Isis.h"

#include "Cube.h"
#include "IException.h"
#include "IString.h"
#include "OriginalLabel.h"
#include "ProcessImportFits.h"
#include "Pvl.h"
#include "PvlGroup.h"
#include "PvlKeyword.h"
#include "fits2isis.h"
#include "UserInterface.h"

#include <fstream>
#include <iostream>
#include <QString>

using namespace std;
using namespace Isis;

void IsisMain() {

  UserInterface &ui = Application::GetUserInterface();

  ProcessImportFits pfits;

  pfits.setFitsFile(FileName(ui.GetFileName("FROM")));

  if(ui.GetString("ORGANIZATION") == "BIL") {
    pfits.SetOrganization(ProcessImport::BIL);
  }
  else if(ui.GetString("ORGANIZATION") == "BSQ") {
    pfits.SetOrganization(ProcessImport::BSQ);
  }
  else if(ui.GetString("ORGANIZATION") == "BIP") {
    pfits.SetOrganization(ProcessImport::BIP);
  }
  else {
    QString msg = "Unknow value for ORGANIZATION [" + ui.GetString("ORGANIZATION") + "]";
    throw IException(IException::Programmer, msg, _FILEINFO_);
  }

  pfits.setProcessFileStructure(ui.GetInteger("IMAGENUMBER"));

  Cube *output = pfits.SetOutputCube("TO");

  // Add instrument group if any keywords were put into it.
  PvlGroup instGrp = pfits.standardInstrumentGroup(pfits.fitsImageLabel(0));
  if (instGrp.keywords() > 0) {
    
    output->label()->findObject("IsisCube") += instGrp;
  }

  // Save the input FITS label in the Cube original labels
  Pvl pvl;
  pvl += pfits.fitsImageLabel(0);
  OriginalLabel originals(pvl);
  output->write(originals);

  // Convert the image data
  pfits.StartProcess();
  pfits.EndProcess();
  fits2isis(ui);
}
+0 −4
Original line number Diff line number Diff line
BLANKS = "%-6s"    
LENGTH = "%-40s"

include $(ISISROOT)/make/isismake.tststree
+0 −9
Original line number Diff line number Diff line
APPNAME = fits2isis

include $(ISISROOT)/make/isismake.tsts

commands:
	$(APPNAME) from=$(INPUT)/WFPC2u5780205r_c0fx.fits \
	  to=$(OUTPUT)/fitsTruth.cub > /dev/null;
	catlab from=$(OUTPUT)/fitsTruth.cub \
		to=$(OUTPUT)/fitsTruth.pvl > /dev/null;
Loading