MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
QmitkUSNavigationStepPunctuationIntervention Class Reference

Navigations step for the actual punctuation intervention. The needle path is projected onto the image plane and the distances to all risk structures are displayed in the widget. More...

#include <QmitkUSNavigationStepPunctuationIntervention.h>

Inheritance diagram for QmitkUSNavigationStepPunctuationIntervention:
QmitkUSAbstractNavigationStep

Signals

void AddAblationZoneClicked (int)
 
void AblationZoneChanged (int, int)
 
- Signals inherited from QmitkUSAbstractNavigationStep
void SignalReadyForNextStep ()
 Signals that all necessary actions where done. The user can proceed with the next stept after this was signaled.
 
void SignalNoLongerReadyForNextStep ()
 Signals that it is no longer possible to proceed with following steps. This signal is emitted when the result data of the step was removed or changed, so that the old results are invalid for following steps.
 
void SignalCombinedModalityChanged (itk::SmartPointer< mitk::AbstractUltrasoundTrackerDevice >)
 Signals that the combined modality was changed by this step. This signal is mainly for steps which creates the combined modality. The new combined modality is given as a parameter.
 
void SignalIntermediateResult (const itk::SmartPointer< mitk::DataNode >)
 Signals that an intermediate result was produced. The properties of the given data node must contain the results. This signal can be used to log the intermediate results of an experiment, for example by using the mitk::USNavigationExperimentLogging.
 
void SignalSettingsNodeChanged (itk::SmartPointer< mitk::DataNode >)
 Signals that the settings node was changed. This signal must not be emitted in an OnSettingsChanged() method.
 

Public Member Functions

void SetNeedleMetaData (mitk::NavigationTool::Pointer needleNavigationTool)
 
 QmitkUSNavigationStepPunctuationIntervention (QWidget *parent=nullptr)
 
 ~QmitkUSNavigationStepPunctuationIntervention () override
 
bool OnStartStep () override
 Called when the navigation step gets started. This method has to be implemented by a concrete subclass to handle actions necessary for starting the step (e.g. initializing that has only to be done once).
 
bool OnRestartStep () override
 Called when restarting a navigation step. This method may be implemented by a concrete subclass to handle actions necessary for restarting the navigation step. The default implementations calls OnStopStep() followed by OnStartStep().
 
bool OnFinishStep () override
 Called when all necessary actions for the step where done. This method has to be implemented by a concrete subclass to handle actions necessary for finishing the navigation step.
 
bool OnActivateStep () override
 Called when the navigation step gets activated. This method has to be implemented by a concrete subclass to handle actions necessary on activating the navigation step.
 
void OnUpdate () override
 Called periodically while a navigation step is active. This method has to be implemented by a concrete subclass to handle all periodic actions during the navigation step.
 
void OnSettingsChanged (const itk::SmartPointer< mitk::DataNode >) override
 Called every time the settings for the navigation process where changed. This method may be implemented by a concrete subclass. The default implementation does nothing.
 
QString GetTitle () override
 Getter for the title of the navigation step. This title should be human readable and can be used to display the available steps and the currently active step to the user. The method has to be implemented by a concrete subclass.
 
bool GetIsRestartable () override
 Indicates if it makes sense to be able to restart the step. This method must be implemented by concrete subclasses if it should not be possible to restart them.
 
FilterVector GetFilter () override
 Getter for navigation data filters of the navigation step. This method may be implemented by a concrete subclass. The default implementation returns an empty vector.
 
- Public Member Functions inherited from QmitkUSAbstractNavigationStep
 QmitkUSAbstractNavigationStep (QWidget *parent=nullptr)
 
 ~QmitkUSAbstractNavigationStep () override
 
void SetDataStorage (itk::SmartPointer< mitk::DataStorage > dataStorage)
 Sets the data storage for the exchange of results between navigation steps.
 
void SetCombinedModality (itk::SmartPointer< mitk::AbstractUltrasoundTrackerDevice > combinedModality)
 Sets the combined modality for the navigation step. OnSetCombinedModality() is called internal.
 
bool StartStep ()
 Should be called to start the navigation step.
 
bool StopStep ()
 Should be called to stop the navigation step.
 
bool RestartStep ()
 Should be called to restart the navigation step.
 
bool FinishStep ()
 Should be called to finish the navigation step. The state has to be 'active' before and is 'started' afterwards.
 
bool ActivateStep ()
 Should be called to activate the navigation step. The step gets started before if it was stopped.
 
bool DeactivateStep ()
 Should be called to deactivate the navigation step.
 
void Update ()
 Should be called periodically while the navigation step is active. Internal, the method OnUpdate() is called.
 
NavigationStepState GetNavigationStepState ()
 Get the current state of the navigation step.
 

Protected Slots

void OnAddAblationZoneClicked ()
 
void OnEnableAblationZoneMarkingClicked ()
 
