MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
QmitkUSNavigationMarkerPlacement.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 QmitkUSNavigationMarkerPlacement_h
14#define QmitkUSNavigationMarkerPlacement_h
15
16#include <QmitkAbstractView.h>
17
22#include <mitkMessage.h>
23#include <mitkTextAnnotation2D.h>
27
28namespace itk
29{
30 template <class T>
31 class SmartPointer;
32}
33
34namespace mitk
35{
36 class USNavigationStepTimer;
37}
38
39namespace Ui
40{
42}
43
46class QmitkStdMultiWidget;
47class QTimer;
48class QSignalMapper;
49
59class QmitkUSNavigationMarkerPlacement : public QmitkAbstractView
60{
61 Q_OBJECT
62
63 protected slots:
64
71
78 void OnTimeout();
79
84
90 void OnStartExperiment();
91
95 void OnFinishExperiment();
96
101
102 void OnAddAblationZone(int size);
103
105
107
109
110 void OnChangeAblationZone(int id, int newSize);
111
113
114 void OnRefreshView();
115
116public:
117 static const char *DATANAME_TUMOUR;
118 static const char *DATANAME_TARGETSURFACE;
119 static const char *DATANAME_ZONES;
120 static const char *DATANAME_TARGETS;
121 static const char *DATANAME_TARGETS_PATHS;
122 static const char *DATANAME_REACHED_TARGETS;
123
126
127 void CreateQtPartControl(QWidget *parent) override;
128
129 static const std::string VIEW_ID;
130
131 void OnCombinedModalityPropertyChanged(const std::string &, const std::string &);
132
133protected:
137 void SetFocus() override;
138
142 void ReinitOnImage();
143
147 virtual void SetTwoWindowView();
148
152 void Convert2DImagesTo3D(mitk::DataStorage::SetOfObjects::ConstPointer nodes);
153
155
156 void UpdateToolStorage();
157
158 void CreateOverlays();
159
160 void InitImageStream();
161
162 QWidget *m_Parent;
165 QmitkStdMultiWidget *m_StdMultiWidget;
172
175
179 std::vector<QString>
180 m_NavigationStepNames; // stores the names of the navigation steps which are currently used (for logging purposes)
181
183 mitk::USImageLoggingFilter::Pointer m_USImageLoggingFilter;
184 mitk::NavigationDataRecorder::Pointer m_NavigationDataRecorder; // records navigation data files
185 mitk::NodeDisplacementFilter::Pointer m_TargetNodeDisplacementFilter;
186 mitk::NodeDisplacementFilter::Pointer m_AblationZonesDisplacementFilter;
187 mitk::NavigationDataObjectVisualizationFilter::Pointer m_ToolVisualizationFilter;
188 mitk::DataNode::Pointer m_InstrumentNode;
189 std::vector<mitk::DataNode::Pointer> m_AblationZonesVector;
190
193
195
197
198 //To get tool storage
199 mitk::NavigationDataSource::Pointer m_NavigationDataSource;
200 mitk::NavigationToolStorage::Pointer m_CurrentStorage;
201
204
205private:
206 Ui::QmitkUSNavigationMarkerPlacement *ui;
207};
208
209#endif
Abstract base class for navigation step widgets.
View for navigated marker placement using the combined modality. This view utilizes the QmitkUSNaviga...
mitk::NavigationDataRecorder::Pointer m_NavigationDataRecorder
void ReinitOnImage()
Helper function which performs a reinit on the ultrasound image.
mitk::NodeDisplacementFilter::Pointer m_TargetNodeDisplacementFilter
void OnSettingsChanged(itk::SmartPointer< mitk::DataNode >)
Switches the navigation step widgets if the navigation application was changed.
mitk::NodeDisplacementFilter::Pointer m_AblationZonesDisplacementFilter
void OnCombinedModalityPropertyChanged(const std::string &, const std::string &)
itk::SmartPointer< mitk::DataNode > m_SettingsNode
mitk::USImageLoggingFilter::Pointer m_USImageLoggingFilter
itk::SmartPointer< mitk::AbstractUltrasoundTrackerDevice > m_CombinedModality
itk::SmartPointer< mitk::DataNode > m_ImageStreamNode
itk::SmartPointer< mitk::DataNode > m_BaseNode
mitk::NavigationToolStorage::Pointer m_CurrentStorage
void Convert2DImagesTo3D(mitk::DataStorage::SetOfObjects::ConstPointer nodes)
Helper function for being able to serialize the 2d ultrasound image.
itk::SmartPointer< mitk::TextAnnotation2D > m_WarnOverlay
void OnTimeout()
Called periodically to update the rendering. The standard multi widget is changed to fit the navigati...
void OnStartExperiment()
Initializes anything necessary for an experiment. The user is asked for a directory for storing the r...
mitk::NavigationDataObjectVisualizationFilter::Pointer m_ToolVisualizationFilter
void OnFinishExperiment()
Stops logging and saves everything to the file system.
mitk::NavigationDataSource::Pointer m_NavigationDataSource
virtual void SetTwoWindowView()
Sets the multiwidget to two windows, axial on top and 3D render window on the bottom.
void OnImageAndNavigationDataLoggingTimeout()
Called periodically during an experiment for logging the ultrasound images.
std::vector< mitk::DataNode::Pointer > m_AblationZonesVector
itk::SmartPointer< mitk::USNavigationStepTimer > m_NavigationStepTimer
mitk::USNavigationLoggingBackend m_LoggingBackend
void SetFocus() override
A reinit on the ultrasound image is performed every time the view gets the focus.
Navigations step for the actual punctuation intervention. The needle path is projected onto the image...
Backend for the MITK log mechanism. This backend writes all messages to the given file.
IGT Exceptions.