MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
QmitkUSNavigationStepPlacementPlanning.h
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
13#ifndef QmitkUSNavigationStepPlacementPlanning_h
14#define QmitkUSNavigationStepPlacementPlanning_h
15
17
18namespace Ui
19{
21}
22
23namespace mitk
24{
25 class USNavigationTargetUpdateFilter;
26 class USNavigationTargetIntersectionFilter;
27 class USPointMarkInteractor;
28 class NodeDisplacementFilter;
29 class NeedleProjectionFilter;
30 class LookupTableProperty;
31 class TextAnnotation3D;
32 class Surface;
33 class PointSet;
34 class USTargetPlacementQualityCalculator;
35}
36
48{
49 Q_OBJECT
50
51protected slots:
58 void OnFreeze(bool freezed);
59
64
69
73 void OnGoToNextTarget();
74
79
80public:
81 explicit QmitkUSNavigationStepPlacementPlanning(QWidget *parent = nullptr);
83
84 QString GetTitle() override;
85 FilterVector GetFilter() override;
86
87protected:
88 bool OnStartStep() override;
89 bool OnStopStep() override;
90 bool OnRestartStep() override;
91 bool OnFinishStep() override;
92
93 bool OnActivateStep() override;
94 bool OnDeactivateStep() override;
95 void OnUpdate() override;
96
97 void OnSettingsChanged(const itk::SmartPointer<mitk::DataNode> settingsNode) override;
98 void OnSetCombinedModality() override;
99
101 void UpdateTargetCoordinates(mitk::DataNode *);
102 void UpdateTargetColors();
110 void UpdateBodyMarkerStatus(mitk::NavigationData::Pointer bodyMarker);
111 void UpdateSensorsNames();
112
116
123
125
127 QVector<itk::SmartPointer<mitk::DataNode>> m_PlannedTargetNodes;
128 QVector<itk::SmartPointer<mitk::DataNode>> m_PlannedNeedlePaths;
129
131
134
137
138private:
139 mitk::MessageDelegate1<QmitkUSNavigationStepPlacementPlanning, mitk::DataNode *> m_ListenerTargetCoordinatesChanged;
140
141 Ui::QmitkUSNavigationStepPlacementPlanning *ui;
142};
143
144#endif
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...
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 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)
QString GetTitle() override
Getter for the title of the navigation step. This title should be human readable and can be used to d...
bool OnStopStep() override
Callen when the navigation step gets stopped. This method may be implemented by a concrete subclass t...
itk::SmartPointer< mitk::NeedleProjectionFilter > m_NeedleProjectionFilter
itk::SmartPointer< mitk::USNavigationTargetIntersectionFilter > m_TargetIntersectionFilter
QVector< itk::SmartPointer< mitk::DataNode > > m_PlannedTargetNodes
void UpdateBodyMarkerStatus(mitk::NavigationData::Pointer bodyMarker)
itk::SmartPointer< mitk::TextAnnotation3D > m_CurrentTargetNodeOverlay
void OnGoToNextTarget()
Selects the next target as active target.
IGT Exceptions.