Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkVolumeCalculatorTest.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 "mitkIOUtil.h"
14 #include "mitkImage.h"
15 #include "mitkTestingMacros.h"
16 #include "mitkVolumeCalculator.h"
18 
19 int mitkVolumeCalculatorTest(int /*argc*/, char *argv[])
20 {
21  MITK_TEST_BEGIN("VolumeCalculator")
22  const char *filename = argv[1];
23  const char *filename3D = argv[2];
25  //*********************************************************************
26  // Part I: Testing calculated volume.
27  // The correct values have been manually calculated using external software.
28  //*********************************************************************
29 
30  mitk::Image::Pointer image = mitk::IOUtil::Load<mitk::Image>(filename);
31  MITK_TEST_CONDITION_REQUIRED(image.IsNotNull(), "01 Check if test image could be loaded");
32 
33  volumeCalculator->SetImage(image);
34  volumeCalculator->SetThreshold(0);
35  volumeCalculator->ComputeVolume();
36  float volume = volumeCalculator->GetVolume();
37 
38  MITK_TEST_CONDITION_REQUIRED(volume == 1600, "02 Test Volume Result. Expected 1600 actual value " << volume);
39 
40  volumeCalculator->SetThreshold(255);
41  volumeCalculator->ComputeVolume();
42  volume = volumeCalculator->GetVolume();
43 
44  MITK_TEST_CONDITION_REQUIRED(volume == 1272.50, "03 Test Volume Result. Expected 1272.50 actual value " << volume);
45 
46  image = mitk::IOUtil::Load<mitk::Image>(filename3D);
47 
48  volumeCalculator->SetImage(image);
49  volumeCalculator->SetThreshold(-1023);
50  volumeCalculator->ComputeVolume();
51  std::vector<float> volumes = volumeCalculator->GetVolumes();
52 
53  for (auto it = volumes.begin(); it != volumes.end(); ++it)
54  {
55  MITK_TEST_CONDITION_REQUIRED((*it) == 24.576f, "04 Test Volume Result.");
56  }
58 }
#define MITK_TEST_CONDITION_REQUIRED(COND, MSG)
section GeneralTestsDeprecatedOldTestingStyle Deprecated macros All tests with MITK_TEST_BEGIN()
int mitkVolumeCalculatorTest(int, char *argv[])
mitk::Image::Pointer image
and MITK_TEST_END()
static Pointer New()