Unverified Commit 25de7c98 authored by Stuart Sides's avatar Stuart Sides Committed by GitHub
Browse files

Initial PR for Europa Clipper ingest, models, jitter correction (#3661)



* Add initial files needed for EIS/clipper (#3636)

* First add of jitterfit application

* Initial commit of jitterfit

* Clipper (#3656)

* Try again

* Try again

* Documentation improvements

* Fixed issues from first review

* Initial ClipperNacRollingShutterCameraModel and associated classes PR (#3657)

* Adds NthOrderPolynomial class needed for jitterfit (for EIS) to ISIS

* Remove incorrect documentation

* Update unitTest output

* Remove unnecessary Makefile

* Adds NthOrderPolynomial class to ISIS needed for jitterfit for EIS (#3639)

* Adds NthOrderPolynomial class needed for jitterfit (for EIS) to ISIS

* Remove incorrect documentation

* Update unitTest output

* Remove unnecessary Makefile

* Adds ingestion application eis2isis to ISIS (#3638)

* Initial commit of eis2isis

* Remove references to EISBlob in comments and remove unnecessary Makefiles

* Initial EIS Camera model commit with associated classes

* Convert initial RSCameraDetectorMap unit test to a gtest

* Changes in response to review comments: add checks to make sure tables and keywords exist before setting

* Updated with old-style unit tests for camera models

* Clipper (#3658)

* Try again

* Try again

* Documentation improvements

* Fixed issues from first review

* Add more documentation

* Fixed compile warning

* Fix typo.

Co-authored-by: default avatarKristin <kberry@usgs.gov>

* Adds Europa Clipper WAC Framing Camera Model - initial. (#3660)

* Adds NthOrderPolynomial class needed for jitterfit (for EIS) to ISIS

* Remove incorrect documentation

* Update unitTest output

* Remove unnecessary Makefile

* Adds NthOrderPolynomial class to ISIS needed for jitterfit for EIS (#3639)

* Adds NthOrderPolynomial class needed for jitterfit (for EIS) to ISIS

* Remove incorrect documentation

* Update unitTest output

* Remove unnecessary Makefile

* Adds ingestion application eis2isis to ISIS (#3638)

* Initial commit of eis2isis

* Remove references to EISBlob in comments and remove unnecessary Makefiles

* Initial checkin of WAC camera model and associated changes to eis2isis.

* add truthdata

Co-authored-by: default avatarKristin <kberry@usgs.gov>
parent 8975fccc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ Group = DataDirectory
  Chan1        = $ISIS3DATA/chan1
  Chandrayaan1 = $ISIS3DATA/chandrayaan1
  Clementine1  = $ISIS3DATA/clementine1
  Clipper      = $ISIS3DATA/../datalocal/clipper
  Control      = $ISIS3DATA/control
  Dawn         = $ISIS3DATA/dawn
  Galileo      = $ISIS3DATA/galileo
+6 −5
Original line number Diff line number Diff line
@@ -372,7 +372,8 @@ namespace Isis {
        PushFrame,      //!< Push Frame Camera
        LineScan,       //!< Line Scan Camera
        Radar,          //!< Radar Camera
        Point       //!< Point Camera
        Point,          //!< Point Camera
        RollingShutter, //!< RollingShutter
      };

      /**
+71 −0
Original line number Diff line number Diff line
/**
 * @file
 * $Revision: 1.1.1.1 $
 * $Date: 2006/10/31 23:18:08 $
 *
 *   Unless noted otherwise, the portions of Isis written by the USGS are public
 *   domain. See individual third-party library and package descriptions for
 *   intellectual property information,user agreements, and related information.
 *
 *   Although Isis has been used by the USGS, no warranty, expressed or implied,
 *   is made by the USGS as to the accuracy and functioning of such software
 *   and related material nor shall the fact of distribution constitute any such
 *   warranty, and no responsibility is assumed by the USGS in connection
 *   therewith.
 *
 *   For additional information, launch
 *   $ISISROOT/doc//documents/Disclaimers/Disclaimers.html in a browser or see
 *   the Privacy &amp; Disclaimers page on the Isis website,
 *   http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on
 *   http://www.usgs.gov/privacy.html.
 */

#include <math.h>
#include <QString>

#include "FileName.h"
#include "Constants.h"
#include "IException.h"
#include "NthOrderPolynomial.h"

using namespace std;
namespace Isis {

  /**
   * Create an NthOrderPolynomial
   * 
   * @param degree The order/degree of the polynomial
   * 
   */
  NthOrderPolynomial::NthOrderPolynomial(int degree) : 
    Isis::BasisFunction("NthOrderPolynomial", 2, degree) {
    p_degree = degree;
  }
  

  /**
   * This is the the overriding virtual function that provides the expansion into
   * the nth order polynomial equation. 
   *  
   * See BasisFunction for more information.
   *
   * @param vars A vector of double values to use for the expansion.
   */
  void NthOrderPolynomial::Expand(const std::vector<double> &vars) {

    if((int) vars.size() != Variables()) {
      QString mess = "Number of variables given (" + QString::number(vars.size())
          + ") does not match expected (" + Variables() + ")!";
      throw IException(IException::Programmer, mess, _FILEINFO_);
    }
    
    double t1 = vars[0];
    double t2 = vars[1];
    p_terms.clear();
    for (int i = p_degree; i >= 1; i--) {
      p_terms.push_back(pow(t1, i) - pow(t2, i));
    }
    return;
  }
} // end namespace isis
+60 −0
Original line number Diff line number Diff line

#ifndef NthOrderPolynomial_h
#define NthOrderPolynomial_h
/**
 * @file
 * $Revision: 1.1.1.1 $
 * $Date: 2006/10/31 23:18:08 $
 *
 *   Unless noted otherwise, the portions of Isis written by the USGS are public
 *   domain. See individual third-party library and package descriptions for
 *   intellectual property information,user agreements, and related information.
 *
 *   Although Isis has been used by the USGS, no warranty, expressed or implied,
 *   is made by the USGS as to the accuracy and functioning of such software
 *   and related material nor shall the fact of distribution constitute any such
 *   warranty, and no responsibility is assumed by the USGS in connection
 *   therewith.
 *
 *   For additional information, launch
 *   $ISISROOT/doc//documents/Disclaimers/Disclaimers.html in a browser or see
 *   the Privacy &amp; Disclaimers page on the Isis website,
 *   http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on
 *   http://www.usgs.gov/privacy.html.
 */

#include <vector>
#include "BasisFunction.h"

namespace Isis {

  /**
   * @brief NthOrderPolynomial basis function
   *
   * This is a derived class from the BasisFunction class which creates an nth order polynomial.
   *  
   * @ingroup Math
   *
   * @author  2018-01-01 Unknown
   *
   * @internal
   *  @history 2018-01-01 Unknown - Initial Version
   *  @history 2020-01-08 Kristin Berry - Update documentation prior to checkin to dev.
   */

  class NthOrderPolynomial : public Isis::BasisFunction {
    public:
      NthOrderPolynomial(int degree);

      //! Destroys the NthOrderPolynomial object
      ~NthOrderPolynomial() {}

      void Expand(const std::vector<double> &vars);
    
  private:
    int p_degree;
  };

}
#endif
+27 −0
Original line number Diff line number Diff line
Name   = NthOrderPolynomial
Ncoefs = 3
Vars   = 2
0.5
0.5
0.5
---
-12.5
-19
-5
-1
---
4.5
9
-3
3
--------
Name   = NthOrderPolynomial
Ncoefs = 6
Vars   = 2
-13.5
-63
33
-15
9
-3
3
Loading