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();
164 void CompleteReinitialization(
const std::vector<ContourPositionInformation>& newCPIs);
185 unsigned int GetNumberOfInterpolationSessions();
199 template <
typename TPixel,
unsigned int VImageDimension>
200 void GetImageBase(itk::Image<TPixel, VImageDimension> *input, itk::ImageBase<3>::Pointer &result);
210 void OnSegmentationDeleted(
const itk::Object *caller,
const itk::EventObject &event);
217 void OnRemoveLabel(
const itk::Object* caller,
const itk::EventObject& event);
229 DataStorage::SetOfObjects::ConstPointer GetPlaneGeometryNodeFromDataStorage(
const DataNode* segNode)
const;
242 void ClearInterpolationSession();
254 unsigned int m_DistanceImageVolume;