Medical Imaging Interaction Toolkit  2023.12.99-ed252ae7
Medical Imaging Interaction Toolkit
mitk::SurfaceInterpolationController Class Reference

#include <mitkSurfaceInterpolationController.h>

Inheritance diagram for mitk::SurfaceInterpolationController:
Collaboration diagram for mitk::SurfaceInterpolationController:

Classes

struct  ContourPositionInformation
 

Public Types

typedef std::vector< ContourPositionInformationCPIVector
 

Public Member Functions

 mitkClassMacroItkParent (SurfaceInterpolationController, itk::Object)
 
Pointer Clone () const
 
void AddNewContours (const std::vector< ContourPositionInformation > &newCPIs, bool reinitializeAction=false, bool silent=false)
 Adds new extracted contours to the list. If one or more contours at a given position already exist they will be updated respectively. More...
 
bool RemoveContour (ContourPositionInformation contourInfo, bool keepPlaceholderForUndo=false)
 Removes the contour for a given plane for the current selected segmentation. More...
 
void RemoveObservers ()
 
void Interpolate (const LabelSetImage *segmentationImage, LabelSetImage::LabelValueType labelValue, TimeStepType timeStep)
 Performs the interpolation. More...
 
mitk::Surface::Pointer GetInterpolationResult (const LabelSetImage *segmentationImage, LabelSetImage::LabelValueType labelValue, TimeStepType timeStep)
 Get the Result of the interpolation operation. More...
 
void SetMinSpacing (double minSpacing)
 Sets the minimum spacing of the current selected segmentation This is needed since the contour points we reduced before they are used to interpolate the surface. More...
 
void SetMaxSpacing (double maxSpacing)
 Sets the minimum spacing of the current selected segmentation This is needed since the contour points we reduced before they are used to interpolate the surface. More...
 
void SetDistanceImageVolume (unsigned int distImageVolume)
 
mitk::LabelSetImageGetCurrentSegmentation ()
 Get the current selected segmentation for which the interpolation is performed. More...
 
void SetDataStorage (DataStorage::Pointer ds)
 
void SetCurrentInterpolationSession (LabelSetImage *currentSegmentationImage)
 
void RemoveInterpolationSession (const LabelSetImage *segmentationImage)
 Remove interpolation session. More...
 
void RemoveAllInterpolationSessions ()
 Removes all sessions. More...
 
CPIVectorGetContours (LabelSetImage::LabelValueType labelValue, TimeStepType timeStep)
 Get the Contours at a certain timeStep and layerID. More...
 
std::vector< LabelSetImage::LabelValueTypeGetAffectedLabels (const LabelSetImage *seg, TimeStepType timeStep, const PlaneGeometry *plane) const
 
void CompleteReinitialization (const std::vector< ContourPositionInformation > &newCPIs)
 Triggered with the "Reinit Interpolation" action. The contours are used to repopulate the surfaceInterpolator data structures so that interpolation can be performed after reloading data. More...
 
void RemoveContours (const LabelSetImage *segmentationImage, mitk::Label::PixelType label, TimeStepType timeStep)
 Removes contours of a particular label and at a given time step for the current session/segmentation. More...
 
void RemoveContours (const LabelSetImage *segmentationImage, mitk::Label::PixelType label)
 Removes contours of a particular label and at a given time step for the current session/segmentation. More...
 
unsigned int GetNumberOfInterpolationSessions ()
 
mitk::DataNodeGetSegmentationImageNode () const
 Get the Segmentation Image Node object. More...
 

Static Public Member Functions

static Pointer New ()
 
static SurfaceInterpolationControllerGetInstance ()
 

Protected Member Functions

 SurfaceInterpolationController ()
 
 ~SurfaceInterpolationController () override
 
template<typename TPixel , unsigned int VImageDimension>
void GetImageBase (itk::Image< TPixel, VImageDimension > *input, itk::ImageBase< 3 >::Pointer &result)
 

Detailed Description

Definition at line 30 of file mitkSurfaceInterpolationController.h.

Member Typedef Documentation

◆ CPIVector

Constructor & Destructor Documentation

◆ SurfaceInterpolationController()

mitk::SurfaceInterpolationController::SurfaceInterpolationController ( )
protected

◆ ~SurfaceInterpolationController()

mitk::SurfaceInterpolationController::~SurfaceInterpolationController ( )
overrideprotected

Member Function Documentation

◆ AddNewContours()

void mitk::SurfaceInterpolationController::AddNewContours ( const std::vector< ContourPositionInformation > &  newCPIs,
bool  reinitializeAction = false,
bool  silent = false 
)

Adds new extracted contours to the list. If one or more contours at a given position already exist they will be updated respectively.

◆ Clone()

Pointer mitk::SurfaceInterpolationController::Clone ( ) const

◆ CompleteReinitialization()

void mitk::SurfaceInterpolationController::CompleteReinitialization ( const std::vector< ContourPositionInformation > &  newCPIs)

Triggered with the "Reinit Interpolation" action. The contours are used to repopulate the surfaceInterpolator data structures so that interpolation can be performed after reloading data.

◆ GetAffectedLabels()

std::vector<LabelSetImage::LabelValueType> mitk::SurfaceInterpolationController::GetAffectedLabels ( const LabelSetImage seg,
TimeStepType  timeStep,
const PlaneGeometry plane 
) const

