Unverified Commit ea414cc2 authored by Amy Stamile's avatar Amy Stamile Committed by GitHub
Browse files

Implemented Distortion in NAC RS camera model (#4555)

* Added call to setDistortion.

* Centered detector origin. Modified nacRS cam tests to accommodate added OD_K naif keywords. Updated noproj Clipper group name in template.
parent e2ab8843
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -5,12 +5,12 @@ Object = IdealInstrumentsSpecifications
  # 2019-11-05 Modified by ladoramkershner: Added Mariner 10

  # Group name and values will change once stabilized
  Group = "Clipper EIS 2025/EIS-NAC-RS"
  Group = "Clipper/EIS-NAC-RS"
    DetectorSamples = 4000
    DetectorLines = 2000
  End_Group

  Group = "Clipper EIS 2025/EIS-WAC-FC"
  Group = "Clipper/EIS-WAC-FC"
    DetectorSamples = 4000
    DetectorLines = 2000
  End_Group
+5 −3
Original line number Diff line number Diff line
@@ -86,11 +86,13 @@ namespace Isis {
    // Set up camera detector map with the coefficients and readout times
    new RollingShutterCameraDetectorMap(this, readoutTimes, sampleCoeffs, lineCoeffs);

    // Set up focal plane map
    new CameraFocalPlaneMap(this, naifIkCode());
    // Setup focal plane map, and detector origin
    CameraFocalPlaneMap *focalMap = new CameraFocalPlaneMap(this, naifIkCode()); 
    focalMap->SetDetectorOrigin(2048.5, 1024.5);

    // Set up distortion map (use default for now)
    new CameraDistortionMap(this);
    CameraDistortionMap *distMap = new CameraDistortionMap(this);
    distMap->SetDistortion(naifIkCode());

    // Set up the ground and sky map
    new CameraGroundMap(this);
+8 −8
Original line number Diff line number Diff line
@@ -25,29 +25,29 @@ TEST_F(ClipperNacRsCube, ClipperNacRsCameraUnitTest) {


  EXPECT_TRUE(cam->SetImage(145, 161));
  EXPECT_NEAR(cam->UniversalLatitude(), 10.248688804675723, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 256.15486019464515, 0.0001);
  EXPECT_NEAR(cam->UniversalLatitude(), 8.6646548238559333, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 253.93886964420707, 0.0001);
  EXPECT_TRUE(cam->SetUniversalGround(cam->UniversalLatitude(), cam->UniversalLongitude()));
  EXPECT_NEAR(cam->Sample(), 145, 0.0001);
  EXPECT_NEAR(cam->Line(), 161, 0.0001);

  EXPECT_TRUE(cam->SetImage(3655, 157));
  EXPECT_NEAR(cam->UniversalLatitude(), 14.250132025597672, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 258.44639101206752, 0.0001);
  EXPECT_NEAR(cam->UniversalLatitude(), 12.365243218956246, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 255.86310676733405, 0.0001);
  EXPECT_TRUE(cam->SetUniversalGround(cam->UniversalLatitude(), cam->UniversalLongitude()));
  EXPECT_NEAR(cam->Sample(), 3655, 0.0001);
  EXPECT_NEAR(cam->Line(), 157, 0.0001);

  EXPECT_TRUE(cam->SetImage(289, 1767));
  EXPECT_NEAR(cam->UniversalLatitude(), 9.4776705775142567, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 258.17321108594587, 0.0001);
  EXPECT_NEAR(cam->UniversalLatitude(), 7.8856314924390674, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 255.74387203937229, 0.0001);
  EXPECT_TRUE(cam->SetUniversalGround(cam->UniversalLatitude(), cam->UniversalLongitude()));
  EXPECT_NEAR(cam->Sample(), 289, 0.0001);
  EXPECT_NEAR(cam->Line(), 1767, 0.001);

  EXPECT_TRUE(cam->SetImage(3767, 1579));
  EXPECT_NEAR(cam->UniversalLatitude(), 13.641265011679993, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 260.38986965108342, 0.0001);
  EXPECT_NEAR(cam->UniversalLatitude(), 11.758392399326441, 0.0001);
  EXPECT_NEAR(cam->UniversalLongitude(), 257.58926744604787, 0.0001);
  EXPECT_TRUE(cam->SetUniversalGround(cam->UniversalLatitude(), cam->UniversalLongitude()));
  EXPECT_NEAR(cam->Sample(), 3767, 0.0001);
  EXPECT_NEAR(cam->Line(), 1579, 0.001);
+1 −0
Original line number Diff line number Diff line
@@ -1592,6 +1592,7 @@ namespace Isis {
        INS-159011_TRANSY       = (0.0, 0.0, 0.01399535)
        INS-159011_ITRANSS      = (0.0, 71.404849, 0.0)
        INS-159011_ITRANSL      = (0.0, 0.0, 71.4523)
        INS-159011_OD_K         = (0.0, 0.0, 0.0)
      End_Object
    )");