diff --git a/src/UsgsAstroProjectedSensorModel.cpp b/src/UsgsAstroProjectedSensorModel.cpp index 6ee91166e5eebfe6d0c9e384622bd181132f6536..f685719e2445386057bd6bdd9a8261e04cb9fbb9 100644 --- a/src/UsgsAstroProjectedSensorModel.cpp +++ b/src/UsgsAstroProjectedSensorModel.cpp @@ -197,7 +197,9 @@ UsgsAstroProjectedSensorModel::UsgsAstroProjectedSensorModel() {} //***************************************************************************** // UsgsAstroProjectedSensorModel Destructor //***************************************************************************** -UsgsAstroProjectedSensorModel::~UsgsAstroProjectedSensorModel() {} +UsgsAstroProjectedSensorModel::~UsgsAstroProjectedSensorModel() { + delete m_camera; +} //--------------------------------------------------------------------------- // Core Photogrammetry @@ -287,6 +289,12 @@ csm::EcefCoord UsgsAstroProjectedSensorModel::imageToGround( std::vector<double> meterCoord = pixelToMeter(image_pt.line, image_pt.samp, m_geoTransform); meterLine = meterCoord[0]; meterSamp = meterCoord[1]; + MESSAGE_LOG( + spdlog::level::trace, + "METERS X: {0:.15f}", meterLine); + MESSAGE_LOG( + spdlog::level::trace, + "METERS Y: {0:.15f}", meterSamp); PJ_CONTEXT *C = proj_context_create(); /* Create a projection. */ diff --git a/src/Utilities.cpp b/src/Utilities.cpp index dfcfae3b042c867b84c465664ad11b4176d316d4..46be2632bc17e161842817c755119dd3779073c5 100644 --- a/src/Utilities.cpp +++ b/src/Utilities.cpp @@ -1532,16 +1532,10 @@ std::vector<double> pixelToMeter(double line, double sample, std::vector<double> double meter_x = (sample * geoTransform[1]) + geoTransform[0]; double meter_y = (line * geoTransform[5]) + geoTransform[3]; - meter_x += geoTransform[1] * 0.5; - meter_y += geoTransform[5] * 0.5; - return {meter_y, meter_x}; } std::vector<double> meterToPixel(double meter_x, double meter_y, std::vector<double> geoTransform) { - meter_x -= geoTransform[1] * 0.5; - meter_y -= geoTransform[5] * 0.5; - double sample = (meter_x - geoTransform[0]) / geoTransform[1]; double line = (meter_y - geoTransform[3]) / geoTransform[5]; diff --git a/tests/PluginTests.cpp b/tests/PluginTests.cpp index 1396c84d174ee2530176f2f2ddca800ce12c1cdd..d356745417e15e77d5d7744214957c34e83ea630 100644 --- a/tests/PluginTests.cpp +++ b/tests/PluginTests.cpp @@ -26,7 +26,7 @@ TEST(PluginTests, ReleaseDate) { TEST(PluginTests, NumModels) { UsgsAstroPlugin testPlugin; - EXPECT_EQ(4, testPlugin.getNumModels()); + EXPECT_EQ(5, testPlugin.getNumModels()); } TEST(PluginTests, BadISDFile) { diff --git a/tests/UtilitiesTests.cpp b/tests/UtilitiesTests.cpp index 36a2294b6d3a0b29b2f95f63b26f7dcdc374ed2a..216f987ca1248e629dde4f13da9a3ea6abe7dd19 100644 --- a/tests/UtilitiesTests.cpp +++ b/tests/UtilitiesTests.cpp @@ -639,7 +639,7 @@ TEST(UtilitiesTests, sanitizeTest) { TEST(UtilitiesTests, pixelToMeterTest) { std::vector<double> geoTransform = {-104607.78948592, 4.980137561815, 0.0, -570564.40018202, 0.0, -4.980137561815}; - std::vector<double> ret = pixelToMeter(13.1191, 4981.08, geoTransform); + std::vector<double> ret = pixelToMeter(13.6191, 4981.58, geoTransform); EXPECT_NEAR(ret[0], -570632.225173488, 1e-4); EXPECT_NEAR(ret[1], -79798.83581073358, 1e-4); } @@ -647,6 +647,6 @@ TEST(UtilitiesTests, pixelToMeterTest) { TEST(UtilitiesTests, meterToPixelTest) { std::vector<double> geoTransform = {-104607.78948592, 4.980137561815, 0.0, -570564.40018202, 0.0, -4.980137561815}; std::vector<double> ret = meterToPixel(-79798.83581073358, -570632.225173488, geoTransform); - EXPECT_NEAR(ret[0], 13.1191, 1e-4); - EXPECT_NEAR(ret[1], 4981.0800000000099, 1e-4); + EXPECT_NEAR(ret[0], 13.6191, 1e-4); + EXPECT_NEAR(ret[1], 4981.5800000000099, 1e-4); } \ No newline at end of file