36 #ifndef TGSTKIMAGEPROCESSORBASE_H
37 #define TGSTKIMAGEPROCESSORBASE_H
39 #define assertImageNumberOfScalarComponents(image, numberOfScalarComponents) _assertImageNumberOfScalarComponents(image, numberOfScalarComponents, #image)
40 #define assertImageScalarType(image, scalarTypes) _assertImageScalarType(image, scalarTypes, #image)
46 #include <vtkImageData.h>
47 #include <vtkSmartPointer.h>
59 bool _assertImageNumberOfScalarComponents(vtkSmartPointer<vtkImageData> image, std::vector<int> numberOfScalarComponents, std::string name);
60 bool _assertImageScalarType(vtkSmartPointer<vtkImageData> image, std::vector<int> scalarTypes, std::string name);
61 bool assertEqualImageDimensions(std::vector<vtkSmartPointer<vtkImageData>> images);
62 bool assertEqualImageSpacings(std::vector<vtkSmartPointer<vtkImageData>> images);
63 template<
typename Type>
static void fillImage(vtkSmartPointer<vtkImageData> image, Type value);
64 static vtkSmartPointer<vtkImageData> getNewImageFromReferenceImage(vtkSmartPointer<vtkImageData> reference,
int type,
int numberOfComponents=1);
67 template<
typename Type>
70 int* dimensions = image->GetDimensions();
71 int components = image->GetNumberOfScalarComponents();
73 for (
int z=0; z<dimensions[2]; z++) {
75 for (
int y=0; y<dimensions[1]; y++) {
77 for (
int x=0; x<dimensions[0]; x++) {
79 for (
int c=0; c<components; c++) {
81 static_cast<Type*
>(image->GetScalarPointer(x, y, z))[c] = value;
88 #endif // TGSTKIMAGEPROCESSORBASE_H