25 CPPUNIT_TEST_SUITE(mitkPhotoacousticVesselTreeTestSuite);
28 CPPUNIT_TEST_SUITE_END();
34 VesselTree::Pointer m_Tree;
35 VesselProperties::Pointer m_VesselProperties;
37 InSilicoTissueVolume::Pointer m_TestInSilicoVolume;
42 m_Tree = VesselTree::New(m_VesselProperties);
44 auto rng = std::mt19937();
48 TissueGeneratorParameters::Pointer createTestVolumeParameters()
50 auto returnParameters =
53 returnParameters->SetXDim(10);
54 returnParameters->SetYDim(10);
55 returnParameters->SetZDim(10);
56 returnParameters->SetMinBackgroundAbsorption(0);
57 returnParameters->SetMaxBackgroundAbsorption(0);
58 returnParameters->SetBackgroundScattering(0);
59 returnParameters->SetBackgroundAnisotropy(0);
60 return returnParameters;
63 void testVesselTreeInitialBehavior()
65 CPPUNIT_ASSERT(m_Tree->IsFinished() ==
true);
68 void testCallStepMethod()
72 m_VesselProperties->SetRadiusInVoxel(2);
75 m_Tree = VesselTree::New(m_VesselProperties);
76 m_Tree->Step(m_TestInSilicoVolume, m_StraightLine, 0, &rng);
79 auto secondTree = VesselTree::New(m_VesselProperties);
80 secondTree->Step(m_TestInSilicoVolume, m_StraightLine, 0, &rng);
82 CPPUNIT_ASSERT(
Equal(m_Tree, secondTree, 1e-6,
true));
84 secondTree->Step(m_TestInSilicoVolume, m_StraightLine, 0, &rng);
86 CPPUNIT_ASSERT(!
Equal(m_Tree, secondTree, 1e-6,
true));
91 secondTree->Step(m_TestInSilicoVolume, m_StraightLine, 0, &rng);
92 if (secondTree->IsFinished())
96 CPPUNIT_ASSERT(i < 999);
99 void tearDown()
override MITK_TEST_SUITE_REGISTRATION(mitkImageToItk)
#define MITK_TEST(TESTMETHOD)
Adds a test to the current test suite.
static InSilicoTissueVolume::Pointer New(mitk::pa::Volume::Pointer absorptionVolume, Volume::Pointer scatteringVolume, Volume::Pointer anisotropyVolume, Volume::Pointer segmentationVolume, TissueGeneratorParameters::Pointer tissueParameters, mitk::PropertyList::Pointer propertyList)
MITKPHOTOACOUSTICSLIB_EXPORT bool Equal(const MonteCarloThreadHandler::Pointer leftHandSide, const MonteCarloThreadHandler::Pointer rightHandSide, double eps, bool verbose)
Equal A function comparing two thread handlers for beeing equal.
Test fixture for parameterized tests.
void CalculateNewDirectionVectorInStraightLine(Vector::Pointer direction, double bendingFactor, std::mt19937 *rng)
CalculateNewPositionInStraightLine calculates the new position by just following the direction vector...
void(VesselMeanderStrategy::* CalculateNewVesselPositionCallback)(Vector::Pointer, double, std::mt19937 *)