diff --git a/src/UsgsAstroPlugin.cpp b/src/UsgsAstroPlugin.cpp index cf6e017133582211da48330521a4de454ad87bd1..563f24de0f80ad90d9cc4f48f843af4f7550a5c0 100644 --- a/src/UsgsAstroPlugin.cpp +++ b/src/UsgsAstroPlugin.cpp @@ -28,7 +28,7 @@ using json = nlohmann::json; // Declaration of static variables const std::string UsgsAstroPlugin::_PLUGIN_NAME = "UsgsAstroPluginCSM"; const std::string UsgsAstroPlugin::_MANUFACTURER_NAME = "UsgsAstrogeology"; -const std::string UsgsAstroPlugin::_RELEASE_DATE = "20170425"; +const std::string UsgsAstroPlugin::_RELEASE_DATE = "20190222"; const int UsgsAstroPlugin::_N_SENSOR_MODELS = 2; const std::string UsgsAstroPlugin::_ISD_KEYWORD[] = diff --git a/tests/LineScanCameraTests.cpp b/tests/LineScanCameraTests.cpp index 2f63651a4af685d5843125724efdd4d217bb355d..627b5703dfa0a261c0c444106276ce0344207d44 100644 --- a/tests/LineScanCameraTests.cpp +++ b/tests/LineScanCameraTests.cpp @@ -46,35 +46,35 @@ TEST_F(ConstVelocityLineScanSensorModel, Inversion) { EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp); } -TEST_F(ConstVelocityLineScanSensorModel, OffBody1) { +TEST_F(ConstVelocityLineScanSensorModel, OffBody) { csm::ImageCoord imagePt(4.5, 4.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); EXPECT_NEAR(groundPt.x, 0.063995905, 1e-8); EXPECT_NEAR(groundPt.y, -7.999488033, 1e-8); EXPECT_NEAR(groundPt.z, 8, 1e-8); } -TEST_F(ConstVelocityLineScanSensorModel, OffBody2) { - csm::ImageCoord imagePt(4.5, 12.0); - csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); - // EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8); - // EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8); -} -TEST_F(ConstVelocityLineScanSensorModel, OffBody3) { - csm::ImageCoord imagePt(12.5, 4.0); - csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); - // EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8); - // EXPECT_NEAR(groundPt.z, 14.99325304, 1e-8); +TEST_F(ConstVelocityLineScanSensorModel, ProximateImageLocus) { + csm::ImageCoord imagePt(8.5, 8.0); + csm::EcefCoord groundPt(5, 5, 5); + csm::EcefLocus locus = sensorModel->imageToProximateImagingLocus(imagePt, groundPt); + EXPECT_DOUBLE_EQ(locus.direction.x, -1.0); + EXPECT_DOUBLE_EQ(locus.direction.y, 0.0); + EXPECT_DOUBLE_EQ(locus.direction.z, 0.0); + EXPECT_DOUBLE_EQ(locus.point.x, 5.0); + EXPECT_DOUBLE_EQ(locus.point.y, 0.0); + EXPECT_DOUBLE_EQ(locus.point.z, 0.0); } -TEST_F(ConstVelocityLineScanSensorModel, OffBody4) { - csm::ImageCoord imagePt(12.0, 12.0); - csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); - // EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8); - // EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8); +TEST_F(ConstVelocityLineScanSensorModel, RemoteImageLocus) { + csm::ImageCoord imagePt(8.5, 8.0); + csm::EcefLocus locus = sensorModel->imageToRemoteImagingLocus(imagePt); + EXPECT_DOUBLE_EQ(locus.direction.x, -1.0); + EXPECT_DOUBLE_EQ(locus.direction.y, 0.0); + EXPECT_DOUBLE_EQ(locus.direction.z, 0.0); + EXPECT_DOUBLE_EQ(locus.point.x, 10.0); + EXPECT_DOUBLE_EQ(locus.point.y, 0.0); + EXPECT_DOUBLE_EQ(locus.point.z, 0.0); } // Pan tests @@ -82,11 +82,9 @@ TEST_F(ConstVelocityLineScanSensorModel, OffBody4) { TEST_F(ConstAngularVelocityLineScanSensorModel, Center) { csm::ImageCoord imagePt(8.5, 8.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_DOUBLE_EQ(groundPt.x, 10.0); - // EXPECT_DOUBLE_EQ(groundPt.y, 0.0); - // EXPECT_DOUBLE_EQ(groundPt.z, 0.0); - - std::cerr << sensorModel->getModelState() << std::endl; + EXPECT_DOUBLE_EQ(groundPt.x, 10.0); + EXPECT_DOUBLE_EQ(groundPt.y, 0.0); + EXPECT_DOUBLE_EQ(groundPt.z, 0.0); } TEST_F(ConstAngularVelocityLineScanSensorModel, Inversion) { @@ -94,39 +92,16 @@ TEST_F(ConstAngularVelocityLineScanSensorModel, Inversion) { csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::ImageCoord imageReprojPt = sensorModel->groundToImage(groundPt); - // EXPECT_DOUBLE_EQ(imagePt.line, imageReprojPt.line); - // EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp); + EXPECT_DOUBLE_EQ(imagePt.line, imageReprojPt.line); + EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp); } -TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody1) { +TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody) { csm::ImageCoord imagePt(4.5, 4.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_NEAR(groundPt.x, 0.063995905, 1e-8); - // EXPECT_NEAR(groundPt.y, -7.999488033, 1e-8); - // EXPECT_NEAR(groundPt.z, 8, 1e-8); -} -TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody2) { - csm::ImageCoord imagePt(4.5, 12.0); - csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); - // EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8); - // EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8); -} - -TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody3) { - csm::ImageCoord imagePt(12.5, 4.0); - csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); - // EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8); - // EXPECT_NEAR(groundPt.z, 14.99325304, 1e-8); -} - -TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody4) { - csm::ImageCoord imagePt(12.0, 12.0); - csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); - // EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); - // EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8); - // EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8); + EXPECT_NEAR(groundPt.x, 4.15414478, 1e-8); + EXPECT_NEAR(groundPt.y, -7.98311067, 1e-8); + EXPECT_NEAR(groundPt.z, 63.82129588, 1e-8); } TEST_F(ConstVelocityLineScanSensorModel, calculateAttitudeCorrection) { diff --git a/tests/PluginTests.cpp b/tests/PluginTests.cpp index f034b417ecd868be53ecc80cd9e6c3d704d6e92b..62da7c5cc0890eecb42e03c7bfe86fe8fa06e680 100644 --- a/tests/PluginTests.cpp +++ b/tests/PluginTests.cpp @@ -21,7 +21,7 @@ TEST(PluginTests, ManufacturerName) { TEST(PluginTests, ReleaseDate) { UsgsAstroPlugin testPlugin; - EXPECT_EQ("20170425", testPlugin.getReleaseDate()); + EXPECT_EQ("20190222", testPlugin.getReleaseDate()); } TEST(PluginTests, NumModels) { diff --git a/tests/data/constAngularVelocityLineScan.json b/tests/data/constAngularVelocityLineScan.json index cf467fd2f3e80e62f9e58e977ddf21dd25688b86..c5c991c5c013d32f346880108080fc9eca149854 100644 --- a/tests/data/constAngularVelocityLineScan.json +++ b/tests/data/constAngularVelocityLineScan.json @@ -54,15 +54,15 @@ [1000.0, 0.0, 0.0] ], "velocities": [ - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0], - [0.0, 0.0, 0.0] + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0], + [0.0, 10.0, 0.0] ] }, "sensor_orientation": {