30 ItkImageType2D::Pointer image = ItkImageType2D::New();
31 ItkImageType2D::IndexType start;
34 ItkImageType2D::SizeType size;
37 ItkImageType2D::RegionType region;
39 region.SetIndex( start);
40 ItkImageType2D::SpacingType spacing;
44 image->SetRegions( region );
45 image->SetSpacing ( spacing );
52 imageIterator.GoToBegin();
53 itk::Statistics::MersenneTwisterRandomVariateGenerator::Pointer randomGenerator = itk::Statistics::MersenneTwisterRandomVariateGenerator::New();
54 while (!imageIterator.IsAtEnd())
56 double pixelValue = randomGenerator->GetUniformVariate(0.0,1000.0);
57 imageIterator.Set(pixelValue);
60 mitk::Image::Pointer mitkImage = mitk::Image::New();
61 mitk::CastToMitkImage(image,mitkImage);
88 MITK_TEST_BEGIN(
"ToFImageRecorder");
89 mitk::ToFImageRecorderFilter::Pointer tofImageRecorderFilter = mitk::ToFImageRecorderFilter::New();
90 std::string dirName = MITK_TOF_DATA_DIR;
91 MITK_TEST_OUTPUT(<<
"Test SetFileName()");
92 std::string testFileName = dirName +
"test.nrrd";
93 MITK_TEST_FOR_EXCEPTION_BEGIN(std::logic_error);
94 tofImageRecorderFilter->SetFileName(testFileName);
95 MITK_TEST_FOR_EXCEPTION_END(std::logic_error);
96 testFileName = dirName +
"test.nrrd";
97 tofImageRecorderFilter->SetFileName(testFileName);
98 mitk::ToFImageWriter::Pointer tofImageWriter = tofImageRecorderFilter->GetToFImageWriter();
99 std::string requiredName = dirName +
"test_DistanceImage.nrrd";
100 std::string name = tofImageWriter->GetDistanceImageFileName();
101 MITK_TEST_CONDITION_REQUIRED(requiredName==name,
"Test for distance image file name");
102 requiredName = dirName +
"test_AmplitudeImage.nrrd";
103 name = tofImageWriter->GetAmplitudeImageFileName();
104 MITK_TEST_CONDITION_REQUIRED(requiredName==name,
"Test for amplitude image file name");
105 requiredName = dirName +
"test_IntensityImage.nrrd";
106 name = tofImageWriter->GetIntensityImageFileName();
107 MITK_TEST_CONDITION_REQUIRED(requiredName==name,
"Test for intensity image file name");
113 MITK_TEST_OUTPUT(<<
"Apply filter");
114 tofImageRecorderFilter->StartRecording();
115 tofImageRecorderFilter->SetInput(0,testDistanceImage);
116 tofImageRecorderFilter->SetInput(1,testAmplitudeImage);
117 tofImageRecorderFilter->SetInput(2,testIntensityImage);
118 tofImageRecorderFilter->Update();
120 MITK_TEST_OUTPUT(<<
"Test outputs of filter");
121 mitk::Image::Pointer outputDistanceImage = tofImageRecorderFilter->GetOutput();
122 MITK_TEST_CONDITION_REQUIRED(CompareImages(testDistanceImage,outputDistanceImage),
"Test output 0 (distance image)");
123 mitk::Image::Pointer outputAmplitudeImage = tofImageRecorderFilter->GetOutput(1);
124 MITK_TEST_CONDITION_REQUIRED(CompareImages(testAmplitudeImage,outputAmplitudeImage),
"Test output 1 (amplitude image)");
125 mitk::Image::Pointer outputIntensityImage = tofImageRecorderFilter->GetOutput(2);
126 MITK_TEST_CONDITION_REQUIRED(CompareImages(testIntensityImage,outputIntensityImage),
"Test output 2 (intensity image)");
127 tofImageRecorderFilter->StopRecording();
129 MITK_TEST_OUTPUT(<<
"Test content of written files");
130 mitk::ItkImageFileReader::Pointer imageReader = mitk::ItkImageFileReader::New();
131 std::string testDistanceImageName = dirName +
"test_DistanceImage.nrrd";
132 imageReader->SetFileName(testDistanceImageName);
133 imageReader->Update();
134 mitk::Image::Pointer loadedDistanceImage = imageReader->GetOutput();
135 MITK_TEST_CONDITION_REQUIRED(CompareImages(testDistanceImage,loadedDistanceImage),
"Test loaded image 0 (distance image)");
136 std::string testAmplitudeImageName = dirName +
"test_AmplitudeImage.nrrd";
137 imageReader->SetFileName(testAmplitudeImageName);
138 imageReader->Update();
139 mitk::Image::Pointer loadedAmplitudeImage = imageReader->GetOutput();
140 MITK_TEST_CONDITION_REQUIRED(CompareImages(testAmplitudeImage,loadedAmplitudeImage),
"Test loaded image 1 (amplitude image)");
141 std::string testIntensityImageName = dirName +
"test_IntensityImage.nrrd";
142 imageReader->SetFileName(testIntensityImageName);
143 imageReader->Update();
144 mitk::Image::Pointer loadedIntensityImage = imageReader->GetOutput();
145 MITK_TEST_CONDITION_REQUIRED(CompareImages(testIntensityImage,loadedIntensityImage),
"Test loaded image 2 (intensity image)");
148 if( remove( testDistanceImageName.c_str() ) != 0 )
150 MITK_ERROR<<
"File: test_DistanceImage.nrrd not successfully deleted!";
152 if( remove( testAmplitudeImageName.c_str() ) != 0 )
154 MITK_ERROR<<
"File: test_AmplitudeImage.nrrd not successfully deleted!";
156 if( remove( testIntensityImageName.c_str() ) != 0 )
158 MITK_ERROR<<
"File: test_IntensityImage.nrrd not successfully deleted!";