From 6f8edc500bf472ea1f91ee334ad90e3f0df1f659 Mon Sep 17 00:00:00 2001 From: Kaj Williams <kewilliams@usgs.gov> Date: Mon, 20 Aug 2018 15:14:20 -0700 Subject: [PATCH] updated frame camera tests for four corners of ccd --- tests/FrameCameraTests.cpp | 42 ++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/tests/FrameCameraTests.cpp b/tests/FrameCameraTests.cpp index 22e63ca..e5bddd4 100644 --- a/tests/FrameCameraTests.cpp +++ b/tests/FrameCameraTests.cpp @@ -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) { csm::ImageCoord imagePt(7.0, 7.0); csm::EcefCoord groundPt = sensorModel->imageToGround(imagePt, 0.0); @@ -59,19 +63,41 @@ TEST_F(FrameSensorModel, Center) { EXPECT_NEAR(groundPt.y, 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::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, SlightlyOffCenter) { - csm::ImageCoord imagePt(7.0, 6.0); +TEST_F(FrameSensorModel, OffBody2) { + csm::ImageCoord imagePt(-0.5, 14.5); 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); -} \ No newline at end of file + 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, 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); +} + -- GitLab