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();
109 void SetMinSpacing(
double minSpacing);
116 void SetMaxSpacing(
double maxSpacing);
122 void SetDistanceImageVolume(
unsigned int distImageVolume);
136 void SetCurrentInterpolationSession(
LabelSetImage* currentSegmentationImage);
142 void RemoveInterpolationSession(
const LabelSetImage* segmentationImage);
147 void RemoveAllInterpolationSessions();
165 void CompleteReinitialization(
const std::vector<ContourPositionInformation>& newCPIs);
186 unsigned int GetNumberOfInterpolationSessions();
200 template <
typename TPixel,
unsigned int VImageDimension>
201 void GetImageBase(itk::Image<TPixel, VImageDimension> *input, itk::ImageBase<3>::Pointer &result);
211 void OnSegmentationDeleted(
const itk::Object *caller,
const itk::EventObject &event);
218 void OnRemoveLabel(
const itk::Object* caller,
const itk::EventObject& event);
230 DataStorage::SetOfObjects::ConstPointer GetPlaneGeometryNodeFromDataStorage(
const DataNode* segNode)
const;
243 void ClearInterpolationSession();
255 unsigned int m_DistanceImageVolume;