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 
46 //=============================================================================================================
47 // QT INCLUDES
48 //=============================================================================================================
49 
50 #include <QJsonDocument>
51 
52 //=============================================================================================================
53 // EIGEN INCLUDES
54 //=============================================================================================================
55 
56 #include <Eigen/Core>
57 
58 //=============================================================================================================
59 // FORWARD DECLARATIONS
60 //=============================================================================================================
61 
62 namespace Ui {
63  class HpiSettingsViewWidget;
64 }
65 
66 namespace FIFFLIB {
67  class FiffDigPoint;
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 
333  Ui::HpiSettingsViewWidget* m_pUi;
335  QVector<int> m_vCoilFreqs;
337  QString m_sSettingsPath;
339  QJsonDocument m_CoilPresets;
341 signals:
342  //=========================================================================================================
348  void coilFrequenciesChanged(const QVector<int>& vCoilFreqs);
349 
350  //=========================================================================================================
357  void digitizersChanged(const QList<FIFFLIB::FiffDigPoint>& lDigitzers,
358  const QString& sFilePath);
359 
360  //=========================================================================================================
364  void doFreqOrder();
365 
366  //=========================================================================================================
370  void doSingleHpiFit();
371 
372  //=========================================================================================================
378  void sspStatusChanged(bool bChecked);
379 
380  //=========================================================================================================
386  void compStatusChanged(bool bChecked);
387 
388  //=========================================================================================================
394  void contHpiStatusChanged(bool bChecked);
395 
396  //=========================================================================================================
402  void fittingWindowSizeChanged(int iFitsPerSecond);
403 
404  //=========================================================================================================
410  void allowedMeanErrorDistChanged(double dAllowedMeanErrorDist);
411 
412  //=========================================================================================================
418  void allowedMovementChanged(double dAllowedMovement);
419 
420  //=========================================================================================================
426  void allowedRotationChanged(double dAllowedRotation);
427 };
428 
429 } //NAMESPACE
430 
431 #endif // HPISETTINGSVIEW_H
Definition: applytoview.h:58
Ui::HpiSettingsViewWidget * m_pUi
Holds a set of digitizer points.
The HpiSettingsView class provides a QWidget for the HPI controls.
#define DISPSHARED_EXPORT
Definition: disp_global.h:55
The AbstractView class provides the base calss for all Disp viewers.
Definition: abstractview.h:75