Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkSlicesInterpolator Class Reference

GUI for slices interpolation. More...

#include <QmitkSlicesInterpolator.h>

Inheritance diagram for QmitkSlicesInterpolator:
Collaboration diagram for QmitkSlicesInterpolator:

Public Slots

virtual void setEnabled (bool)
 
void EnableInterpolation (bool)
 
void Enable3DInterpolation (bool)
 
void FinishInterpolation (mitk::SliceNavigationController *slicer=nullptr)
 

Signals

void SignalRememberContourPositions (bool)
 
void SignalShowMarkerNodes (bool)
 

Public Member Functions

 QmitkSlicesInterpolator (QWidget *parent=nullptr, const char *name=nullptr)
 
void Initialize (mitk::ToolManager *toolManager, const QList< mitk::SliceNavigationController *> &controllers)
 
void Uninitialize ()
 
 ~QmitkSlicesInterpolator () override
 
void SetDataStorage (mitk::DataStorage::Pointer storage)
 
mitk::DataStorageGetDataStorage ()
 
void OnToolManagerWorkingDataModified ()
 
void OnToolManagerReferenceDataModified ()
 
void OnTimeChanged (itk::Object *sender, const itk::EventObject &)
 
void OnSliceChanged (itk::Object *sender, const itk::EventObject &)
 
void OnSliceNavigationControllerDeleted (const itk::Object *sender, const itk::EventObject &)
 
void OnInterpolationInfoChanged (const itk::EventObject &)
 
void OnSurfaceInterpolationInfoChanged (const itk::EventObject &)
 
void Show3DInterpolationResult (bool)
 Set the visibility of the 3d interpolation. More...
 

Protected Slots

void OnAcceptInterpolationClicked ()
 
void OnAcceptAllInterpolationsClicked ()
 
void OnAccept3DInterpolationClicked ()
 
void OnReinit3DInterpolation ()
 
void OnSuggestPlaneClicked ()
 
void OnAcceptAllPopupActivated (QAction *action)
 
void OnInterpolationActivated (bool)
 
void On3DInterpolationActivated (bool)
 
void OnInterpolationMethodChanged (int index)
 
void On2DInterpolationEnabled (bool)
 
void On3DInterpolationEnabled (bool)
 
void OnInterpolationDisabled (bool)
 
void OnShowMarkers (bool)
 
void Run3DInterpolation ()
 
void RunPlaneSuggestion ()
 
void OnSurfaceInterpolationFinished ()
 
void StartUpdateInterpolationTimer ()
 
void StopUpdateInterpolationTimer ()
 
void ChangeSurfaceColor ()
 

Protected Member Functions

const std::map< QAction *, mitk::SliceNavigationController * > createActionToSliceDimension ()
 
void AcceptAllInterpolations (mitk::SliceNavigationController *slicer)
 
bool TranslateAndInterpolateChangedSlice (const itk::EventObject &e, mitk::SliceNavigationController *slicer)
 
void Interpolate (mitk::PlaneGeometry *plane, unsigned int timeStep, mitk::SliceNavigationController *slicer)
 
void UpdateVisibleSuggestion ()
 
void SetCurrentContourListID ()
 

Protected Attributes

std::map< QAction *, mitk::SliceNavigationController * > ACTION_TO_SLICEDIMENSION
 

Detailed Description

GUI for slices interpolation.

See also
QmitkInteractiveSegmentation
mitk::SegmentationInterpolation

While mitk::SegmentationInterpolation does the bookkeeping of interpolation (keeping track of which slices contain how much segmentation) and the algorithmic work, QmitkSlicesInterpolator is responsible to watch the GUI, to notice, which slice is currently visible. It triggers generation of interpolation suggestions and also triggers acception of suggestions.

Last contributor:

Author
maleike

Definition at line 72 of file QmitkSlicesInterpolator.h.

Constructor & Destructor Documentation

◆ QmitkSlicesInterpolator()

◆ ~QmitkSlicesInterpolator()

QmitkSlicesInterpolator::~QmitkSlicesInterpolator ( )
override

Definition at line 312 of file QmitkSlicesInterpolator.cpp.

References Uninitialize().

Member Function Documentation

◆ AcceptAllInterpolations()

◆ ChangeSurfaceColor

◆ createActionToSliceDimension()

const std::map< QAction *, mitk::SliceNavigationController * > QmitkSlicesInterpolator::createActionToSliceDimension ( )
protected

