MNE-CPP  0.1.9
A Framework for Electrophysiology
hpisettingsview.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef HPISETTINGSVIEW_H
37 #define HPISETTINGSVIEW_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../disp_global.h"
44 #include "abstractview.h"
45 #include <fiff/fiff_dig_point.h>
46 
47 //=============================================================================================================
48 // QT INCLUDES
49 //=============================================================================================================
50 
51 #include <QJsonDocument>
52 
53 //=============================================================================================================
54 // EIGEN INCLUDES
55 //=============================================================================================================
56 
57 #include <Eigen/Core>
58 
59 //=============================================================================================================
60 // FORWARD DECLARATIONS
61 //=============================================================================================================
62 
63 namespace Ui {
64  class HpiSettingsViewWidget;
65 }
66 
67 namespace FIFFLIB {
68  class FiffDigPointSet;
69 }
70 
71 //=============================================================================================================
72 // DEFINE NAMESPACE DISPLIB
73 //=============================================================================================================
74 
75 namespace DISPLIB
76 {
77 
78 //=============================================================================================================
85 {
86  Q_OBJECT
87 
88 public:
89  //=========================================================================================================
96  HpiSettingsView(const QString& sSettingsPath = "",
97  QWidget *parent = 0,
98  Qt::WindowFlags f = Qt::Widget);
99 
100  ~HpiSettingsView();
101 
102  //=========================================================================================================
109  void setErrorLabels(const QVector<double>& vError,
110  const double dMeanErrorDist);
111 
112  //=========================================================================================================
120  void setGoFLabels(const Eigen::VectorXd & vGoF,
121  const double dMeanGof);
122 
123  //=========================================================================================================
130  void setMovementResults(double dMovement,
131  double dRotation);
132 
133  //=========================================================================================================
139  bool getSspStatusChanged();
140 
141  //=========================================================================================================
147  bool getCompStatusChanged();
148 
149  //=========================================================================================================
155  double getAllowedMeanErrorDistChanged();
156 
157  //=========================================================================================================
163  double getAllowedMovementChanged();
164 
165  //=========================================================================================================
171  double getAllowedRotationChanged();
172 
173  //=========================================================================================================
179  bool continuousHPIChecked();
180 
181  //=========================================================================================================
187  int getFittingWindowSize();
188 
189  //=========================================================================================================
195  void newDigitizerList(QList<FIFFLIB::FiffDigPoint> pointList);
196 
197  //=========================================================================================================
203  void loadCoilPresets(const QString& sFilePath);
204 
205  //=========================================================================================================
209  void saveSettings();
210 
211  //=========================================================================================================
215  void loadSettings();
216 
217  //=========================================================================================================
221  void clearView();
222 
223 protected:
224  //=========================================================================================================
230  void updateGuiMode(GuiMode mode);
231 
232  //=========================================================================================================
238  void updateProcessingMode(ProcessingMode mode);
239 
240  //=========================================================================================================
244  void onLoadDigitizers();
245 
246  //=========================================================================================================
253  void onFrequencyCellChanged(int row,
254  int col);
255 
256  //=========================================================================================================
260  void onAddCoil();
261 
262  //=========================================================================================================
266  void onRemoveCoil();
267 
268  //=========================================================================================================
272  QList<FIFFLIB::FiffDigPoint> readDigitizersFromFile(const QString& fileName);
273 
274  //=========================================================================================================
280  void setupCoilPresets(int iNumCoils);
281 
282  //=========================================================================================================
288  void populatePresetGUI(const QJsonArray& presetData);
289 
290  //=========================================================================================================
294  void populateCoilGUI();
295 
296  //=========================================================================================================
302  void selectCoilPreset(int iCoilPresetIndex);
303 
304  //=========================================================================================================
310  void addCoilFreqToGUI(int iCoilFreq);
311 
312  //=========================================================================================================
316  void addCoilErrorToGUI();
317 
318  //=========================================================================================================
322  void clearCoilGUI();
323 
324  //=========================================================================================================
330  void updateDigitizerInfoGUI(const FIFFLIB::FiffDigPointSet& digSet);
331 
332  Ui::HpiSettingsViewWidget* m_pUi;
334  QVector<int> m_vCoilFreqs;
336  QString m_sSettingsPath;
338  QJsonDocument m_CoilPresets;
340 signals:
341  //=========================================================================================================
347  void coilFrequenciesChanged(const QVector<int>& vCoilFreqs);
348 
349  //=========================================================================================================
356  void digitizersChanged(const QList<FIFFLIB::FiffDigPoint>& lDigitzers,
357  const QString& sFilePath);
358 
359  //=========================================================================================================
363  void doFreqOrder();
364 
365  //=========================================================================================================
369  void doSingleHpiFit();
370 
371  //=========================================================================================================
377  void sspStatusChanged(bool bChecked);
378 
379  //=========================================================================================================
385  void compStatusChanged(bool bChecked);
386 
387  //=========================================================================================================
393  void contHpiStatusChanged(bool bChecked);
394 
395  //=========================================================================================================
401  void fittingWindowSizeChanged(int iFitsPerSecond);
402 
403  //=========================================================================================================
409  void allowedMeanErrorDistChanged(double dAllowedMeanErrorDist);
410 
411  //=========================================================================================================
417  void allowedMovementChanged(double dAllowedMovement);
418 
419  //=========================================================================================================
425  void allowedRotationChanged(double dAllowedRotation);
426 };
427 
428 } //NAMESPACE
429 
430 #endif // HPISETTINGSVIEW_H
DISPLIB::HpiSettingsView::m_pUi
Ui::HpiSettingsViewWidget * m_pUi
Definition: hpisettingsview.h:332
DISPSHARED_EXPORT
#define DISPSHARED_EXPORT
Definition: disp_global.h:55
DISPLIB::AbstractView
The AbstractView class provides the base calss for all Disp viewers.
Definition: abstractview.h:75
DISPLIB::HpiSettingsView::m_sSettingsPath
QString m_sSettingsPath
Definition: hpisettingsview.h:336
DISPLIB::HpiSettingsView
The HpiSettingsView class provides a QWidget for the HPI controls.
Definition: hpisettingsview.h:84
DISPLIB::HpiSettingsView::m_CoilPresets
QJsonDocument m_CoilPresets
Definition: hpisettingsview.h:338
fiff_dig_point.h
FiffDigPoint class declaration.
abstractview.h
Declaration of the AbstractView Class.
DISPLIB::HpiSettingsView::m_vCoilFreqs
QVector< int > m_vCoilFreqs
Definition: hpisettingsview.h:334
FIFFLIB::FiffDigPointSet
Holds a set of digitizer points.
Definition: fiff_dig_point_set.h:83