21 CPPUNIT_TEST_SUITE(mitkRTStructureSetReaderServiceTestSuite);
23 CPPUNIT_TEST_SUITE_END();
26 std::vector<mitk::ContourModelSet::Pointer> structureSets;
34 CPPUNIT_ASSERT_EQUAL(baseDataVector.size(), size_t(16));
35 for (
auto& baseData : baseDataVector) {
37 CPPUNIT_ASSERT_EQUAL(contour !=
nullptr,
true);
39 if (contour->GetSize() > 0) {
40 structureSets.push_back(contour);
45 void TestStructureSets()
47 auto contourModelVectorCorrect = LoadGroundTruthData();
50 unsigned int comparedStructs = 0;
51 for (
const auto& aStructTest : structureSets)
53 const std::string nameTest = aStructTest->GetProperty(
"name")->GetValueAsString();
54 for (
const auto& aStructCorrect : contourModelVectorCorrect)
56 const std::string nameCorrect = aStructCorrect->GetProperty(
"name")->GetValueAsString();
57 if (nameTest == nameCorrect) {
58 if (!Compare(aStructTest, aStructCorrect)) {
68 CPPUNIT_ASSERT(equal);
70 unsigned int structsExpected = 6;
71 CPPUNIT_ASSERT_EQUAL(comparedStructs, structsExpected);
76 if (c1->GetSize() != c2->GetSize())
78 MITK_INFO <<
"Number of ContourModelSets different" << std::endl;
83 for (
int i = 0; i < c1->GetSize(); ++i)
88 if (cm1->GetNumberOfVertices() != cm2->GetNumberOfVertices())
90 MITK_INFO <<
"Number of Vertices different" << std::endl;
95 for (
int j = 0; j < cm1->GetNumberOfVertices(); ++j)
99 if (!
Equal(p1, p2, 0.001)) {
116 std::vector<mitk::ContourModelSet::Pointer> LoadGroundTruthData()
118 std::vector<mitk::ContourModelSet::Pointer> allStructs;
120 allStructs.push_back(LoadFileWithNameProperty(
"RT/StructureSet/BODY.cnt_set",
"BODY"));
121 allStructs.push_back(LoadFileWithNameProperty(
"RT/StructureSet/Bladder.cnt_set",
"Bladder"));
122 allStructs.push_back(LoadFileWithNameProperty(
"RT/StructureSet/Femoral Head Lt.cnt_set",
"Femoral Head Lt"));
123 allStructs.push_back(LoadFileWithNameProperty(
"RT/StructureSet/Femoral Head RT.cnt_set",
"Femoral Head RT"));
124 allStructs.push_back(LoadFileWithNameProperty(
"RT/StructureSet/PTV.cnt_set",
"PTV"));
125 allStructs.push_back(LoadFileWithNameProperty(
"RT/StructureSet/Rectum.cnt_set",
"Rectum"));
MITK_TEST_SUITE_REGISTRATION(mitkImageToItk)
#define MITK_TEST(TESTMETHOD)
Adds a test to the current test suite.
static std::string GetTestDataFilePath(const std::string &testData)
Get the absolute path for test data.
Test fixture for parameterized tests.
MITKNEWMODULE_EXPORT bool Equal(mitk::ExampleDataStructure *leftHandSide, mitk::ExampleDataStructure *rightHandSide, mitk::ScalarType eps, bool verbose)
Returns true if the example data structures are considered equal.
static DataStorage::SetOfObjects::Pointer Load(const std::string &path, DataStorage &storage, const ReaderOptionsFunctorBase *optionsCallback=nullptr)
Load a file into the given DataStorage.