void OnAblationZoneSizeSliderChanged (int size)
 
void OnShowToolAxisEnabled (int enabled)
 

Protected Member Functions

void OnSetCombinedModality () override
 Called every time SetCombinedModality() was called. This method may be implemented by a concrete subclass to handle this event. The default implementation does nothing.
 
void ClearZones ()
 
void UpdateBodyMarkerStatus (mitk::NavigationData::Pointer bodyMarker)
 
void UpdateCriticalStructures (mitk::NavigationData::Pointer needle, mitk::PointSet::Pointer path)
 
bool CheckSphereLineIntersection (mitk::Point3D &sphereOrigin, float &sphereRadius, mitk::Point3D &lineStart, mitk::Point3D &lineEnd)
 
- Protected Member Functions inherited from QmitkUSAbstractNavigationStep
virtual bool OnStopStep ()
 Callen when the navigation step gets stopped. This method may be implemented by a concrete subclass to handle actions necessary for stopping the step (e.g. cleanup). The default implementation does nothing.
 
virtual bool OnDeactivateStep ()
 Called when the navigation step gets deactivated (-> state started). This method may be implemented by a concrete subclass to handle actions necessary on deactivating the navigation step, which means switching to another step.
 
itk::SmartPointer< mitk::DataStorage > GetDataStorage (bool throwNull=true)
 Returns the data storage set for the navigation step.
 
itk::SmartPointer< mitk::AbstractUltrasoundTrackerDeviceGetCombinedModality (bool throwNull=true)
 Returns the combined modality set for the navigation step.
 
itk::SmartPointer< mitk::DataNode > GetNamedDerivedNode (const char *name, const char *sourceName)
 Returns node with the given name and the given source node (parent) from the data storage.
 
itk::SmartPointer< mitk::DataNode > GetNamedDerivedNodeAndCreate (const char *name, const char *sourceName)
 Returns node with the given name and the given source node (parent) from the data storage. The node is created if no matching node was found.
 

Additional Inherited Members

- Public Types inherited from QmitkUSAbstractNavigationStep
enum  NavigationStepState { State_Stopped , State_Started , State_Active }
 
typedef std::vector< itk::SmartPointer< mitk::NavigationDataToNavigationDataFilter > > FilterVector
 
- Static Public Attributes inherited from QmitkUSAbstractNavigationStep
static const char * DATANAME_SETTINGS = "Settings"
 
static const char * DATANAME_IMAGESTREAM = "US Image Stream"
 
static const char * DATANAME_BASENODE = QmitkUSAbstractNavigationStep::DATANAME_IMAGESTREAM
 

Detailed Description

Navigations step for the actual punctuation intervention. The needle path is projected onto the image plane and the distances to all risk structures are displayed in the widget.

The risk structures are expected to be in the data storage under DATANAME_BASENODE -> DATANAME_ZONES. They should contain a property named "zone.size" and it is assumed that they are spherical.

Definition at line 51 of file QmitkUSNavigationStepPunctuationIntervention.h.

Constructor & Destructor Documentation

◆ QmitkUSNavigationStepPunctuationIntervention()

QmitkUSNavigationStepPunctuationIntervention::QmitkUSNavigationStepPunctuationIntervention ( QWidget * parent = nullptr)
explicit

◆ ~QmitkUSNavigationStepPunctuationIntervention()

QmitkUSNavigationStepPunctuationIntervention::~QmitkUSNavigationStepPunctuationIntervention ( )
override

Member Function Documentation

◆ AblationZoneChanged

void QmitkUSNavigationStepPunctuationIntervention::AblationZoneChanged ( int ,
int  )
signal

◆ AddAblationZoneClicked

void QmitkUSNavigationStepPunctuationIntervention::AddAblationZoneClicked ( int )
signal

◆ CheckSphereLineIntersection()

bool QmitkUSNavigationStepPunctuationIntervention::CheckSphereLineIntersection ( mitk::Point3D & sphereOrigin,
float & sphereRadius,
mitk::Point3D & lineStart,
mitk::Point3D & lineEnd )
protected

Checks if the given line intersects the given sphere.

Definition at line 273 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ ClearZones()

void QmitkUSNavigationStepPunctuationIntervention::ClearZones ( )
protected

◆ GetFilter()

QmitkUSNavigationStepPunctuationIntervention::FilterVector QmitkUSNavigationStepPunctuationIntervention::GetFilter ( )
overridevirtual

Getter for navigation data filters of the navigation step. This method may be implemented by a concrete subclass. The default implementation returns an empty vector.

Returns
all navigation data filters that should be updated during the navigation process

Reimplemented from QmitkUSAbstractNavigationStep.

Definition at line 191 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ GetIsRestartable()

bool QmitkUSNavigationStepPunctuationIntervention::GetIsRestartable ( )
overridevirtual

