13 #ifndef mitkSurfaceInterpolationController_h_Included 14 #define mitkSurfaceInterpolationController_h_Included 31 #include "vtkAppendPolyData.h" 32 #include "vtkCellArray.h" 33 #include "vtkPoints.h" 34 #include "vtkPolyData.h" 35 #include "vtkPolygon.h" 36 #include "vtkSmartPointer.h" 40 #include "vtkImageData.h" 41 #include "vtkMarchingCubes.h" 42 #include "vtkProperty.h" 52 itkFactorylessNewMacro(Self);
54 itkGetMacro(DistanceImageSpacing,
double);
65 typedef std::map<mitk::Image *, ContourPositionInformationVec2D>
ContourListMap;
71 if (m_CurrentTimePoint != tp)
73 m_CurrentTimePoint = tp;
75 if (m_SelectedSegmentation)
77 this->ReinitializeInterpolation();
103 void AddNewContours(std::vector<Surface::Pointer> newContours);
116 unsigned int GetNumberOfContours();
129 void SetMinSpacing(
double minSpacing);
135 void SetMaxSpacing(
double maxSpacing);
141 void SetDistanceImageVolume(
unsigned int distImageVolume);
149 Surface *GetContoursAsSurface();
192 void RemoveAllInterpolationSessions();
206 double EstimatePortionOfNeededMemory();
208 unsigned int GetNumberOfInterpolationSessions();
215 template <
typename TPixel,
unsigned int VImageDimension>
216 void GetImageBase(itk::Image<TPixel, VImageDimension> *input, itk::ImageBase<3>::Pointer &result);
219 void ReinitializeInterpolation();
221 void OnSegmentationDeleted(
const itk::Object *caller,
const itk::EventObject &event);
231 double m_DistanceImageSpacing;
233 vtkSmartPointer<vtkPolyData> m_PolyData;
237 ContourListMap m_ListOfInterpolationSessions;
241 unsigned int m_CurrentNumberOfReducedContours;
245 std::map<mitk::Image *, unsigned long> m_SegmentationObserverTags;
Class for storing surfaces (vtkPolyData).
std::vector< ContourPositionInformationList > ContourPositionInformationVec2D
std::map< mitk::Image *, ContourPositionInformationVec2D > ContourListMap
DataCollection - Class to facilitate loading/accessing structured data.
Constants for most interaction classes, due to the generic StateMachines.
std::vector< ContourPositionInformation > ContourPositionInformationList
#define MITKSURFACEINTERPOLATION_EXPORT
#define mitkClassMacroItkParent(className, SuperClassName)
Image class for storing images.
TimePointType GetCurrentTimePoint() const
void SetCurrentTimePoint(TimePointType tp)
mitk::ScalarType TimePointType