13#ifndef QmitkUSNavigationStepPlacementPlanning_h
14#define QmitkUSNavigationStepPlacementPlanning_h
25 class USNavigationTargetUpdateFilter;
26 class USNavigationTargetIntersectionFilter;
27 class USPointMarkInteractor;
28 class NodeDisplacementFilter;
29 class NeedleProjectionFilter;
30 class LookupTableProperty;
31 class TextAnnotation3D;
34 class USTargetPlacementQualityCalculator;
139 mitk::MessageDelegate1<QmitkUSNavigationStepPlacementPlanning, mitk::DataNode *> m_ListenerTargetCoordinatesChanged;
141 Ui::QmitkUSNavigationStepPlacementPlanning *ui;
Abstract base class for navigation step widgets.
std::vector< itk::SmartPointer< mitk::NavigationDataToNavigationDataFilter > > FilterVector
Navigation step for planning the positions for implanting markers.
bool OnRestartStep() override
Called when restarting a navigation step. This method may be implemented by a concrete subclass to ha...
void OnSetCombinedModality() override
Called every time SetCombinedModality() was called. This method may be implemented by a concrete subc...
void OnFreeze(bool freezed)
Freezes or unfreezes the combined modality. In freeze state an interactor is activated in the render ...
itk::SmartPointer< mitk::DataNode > CalculatePlanningQuality(itk::SmartPointer< mitk::Surface > targetSurface, itk::SmartPointer< mitk::PointSet >)
void OnUpdate() override
Called periodically while a navigation step is active. This method has to be implemented by a concret...
void OnRemoveCurrentTargetClicked()
The currently active target is removed from the data storage.
FilterVector GetFilter() override
Getter for navigation data filters of the navigation step. This method may be implemented by a concre...
bool OnStartStep() override
Called when the navigation step gets started. This method has to be implemented by a concrete subclas...
bool OnActivateStep() override
Called when the navigation step gets activated. This method has to be implemented by a concrete subcl...
std::string m_ReferenceSensorName
itk::SmartPointer< mitk::USTargetPlacementQualityCalculator > m_PlacementQualityCalculator
itk::SmartPointer< mitk::USNavigationTargetUpdateFilter > m_TargetUpdateFilter
bool OnFinishStep() override
Called when all necessary actions for the step where done. This method has to be implemented by a con...
void OnPlaceTargetButtonClicked()
Plan target position at the intersection between needle path and target surface.
itk::SmartPointer< mitk::LookupTableProperty > m_TargetColorLookupTableProperty
void OnGoToPreviousTarget()
Selects the previous target as active target.
itk::SmartPointer< mitk::USPointMarkInteractor > m_PointMarkInteractor
void UpdateTargetCoordinates(mitk::DataNode *)
void OnSettingsChanged(const itk::SmartPointer< mitk::DataNode > settingsNode) override
Called every time the settings for the navigation process where changed. This method may be implement...
bool OnDeactivateStep() override
Called when the navigation step gets deactivated (-> state started). This method may be implemented b...
itk::SmartPointer< mitk::NodeDisplacementFilter > m_NodeDisplacementFilter
QVector< itk::SmartPointer< mitk::DataNode > > m_PlannedNeedlePaths
itk::SmartPointer< mitk::Surface > CreateSphere(float radius)
void UpdateTargetColors()
std::string m_NeedleSensorName
QString GetTitle() override
Getter for the title of the navigation step. This title should be human readable and can be used to d...
void ReinitNodeDisplacementFilter()
unsigned int m_ReferenceSensorIndex
QmitkUSNavigationStepPlacementPlanning(QWidget *parent=nullptr)
void CreateTargetNodesIfNecessary()
bool OnStopStep() override
Callen when the navigation step gets stopped. This method may be implemented by a concrete subclass t...
void UpdateTargetDescriptions()
~QmitkUSNavigationStepPlacementPlanning() override
itk::SmartPointer< mitk::NeedleProjectionFilter > m_NeedleProjectionFilter
unsigned int m_NeedleSensorIndex
void CalculatePlanningQuality()
itk::SmartPointer< mitk::DataNode > m_TargetNode
itk::SmartPointer< mitk::USNavigationTargetIntersectionFilter > m_TargetIntersectionFilter
QVector< itk::SmartPointer< mitk::DataNode > > m_PlannedTargetNodes
void UpdateBodyMarkerStatus(mitk::NavigationData::Pointer bodyMarker)
void GenerateTargetColorLookupTable()
itk::SmartPointer< mitk::TextAnnotation3D > m_CurrentTargetNodeOverlay
void OnGoToNextTarget()
Selects the next target as active target.
void UpdateSensorsNames()