Indicates if it makes sense to be able to restart the step. This method must be implemented by concrete subclasses if it should not be possible to restart them.

Returns
true for the default implementation

Reimplemented from QmitkUSAbstractNavigationStep.

Definition at line 186 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ GetTitle()

QString QmitkUSNavigationStepPunctuationIntervention::GetTitle ( )
overridevirtual

Getter for the title of the navigation step. This title should be human readable and can be used to display the available steps and the currently active step to the user. The method has to be implemented by a concrete subclass.

Implements QmitkUSAbstractNavigationStep.

Definition at line 181 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ OnAblationZoneSizeSliderChanged

void QmitkUSNavigationStepPunctuationIntervention::OnAblationZoneSizeSliderChanged ( int size)
protectedslot

◆ OnActivateStep()

bool QmitkUSNavigationStepPunctuationIntervention::OnActivateStep ( )
overridevirtual

Called when the navigation step gets activated. This method has to be implemented by a concrete subclass to handle actions necessary on activating the navigation step.

Returns
if the actions were done successfully

Implements QmitkUSAbstractNavigationStep.

Definition at line 113 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ OnAddAblationZoneClicked

void QmitkUSNavigationStepPunctuationIntervention::OnAddAblationZoneClicked ( )
protectedslot

◆ OnEnableAblationZoneMarkingClicked

void QmitkUSNavigationStepPunctuationIntervention::OnEnableAblationZoneMarkingClicked ( )
protectedslot

◆ OnFinishStep()

bool QmitkUSNavigationStepPunctuationIntervention::OnFinishStep ( )
overridevirtual

Called when all necessary actions for the step where done. This method has to be implemented by a concrete subclass to handle actions necessary for finishing the navigation step.

Returns
if the actions were done successfully

Implements QmitkUSAbstractNavigationStep.

Definition at line 101 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ OnRestartStep()

bool QmitkUSNavigationStepPunctuationIntervention::OnRestartStep ( )
overridevirtual

Called when restarting a navigation step. This method may be implemented by a concrete subclass to handle actions necessary for restarting the navigation step. The default implementations calls OnStopStep() followed by OnStartStep().

Returns
if the actions were done successfully

Reimplemented from QmitkUSAbstractNavigationStep.

Definition at line 96 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ OnSetCombinedModality()

void QmitkUSNavigationStepPunctuationIntervention::OnSetCombinedModality ( )
overrideprotectedvirtual

Called every time SetCombinedModality() was called. This method may be implemented by a concrete subclass to handle this event. The default implementation does nothing.

Reimplemented from QmitkUSAbstractNavigationStep.

Definition at line 196 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ OnSettingsChanged()

void QmitkUSNavigationStepPunctuationIntervention::OnSettingsChanged ( const itk::SmartPointer< mitk::DataNode > )
overridevirtual

Called every time the settings for the navigation process where changed. This method may be implemented by a concrete subclass. The default implementation does nothing.

Reimplemented from QmitkUSAbstractNavigationStep.

Definition at line 176 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ OnShowToolAxisEnabled

void QmitkUSNavigationStepPunctuationIntervention::OnShowToolAxisEnabled ( int enabled)
protectedslot

◆ OnStartStep()

bool QmitkUSNavigationStepPunctuationIntervention::OnStartStep ( )
overridevirtual

Called when the navigation step gets started. This method has to be implemented by a concrete subclass to handle actions necessary for starting the step (e.g. initializing that has only to be done once).

Returns
if the actions were done successfully

Implements QmitkUSAbstractNavigationStep.

Definition at line 85 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ OnUpdate()

void QmitkUSNavigationStepPunctuationIntervention::OnUpdate ( )
overridevirtual

Called periodically while a navigation step is active. This method has to be implemented by a concrete subclass to handle all periodic actions during the navigation step.

Implements QmitkUSAbstractNavigationStep.

Definition at line 148 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ SetNeedleMetaData()

void QmitkUSNavigationStepPunctuationIntervention::SetNeedleMetaData ( mitk::NavigationTool::Pointer needleNavigationTool)

Sets the navigation tool of the needle for the meta data (tool axis etc.)

Definition at line 44 of file QmitkUSNavigationStepPunctuationIntervention.cpp.

◆ UpdateBodyMarkerStatus()

void QmitkUSNavigationStepPunctuationIntervention::UpdateBodyMarkerStatus ( mitk::NavigationData::Pointer bodyMarker)
protected

◆ UpdateCriticalStructures()

void QmitkUSNavigationStepPunctuationIntervention::UpdateCriticalStructures ( mitk::NavigationData::Pointer needle,
mitk::PointSet::Pointer path )
protected

Updates the critical structures which means that the distance to the needle tip is updated and also the color changes to red if the path projection intersects the critical structure.

Definition at line 249 of file QmitkUSNavigationStepPunctuationIntervention.cpp.


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