comparison UnitTestsSources/UnitTestsMain.cpp @ 685:ea1a5b963798

unit test: VolumeImageGeometry.Basic
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 16 May 2019 17:00:42 +0200
parents b70e9be013e4
children 93a8949a1ef7
comparison
equal deleted inserted replaced
684:7719eb852dd5 685:ea1a5b963798
728 Json::Value response; 728 Json::Value response;
729 std::string source = "{\"command\":\"panel:takeDarkImage\",\"commandType\":\"simple\",\"args\":{}}"; 729 std::string source = "{\"command\":\"panel:takeDarkImage\",\"commandType\":\"simple\",\"args\":{}}";
730 ASSERT_TRUE(OrthancStone::MessagingToolbox::ParseJson(response, source.c_str(), source.size())); 730 ASSERT_TRUE(OrthancStone::MessagingToolbox::ParseJson(response, source.c_str(), source.size()));
731 } 731 }
732 732
733 TEST(VolumeImageGeometry, Basic)
734 {
735 OrthancStone::VolumeImageGeometry g;
736 g.SetSize(10, 20, 30);
737 g.SetVoxelDimensions(1, 2, 3);
738
739 OrthancStone::Vector p = g.GetCoordinates(0, 0, 0);
740 ASSERT_EQ(3u, p.size());
741 ASSERT_FLOAT_EQ(-1.0 / 2.0, p[0]);
742 ASSERT_FLOAT_EQ(-2.0 / 2.0, p[1]);
743 ASSERT_FLOAT_EQ(-3.0 / 2.0, p[2]);
744
745 p = g.GetCoordinates(1, 1, 1);
746 ASSERT_FLOAT_EQ(-1.0 / 2.0 + 10.0 * 1.0, p[0]);
747 ASSERT_FLOAT_EQ(-2.0 / 2.0 + 20.0 * 2.0, p[1]);
748 ASSERT_FLOAT_EQ(-3.0 / 2.0 + 30.0 * 3.0, p[2]);
749
750 OrthancStone::VolumeProjection proj;
751 ASSERT_TRUE(g.DetectProjection(proj, g.GetAxialGeometry()));
752 ASSERT_EQ(OrthancStone::VolumeProjection_Axial, proj);
753 ASSERT_TRUE(g.DetectProjection(proj, g.GetCoronalGeometry()));
754 ASSERT_EQ(OrthancStone::VolumeProjection_Coronal, proj);
755 ASSERT_TRUE(g.DetectProjection(proj, g.GetSagittalGeometry()));
756 ASSERT_EQ(OrthancStone::VolumeProjection_Sagittal, proj);
757 }
758
733 int main(int argc, char **argv) 759 int main(int argc, char **argv)
734 { 760 {
735 Orthanc::Logging::Initialize(); 761 Orthanc::Logging::Initialize();
736 Orthanc::Logging::EnableInfoLevel(true); 762 Orthanc::Logging::EnableInfoLevel(true);
737 763