Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkToFRecorderWidget.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef _QMITKTOFRECORDERWIDGET_H_INCLUDED
14 #define _QMITKTOFRECORDERWIDGET_H_INCLUDED
15 
16 #include <MitkToFUIExports.h>
17 #include <ui_QmitkToFRecorderWidgetControls.h>
18 
19 //QT headers
20 #include <QWidget>
21 #include <QString>
22 #include <QDialog>
23 #include <QFileDialog>
24 
25 //itk headers
26 #include "itkCommand.h"
27 
28 //mitk headers
29 #include <mitkToFImageGrabber.h>
30 #include <mitkToFImageRecorder.h>
31 
33 
34 struct QFileDialogArgs;
35 class QFileIconProvider;
36 class QFileDialogPrivate;
37 
43 class MITKTOFUI_EXPORT QmitkToFRecorderWidget :public QWidget
44 {
45 
46  //this is needed for all Qt objects that should have a MOC object (everything that derives from QObject)
47  Q_OBJECT
48 
49  public:
50 
51  static const std::string VIEW_ID;
52 
53  QmitkToFRecorderWidget(QWidget* p = nullptr, Qt::WindowFlags f1 = nullptr);
54  ~QmitkToFRecorderWidget() override;
55 
56  /* @brief This method is part of the widget an needs not to be called seperately. */
57  virtual void CreateQtPartControl(QWidget *parent);
58  /* @brief This method is part of the widget an needs not to be called seperately. (Creation of the connections of main and control widget.)*/
59  virtual void CreateConnections();
60 
66  void SetParameter(mitk::ToFImageGrabber* ToFImageGrabber, mitk::ToFImageRecorder* toFImageRecorder);
70  void ResetGUIToInitial();
71 
72  signals:
76  void ToFCameraStarted();
80  void ToFCameraStopped();
84  void RecordingStarted();
88  void RecordingStopped();
89 
90  public slots:
95  void OnPlay();
100  void OnStop();
105  void OnStartRecorder();
109  void OnRecordingStopped();
113  void OnChangeRecordModeComboBox(int index);
114 
115  protected:
116 
120  void StartCamera();
124  void StopCamera();
128  void StopRecorder();
132  void StopRecordingCallback();
139  static QString getSaveFileName(mitk::ToFImageWriter::ToFImageType& tofImageType,
140  bool& distanceImageSelected,
141  bool& amplitudeImageSelected,
142  bool& intensityImageSelected,
143  bool& rgbImageSelected,
144  bool& rawDataSelected,
145  QWidget *parent = nullptr,
146  const QString &caption = QString(),
147  const QString &dir = QString(),
148  const QString &filter = QString(),
149  QString *selectedFilter = nullptr,
150  QFileDialog::Options options = nullptr
151  );
163  std::string prepareFilename(std::string dir,
164  std::string baseFilename,
165  std::string modulationFreq,
166  std::string integrationTime,
167  std::string numOfFrames,
168  std::string extension,
169  std::string imageType);
170 
171  Ui::QmitkToFRecorderWidgetControls* m_Controls;
172 
174  mitk::ToFImageRecorder::Pointer m_ToFImageRecorder;
175 
177 
178  typedef itk::SimpleMemberCommand<QmitkToFRecorderWidget> CommandType;
179  CommandType::Pointer m_StopRecordingCommand;
180 
181  private:
182 
183 };
184 
185 #endif // _QMITKTOFRECORDERWIDGET_H_INCLUDED
mitk::ToFImageRecorder::RecordMode m_RecordMode
member holding the RecordMode of the recorder (PerFrame / Infinite)
CommandType::Pointer m_StopRecordingCommand
itkCommand for abort of recording
Recorder class for ToF images.
The &#39;QmitkStdMultiWidget&#39; is a &#39;QmitkAbstractMultiWidget&#39; that is used to display multiple render win...
Ui::QmitkToFRecorderWidgetControls * m_Controls
member holding the UI elements of this widget
Image source providing ToF images. Interface for filters provided in ToFProcessing module...
static const std::string VIEW_ID
itk::SimpleMemberCommand< QmitkToFRecorderWidget > CommandType
mitk::ToFImageRecorder::Pointer m_ToFImageRecorder
member holding the recorder for ToF images
Widget allowing to play / record ToF data.
mitk::ToFImageGrabber::Pointer m_ToFImageGrabber
member holding the ToFImageGrabber for acquiring ToF images