◆ Enable3DInterpolation

void QmitkSlicesInterpolator::Enable3DInterpolation ( bool  on)
slot

Definition at line 1192 of file QmitkSlicesInterpolator.cpp.

References On3DInterpolationActivated().

◆ EnableInterpolation

void QmitkSlicesInterpolator::EnableInterpolation ( bool  on)
slot

Call this from the outside to enable/disable interpolation

Definition at line 1185 of file QmitkSlicesInterpolator.cpp.

References OnInterpolationActivated().

◆ FinishInterpolation

void QmitkSlicesInterpolator::FinishInterpolation ( mitk::SliceNavigationController slicer = nullptr)
slot

Call this from the outside to accept all interpolations

Definition at line 794 of file QmitkSlicesInterpolator.cpp.

References AcceptAllInterpolations(), and OnAcceptAllInterpolationsClicked().

◆ GetDataStorage()

mitk::DataStorage * QmitkSlicesInterpolator::GetDataStorage ( )

Definition at line 221 of file QmitkSlicesInterpolator.cpp.

Referenced by OnToolManagerWorkingDataModified().

◆ Initialize()

◆ Interpolate()

void QmitkSlicesInterpolator::Interpolate ( mitk::PlaneGeometry plane,
unsigned int  timeStep,
mitk::SliceNavigationController slicer 
)
protected

Given a PlaneGeometry, this method figures out which slice of the first working image (of the associated ToolManager) should be interpolated. The actual work is then done by our SegmentationInterpolation object.

Definition at line 561 of file QmitkSlicesInterpolator.cpp.

References mitk::SegTool2D::DetermineAffectedImageSlice(), and mitk::DataNode::GetData().

Referenced by TranslateAndInterpolateChangedSlice().

◆ On2DInterpolationEnabled

void QmitkSlicesInterpolator::On2DInterpolationEnabled ( bool  status)
protectedslot

Definition at line 369 of file QmitkSlicesInterpolator.cpp.

References OnInterpolationActivated().

◆ On3DInterpolationActivated

◆ On3DInterpolationEnabled

void QmitkSlicesInterpolator::On3DInterpolationEnabled ( bool  status)
protectedslot

Definition at line 375 of file QmitkSlicesInterpolator.cpp.

References On3DInterpolationActivated().

◆ OnAccept3DInterpolationClicked

◆ OnAcceptAllInterpolationsClicked

void QmitkSlicesInterpolator::OnAcceptAllInterpolationsClicked ( )
protectedslot

◆ OnAcceptAllPopupActivated

void QmitkSlicesInterpolator::OnAcceptAllPopupActivated ( QAction *  action)
protectedslot

◆ OnAcceptInterpolationClicked

◆ OnInterpolationActivated

void QmitkSlicesInterpolator::OnInterpolationActivated ( bool  on)
protectedslot

◆ OnInterpolationDisabled

void QmitkSlicesInterpolator::OnInterpolationDisabled ( bool  status)
protectedslot

◆ OnInterpolationInfoChanged()

void QmitkSlicesInterpolator::OnInterpolationInfoChanged ( const itk::EventObject &  )

Just public because it is called by itk::Commands. You should not need to call this.

Definition at line 1204 of file QmitkSlicesInterpolator.cpp.

References UpdateVisibleSuggestion().

Referenced by QmitkSlicesInterpolator().

◆ OnInterpolationMethodChanged

void QmitkSlicesInterpolator::OnInterpolationMethodChanged ( int  index)
protectedslot

◆ OnReinit3DInterpolation

◆ OnShowMarkers

void QmitkSlicesInterpolator::OnShowMarkers ( bool  state)
protectedslot

◆ OnSliceChanged()

void QmitkSlicesInterpolator::OnSliceChanged ( itk::Object *  sender,
const itk::EventObject &  e 
)

◆ OnSliceNavigationControllerDeleted()

void QmitkSlicesInterpolator::OnSliceNavigationControllerDeleted ( const itk::Object *  sender,
const itk::EventObject &   
)

Definition at line 1316 of file QmitkSlicesInterpolator.cpp.

Referenced by Initialize().

◆ OnSuggestPlaneClicked

void QmitkSlicesInterpolator::OnSuggestPlaneClicked ( )
protectedslot

Referenced by QmitkSlicesInterpolator().

◆ OnSurfaceInterpolationFinished

