Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
QmitkSliceBasedInterpolatorWidget Class Reference

GUI for slices interpolation. More...

#include <QmitkSliceBasedInterpolatorWidget.h>

Inheritance diagram for QmitkSliceBasedInterpolatorWidget:
Collaboration diagram for QmitkSliceBasedInterpolatorWidget:

Public Slots

void OnToggleWidgetActivation (bool)
 Reaction to "Start/Stop" button click. More...
 

Signals

void signalSliceBasedInterpolationEnabled (bool)
 

Public Member Functions

 QmitkSliceBasedInterpolatorWidget (QWidget *parent=0, const char *name=0)
 
virtual ~QmitkSliceBasedInterpolatorWidget ()
 
void SetDataStorage (mitk::DataStorage &storage)
 
void SetSliceNavigationControllers (const QList< mitk::SliceNavigationController * > &controllers)
 
void OnToolManagerWorkingDataModified ()
 
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 OnSliceInterpolationInfoChanged (const itk::EventObject &)
 

Public Attributes

Ui::QmitkSliceBasedInterpolatorWidgetGUIControls m_Controls
 

Protected Types

typedef std::map< QAction *, mitk::SliceNavigationController * > ActionToSliceDimensionMapType
 

Protected Slots

void OnAcceptInterpolationClicked ()
 Reaction to "Accept Current Slice" button click. More...
 
void OnAcceptAllInterpolationsClicked ()
 
void OnAcceptAllPopupActivated (QAction *action)
 

Protected Member Functions

const ActionToSliceDimensionMapType CreateActionToSliceDimension ()
 
void AcceptAllInterpolations (mitk::SliceNavigationController *slicer)
 
void WaitCursorOn ()
 
void WaitCursorOff ()
 
void RestoreOverrideCursor ()
 
mitk::Image::Pointer GetWorkingSlice (const mitk::PlaneGeometry *planeGeometry)
 
void TranslateAndInterpolateChangedSlice (const itk::EventObject &e, mitk::SliceNavigationController *slicer)
 
void Interpolate (mitk::PlaneGeometry *plane, unsigned int timeStep, mitk::SliceNavigationController *slicer)
 
void UpdateVisibleSuggestion ()
 

Protected Attributes

ActionToSliceDimensionMapType m_ActionToSliceDimensionMap
 

Detailed Description

GUI for slices interpolation.

See also
QmitkInteractiveSegmentation
mitk::SegmentationInterpolation

There is a separate page describing the general design of QmitkInteractiveSegmentation: QmitkInteractiveSegmentationTechnicalPage

While mitk::SegmentationInterpolation does the bookkeeping of interpolation (keeping track of which slices contain how much segmentation) and the algorithmic work, QmitkSliceBasedInterpolatorWidget 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 62 of file QmitkSliceBasedInterpolatorWidget.h.

Member Typedef Documentation

Constructor & Destructor Documentation

QmitkSliceBasedInterpolatorWidget::~QmitkSliceBasedInterpolatorWidget ( )
virtual

Member Function Documentation

const QmitkSliceBasedInterpolatorWidget::ActionToSliceDimensionMapType QmitkSliceBasedInterpolatorWidget::CreateActionToSliceDimension ( )
protected
mitk::Image::Pointer QmitkSliceBasedInterpolatorWidget::GetWorkingSlice ( const mitk::PlaneGeometry planeGeometry)
protected

Gets the working slice based on the given plane geometry and last saved interaction

Parameters
planeGeometrya plane geometry

Definition at line 282 of file QmitkSliceBasedInterpolatorWidget.cpp.

References mitk::Stepper::GetPos(), mitk::BaseController::GetTime(), MITK_ERROR, mitk::New(), and mitk::ExtractSliceFilter::New().

Referenced by AcceptAllInterpolations(), and OnAcceptInterpolationClicked().

void QmitkSliceBasedInterpolatorWidget::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 259 of file QmitkSliceBasedInterpolatorWidget.cpp.

References mitk::SegTool2D::DetermineAffectedImageSlice().

Referenced by TranslateAndInterpolateChangedSlice().

void QmitkSliceBasedInterpolatorWidget::OnAcceptAllInterpolationsClicked ( )
protectedslot
void QmitkSliceBasedInterpolatorWidget::OnAcceptAllPopupActivated ( QAction *  action)
protectedslot
void QmitkSliceBasedInterpolatorWidget::OnSliceChanged ( itk::Object *  sender,
const itk::EventObject &  e 
)
void QmitkSliceBasedInterpolatorWidget::OnSliceInterpolationInfoChanged ( const itk::EventObject &  )

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

Definition at line 655 of file QmitkSliceBasedInterpolatorWidget.cpp.

References UpdateVisibleSuggestion().

Referenced by QmitkSliceBasedInterpolatorWidget().

void QmitkSliceBasedInterpolatorWidget::OnSliceNavigationControllerDeleted ( const itk::Object *  sender,
const itk::EventObject &   
)
void QmitkSliceBasedInterpolatorWidget::OnTimeChanged ( itk::Object *  sender,
const itk::EventObject &  e 
)
void QmitkSliceBasedInterpolatorWidget::OnToolManagerWorkingDataModified ( )
void QmitkSliceBasedInterpolatorWidget::RestoreOverrideCursor ( )
protected

Definition at line 685 of file QmitkSliceBasedInterpolatorWidget.cpp.

Referenced by WaitCursorOff().

void QmitkSliceBasedInterpolatorWidget::SetDataStorage ( mitk::DataStorage storage)

Definition at line 129 of file QmitkSliceBasedInterpolatorWidget.cpp.

void QmitkSliceBasedInterpolatorWidget::SetSliceNavigationControllers ( const QList< mitk::SliceNavigationController * > &  controllers)
void QmitkSliceBasedInterpolatorWidget::signalSliceBasedInterpolationEnabled ( bool  )
signal
void QmitkSliceBasedInterpolatorWidget::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 234 of file QmitkSliceBasedInterpolatorWidget.cpp.

References mitk::TimeGeometry::GetGeometryForTimeStep(), mitk::SlicedGeometry3D::GetPlaneGeometry(), mitk::SliceNavigationController::TimeGeometryEvent::GetPos(), mitk::SliceNavigationController::TimeGeometryEvent::GetTimeGeometry(), and Interpolate().

Referenced by OnSliceChanged(), and UpdateVisibleSuggestion().

void QmitkSliceBasedInterpolatorWidget::UpdateVisibleSuggestion ( )
protected
void QmitkSliceBasedInterpolatorWidget::WaitCursorOff ( )
protected

Definition at line 680 of file QmitkSliceBasedInterpolatorWidget.cpp.

References RestoreOverrideCursor().

void QmitkSliceBasedInterpolatorWidget::WaitCursorOn ( )
protected

Definition at line 675 of file QmitkSliceBasedInterpolatorWidget.cpp.

Member Data Documentation

ActionToSliceDimensionMapType QmitkSliceBasedInterpolatorWidget::m_ActionToSliceDimensionMap
protected
Ui::QmitkSliceBasedInterpolatorWidgetGUIControls QmitkSliceBasedInterpolatorWidget::m_Controls

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