◆ GetContours()

CPIVector* mitk::SurfaceInterpolationController::GetContours ( LabelSetImage::LabelValueType  labelValue,
TimeStepType  timeStep 
)

Get the Contours at a certain timeStep and layerID.

Parameters
timeStepTime Step from which to get the contours.
labelValuelabel from which to get the contours.
Returns
std::vector<ContourPositionInformation> Returns contours.

◆ GetCurrentSegmentation()

mitk::LabelSetImage* mitk::SurfaceInterpolationController::GetCurrentSegmentation ( )

Get the current selected segmentation for which the interpolation is performed.

Returns
the current segmentation image

◆ GetImageBase()

template<typename TPixel , unsigned int VImageDimension>
void mitk::SurfaceInterpolationController::GetImageBase ( itk::Image< TPixel, VImageDimension > *  input,
itk::ImageBase< 3 >::Pointer &  result 
)
protected

◆ GetInstance()

static SurfaceInterpolationController* mitk::SurfaceInterpolationController::GetInstance ( )
static

◆ GetInterpolationResult()

mitk::Surface::Pointer mitk::SurfaceInterpolationController::GetInterpolationResult ( const LabelSetImage segmentationImage,
LabelSetImage::LabelValueType  labelValue,
TimeStepType  timeStep 
)

Get the Result of the interpolation operation.

Returns
mitk::Surface::Pointer

◆ GetNumberOfInterpolationSessions()

unsigned int mitk::SurfaceInterpolationController::GetNumberOfInterpolationSessions ( )

◆ GetSegmentationImageNode()

mitk::DataNode* mitk::SurfaceInterpolationController::GetSegmentationImageNode ( ) const

Get the Segmentation Image Node object.

Returns
DataNode* returns the DataNode containing the segmentation image.

◆ Interpolate()

void mitk::SurfaceInterpolationController::Interpolate ( const LabelSetImage segmentationImage,
LabelSetImage::LabelValueType  labelValue,
TimeStepType  timeStep 
)

Performs the interpolation.

◆ mitkClassMacroItkParent()

mitk::SurfaceInterpolationController::mitkClassMacroItkParent ( SurfaceInterpolationController  ,
itk::Object   
)

◆ New()

static Pointer mitk::SurfaceInterpolationController::New ( )
static

◆ RemoveAllInterpolationSessions()

void mitk::SurfaceInterpolationController::RemoveAllInterpolationSessions ( )

Removes all sessions.

◆ RemoveContour()

bool mitk::SurfaceInterpolationController::RemoveContour ( ContourPositionInformation  contourInfo,
bool  keepPlaceholderForUndo = false 
)

Removes the contour for a given plane for the current selected segmentation.

Parameters
contourInfothe contour which should be removed
keepPlaceholderForUndo
Returns
true if a contour was found and removed, false if no contour was found

◆ RemoveContours() [1/2]

void mitk::SurfaceInterpolationController::RemoveContours ( const LabelSetImage segmentationImage,
mitk::Label::PixelType  label 
)

Removes contours of a particular label and at a given time step for the current session/segmentation.

Parameters
segmentationImage
labelLabel of contour to remove.
Remarks
if the label or time step does not exist, nothing happens.

◆ RemoveContours() [2/2]

void mitk::SurfaceInterpolationController::RemoveContours ( const LabelSetImage segmentationImage,
mitk::Label::PixelType  label,
TimeStepType  timeStep 
)

Removes contours of a particular label and at a given time step for the current session/segmentation.

Parameters
segmentationImage
labelLabel of contour to remove.
timeStepTime step in which to remove the contours.
Remarks
if the label or time step does not exist, nothing happens.

◆ RemoveInterpolationSession()

void mitk::SurfaceInterpolationController::RemoveInterpolationSession ( const LabelSetImage segmentationImage)

Remove interpolation session.

Parameters
segmentationImagethe session to be removed

◆ RemoveObservers()

void mitk::SurfaceInterpolationController::RemoveObservers ( )

◆ SetCurrentInterpolationSession()

void mitk::SurfaceInterpolationController::SetCurrentInterpolationSession ( LabelSetImage currentSegmentationImage)

Sets the current list of contourpoints which is used for the surface interpolation

Parameters
currentSegmentationImageThe current selected segmentation

◆ SetDataStorage()

void mitk::SurfaceInterpolationController::SetDataStorage ( DataStorage::Pointer  ds)

◆ SetDistanceImageVolume()

void mitk::SurfaceInterpolationController::SetDistanceImageVolume ( unsigned int  distImageVolume)

Sets the volume i.e. the number of pixels that the distance image should have By evaluation we found out that 50.000 pixel delivers a good result

◆ SetMaxSpacing()

void mitk::SurfaceInterpolationController::SetMaxSpacing ( double  maxSpacing)

Sets the minimum spacing of the current selected segmentation This is needed since the contour points we reduced before they are used to interpolate the surface.

Parameters
maxSpacingSet the max Spacing for interpolation

◆ SetMinSpacing()

void mitk::SurfaceInterpolationController::SetMinSpacing ( double  minSpacing)

Sets the minimum spacing of the current selected segmentation This is needed since the contour points we reduced before they are used to interpolate the surface.

Parameters
minSpacingParameter to set

The documentation for this class was generated from the following file: