Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
CLMRUtilities/test/mitkSmoothedClassProbabilitesTest.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #include <mitkTestingMacros.h>
14 #include <mitkTestFixture.h>
15 #include "mitkIOUtil.h"
16 
18 #include <mitkImageCast.h>
19 
20 class mitkSmoothedClassProbabilitesTestSuite : public mitk::TestFixture
21 {
22 
23  CPPUNIT_TEST_SUITE(mitkSmoothedClassProbabilitesTestSuite );
24 
25  MITK_TEST(TrainSVMClassifier);
26  // MITK_TEST(TestThreadedDecisionForest);
27 
28  CPPUNIT_TEST_SUITE_END();
29 
30 private:
31 
32  typedef itk::Image<double,3> ImageType;
33  mitk::Image::Pointer p1,p2,p3,pmask;
34  ImageType::Pointer i1,i2,i3,imask;
35 
36 public:
37 
38 
39  void setUp(void)
40  {
41 
42  // Load Image Data
43  p1 = mitk::IOUtil::Load<mitk::Image>(GetTestDataFilePath("Classification/Algorithm/ResultProb_Class-0_0.nrrd"));
44  p2 = mitk::IOUtil::Load<mitk::Image>(GetTestDataFilePath("Classification/Algorithm/ResultProb_Class-1_0.nrrd"));
45  p3 = mitk::IOUtil::Load<mitk::Image>(GetTestDataFilePath("Classification/Algorithm/ResultProb_Class-2_0.nrrd"));
46  pmask = mitk::IOUtil::Load<mitk::Image>(GetTestDataFilePath("Classification/Algorithm/mask.nrrd"));
47 
48  mitk::CastToItkImage(p1,i1);
49  mitk::CastToItkImage(p2,i2);
50  mitk::CastToItkImage(p3,i3);
51  mitk::CastToItkImage(pmask,imask);
52  }
53 
54  void TrainSVMClassifier()
55  {
57  filter->SetInput(0,i1);
58  filter->SetInput(1,i2);
59  filter->SetInput(2,i3);
60  filter->SetMaskImage(imask);
61  filter->SetSigma(1.0);
62  filter->Update();
63 
65  mitk::CastToMitkImage(filter->GetOutput(), out);
66 
67  mitk::IOUtil::Save(out, "/Users/jc/test.nrrd");
68  }
69 
70  void TestThreadedDecisionForest()
71  {
72  // m_LoadedDecisionForest->SetCollection(m_TrainDatacollection);
73  // m_LoadedDecisionForest->SetModalities(m_Selected_items);
74  // m_LoadedDecisionForest->SetMaskName("ClassMask");
75  // m_LoadedDecisionForest->SetResultMask("ResultMask");
76  // m_LoadedDecisionForest->SetResultProb("ResultProb");
77  // m_LoadedDecisionForest->TestThreaded();
78 
79  // mitk::DataCollection::Pointer res_col = dynamic_cast<mitk::DataCollection *>(dynamic_cast<mitk::DataCollection *>(m_TrainDatacollection->GetData("Test-Study").GetPointer())->GetData("Test-Subject").GetPointer());
80  // mitk::IOUtil::Save(res_col->GetMitkImage("ResultMask"),"/Users/jc/res_mask.nrrd");
81  // mitk::IOUtil::Save(res_col->GetMitkImage("ResultProb_Class-0"),"/Users/jc/res_prob_0.nrrd");
82  // mitk::IOUtil::Save(res_col->GetMitkImage("ResultProb_Class-1"),"/Users/jc/res_prob_1.nrrd");
83  // mitk::IOUtil::Save(res_col->GetMitkImage("ResultProb_Class-2"),"/Users/jc/res_prob_2.nrrd");
84  }
85 
86 };
87 
88 MITK_TEST_SUITE_REGISTRATION(mitkSmoothedClassProbabilites)
89 
90 
MITK_TEST_SUITE_REGISTRATION(mitkImageToItk)
itk::Image< unsigned char, 3 > ImageType
#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.
void CastToMitkImage(const itk::SmartPointer< ItkOutputImageType > &itkimage, itk::SmartPointer< mitk::Image > &mitkoutputimage)
Cast an itk::Image (with a specific type) to an mitk::Image.
Definition: mitkImageCast.h:74
void MITKCORE_EXPORT CastToItkImage(const mitk::Image *mitkImage, itk::SmartPointer< ItkOutputImageType > &itkOutputImage)
Cast an mitk::Image to an itk::Image with a specific type.
static void Save(const mitk::BaseData *data, const std::string &path, bool setPathProperty=false)
Save a mitk::BaseData instance.
Definition: mitkIOUtil.cpp:774