comparison UnitTestsSources/UnitTestsMain.cpp @ 999:2d69b8bee484

Added tests for Dicom structure set classes (loaders and utils)
author Benjamin Golinvaux <bgo@osimis.io>
date Fri, 20 Sep 2019 11:58:33 +0200
parents 118fc5c85d07
children ad4e21df4e40 2d8ab34c8c91
comparison
equal deleted inserted replaced
998:38b6bb0bdd72 999:2d69b8bee484
645 g.SetSizeInVoxels(10, 20, 30); 645 g.SetSizeInVoxels(10, 20, 30);
646 g.SetVoxelDimensions(1, 2, 3); 646 g.SetVoxelDimensions(1, 2, 3);
647 647
648 OrthancStone::Vector p = g.GetCoordinates(0, 0, 0); 648 OrthancStone::Vector p = g.GetCoordinates(0, 0, 0);
649 ASSERT_EQ(3u, p.size()); 649 ASSERT_EQ(3u, p.size());
650 ASSERT_FLOAT_EQ(-1.0 / 2.0, p[0]); 650 ASSERT_DOUBLE_EQ(-1.0 / 2.0, p[0]);
651 ASSERT_FLOAT_EQ(-2.0 / 2.0, p[1]); 651 ASSERT_DOUBLE_EQ(-2.0 / 2.0, p[1]);
652 ASSERT_FLOAT_EQ(-3.0 / 2.0, p[2]); 652 ASSERT_DOUBLE_EQ(-3.0 / 2.0, p[2]);
653 653
654 p = g.GetCoordinates(1, 1, 1); 654 p = g.GetCoordinates(1, 1, 1);
655 ASSERT_FLOAT_EQ(-1.0 / 2.0 + 10.0 * 1.0, p[0]); 655 ASSERT_DOUBLE_EQ(-1.0 / 2.0 + 10.0 * 1.0, p[0]);
656 ASSERT_FLOAT_EQ(-2.0 / 2.0 + 20.0 * 2.0, p[1]); 656 ASSERT_DOUBLE_EQ(-2.0 / 2.0 + 20.0 * 2.0, p[1]);
657 ASSERT_FLOAT_EQ(-3.0 / 2.0 + 30.0 * 3.0, p[2]); 657 ASSERT_DOUBLE_EQ(-3.0 / 2.0 + 30.0 * 3.0, p[2]);
658 658
659 OrthancStone::VolumeProjection proj; 659 OrthancStone::VolumeProjection proj;
660 ASSERT_TRUE(g.DetectProjection(proj, g.GetAxialGeometry().GetNormal())); 660 ASSERT_TRUE(g.DetectProjection(proj, g.GetAxialGeometry().GetNormal()));
661 ASSERT_EQ(OrthancStone::VolumeProjection_Axial, proj); 661 ASSERT_EQ(OrthancStone::VolumeProjection_Axial, proj);
662 ASSERT_TRUE(g.DetectProjection(proj, g.GetCoronalGeometry().GetNormal())); 662 ASSERT_TRUE(g.DetectProjection(proj, g.GetCoronalGeometry().GetNormal()));
674 ASSERT_EQ(30u, g.GetProjectionHeight(OrthancStone::VolumeProjection_Sagittal)); 674 ASSERT_EQ(30u, g.GetProjectionHeight(OrthancStone::VolumeProjection_Sagittal));
675 ASSERT_EQ(10u, g.GetProjectionDepth(OrthancStone::VolumeProjection_Sagittal)); 675 ASSERT_EQ(10u, g.GetProjectionDepth(OrthancStone::VolumeProjection_Sagittal));
676 676
677 p = g.GetVoxelDimensions(OrthancStone::VolumeProjection_Axial); 677 p = g.GetVoxelDimensions(OrthancStone::VolumeProjection_Axial);
678 ASSERT_EQ(3u, p.size()); 678 ASSERT_EQ(3u, p.size());
679 ASSERT_FLOAT_EQ(1, p[0]); 679 ASSERT_DOUBLE_EQ(1, p[0]);
680 ASSERT_FLOAT_EQ(2, p[1]); 680 ASSERT_DOUBLE_EQ(2, p[1]);
681 ASSERT_FLOAT_EQ(3, p[2]); 681 ASSERT_DOUBLE_EQ(3, p[2]);
682 p = g.GetVoxelDimensions(OrthancStone::VolumeProjection_Coronal); 682 p = g.GetVoxelDimensions(OrthancStone::VolumeProjection_Coronal);
683 ASSERT_EQ(3u, p.size()); 683 ASSERT_EQ(3u, p.size());
684 ASSERT_FLOAT_EQ(1, p[0]); 684 ASSERT_DOUBLE_EQ(1, p[0]);
685 ASSERT_FLOAT_EQ(3, p[1]); 685 ASSERT_DOUBLE_EQ(3, p[1]);
686 ASSERT_FLOAT_EQ(2, p[2]); 686 ASSERT_DOUBLE_EQ(2, p[2]);
687 p = g.GetVoxelDimensions(OrthancStone::VolumeProjection_Sagittal); 687 p = g.GetVoxelDimensions(OrthancStone::VolumeProjection_Sagittal);
688 ASSERT_EQ(3u, p.size()); 688 ASSERT_EQ(3u, p.size());
689 ASSERT_FLOAT_EQ(2, p[0]); 689 ASSERT_DOUBLE_EQ(2, p[0]);
690 ASSERT_FLOAT_EQ(3, p[1]); 690 ASSERT_DOUBLE_EQ(3, p[1]);
691 ASSERT_FLOAT_EQ(1, p[2]); 691 ASSERT_DOUBLE_EQ(1, p[2]);
692 692
693 ASSERT_EQ(0, (int) OrthancStone::VolumeProjection_Axial); 693 ASSERT_EQ(0, (int) OrthancStone::VolumeProjection_Axial);
694 ASSERT_EQ(1, (int) OrthancStone::VolumeProjection_Coronal); 694 ASSERT_EQ(1, (int) OrthancStone::VolumeProjection_Coronal);
695 ASSERT_EQ(2, (int) OrthancStone::VolumeProjection_Sagittal); 695 ASSERT_EQ(2, (int) OrthancStone::VolumeProjection_Sagittal);
696 696