| 17 | #include <mitkStandaloneDataStorage.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]; |
| 24 | mitk::VolumeCalculator::Pointer volumeCalculator = mitk::VolumeCalculator::New(); |
| 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 | } |
| 57 | MITK_TEST_END() |
| 58 | } |
nothing calls this directly
no test coverage detected