13 #ifndef mitkSurfaceInterpolationController_h
14 #define mitkSurfaceInterpolationController_h
25 class ComputeContourSetNormalsFilter;
26 class CreateDistanceImageFromSurfaceFilter;
28 class ReduceContourSetFilter;
34 itkFactorylessNewMacro(Self);
58 LabelValue(labelValue),
69 typedef std::vector<ContourPositionInformation>
CPIVector;
77 void AddNewContours(
const std::vector<ContourPositionInformation>& newCPIs,
bool reinitializeAction =
false,
bool silent =
false);
87 void RemoveObservers();
108 void SetMinSpacing(
double minSpacing);
115 void SetMaxSpacing(
double maxSpacing);
121 void SetDistanceImageVolume(
unsigned int distImageVolume);
135 void SetCurrentInterpolationSession(
LabelSetImage* currentSegmentationImage);
141 void RemoveInterpolationSession(
const LabelSetImage* segmentationImage);
146 void RemoveAllInterpolationSessions();
163 void CompleteReinitialization(
const std::vector<ContourPositionInformation>& newCPIs);
184 unsigned int GetNumberOfInterpolationSessions();
198 template <
typename TPixel,
unsigned int VImageDimension>
199 void GetImageBase(itk::Image<TPixel, VImageDimension> *input, itk::ImageBase<3>::Pointer &result);
209 void OnSegmentationDeleted(
const itk::Object *caller,
const itk::EventObject &event);
215 void OnRemoveLabel(
const itk::Object* caller,
const itk::EventObject& event);
227 DataStorage::SetOfObjects::ConstPointer GetPlaneGeometryNodeFromDataStorage(
const DataNode* segNode)
const;
240 void ClearInterpolationSession();
252 unsigned int m_DistanceImageVolume;