MNE-CPP  0.1.9
A Framework for Electrophysiology
mne_sourceestimate.h
Go to the documentation of this file.
1 
2 //=============================================================================================================
38 #ifndef MNESOURCEESTIMATE_H
39 #define MNESOURCEESTIMATE_H
40 
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
45 #include "mne_global.h"
46 
47 #include <fs/label.h>
48 
49 //=============================================================================================================
50 // EIGEN INCLUDES
51 //=============================================================================================================
52 
53 #include <Eigen/Core>
54 
55 //=============================================================================================================
56 // QT INCLUDES
57 //=============================================================================================================
58 
59 #include <QSharedPointer>
60 #include <QList>
61 #include <QIODevice>
62 
63 //=============================================================================================================
64 // FORWARD DECLARATIONS
65 //=============================================================================================================
66 
67 //=============================================================================================================
68 // DEFINE NAMESPACE MNELIB
69 //=============================================================================================================
70 
71 namespace MNELIB
72 {
73 
74 //=============================================================================================================
75 // MNELIB FORWARD DECLARATIONS
76 //=============================================================================================================
77 
78 //=============================================================================================================
85 {
86 public:
87  typedef QSharedPointer<MNESourceEstimate> SPtr;
88  typedef QSharedPointer<const MNESourceEstimate> ConstSPtr;
90  //=========================================================================================================
95 
96  //=========================================================================================================
105  MNESourceEstimate(const Eigen::MatrixXd &p_sol, const Eigen::VectorXi &p_vertices, float p_tmin, float p_tstep);
106 
107  //=========================================================================================================
113  MNESourceEstimate(const MNESourceEstimate& p_SourceEstimate);
114 
115  //=========================================================================================================
122  MNESourceEstimate(QIODevice &p_IODevice);
123 
124  //=========================================================================================================
128  void clear();
129 
130  //=========================================================================================================
137  MNESourceEstimate reduce(qint32 start, qint32 n);
138 
139  //=========================================================================================================
150  static bool read(QIODevice &p_IODevice, MNESourceEstimate& p_stc);
151 
152  //=========================================================================================================
160  bool write(QIODevice &p_IODevice);
161 
162  //=========================================================================================================
168  inline bool isEmpty() const;
169 
170  //=========================================================================================================
178  MNESourceEstimate& operator= (const MNESourceEstimate &rhs);
179 
180  //=========================================================================================================
186  int samples() const;
187 
188  //=========================================================================================================
197  Eigen::VectorXi getIndicesByLabel(const QList<FSLIB::Label> &lPickedLabels, bool bIsClustered) const;
198 
199 public:
200  Eigen::MatrixXd data;
201  Eigen::VectorXi vertices; //ToDo define is_clustered_result; in clustered case vertices holds the ROI idcs
202  Eigen::RowVectorXf times;
203  float tmin;
204  float tstep;
206 private:
207  //=========================================================================================================
211  void update_times();
212 };
213 
214 //=============================================================================================================
215 // INLINE DEFINITIONS
216 //=============================================================================================================
217 
218 inline bool MNESourceEstimate::isEmpty() const
219 {
220  return tstep == -1;
221 }
222 } //NAMESPACE
223 
224 #endif // MNESOURCEESTIMATE_H
QSharedPointer< MNESourceEstimate > SPtr
QSharedPointer< const MNESourceEstimate > ConstSPtr
mne library export/import macros.
#define MNESHARED_EXPORT
Definition: mne_global.h:56
Label class declaration.