Medical Imaging Interaction Toolkit  2018.4.99-a3d2e8fb
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< ContourPositionInformationContourPositionInformationList
 
typedef std::vector< ContourPositionInformationListContourPositionInformationVec2D
 
typedef std::map< mitk::Image *, ContourPositionInformationVec2DContourListMap
 

Public Member Functions

 mitkClassMacroItkParent (SurfaceInterpolationController, itk::Object)
 
Pointer Clone () const
 
virtual double GetDistanceImageSpacing ()
 
void SetCurrentTimeStep (unsigned int ts)
 
unsigned int GetCurrentTimeStep ()
 
void AddNewContour (Surface::Pointer newContour)
 Adds a new extracted contour to the list. More...
 
bool RemoveContour (ContourPositionInformation contourInfo)
 Removes the contour for a given plane for the current selected segmenation. More...
 
void AddNewContours (std::vector< Surface::Pointer > newContours)
 Adds new extracted contours to the list. If one or more contours at a given position already exist they will be updated respectively. More...
 
const mitk::SurfaceGetContour (ContourPositionInformation contourInfo)
 Returns the contour for a given plane for the current selected segmenation. More...
 
unsigned int GetNumberOfContours ()
 Returns the number of available contours for the current selected segmentation. More...
 
void Interpolate ()
 
mitk::Surface::Pointer GetInterpolationResult ()
 
void SetMinSpacing (double minSpacing)
 
void SetMaxSpacing (double maxSpacing)
 
void SetDistanceImageVolume (unsigned int distImageVolume)
 
mitk::Image::Pointer GetCurrentSegmentation ()
 Get the current selected segmentation for which the interpolation is performed. More...
 
SurfaceGetContoursAsSurface ()
 
void SetDataStorage (DataStorage::Pointer ds)
 
void SetCurrentSegmentationInterpolationList (mitk::Image::Pointer segmentation)
 
void SetCurrentInterpolationSession (mitk::Image::Pointer currentSegmentationImage)
 
void RemoveSegmentationFromContourList (mitk::Image *segmentation)
 
void RemoveInterpolationSession (mitk::Image::Pointer segmentationImage)
 Remove interpolation session. More...
 
bool ReplaceInterpolationSession (mitk::Image::Pointer oldSession, mitk::Image::Pointer newSession)
 
void RemoveAllInterpolationSessions ()
 Removes all sessions. More...
 
void ReinitializeInterpolation (mitk::Surface::Pointer contours)
 Reinitializes the interpolation using the provided contour data. More...
 
mitk::ImageGetImage ()
 
double EstimatePortionOfNeededMemory ()
 
unsigned int GetNumberOfInterpolationSessions ()
 

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 48 of file mitkSurfaceInterpolationController.h.

Member Typedef Documentation

◆ ContourListMap

◆ ContourPositionInformationList

◆ ContourPositionInformationVec2D

Constructor & Destructor Documentation

◆ SurfaceInterpolationController()

mitk::SurfaceInterpolationController::SurfaceInterpolationController ( )
protected

◆ ~SurfaceInterpolationController()

mitk::SurfaceInterpolationController::~SurfaceInterpolationController ( )
overrideprotected

Definition at line 102 of file mitkSurfaceInterpolationController.cpp.

Member Function Documentation

◆ AddNewContour()

void mitk::SurfaceInterpolationController::AddNewContour ( Surface::Pointer  newContour)

Adds a new extracted contour to the list.

Parameters
newContourthe contour to be added. If a contour at that position already exists the related contour will be updated

Definition at line 124 of file mitkSurfaceInterpolationController.cpp.

References CreateContourPositionInformation().

Referenced by mitk::SegTool2D::UpdateSurfaceInterpolation().

◆ AddNewContours()

void mitk::SurfaceInterpolationController::AddNewContours ( std::vector< Surface::Pointer newContours)

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

Parameters
newContoursthe list of the contours

Definition at line 135 of file mitkSurfaceInterpolationController.cpp.

References mitk::SurfaceInterpolationController::ContourPositionInformation::contour, ContoursCoplanar(), CreateContourPositionInformation(), mitk::BaseData::GetTimeSteps(), mitk::Surface::GetVtkPolyData(), MITK_ERROR, and RemoveContour().

Referenced by ReinitializeInterpolation(), and mitk::SegTool2D::WriteBackSegmentationResult().

◆ Clone()

Pointer mitk::SurfaceInterpolationController::Clone ( ) const

◆ EstimatePortionOfNeededMemory()

double mitk::SurfaceInterpolationController::EstimatePortionOfNeededMemory ( )

Estimates the memory which is needed to build up the equationsystem for the interpolation.

Returns
The percentage of the real memory which will be used by the interpolation

Definition at line 372 of file mitkSurfaceInterpolationController.cpp.

References mitk::MemoryUtilities::GetTotalSizeOfPhysicalRam().

◆ GetContour()

const mitk::Surface * mitk::SurfaceInterpolationController::GetContour ( ContourPositionInformation  contourInfo)

Returns the contour for a given plane for the current selected segmenation.

Parameters
ontourInfothe contour which should be returned
Returns
the contour as an mitk::Surface. If no contour is available at the give position nullptr is returned

Definition at line 223 of file mitkSurfaceInterpolationController.cpp.

References mitk::SurfaceInterpolationController::ContourPositionInformation::contour, ContoursCoplanar(), and mitk::BaseData::GetTimeSteps().

◆ GetContoursAsSurface()

mitk::Surface * mitk::SurfaceInterpolationController::GetContoursAsSurface ( )

Definition at line 336 of file mitkSurfaceInterpolationController.cpp.

◆ GetCurrentSegmentation()

mitk::Image::Pointer mitk::SurfaceInterpolationController::GetCurrentSegmentation ( )

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

Returns
the current segmentation image

Definition at line 362 of file mitkSurfaceInterpolationController.cpp.

◆ GetCurrentTimeStep()

unsigned int mitk::SurfaceInterpolationController::GetCurrentTimeStep ( )
inline

Definition at line 83 of file mitkSurfaceInterpolationController.h.

References DEPRECATED, and m_DataStorage.

◆ GetDistanceImageSpacing()

virtual double mitk::SurfaceInterpolationController::GetDistanceImageSpacing ( )
virtual

◆ GetImage()

mitk::Image * mitk::SurfaceInterpolationController::GetImage ( void  )

Definition at line 367 of file mitkSurfaceInterpolationController.cpp.

◆ GetImageBase()

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

Definition at line 387 of file mitkSurfaceInterpolationController.cpp.

Referenced by ReinitializeInterpolation().

◆ GetInstance()

◆ GetInterpolationResult()

mitk::Surface::Pointer mitk::SurfaceInterpolationController::GetInterpolationResult ( )

Definition at line 331 of file mitkSurfaceInterpolationController.cpp.

◆ GetNumberOfContours()

unsigned int mitk::SurfaceInterpolationController::GetNumberOfContours ( )

Returns the number of available contours for the current selected segmentation.

Returns
the number of contours

Definition at line 246 of file mitkSurfaceInterpolationController.cpp.

References mitk::BaseData::GetTimeSteps().

◆ GetNumberOfInterpolationSessions()

unsigned int mitk::SurfaceInterpolationController::GetNumberOfInterpolationSessions ( )

Definition at line 381 of file mitkSurfaceInterpolationController.cpp.

◆ Interpolate()

void mitk::SurfaceInterpolationController::Interpolate ( )

◆ mitkClassMacroItkParent()

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

◆ New()

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

Referenced by GetInstance().

◆ ReinitializeInterpolation()

◆ RemoveAllInterpolationSessions()

void mitk::SurfaceInterpolationController::RemoveAllInterpolationSessions ( )

Removes all sessions.

Definition at line 498 of file mitkSurfaceInterpolationController.cpp.

References image.

◆ RemoveContour()

bool mitk::SurfaceInterpolationController::RemoveContour ( ContourPositionInformation  contourInfo)

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

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

Definition at line 195 of file mitkSurfaceInterpolationController.cpp.

References ContoursCoplanar(), mitk::BaseData::GetTimeSteps(), and ReinitializeInterpolation().

Referenced by AddNewContours(), and mitk::SegTool2D::UpdateSurfaceInterpolation().

◆ RemoveInterpolationSession()

void mitk::SurfaceInterpolationController::RemoveInterpolationSession ( mitk::Image::Pointer  segmentationImage)

Remove interpolation session.

Parameters
segmentationImagethe session to be removed

Definition at line 478 of file mitkSurfaceInterpolationController.cpp.

Referenced by RemoveSegmentationFromContourList(), and ReplaceInterpolationSession().

◆ RemoveSegmentationFromContourList()

void mitk::SurfaceInterpolationController::RemoveSegmentationFromContourList ( mitk::Image segmentation)

Removes the segmentation and all its contours from the list

Parameters
segmentationThe segmentation to be removed
Deprecated:
(as of 2014_03)

Definition at line 473 of file mitkSurfaceInterpolationController.cpp.

References RemoveInterpolationSession().

◆ ReplaceInterpolationSession()

bool mitk::SurfaceInterpolationController::ReplaceInterpolationSession ( mitk::Image::Pointer  oldSession,
mitk::Image::Pointer  newSession 
)

Replaces the current interpolation session with a new one. All contours form the old session will be applied to the new session. This only works if the two images have the geometry

Parameters
oldSessionthe session which should be replaced
newSessionthe new session which replaces the old one
Returns
true it the the replacement was successful, false if not (e.g. the image's geometry differs)

Definition at line 432 of file mitkSurfaceInterpolationController.cpp.

References mitk::eps, mitk::Equal(), mitk::ImageTimeSelector::New(), and RemoveInterpolationSession().

◆ SetCurrentInterpolationSession()

void mitk::SurfaceInterpolationController::SetCurrentInterpolationSession ( mitk::Image::Pointer  currentSegmentationImage)

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

Parameters
segmentationThe current selected segmentation

Definition at line 398 of file mitkSurfaceInterpolationController.cpp.

References ReinitializeInterpolation().

Referenced by SetCurrentSegmentationInterpolationList().

◆ SetCurrentSegmentationInterpolationList()

void mitk::SurfaceInterpolationController::SetCurrentSegmentationInterpolationList ( mitk::Image::Pointer  segmentation)

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

Parameters
segmentationThe current selected segmentation
Deprecated:
(as of 2014_03)

Definition at line 393 of file mitkSurfaceInterpolationController.cpp.

References SetCurrentInterpolationSession().

◆ SetCurrentTimeStep()

void mitk::SurfaceInterpolationController::SetCurrentTimeStep ( unsigned int  ts)
inline

Definition at line 70 of file mitkSurfaceInterpolationController.h.

◆ SetDataStorage()

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

Definition at line 341 of file mitkSurfaceInterpolationController.cpp.

◆ 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

Definition at line 357 of file mitkSurfaceInterpolationController.cpp.

◆ 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

Definition at line 351 of file mitkSurfaceInterpolationController.cpp.

◆ 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

Definition at line 346 of file mitkSurfaceInterpolationController.cpp.


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