13 #ifndef mitkPlanarFigureMaskGenerator_h
14 #define mitkPlanarFigureMaskGenerator_h
21 #include <vtkSmartPointer.h>
70 itkGetConstMacro(PlanarFigureAxis,
unsigned int);
73 itkGetConstMacro(PlanarFigureSlice,
unsigned int);
94 m_ReferenceImage(nullptr),
95 m_PlanarFigureAxis(0),
96 m_InternalMaskUpdateTime(0),
97 m_PlanarFigureSlice(0)
105 void CalculateMask();
107 template <
typename TPixel,
unsigned int VImageDimension>
108 void InternalCalculateMaskFromClosedPlanarFigure(
const itk::Image<TPixel, VImageDimension> *image,
unsigned int axis);
110 template <
typename TPixel,
unsigned int VImageDimension>
111 void InternalCalculateMaskFromOpenPlanarFigure(
const itk::Image<TPixel, VImageDimension> *image,
unsigned int axis);
113 mitk::Image::ConstPointer Extract2DImageSlice(
const Image* input,
unsigned int axis,
unsigned int slice)
const;
116 static bool GetPrincipalAxis(
const BaseGeometry *geometry,
Vector3D vector,
unsigned int &axis);
119 template <
typename ITK_Exporter,
typename VTK_Importer>
122 importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback());
124 importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback());
125 importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback());
126 importer->SetSpacingCallback(exporter->GetSpacingCallback());
127 importer->SetOriginCallback(exporter->GetOriginCallback());
128 importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback());
130 importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback());
132 importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback());
133 importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback());
134 importer->SetDataExtentCallback(exporter->GetDataExtentCallback());
135 importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback());
136 importer->SetCallbackUserData(exporter->GetCallbackUserData());
140 template <
typename VTK_Exporter,
typename ITK_Importer>
143 importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback());
145 importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback());
146 importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback());
147 importer->SetSpacingCallback(exporter->GetSpacingCallback());
148 importer->SetOriginCallback(exporter->GetOriginCallback());
149 importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback());
151 importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback());
153 importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback());
154 importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback());
155 importer->SetDataExtentCallback(exporter->GetDataExtentCallback());
156 importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback());
157 importer->SetCallbackUserData(exporter->GetCallbackUserData());
160 bool IsUpdateRequired()
const;
162 mitk::PlanarFigure::Pointer m_PlanarFigure;
163 itk::Image<unsigned short, 2>::Pointer m_InternalITKImageMask2D;
164 mitk::Image::ConstPointer m_ReferenceImage;
165 unsigned int m_PlanarFigureAxis;
166 unsigned long m_InternalMaskUpdateTime;
167 unsigned int m_PlanarFigureSlice;
168 mitk::Image::Pointer m_InternalMask;
#define MITKIMAGESTATISTICS_EXPORT
Abstract base class describing the geometry of a data object.
Image class for storing multi-dimensional medical image data.
Abstract base class for all mask generators used in image statistics.
Describes the geometry of a plane object.
Find image slices visible on a given plane.