17 #ifndef mitkSurfaceInterpolationController_h_Included
18 #define mitkSurfaceInterpolationController_h_Included
36 #include "vtkAppendPolyData.h"
37 #include "vtkCellArray.h"
38 #include "vtkPoints.h"
39 #include "vtkPolyData.h"
40 #include "vtkPolygon.h"
41 #include "vtkSmartPointer.h"
45 #include "vtkImageData.h"
46 #include "vtkMarchingCubes.h"
47 #include "vtkProperty.h"
59 itkGetMacro(DistanceImageSpacing,
double)
71 typedef std::map<mitk::Image *, ContourPositionInformationVec2D>
ContourListMap;
77 if (m_CurrentTimeStep != ts)
79 m_CurrentTimeStep = ts;
81 if (m_SelectedSegmentation)
83 this->ReinitializeInterpolation();
101 bool RemoveContour(ContourPositionInformation contourInfo);
108 void AddNewContours(std::vector<Surface::Pointer> newContours);
115 const mitk::Surface *GetContour(ContourPositionInformation contourInfo);
121 unsigned int GetNumberOfContours();
134 void SetMinSpacing(
double minSpacing);
140 void SetMaxSpacing(
double maxSpacing);
146 void SetDistanceImageVolume(
unsigned int distImageVolume);
154 Surface *GetContoursAsSurface();
197 void RemoveAllInterpolationSessions();
211 double EstimatePortionOfNeededMemory();
213 unsigned int GetNumberOfInterpolationSessions();
220 template <
typename TPixel,
unsigned int VImageDimension>
224 void ReinitializeInterpolation();
226 void OnSegmentationDeleted(
const itk::Object *caller,
const itk::EventObject &event);
228 void AddToInterpolationPipeline(ContourPositionInformation contourInfo);
236 double m_DistanceImageSpacing;
238 vtkSmartPointer<vtkPolyData> m_PolyData;
242 ContourListMap m_ListOfInterpolationSessions;
246 unsigned int m_CurrentNumberOfReducedContours;
250 std::map<mitk::Image *, unsigned long> m_SegmentationObserverTags;
252 unsigned int m_CurrentTimeStep;
Class for storing surfaces (vtkPolyData).
void SetCurrentTimeStep(unsigned int ts)
itk::SmartPointer< Self > Pointer
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
mitk::DataStorage::Pointer m_DataStorage
#define mitkClassMacroItkParent(className, SuperClassName)
Image class for storing images.
unsigned int GetCurrentTimeStep()