20 #include <vtkDataArray.h> 21 #include <vtkImageData.h> 22 #include <vtkPointData.h> 24 class vtkMitkThickSlicesFilterTestHelper
31 auto dim =
new unsigned int[3];
34 dim[2] = max + 1 -
min;
35 testImage->Initialize(pixelType, 3, dim);
36 size_t buffer_size = dim[0] * dim[1] *
sizeof(
unsigned char);
38 for (
int i = min; i <=
max; ++i)
41 memset(writeAccess.GetData(), i, buffer_size);
47 static void EvaluateResult(
unsigned char expectedValue, vtkImageData *
image,
const char *projection)
50 image->GetDimensions()[0] == 10 && image->GetDimensions()[1] == 10 && image->GetDimensions()[2] == 1,
51 "Resulting image has correct size");
53 auto *value =
static_cast<unsigned char *
>(image->GetScalarPointer(0, 0, 0));
54 MITK_INFO <<
"Evaluating projection mode: " << projection;
55 MITK_INFO <<
"expected value: " <<
static_cast<double>(expectedValue);
56 MITK_INFO <<
"actual value: " <<
static_cast<double>(value[0]);
78 thickSliceFilter->SetInputData(testImage1->GetVtkImageData());
82 thickSliceFilter->Modified();
83 thickSliceFilter->Update();
84 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(2, thickSliceFilter->GetOutput(),
"MaxIP");
88 thickSliceFilter->Modified();
89 thickSliceFilter->Update();
90 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(1, thickSliceFilter->GetOutput(),
"Sum");
94 thickSliceFilter->Modified();
95 thickSliceFilter->Update();
96 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(1, thickSliceFilter->GetOutput(),
"Weighted");
100 thickSliceFilter->Modified();
101 thickSliceFilter->Update();
102 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(0, thickSliceFilter->GetOutput(),
"MinIP");
106 thickSliceFilter->Modified();
107 thickSliceFilter->Update();
108 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(1, thickSliceFilter->GetOutput(),
"Mean");
120 thickSliceFilter->SetInputData(testImage2->GetVtkImageData());
124 thickSliceFilter->Modified();
125 thickSliceFilter->Update();
126 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(8, thickSliceFilter->GetOutput(),
"MaxIP");
130 thickSliceFilter->Modified();
131 thickSliceFilter->Update();
132 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(5, thickSliceFilter->GetOutput(),
"Sum");
136 thickSliceFilter->Modified();
137 thickSliceFilter->Update();
138 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(4, thickSliceFilter->GetOutput(),
"Weighted");
142 thickSliceFilter->Modified();
143 thickSliceFilter->Update();
144 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(3, thickSliceFilter->GetOutput(),
"MinIP");
148 thickSliceFilter->Modified();
149 thickSliceFilter->Update();
150 vtkMitkThickSlicesFilterTestHelper::EvaluateResult(6, thickSliceFilter->GetOutput(),
"Mean");
152 thickSliceFilter->Delete();
#define MITK_TEST_CONDITION_REQUIRED(COND, MSG)
section GeneralTestsDeprecatedOldTestingStyle Deprecated macros All tests with MITK_TEST_BEGIN()
static vtkMitkThickSlicesFilter * New()
mitk::Image::Pointer image
int vtkMitkThickSlicesFilterTest(int, char *[])
ImageWriteAccessor class to get locked write-access for a particular image part.
void SetThickSliceMode(int mode)
Class for defining the data type of pixels.