Medical Imaging Interaction Toolkit  2016.11.0
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=NULL)
 

Signals

void SignalRememberContourPositions (bool)
 
void SignalShowMarkerNodes (bool)
 

Public Member Functions

 QmitkSlicesInterpolator (QWidget *parent=0, const char *name=0)
 
void Initialize (mitk::ToolManager *toolManager, const QList< mitk::SliceNavigationController * > &controllers)
 
void Uninitialize ()
 
virtual ~QmitkSlicesInterpolator ()
 
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

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, 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 80 of file QmitkSlicesInterpolator.h.

Constructor & Destructor Documentation

QmitkSlicesInterpolator::~QmitkSlicesInterpolator ( )
virtual

Definition at line 316 of file QmitkSlicesInterpolator.cpp.

References Uninitialize().

Member Function Documentation

const std::map< QAction *, mitk::SliceNavigationController * > QmitkSlicesInterpolator::createActionToSliceDimension ( )
protected
void QmitkSlicesInterpolator::Enable3DInterpolation ( bool  on)
slot

Definition at line 1193 of file QmitkSlicesInterpolator.cpp.

References On3DInterpolationActivated().

void QmitkSlicesInterpolator::EnableInterpolation ( bool  on)
slot

Call this from the outside to enable/disable interpolation

Definition at line 1186 of file QmitkSlicesInterpolator.cpp.

References OnInterpolationActivated().

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

Call this from the outside to accept all interpolations

Definition at line 798 of file QmitkSlicesInterpolator.cpp.

References AcceptAllInterpolations(), and OnAcceptAllInterpolationsClicked().

mitk::DataStorage * QmitkSlicesInterpolator::GetDataStorage ( )

Definition at line 225 of file QmitkSlicesInterpolator.cpp.

Referenced by OnToolManagerWorkingDataModified().

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 565 of file QmitkSlicesInterpolator.cpp.

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

Referenced by TranslateAndInterpolateChangedSlice().

void QmitkSlicesInterpolator::On2DInterpolationEnabled ( bool  status)
protectedslot

Definition at line 373 of file QmitkSlicesInterpolator.cpp.

References OnInterpolationActivated().

void QmitkSlicesInterpolator::On3DInterpolationEnabled ( bool  status)
protectedslot

Definition at line 379 of file QmitkSlicesInterpolator.cpp.

References On3DInterpolationActivated().

void QmitkSlicesInterpolator::OnAcceptAllInterpolationsClicked ( )
protectedslot
void QmitkSlicesInterpolator::OnAcceptAllPopupActivated ( QAction *  action)
protectedslot
void QmitkSlicesInterpolator::OnInterpolationActivated ( bool  on)
protectedslot
void QmitkSlicesInterpolator::OnInterpolationDisabled ( bool  status)
protectedslot
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 1205 of file QmitkSlicesInterpolator.cpp.

References UpdateVisibleSuggestion().

Referenced by QmitkSlicesInterpolator().

void QmitkSlicesInterpolator::OnInterpolationMethodChanged ( int  index)
protectedslot
void QmitkSlicesInterpolator::OnShowMarkers ( bool  state)
protectedslot
void QmitkSlicesInterpolator::OnSliceChanged ( itk::Object *  sender,
const itk::EventObject &  e 
)
void QmitkSlicesInterpolator::OnSliceNavigationControllerDeleted ( const itk::Object *  sender,
const itk::EventObject &   
)

Definition at line 1317 of file QmitkSlicesInterpolator.cpp.

Referenced by Initialize().

void QmitkSlicesInterpolator::OnSuggestPlaneClicked ( )
protectedslot

Referenced by QmitkSlicesInterpolator().

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 1211 of file QmitkSlicesInterpolator.cpp.

References Run3DInterpolation().

Referenced by QmitkSlicesInterpolator().

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

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

Definition at line 493 of file QmitkSlicesInterpolator.cpp.

Referenced by Initialize(), and Uninitialize().

void QmitkSlicesInterpolator::OnToolManagerWorkingDataModified ( )

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

Definition at line 464 of file QmitkSlicesInterpolator.cpp.

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

Referenced by Initialize(), and Uninitialize().

void QmitkSlicesInterpolator::Run3DInterpolation ( )
protectedslot
void QmitkSlicesInterpolator::RunPlaneSuggestion ( )
protectedslot
void QmitkSlicesInterpolator::SetDataStorage ( mitk::DataStorage::Pointer  storage)

Definition at line 200 of file QmitkSlicesInterpolator.cpp.

void QmitkSlicesInterpolator::setEnabled ( bool  enable)
virtualslot

External enableization...

Definition at line 347 of file QmitkSlicesInterpolator.cpp.

References Show3DInterpolationResult().

void QmitkSlicesInterpolator::SignalRememberContourPositions ( bool  )
signal
void QmitkSlicesInterpolator::SignalShowMarkerNodes ( bool  )
signal

Referenced by QmitkSlicesInterpolator().

void QmitkSlicesInterpolator::StartUpdateInterpolationTimer ( )
protectedslot

Definition at line 1072 of file QmitkSlicesInterpolator.cpp.

Referenced by QmitkSlicesInterpolator().

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 530 of file QmitkSlicesInterpolator.cpp.

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

Referenced by OnSliceChanged().

void QmitkSlicesInterpolator::Uninitialize ( )
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 1200 of file QmitkSlicesInterpolator.cpp.

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

Referenced by OnInterpolationActivated(), and OnInterpolationInfoChanged().

Member Data Documentation

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

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