Skip to content
Snippets Groups Projects
Unverified Commit a64aa21c authored by Jesse Mapel's avatar Jesse Mapel Committed by GitHub
Browse files

Final LS tests and release prep (#188)

* Added image locus tests

* Pan LS tests now pass

* updated release date in plugin

* Forgot to update plugin release date test
parent c892d5dc
No related branches found
No related tags found
No related merge requests found
...@@ -28,7 +28,7 @@ using json = nlohmann::json; ...@@ -28,7 +28,7 @@ using json = nlohmann::json;
// Declaration of static variables // Declaration of static variables
const std::string UsgsAstroPlugin::_PLUGIN_NAME = "UsgsAstroPluginCSM"; const std::string UsgsAstroPlugin::_PLUGIN_NAME = "UsgsAstroPluginCSM";
const std::string UsgsAstroPlugin::_MANUFACTURER_NAME = "UsgsAstrogeology"; 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 int UsgsAstroPlugin::_N_SENSOR_MODELS = 2;
const std::string UsgsAstroPlugin::_ISD_KEYWORD[] = const std::string UsgsAstroPlugin::_ISD_KEYWORD[] =
......
...@@ -46,35 +46,35 @@ TEST_F(ConstVelocityLineScanSensorModel, Inversion) { ...@@ -46,35 +46,35 @@ TEST_F(ConstVelocityLineScanSensorModel, Inversion) {
EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp); EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp);
} }
TEST_F(ConstVelocityLineScanSensorModel, OffBody1) { TEST_F(ConstVelocityLineScanSensorModel, OffBody) {
csm::ImageCoord imagePt(4.5, 4.0); csm::ImageCoord imagePt(4.5, 4.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
EXPECT_NEAR(groundPt.x, 0.063995905, 1e-8); EXPECT_NEAR(groundPt.x, 0.063995905, 1e-8);
EXPECT_NEAR(groundPt.y, -7.999488033, 1e-8); EXPECT_NEAR(groundPt.y, -7.999488033, 1e-8);
EXPECT_NEAR(groundPt.z, 8, 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) { TEST_F(ConstVelocityLineScanSensorModel, ProximateImageLocus) {
csm::ImageCoord imagePt(12.5, 4.0); csm::ImageCoord imagePt(8.5, 8.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt(5, 5, 5);
// EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); csm::EcefLocus locus = sensorModel->imageToProximateImagingLocus(imagePt, groundPt);
// EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8); EXPECT_DOUBLE_EQ(locus.direction.x, -1.0);
// EXPECT_NEAR(groundPt.z, 14.99325304, 1e-8); 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) { TEST_F(ConstVelocityLineScanSensorModel, RemoteImageLocus) {
csm::ImageCoord imagePt(12.0, 12.0); csm::ImageCoord imagePt(8.5, 8.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefLocus locus = sensorModel->imageToRemoteImagingLocus(imagePt);
// EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); EXPECT_DOUBLE_EQ(locus.direction.x, -1.0);
// EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8); EXPECT_DOUBLE_EQ(locus.direction.y, 0.0);
// EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8); 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 // Pan tests
...@@ -82,11 +82,9 @@ TEST_F(ConstVelocityLineScanSensorModel, OffBody4) { ...@@ -82,11 +82,9 @@ TEST_F(ConstVelocityLineScanSensorModel, OffBody4) {
TEST_F(ConstAngularVelocityLineScanSensorModel, Center) { TEST_F(ConstAngularVelocityLineScanSensorModel, Center) {
csm::ImageCoord imagePt(8.5, 8.0); csm::ImageCoord imagePt(8.5, 8.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
// EXPECT_DOUBLE_EQ(groundPt.x, 10.0); EXPECT_DOUBLE_EQ(groundPt.x, 10.0);
// EXPECT_DOUBLE_EQ(groundPt.y, 0.0); EXPECT_DOUBLE_EQ(groundPt.y, 0.0);
// EXPECT_DOUBLE_EQ(groundPt.z, 0.0); EXPECT_DOUBLE_EQ(groundPt.z, 0.0);
std::cerr << sensorModel->getModelState() << std::endl;
} }
TEST_F(ConstAngularVelocityLineScanSensorModel, Inversion) { TEST_F(ConstAngularVelocityLineScanSensorModel, Inversion) {
...@@ -94,39 +92,16 @@ TEST_F(ConstAngularVelocityLineScanSensorModel, Inversion) { ...@@ -94,39 +92,16 @@ TEST_F(ConstAngularVelocityLineScanSensorModel, Inversion) {
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
csm::ImageCoord imageReprojPt = sensorModel->groundToImage(groundPt); csm::ImageCoord imageReprojPt = sensorModel->groundToImage(groundPt);
// EXPECT_DOUBLE_EQ(imagePt.line, imageReprojPt.line); EXPECT_DOUBLE_EQ(imagePt.line, imageReprojPt.line);
// EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp); EXPECT_DOUBLE_EQ(imagePt.samp, imageReprojPt.samp);
} }
TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody1) { TEST_F(ConstAngularVelocityLineScanSensorModel, OffBody) {
csm::ImageCoord imagePt(4.5, 4.0); csm::ImageCoord imagePt(4.5, 4.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
// EXPECT_NEAR(groundPt.x, 0.063995905, 1e-8); EXPECT_NEAR(groundPt.x, 4.15414478, 1e-8);
// EXPECT_NEAR(groundPt.y, -7.999488033, 1e-8); EXPECT_NEAR(groundPt.y, -7.98311067, 1e-8);
// EXPECT_NEAR(groundPt.z, 8, 1e-8); EXPECT_NEAR(groundPt.z, 63.82129588, 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);
} }
TEST_F(ConstVelocityLineScanSensorModel, calculateAttitudeCorrection) { TEST_F(ConstVelocityLineScanSensorModel, calculateAttitudeCorrection) {
......
...@@ -21,7 +21,7 @@ TEST(PluginTests, ManufacturerName) { ...@@ -21,7 +21,7 @@ TEST(PluginTests, ManufacturerName) {
TEST(PluginTests, ReleaseDate) { TEST(PluginTests, ReleaseDate) {
UsgsAstroPlugin testPlugin; UsgsAstroPlugin testPlugin;
EXPECT_EQ("20170425", testPlugin.getReleaseDate()); EXPECT_EQ("20190222", testPlugin.getReleaseDate());
} }
TEST(PluginTests, NumModels) { TEST(PluginTests, NumModels) {
......
...@@ -54,15 +54,15 @@ ...@@ -54,15 +54,15 @@
[1000.0, 0.0, 0.0] [1000.0, 0.0, 0.0]
], ],
"velocities": [ "velocities": [
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0], [0.0, 10.0, 0.0],
[0.0, 0.0, 0.0] [0.0, 10.0, 0.0]
] ]
}, },
"sensor_orientation": { "sensor_orientation": {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment