Medical Imaging Interaction Toolkit
2023.12.00
Medical Imaging Interaction Toolkit
|
#include <mitkSurfaceInterpolationController.h>
Classes | |
struct | ContourPositionInformation |
Public Types | |
typedef std::vector< ContourPositionInformation > | ContourPositionInformationList |
typedef std::vector< ContourPositionInformationList > | ContourPositionInformationVec2D |
typedef std::vector< ContourPositionInformationVec2D > | ContourPositionInformationVec3D |
typedef std::map< mitk::Image *, ContourPositionInformationVec3D > | ContourListMap |
typedef std::map< mitk::Image *, ContourPositionInformationVec2D > | ContourContainer |
Public Member Functions | |
mitkClassMacroItkParent (SurfaceInterpolationController, itk::Object) | |
Pointer | Clone () const |
virtual double | GetDistanceImageSpacing () |
void | SetCurrentTimePoint (TimePointType tp) |
TimePointType | GetCurrentTimePoint () const |
void | AddNewContour (Surface::Pointer newContour) |
Adds a new extracted contour to the list. More... | |
void | AddNewContours (const std::vector< Surface::Pointer > &newContours, std::vector< const mitk::PlaneGeometry * > &contourPlanes, bool reinitializeAction=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... | |
const mitk::Surface * | GetContour (const ContourPositionInformation &contourInfo) |
Returns the contour for a given plane for the current selected segmenation. More... | |
mitk::Point3D | ComputeInteriorPointOfContour (const ContourPositionInformation &contour, mitk::LabelSetImage *labelSetImage) |
Computes an interior point of the input contour. It's used to detect merge and erase operations. More... | |
void | AddLabelSetConnection () |
Make the surface interpolator responsive to the segmentation image by subscribing to events from the image. More... | |
void | RemoveLabelSetConnection () |
Make the surface interpolator responsive to the segmentation image by stopping subscription to events from the image. More... | |
void | RemoveLabelSetConnection (mitk::LabelSetImage *labelSetImage, unsigned int layerID) |
void | ReinitializeInterpolation () |
Resets the pipeline for interpolation. The various filters used are reset. More... | |
void | RemoveObservers () |
void | AddLabelSetConnection (unsigned int layerID) |
void | UnsetSelectedImage () |
unsigned int | GetNumberOfLayersInCurrentSegmentation () const |
Returns the number of layers in the current segmentation image. More... | |
void | SetNumberOfLayersInCurrentSegmentation (unsigned int) |
Set the number of layers in the current segmentation image. More... | |
void | OnRemoveLayer () |
Function that does the data management when a layer is removed. More... | |
void | OnAddLayer () |
Function that does the data management when a layer is added. More... | |
unsigned int | GetNumberOfContours () |
Returns the number of available contours for the current selected segmentation. More... | |
void | Interpolate () |
Performs the interpolation. More... | |
mitk::Surface::Pointer | GetInterpolationResult () |
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::Image::Pointer | GetCurrentSegmentation () |
Get the current selected segmentation for which the interpolation is performed. More... | |
Surface * | GetContoursAsSurface () |
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... | |
mitk::Image * | GetImage () |
ContourPositionInformationList * | GetContours (unsigned int timeStep, unsigned int layerID) |
Get the Contours at a certain timeStep and layerID. More... | |
void | CompleteReinitialization (const std::vector< mitk::Surface::Pointer > &contourList, std::vector< const mitk::PlaneGeometry * > &contourPlanes) |
Trigerred 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 (mitk::Label::PixelType label, unsigned int timeStep, unsigned int layerID) |
Removes contours of a particular label, at a given time step and layerID. More... | |
double | EstimatePortionOfNeededMemory () |
void | AddActiveLabelContoursForInterpolation (mitk::Label::PixelType activeLabel) |
unsigned int | GetNumberOfInterpolationSessions () |
bool | RemoveContour (ContourPositionInformation contourInfo) |
Removes the contour for a given plane for the current selected segmenation. More... | |
mitk::DataNode * | GetSegmentationImageNode () |
Get the Segmentation Image Node object. More... | |
Static Public Member Functions | |
static Pointer | New () |
static SurfaceInterpolationController * | GetInstance () |
Protected Member Functions | |
SurfaceInterpolationController () | |
~SurfaceInterpolationController () override | |
template<typename TPixel , unsigned int VImageDimension> | |
void | GetImageBase (itk::Image< TPixel, VImageDimension > *input, itk::ImageBase< 3 >::Pointer &result) |
Definition at line 30 of file mitkSurfaceInterpolationController.h.
typedef std::map<mitk::Image *, ContourPositionInformationVec2D> mitk::SurfaceInterpolationController::ContourContainer |
Definition at line 68 of file mitkSurfaceInterpolationController.h.
typedef std::map<mitk::Image *, ContourPositionInformationVec3D> mitk::SurfaceInterpolationController::ContourListMap |
Definition at line 67 of file mitkSurfaceInterpolationController.h.
typedef std::vector<ContourPositionInformation> mitk::SurfaceInterpolationController::ContourPositionInformationList |
Definition at line 61 of file mitkSurfaceInterpolationController.h.
typedef std::vector<ContourPositionInformationList> mitk::SurfaceInterpolationController::ContourPositionInformationVec2D |
Definition at line 62 of file mitkSurfaceInterpolationController.h.
typedef std::vector<ContourPositionInformationVec2D> mitk::SurfaceInterpolationController::ContourPositionInformationVec3D |
Definition at line 65 of file mitkSurfaceInterpolationController.h.
|
protected |
|
overrideprotected |
void mitk::SurfaceInterpolationController::AddActiveLabelContoursForInterpolation | ( | mitk::Label::PixelType | activeLabel | ) |
Adds Contours from the active Label to the interpolation pipeline
void mitk::SurfaceInterpolationController::AddLabelSetConnection | ( | ) |
Make the surface interpolator responsive to the segmentation image by subscribing to events from the image.
void mitk::SurfaceInterpolationController::AddLabelSetConnection | ( | unsigned int | layerID | ) |
void mitk::SurfaceInterpolationController::AddNewContour | ( | Surface::Pointer | newContour | ) |
Adds a new extracted contour to the list.
newContour | the contour to be added. If a contour at that position already exists the related contour will be updated |
void mitk::SurfaceInterpolationController::AddNewContours | ( | const std::vector< Surface::Pointer > & | newContours, |
std::vector< const mitk::PlaneGeometry * > & | contourPlanes, | ||
bool | reinitializeAction = false |
||
) |
Adds new extracted contours to the list. If one or more contours at a given position already exist they will be updated respectively.
Pointer mitk::SurfaceInterpolationController::Clone | ( | ) | const |
void mitk::SurfaceInterpolationController::CompleteReinitialization | ( | const std::vector< mitk::Surface::Pointer > & | contourList, |
std::vector< const mitk::PlaneGeometry * > & | contourPlanes | ||
) |
Trigerred with the "Reinit Interpolation" action. The contours are used to repopulate the surfaceInterpolator data structures so that interpolation can be performed after reloading data.
contourList | List of contours extracted |
contourPlanes | List of planes at which the contours were extracted |
mitk::Point3D mitk::SurfaceInterpolationController::ComputeInteriorPointOfContour | ( | const ContourPositionInformation & | contour, |
mitk::LabelSetImage * | labelSetImage | ||
) |
Computes an interior point of the input contour. It's used to detect merge and erase operations.
contour | Contour for which to compute the contour |
labelSetImage | LabelSetImage used input to check contour Label. |
double mitk::SurfaceInterpolationController::EstimatePortionOfNeededMemory | ( | ) |
Estimates the memory which is needed to build up the equationsystem for the interpolation.
const mitk::Surface* mitk::SurfaceInterpolationController::GetContour | ( | const ContourPositionInformation & | contourInfo | ) |
Returns the contour for a given plane for the current selected segmenation.
contourInfo | the contour which should be returned |
ContourPositionInformationList* mitk::SurfaceInterpolationController::GetContours | ( | unsigned int | timeStep, |
unsigned int | layerID | ||
) |
Get the Contours at a certain timeStep and layerID.
timeStep | Time Step from which to get the contours. |
layerID | Layer from which to get the contours. |
Surface* mitk::SurfaceInterpolationController::GetContoursAsSurface | ( | ) |
mitk::Image::Pointer mitk::SurfaceInterpolationController::GetCurrentSegmentation | ( | ) |
Get the current selected segmentation for which the interpolation is performed.
|
inline |
Definition at line 85 of file mitkSurfaceInterpolationController.h.
|
virtual |
mitk::Image* mitk::SurfaceInterpolationController::GetImage | ( | ) |
|
protected |
|
static |
mitk::Surface::Pointer mitk::SurfaceInterpolationController::GetInterpolationResult | ( | ) |
Get the Result of the interpolation operation.
unsigned int mitk::SurfaceInterpolationController::GetNumberOfContours | ( | ) |
Returns the number of available contours for the current selected segmentation.
unsigned int mitk::SurfaceInterpolationController::GetNumberOfInterpolationSessions | ( | ) |
unsigned int mitk::SurfaceInterpolationController::GetNumberOfLayersInCurrentSegmentation | ( | ) | const |
Returns the number of layers in the current segmentation image.
mitk::DataNode* mitk::SurfaceInterpolationController::GetSegmentationImageNode | ( | ) |
void mitk::SurfaceInterpolationController::Interpolate | ( | ) |
Performs the interpolation.
mitk::SurfaceInterpolationController::mitkClassMacroItkParent | ( | SurfaceInterpolationController | , |
itk::Object | |||
) |
|
static |
void mitk::SurfaceInterpolationController::OnAddLayer | ( | ) |
Function that does the data management when a layer is added.
void mitk::SurfaceInterpolationController::OnRemoveLayer | ( | ) |
Function that does the data management when a layer is removed.
void mitk::SurfaceInterpolationController::ReinitializeInterpolation | ( | ) |
Resets the pipeline for interpolation. The various filters used are reset.
void mitk::SurfaceInterpolationController::RemoveAllInterpolationSessions | ( | ) |
Removes all sessions.
bool mitk::SurfaceInterpolationController::RemoveContour | ( | ContourPositionInformation | contourInfo | ) |
Removes the contour for a given plane for the current selected segmenation.
contourInfo | the contour which should be removed |
void mitk::SurfaceInterpolationController::RemoveContours | ( | mitk::Label::PixelType | label, |
unsigned int | timeStep, | ||
unsigned int | layerID | ||
) |
Removes contours of a particular label, at a given time step and layerID.
label | Label of contour to remove. |
timeStep | Time step in which to remove the contours. |
layerID | Layer in which the contour should be removed. |
void mitk::SurfaceInterpolationController::RemoveInterpolationSession | ( | mitk::Image::Pointer | segmentationImage | ) |
Remove interpolation session.
segmentationImage | the session to be removed |
void mitk::SurfaceInterpolationController::RemoveLabelSetConnection | ( | ) |
Make the surface interpolator responsive to the segmentation image by stopping subscription to events from the image.
void mitk::SurfaceInterpolationController::RemoveLabelSetConnection | ( | mitk::LabelSetImage * | labelSetImage, |
unsigned int | layerID | ||
) |
void mitk::SurfaceInterpolationController::RemoveObservers | ( | ) |
void mitk::SurfaceInterpolationController::RemoveSegmentationFromContourList | ( | mitk::Image * | segmentation | ) |
Removes the segmentation and all its contours from the list
segmentation | The segmentation to be removed |
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
oldSession | the session which should be replaced |
newSession | the new session which replaces the old one |
void mitk::SurfaceInterpolationController::SetCurrentInterpolationSession | ( | mitk::Image::Pointer | currentSegmentationImage | ) |
Sets the current list of contourpoints which is used for the surface interpolation
currentSegmentationImage | The current selected segmentation |
void mitk::SurfaceInterpolationController::SetCurrentSegmentationInterpolationList | ( | mitk::Image::Pointer | segmentation | ) |
Sets the current list of contourpoints which is used for the surface interpolation
segmentation | The current selected segmentation |
|
inline |
Definition at line 72 of file mitkSurfaceInterpolationController.h.
void mitk::SurfaceInterpolationController::SetDataStorage | ( | DataStorage::Pointer | ds | ) |
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
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.
maxSpacing | Set the max Spacing for interpolation |
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.
minSpacing | Paramter to set |
void mitk::SurfaceInterpolationController::SetNumberOfLayersInCurrentSegmentation | ( | unsigned int | ) |
Set the number of layers in the current segmentation image.
|
inline |
Definition at line 142 of file mitkSurfaceInterpolationController.h.