From 340f412275837f366fac5677a9ca7e30708759c4 Mon Sep 17 00:00:00 2001
From: Kaitlyn Lee <kdl222@nau.edu>
Date: Fri, 10 Apr 2020 16:00:10 -0700
Subject: [PATCH] Adds image data to the default cube fixture and enlarge tests
 (#3840)

* refactored enlarge.

* Added setinputcube call.

* Removed return from setinputcube.

* Removed print.

* Added fixture for adding image data to a cube.

* Need to add changed files to a different machine.

* Changed SetOutputCube call so we can pass in the ui object.

* Added enlarge tests.

* Removed Makefile tests.

* Added CubeAttribute.

* Fixed typo.

* Refactored opening input cube
---
 isis/src/base/apps/enlarge/enlarge.xml        |   9 ++
 isis/src/base/apps/enlarge/enlarge_app.cpp    | 100 ++++++++++++++++
 isis/src/base/apps/enlarge/enlarge_app.h      |  14 +++
 isis/src/base/apps/enlarge/main.cpp           |  98 +++-------------
 isis/src/base/apps/enlarge/tsts/Makefile      |   4 -
 .../base/apps/enlarge/tsts/default/Makefile   |  15 ---
 .../src/base/apps/enlarge/tsts/total/Makefile |  21 ----
 isis/src/base/objs/Process/Process.cpp        |   6 +-
 isis/tests/Fixtures.cpp                       |  10 ++
 isis/tests/Fixtures.h                         |   5 +-
 isis/tests/FunctionalTestsEnlarge.cpp         | 111 ++++++++++++++++++
 isis/tests/data/defaultImage/defaultCube.pvl  | Bin 4294 -> 1541081 bytes
 12 files changed, 264 insertions(+), 129 deletions(-)
 create mode 100644 isis/src/base/apps/enlarge/enlarge_app.cpp
 create mode 100644 isis/src/base/apps/enlarge/enlarge_app.h
 delete mode 100644 isis/src/base/apps/enlarge/tsts/Makefile
 delete mode 100644 isis/src/base/apps/enlarge/tsts/default/Makefile
 delete mode 100644 isis/src/base/apps/enlarge/tsts/total/Makefile
 create mode 100644 isis/tests/FunctionalTestsEnlarge.cpp

diff --git a/isis/src/base/apps/enlarge/enlarge.xml b/isis/src/base/apps/enlarge/enlarge.xml
index 550fce2b76..1e8b82bb32 100644
--- a/isis/src/base/apps/enlarge/enlarge.xml
+++ b/isis/src/base/apps/enlarge/enlarge.xml
@@ -74,6 +74,15 @@
     <change name="Sharmila Prasad" date="2011-09-15">
       Fixed issue 0000280 - enlarge fails when run with a batchlist
     </change>
+    <change name="Kaitlyn Lee" date="2020-04-09">
+      The SetOutputCube method from Process we were originally using called
+      Application::GetUserInterface(), but this became a problem when trying to 
+      call enlarge(), or run the application, programmatically since we are no
+      longer using Application in the application's cpp file. Changed the call
+      to the one that takes in a CubeAttribute object. Also, removed the check
+      to see if an invalid interpolation method was passed in since the UserInterface
+      class checks and throws the exception and it was unreachable code.
+    </change>
   </history>
 
   <category>
diff --git a/isis/src/base/apps/enlarge/enlarge_app.cpp b/isis/src/base/apps/enlarge/enlarge_app.cpp
new file mode 100644
index 0000000000..4769b7bc29
--- /dev/null
+++ b/isis/src/base/apps/enlarge/enlarge_app.cpp
@@ -0,0 +1,100 @@
+#include "enlarge_app.h"
+
+#include "CubeAttribute.h"
+#include "Enlarge.h"
+#include "IException.h"
+#include "ProcessRubberSheet.h"
+
+using namespace std;
+using namespace Isis;
+namespace Isis{
+
+  void enlarge(UserInterface &ui, Pvl *log) {
+    Cube icube;
+    CubeAttributeInput inAtt = ui.GetInputAttribute("FROM");
+    if (inAtt.bands().size() != 0) {
+      icube.setVirtualBands(inAtt.bands());
+    }
+    icube.open(ui.GetFileName("FROM"));
+    enlarge(&icube, ui, log);
+  }
+
+  void enlarge(Cube *icube, UserInterface &ui, Pvl *log) {
+    ProcessRubberSheet p;
+    p.SetInputCube(icube);
+
+    // Input number of samples, lines, and bands
+    int ins = icube->sampleCount();
+    int inl = icube->lineCount();
+    int inb = icube->bandCount();
+    
+    // Output samples and lines
+    int ons, onl;
+
+    // Scaling factors
+    double sampleScale, lineScale;
+
+    if(ui.GetString("MODE") == "SCALE") {
+      // Retrieve the provided scaling factors
+      sampleScale = ui.GetDouble("SSCALE");
+      lineScale   = ui.GetDouble("LSCALE");
+
+      // Calculate the output size. If there is a fractional pixel, round up
+      ons = (int)ceil(ins * sampleScale);
+      onl = (int)ceil(inl * lineScale);
+    }
+    else {
+      // Retrieve the provided sample/line dimensions in the output
+      ons = ui.GetInteger("ONS");
+      onl = ui.GetInteger("ONL");
+
+      // Calculate the scaling factors
+      sampleScale = (double)ons / (double)ins;
+      lineScale   = (double)onl / (double)inl;
+    }
+
+    // Ensure that the calculated number of output samples and lines is greater
+    // than the input
+    if(ons < ins || onl < inl) {
+      string msg = "Number of output samples/lines must be greater than or equal";
+      msg = msg + " to the input samples/lines.";
+      throw IException(IException::User, msg, _FILEINFO_);
+    }
+
+    // Set up the interpolator
+    Interpolator *interp;
+    if(ui.GetString("INTERP") == "NEARESTNEIGHBOR") {
+      interp = new Interpolator(Interpolator::NearestNeighborType);
+    }
+    else if(ui.GetString("INTERP") == "BILINEAR") {
+      interp = new Interpolator(Interpolator::BiLinearType);
+    }
+    else {  // CUBICCONVOLUTION
+      interp = new Interpolator(Interpolator::CubicConvolutionType);
+    }
+    
+    // Allocate the output file, the number of bands does not change in the output
+    QString outputFileName = ui.GetFileName("TO");
+    CubeAttributeOutput &att = ui.GetOutputAttribute("TO");
+    Cube *ocube = p.SetOutputCube(outputFileName, att, ons, onl, inb);
+    
+    // Set up the transform object with the calculated scale and number of
+    // output pixels
+    //Transform *transform = new Enlarge(icube, sampleScale, lineScale);
+    Enlarge *transform = new Enlarge(icube, sampleScale, lineScale);
+    p.StartProcess(*transform, *interp);
+    PvlGroup resultsGrp = transform->UpdateOutputLabel(ocube);
+
+    // Cleanup
+    icube->close();
+    ocube->close();
+    p.EndProcess();
+
+    delete transform;
+    delete interp;
+
+    // Write the results to the log
+    log->addGroup(resultsGrp);
+  }
+}
+
diff --git a/isis/src/base/apps/enlarge/enlarge_app.h b/isis/src/base/apps/enlarge/enlarge_app.h
new file mode 100644
index 0000000000..32206da6e9
--- /dev/null
+++ b/isis/src/base/apps/enlarge/enlarge_app.h
@@ -0,0 +1,14 @@
+#ifndef enlarge_app_h
+#define enlarge_app_h
+
+
+#include "Cube.h"
+#include "Pvl.h"
+#include "UserInterface.h"
+
+namespace Isis{
+  extern void enlarge(Cube *icube, UserInterface &ui, Pvl *log);
+  extern void enlarge(UserInterface &ui, Pvl *log);
+}
+
+#endif
diff --git a/isis/src/base/apps/enlarge/main.cpp b/isis/src/base/apps/enlarge/main.cpp
index 7e005121b8..5277bd14d0 100644
--- a/isis/src/base/apps/enlarge/main.cpp
+++ b/isis/src/base/apps/enlarge/main.cpp
@@ -1,93 +1,27 @@
 #include "Isis.h"
 
-#include "Enlarge.h"
-#include "IException.h"
-#include "ProcessRubberSheet.h"
+#include "enlarge_app.h"
+
+#include "Application.h"
+#include "Pvl.h"
 
 using namespace std;
 using namespace Isis;
 
 void IsisMain() {
-  ProcessRubberSheet p;
-
-  // Open the input cube
-  Cube *icube = p.SetInputCube("FROM");
-
-  // Input number of samples, lines, and bands
-  int ins = icube->sampleCount();
-  int inl = icube->lineCount();
-  int inb = icube->bandCount();
-
-  // Output samples and lines
-  int ons, onl;
-
-  // Scaling factors
-  double sampleScale, lineScale;
-
   UserInterface &ui = Application::GetUserInterface();
-  if(ui.GetString("MODE") == "SCALE") {
-    // Retrieve the provided scaling factors
-    sampleScale = ui.GetDouble("SSCALE");
-    lineScale   = ui.GetDouble("LSCALE");
-
-    // Calculate the output size. If there is a fractional pixel, round up
-    ons = (int)ceil(ins * sampleScale);
-    onl = (int)ceil(inl * lineScale);
-  }
-  else {
-    // Retrieve the provided sample/line dimensions in the output
-    ons = ui.GetInteger("ONS");
-    onl = ui.GetInteger("ONL");
-
-    // Calculate the scaling factors
-    sampleScale = (double)ons / (double)ins;
-    lineScale   = (double)onl / (double)inl;
-  }
-
-  // Ensure that the calculated number of output samples and lines is greater
-  // than the input
-  if(ons < ins || onl < inl) {
-    string msg = "Number of output samples/lines must be greater than or equal";
-    msg = msg + " to the input samples/lines.";
-    throw IException(IException::User, msg, _FILEINFO_);
-  }
-
-  // Set up the interpolator
-  Interpolator *interp;
-  if(ui.GetString("INTERP") == "NEARESTNEIGHBOR") {
-    interp = new Interpolator(Interpolator::NearestNeighborType);
+  Pvl appLog;
+  try {
+    enlarge(ui, &appLog);
   }
-  else if(ui.GetString("INTERP") == "BILINEAR") {
-    interp = new Interpolator(Interpolator::BiLinearType);
+  catch (...) {
+    for (auto grpIt = appLog.beginGroup(); grpIt!= appLog.endGroup(); grpIt++) {
+      Application::Log(*grpIt);
+    }
+    throw;
   }
-  else if(ui.GetString("INTERP") == "CUBICCONVOLUTION") {
-    interp = new Interpolator(Interpolator::CubicConvolutionType);
+  
+  for (auto grpIt = appLog.beginGroup(); grpIt!= appLog.endGroup(); grpIt++) {
+    Application::Log(*grpIt);
   }
-  else {
-    QString msg = "Unknown value for INTERP [" +
-                  ui.GetString("INTERP") + "]";
-    throw IException(IException::Programmer, msg, _FILEINFO_);
-  }
-
-  // Allocate the output file, the number of bands does not change in the output
-  Cube *ocube = p.SetOutputCube("TO", ons, onl, inb);
-
-  // Set up the transform object with the calculated scale and number of
-  // output pixels
-  //Transform *transform = new Enlarge(icube, sampleScale, lineScale);
-  Enlarge *transform = new Enlarge(icube, sampleScale, lineScale);
-  p.StartProcess(*transform, *interp);
-  PvlGroup resultsGrp = transform->UpdateOutputLabel(ocube);
-
-  // Cleanup
-  icube->close();
-  ocube->close();
-  p.EndProcess();
-
-  delete transform;
-  delete interp;
-
-  // Write the results to the log
-  Application::Log(resultsGrp);
-}
-
+}
\ No newline at end of file
diff --git a/isis/src/base/apps/enlarge/tsts/Makefile b/isis/src/base/apps/enlarge/tsts/Makefile
deleted file mode 100644
index 46d84c74c2..0000000000
--- a/isis/src/base/apps/enlarge/tsts/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-BLANKS = "%-6s"    
-LENGTH = "%-40s"
-
-include $(ISISROOT)/make/isismake.tststree
diff --git a/isis/src/base/apps/enlarge/tsts/default/Makefile b/isis/src/base/apps/enlarge/tsts/default/Makefile
deleted file mode 100644
index f44b1aae9c..0000000000
--- a/isis/src/base/apps/enlarge/tsts/default/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-APPNAME = enlarge
-
-peaks2.cub.TOLERANCE = 16
-
-include $(ISISROOT)/make/isismake.tsts
-
-commands:
-	$(APPNAME) from=$(INPUT)/peaks.cub \
-	  to=$(OUTPUT)/peaks.cub \
-	  sscale=1.0 \
-	  lscale=1.5 \
-	  interp=bilinear > /dev/null;
-	lowpass from=$(OUTPUT)/peaks.cub samples=1 lines=5 \
-	  to=$(OUTPUT)/peaks2.cub > /dev/null;
-	$(RM) $(OUTPUT)/peaks.cub
diff --git a/isis/src/base/apps/enlarge/tsts/total/Makefile b/isis/src/base/apps/enlarge/tsts/total/Makefile
deleted file mode 100644
index 2c9aadfcf8..0000000000
--- a/isis/src/base/apps/enlarge/tsts/total/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-APPNAME = enlarge
-
-include $(ISISROOT)/make/isismake.tsts
-
-commands:
-	$(APPNAME) from=$(INPUT)/isisTruth.cub \
-	  to=$(OUTPUT)/total.cub \
-	  mode=total \
-	  ons=126 \
-	  onl=189 \
-	  interp=nearestneighbor > /dev/null;
-	$(APPNAME) from=$(INPUT)/isisTruth.cub \
-	  to=$(OUTPUT)/scale.cub \
-	  sscale=1.0 \
-	  lscale=1.5 \
-	  interp=nearestneighbor > /dev/null;
-	cubediff from=$(OUTPUT)/total.cub \
-	  from2=$(OUTPUT)/scale.cub \
-	  to=$(OUTPUT)/comparisonTruth.txt > /dev/null;
-	rm -f $(OUTPUT)/total.cub;
-	rm -f $(OUTPUT)/scale.cub;
diff --git a/isis/src/base/objs/Process/Process.cpp b/isis/src/base/objs/Process/Process.cpp
index 7c46b618ec..2d50d274ac 100644
--- a/isis/src/base/objs/Process/Process.cpp
+++ b/isis/src/base/objs/Process/Process.cpp
@@ -308,12 +308,12 @@ namespace Isis {
               << ",nb=" << nb << "]";
       throw IException(IException::Programmer, message.str().c_str(), _FILEINFO_);
     }
-
     QString fname = Application::GetUserInterface().GetFileName(parameter);
     Isis::CubeAttributeOutput &atts = Application::GetUserInterface().GetOutputAttribute(parameter);
     return SetOutputCube(fname, atts, ns, nl, nb);
   }
 
+
   /**
    * Allocates a output cube whose name and size is specified by the programmer.
    *
@@ -350,7 +350,6 @@ namespace Isis {
       cube->setByteOrder(att.byteOrder());
       cube->setFormat(att.fileFormat());
       cube->setLabelsAttached(att.labelAttachment() == AttachedLabel);
-
       if(att.propagatePixelType()) {
         if(InputCubes.size() > 0) {
           cube->setPixelType(InputCubes[0]->pixelType());
@@ -409,7 +408,7 @@ namespace Isis {
 
       // Allocate the cube
       cube->create(fname);
-
+      
       // Transfer labels from the first input cube
       if((p_propagateLabels) && (InputCubes.size() > 0)) {
         Isis::PvlObject &incube =
@@ -468,7 +467,6 @@ namespace Isis {
       delete cube;
       throw;
     }
-
     // Everything is fine so save the cube on the stack
     AddOutputCube(cube);
     return cube;
diff --git a/isis/tests/Fixtures.cpp b/isis/tests/Fixtures.cpp
index 66ac085b99..0c76bed4ae 100644
--- a/isis/tests/Fixtures.cpp
+++ b/isis/tests/Fixtures.cpp
@@ -1,4 +1,6 @@
 #include "Fixtures.h"
+#include "LineManager.h"
+
 
 namespace Isis {
 
@@ -21,6 +23,14 @@ namespace Isis {
     testCube = new Cube();
     testCube->fromIsd(tempDir.path() + "/default.cub", label, isd, "rw");
 
+    LineManager line(*testCube);
+    for(line.begin(); !line.end(); line++) {
+      for(int i = 0; i < line.size(); i++) {
+        line[i] = (double) 1;
+      }
+      testCube->write(line);
+    }
+
     projTestCube = new Cube();
     projTestCube->fromIsd(tempDir.path() + "/default.level2.cub", projLabel, isd, "rw");
   }
diff --git a/isis/tests/Fixtures.h b/isis/tests/Fixtures.h
index 505773ff32..b606ac21d2 100644
--- a/isis/tests/Fixtures.h
+++ b/isis/tests/Fixtures.h
@@ -11,11 +11,10 @@
 
 #include <nlohmann/json.hpp>
 
-#include "IException.h"
-#include "PvlGroup.h"
-
 #include "Cube.h"
+#include "IException.h"
 #include "Pvl.h"
+#include "PvlGroup.h"
 #include "PvlObject.h"
 #include "ControlNet.h"
 #include "FileList.h"
diff --git a/isis/tests/FunctionalTestsEnlarge.cpp b/isis/tests/FunctionalTestsEnlarge.cpp
new file mode 100644
index 0000000000..83b9e855f3
--- /dev/null
+++ b/isis/tests/FunctionalTestsEnlarge.cpp
@@ -0,0 +1,111 @@
+#include "enlarge_app.h"
+
+#include <QTemporaryFile>
+#include <QTextStream>
+#include <QStringList>
+
+#include "Fixtures.h"
+#include "PvlGroup.h"
+#include "TestUtilities.h"
+
+#include "gmock/gmock.h"
+
+using namespace Isis;
+
+static QString APP_XML = FileName("$ISISROOT/bin/xml/enlarge.xml").expanded();
+
+TEST_F(DefaultCube, FunctionalTestEnlargeDefaultParameters) {
+  QVector<QString> args = {"to=" + tempDir.path()+"/output.cub"};
+  UserInterface options(APP_XML, args);
+  Pvl appLog;
+  enlarge(testCube, options, &appLog);
+
+  PvlGroup groundPoint = appLog.findGroup("Results");
+
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("InputLines"), 10);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("InputSamples"), 10);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("StartingLine"), 1);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("StartingSample"), 1);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("EndingLine"), 10);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("EndingSample"), 10);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("LineIncrement"), 1.0);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("SampleIncrement"), 1.0);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputLines"), 10);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputSamples"), 10);
+}
+
+TEST_F(DefaultCube, FunctionalTestEnlargeScale) {
+  QVector<QString> args = {"to=" + tempDir.path()+"/output.cub", "sscale=2", "lscale=4"};
+  UserInterface options(APP_XML, args);
+  Pvl appLog;
+  enlarge(testCube, options, &appLog);
+  
+  PvlGroup groundPoint = appLog.findGroup("Results");
+
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("LineIncrement"), .25);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("SampleIncrement"), .5);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputLines"), 40);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputSamples"), 20);
+}
+
+TEST_F(DefaultCube, FunctionalTestEnlargeTotal) {
+  QVector<QString> args = {"to=" + tempDir.path()+"/output.cub", "mode=total", "ons=20", "onl=40"};
+  UserInterface options(APP_XML, args);
+  Pvl appLog;
+  enlarge(testCube, options, &appLog);
+  
+  PvlGroup groundPoint = appLog.findGroup("Results");
+
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("LineIncrement"), .25);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("SampleIncrement"), .5);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputLines"), 40);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputSamples"), 20);
+}
+
+TEST_F(DefaultCube, FunctionalTestEnlargeSmallDimensions) {
+  QVector<QString> args = {"to=" + tempDir.path()+"/output.cub", "mode=total", "ons=10", "onl=1"};
+  UserInterface options(APP_XML, args);
+  Pvl appLog;
+
+  QString message = "Number of output samples/lines must be greater than or equal";
+  try {
+    enlarge(testCube, options, &appLog);
+    FAIL() << "Expected an exception to be thrown";
+  }
+  catch(Isis::IException &e) {
+    EXPECT_PRED_FORMAT2(Isis::AssertIExceptionMessage, e, message);
+  }
+  catch(...) {
+    FAIL() << "Expected error message: \"" << message.toStdString() << "\"";
+  }
+}
+
+TEST_F(DefaultCube, FunctionalTestEnlargeNearestNeighbor) {
+  QVector<QString> args = {"to=" + tempDir.path()+"/output.cub", "interp=nearestneighbor"};
+  UserInterface options(APP_XML, args);
+  Pvl appLog;
+  enlarge(testCube, options, &appLog);
+
+  PvlGroup groundPoint = appLog.findGroup("Results");
+  // Just make sure the applications runs without error. Tests the interpolation method in
+  // the enlarge object.
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("LineIncrement"), 1.0);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("SampleIncrement"), 1.0);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputLines"), 10);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputSamples"), 10);
+}
+
+TEST_F(DefaultCube, FunctionalTestEnlargeBilinear) {
+  QVector<QString> args = {"to=" + tempDir.path()+"/output.cub", "interp=bilinear"};
+  UserInterface options(APP_XML, args);
+  Pvl appLog;
+  enlarge(testCube, options, &appLog);
+
+  PvlGroup groundPoint = appLog.findGroup("Results");
+  // Just make sure the applications runs without error. Tests the interpolation method in
+  // the enlarge object.
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("LineIncrement"), 1.0);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("SampleIncrement"), 1.0);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputLines"), 10);
+  EXPECT_DOUBLE_EQ( (double) groundPoint.findKeyword("OutputSamples"), 10);
+}
\ No newline at end of file
diff --git a/isis/tests/data/defaultImage/defaultCube.pvl b/isis/tests/data/defaultImage/defaultCube.pvl
index ef5198a6981fce94be54997678aeb1bd255f873c..1e8865000fd3b3e0130e144b4c77622d2a07864e 100644
GIT binary patch
literal 1541081
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

delta 91
zcmccF9(PP}LhZyl4GALy6D|cX@X5?eEmlxauvIWLFg2UFOL5|z$(sup+ZiYSU^+GV
tFtf*I9+rp9o8Pgo<`DEx%1TWxQLt6;NlZ%3;ZjhTyi!1##WgR53jm=E9+Ln7

-- 
GitLab