MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
QmitkIGTTrackingSemiAutomaticMeasurementView.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 QmitkIGTTrackingSemiAutomaticMeasurementView_h
14#define QmitkIGTTrackingSemiAutomaticMeasurementView_h
15
16#include <berryISelectionListener.h>
17
18#include <QmitkAbstractView.h>
19
20//QT
21#include <QTimer>
22
23//MITK
29
30#include "ui_QmitkIGTTrackingSemiAutomaticMeasurementViewControls.h"
31
38class QmitkIGTTrackingSemiAutomaticMeasurementView : public QmitkAbstractView
39{
40 Q_OBJECT
41
42public:
43
44 static const std::string VIEW_ID;
45
48
49 void CreateQtPartControl(QWidget *parent) override;
50 void SetFocus() override {}
51
52protected slots:
53
56 void OnStartTracking();
57 void OnStopTracking();
59 void OnSetReference();
62 void UpdateTimer();
63 void CreateResults();
64 void OnUseReferenceToggled(bool state);
65
66protected:
67
68 Ui::QmitkIGTTrackingSemiAutomaticMeasurementViewControls* m_Controls;
69
70 //the tool storages
71 mitk::NavigationToolStorage::Pointer m_MeasurementStorage;
72 mitk::NavigationToolStorage::Pointer m_ReferenceStorage;
73
74 //members for the filter pipeline
75 mitk::TrackingDeviceSource::Pointer m_MeasurementTrackingDeviceSource;
76 mitk::NavigationDataObjectVisualizationFilter::Pointer m_MeasurementToolVisualizationFilter;
77 mitk::NavigationDataRecorderDeprecated::Pointer m_MeasurementLoggingFilterXML;
78 mitk::NavigationDataRecorderDeprecated::Pointer m_MeasurementLoggingFilterCSV;
79 mitk::TrackingDeviceSource::Pointer m_ReferenceTrackingDeviceSource;
80 mitk::NavigationDataRecorderDeprecated::Pointer m_ReferenceLoggingFilterXML;
81 mitk::NavigationDataRecorderDeprecated::Pointer m_ReferenceLoggingFilterCSV;
82
83 //members for file name list
84 std::vector<std::string> m_FilenameVector;
86
87 //help methods
88 mitk::NavigationToolStorage::Pointer ReadStorage(std::string file);
89 void MessageBox(std::string s);
90 void DisableAllButtons();
91 void EnableAllButtons();
92 void FinishMeasurement();
93 void StartLoggingAdditionalCSVFile(std::string filePostfix);
96
97 //timer
98 QTimer* m_Timer;
99
100 //members for reference checking
101 std::vector<mitk::Point3D> m_ReferenceStartPositions;
103
104 //logging members
107 std::fstream m_logFileCSV;
108
109 //event filter for key presses
110 bool eventFilter(QObject *obj, QEvent *ev) override;
111
112 //results members
113 mitk::PointSet::Pointer m_MeanPoints;
114 std::vector<double> m_RMSValues;
115 mitk::NavigationDataEvaluationFilter::Pointer m_EvaluationFilter;
116
118};
119
120#endif
mitk::NavigationDataRecorderDeprecated::Pointer m_MeasurementLoggingFilterCSV
mitk::NavigationDataRecorderDeprecated::Pointer m_ReferenceLoggingFilterXML
mitk::NavigationDataObjectVisualizationFilter::Pointer m_MeasurementToolVisualizationFilter
mitk::NavigationToolStorage::Pointer ReadStorage(std::string file)
Ui::QmitkIGTTrackingSemiAutomaticMeasurementViewControls * m_Controls
mitk::NavigationDataRecorderDeprecated::Pointer m_ReferenceLoggingFilterCSV
mitk::NavigationDataRecorderDeprecated::Pointer m_MeasurementLoggingFilterXML