◆ OnSurfaceInterpolationInfoChanged()

void QmitkSlicesInterpolator::OnSurfaceInterpolationInfoChanged ( const itk::EventObject &  )

Just public because it is called by itk::Commands. You should not need to call this.

Definition at line 1210 of file QmitkSlicesInterpolator.cpp.

References Run3DInterpolation().

Referenced by QmitkSlicesInterpolator().

◆ OnTimeChanged()

void QmitkSlicesInterpolator::OnTimeChanged ( itk::Object *  sender,
const itk::EventObject &  e 
)

◆ OnToolManagerReferenceDataModified()

void QmitkSlicesInterpolator::OnToolManagerReferenceDataModified ( )

Just public because it is called by itk::Commands. You should not need to call this.

Definition at line 489 of file QmitkSlicesInterpolator.cpp.

Referenced by Initialize(), and Uninitialize().

◆ OnToolManagerWorkingDataModified()

void QmitkSlicesInterpolator::OnToolManagerWorkingDataModified ( )

Just public because it is called by itk::Commands. You should not need to call this.

Definition at line 460 of file QmitkSlicesInterpolator.cpp.

References GetDataStorage(), OnInterpolationActivated(), mitk::DataStorage::Remove(), and SetCurrentContourListID().

Referenced by Initialize(), and Uninitialize().

◆ Run3DInterpolation

void QmitkSlicesInterpolator::Run3DInterpolation ( )
protectedslot

◆ RunPlaneSuggestion

void QmitkSlicesInterpolator::RunPlaneSuggestion ( )
protectedslot

◆ SetCurrentContourListID()

◆ SetDataStorage()

void QmitkSlicesInterpolator::SetDataStorage ( mitk::DataStorage::Pointer  storage)

Definition at line 196 of file QmitkSlicesInterpolator.cpp.

◆ setEnabled

void QmitkSlicesInterpolator::setEnabled ( bool  enable)
virtualslot

External enableization...

Definition at line 343 of file QmitkSlicesInterpolator.cpp.

References Show3DInterpolationResult().

◆ Show3DInterpolationResult()

◆ SignalRememberContourPositions

void QmitkSlicesInterpolator::SignalRememberContourPositions ( bool  )
signal

◆ SignalShowMarkerNodes

void QmitkSlicesInterpolator::SignalShowMarkerNodes ( bool  )
signal

Referenced by QmitkSlicesInterpolator().

◆ StartUpdateInterpolationTimer

void QmitkSlicesInterpolator::StartUpdateInterpolationTimer ( )
protectedslot

Definition at line 1071 of file QmitkSlicesInterpolator.cpp.

Referenced by QmitkSlicesInterpolator().

◆ StopUpdateInterpolationTimer

◆ TranslateAndInterpolateChangedSlice()

bool QmitkSlicesInterpolator::TranslateAndInterpolateChangedSlice ( const itk::EventObject &  e,
mitk::SliceNavigationController slicer 
)
protected

Retrieves the currently selected PlaneGeometry from a SlicedGeometry3D that is generated by a SliceNavigationController and calls Interpolate to further process this PlaneGeometry into an interpolation.

Parameters
eis a actually a mitk::SliceNavigationController::GeometrySliceEvent, sent by a SliceNavigationController
slicethe SliceNavigationController

Definition at line 526 of file QmitkSlicesInterpolator.cpp.

References mitk::TimeGeometry::GetGeometryForTimeStep(), mitk::SlicedGeometry3D::GetPlaneGeometry(), and Interpolate().

Referenced by OnSliceChanged().

◆ Uninitialize()

void QmitkSlicesInterpolator::Uninitialize ( )

◆ UpdateVisibleSuggestion()

void QmitkSlicesInterpolator::UpdateVisibleSuggestion ( )
protected

Called internally to update the interpolation suggestion. Finds out about the focused render window and requests an interpolation.

Definition at line 1199 of file QmitkSlicesInterpolator.cpp.

References mitk::RenderingManager::GetInstance(), and mitk::RenderingManager::RequestUpdateAll().

Referenced by OnInterpolationActivated(), and OnInterpolationInfoChanged().

Member Data Documentation

◆ ACTION_TO_SLICEDIMENSION

std::map<QAction *, mitk::SliceNavigationController *> QmitkSlicesInterpolator::ACTION_TO_SLICEDIMENSION
protected

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