Skip to content
Snippets Groups Projects
Unverified Commit 0ed5dca2 authored by K. Williams's avatar K. Williams Committed by GitHub
Browse files

Merge pull request #86 from AstroKEW78/testCameraModel

updated frame camera tests for four corners of ccd
parents 30196b9a 6f8edc50
Branches
Tags
No related merge requests found
...@@ -52,6 +52,10 @@ class FrameSensorModel : public ::testing::Test { ...@@ -52,6 +52,10 @@ class FrameSensorModel : public ::testing::Test {
} }
}; };
//NOTE: The imagePt layour is (Lines,Samples)
// Also subtract 0.5 from the lines/samples. Hence Samples=0 and Lines=15 -> 14.5,-0.5
//centered and slightly off-center:
TEST_F(FrameSensorModel, Center) { TEST_F(FrameSensorModel, Center) {
csm::ImageCoord imagePt(7.0, 7.0); csm::ImageCoord imagePt(7.0, 7.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
...@@ -59,19 +63,41 @@ TEST_F(FrameSensorModel, Center) { ...@@ -59,19 +63,41 @@ TEST_F(FrameSensorModel, Center) {
EXPECT_NEAR(groundPt.y, 0, 1e-8); EXPECT_NEAR(groundPt.y, 0, 1e-8);
EXPECT_NEAR(groundPt.z, 0, 1e-8); EXPECT_NEAR(groundPt.z, 0, 1e-8);
} }
TEST_F(FrameSensorModel, SlightlyOffCenter) {
csm::ImageCoord imagePt(7.0, 6.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
EXPECT_NEAR(groundPt.x, 9.80194018, 1e-8);
EXPECT_NEAR(groundPt.y, 0, 1e-8);
EXPECT_NEAR(groundPt.z, 1.98039612, 1e-8);
}
TEST_F(FrameSensorModel, OffBody) { //Test all four corners:
TEST_F(FrameSensorModel, OffBody1) {
csm::ImageCoord imagePt(14.5, -0.5); csm::ImageCoord imagePt(14.5, -0.5);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8); EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8);
EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8); EXPECT_NEAR(groundPt.y, -14.99325304, 1e-8);
EXPECT_NEAR(groundPt.z, 14.99325304, 1e-8); EXPECT_NEAR(groundPt.z, 14.99325304, 1e-8);
} }
TEST_F(FrameSensorModel, OffBody2) {
TEST_F(FrameSensorModel, SlightlyOffCenter) { csm::ImageCoord imagePt(-0.5, 14.5);
csm::ImageCoord imagePt(7.0, 6.0);
csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0);
EXPECT_NEAR(groundPt.x, 9.80194018, 1e-8); EXPECT_NEAR(groundPt.x, 0.44979759, 1e-8);
EXPECT_NEAR(groundPt.y, 0, 1e-8); EXPECT_NEAR(groundPt.y, 14.99325304, 1e-8);
EXPECT_NEAR(groundPt.z, 1.98039612, 1e-8); EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8);
}
TEST_F(FrameSensorModel, OffBody3) {
csm::ImageCoord imagePt(-0.5, -0.5);
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(FrameSensorModel, OffBody4) {
csm::ImageCoord imagePt(14.5, 14.5);
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);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment