MNE-CPP  0.1.9
A Framework for Electrophysiology
fiff_evoked.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef FIFF_EVOKED_H
38 #define FIFF_EVOKED_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "fiff_global.h"
45 #include "fiff_info.h"
46 #include "fiff_types.h"
47 #include "fiff_file.h"
48 
49 //=============================================================================================================
50 // EIGEN INCLUDES
51 //=============================================================================================================
52 
53 #include <Eigen/Core>
54 
55 //=============================================================================================================
56 // QT INCLUDES
57 //=============================================================================================================
58 
59 #include <QString>
60 #include <QVariant>
61 #include <QPair>
62 #include <QSharedPointer>
63 
64 //=============================================================================================================
65 // DEFINE NAMESPACE MNELIB
66 //=============================================================================================================
67 
68 namespace FIFFLIB
69 {
70 
71 //=============================================================================================================
78 {
79 public:
80  typedef QSharedPointer<FiffEvoked> SPtr;
81  typedef QSharedPointer<const FiffEvoked> ConstSPtr;
83  //=========================================================================================================
87  FiffEvoked();
88 
89  //=========================================================================================================
102  FiffEvoked(QIODevice& p_IODevice,
103  QVariant setno = 0,
104  QPair<float,float> t_baseline = defaultFloatPair,
105  bool proj = true,
106  fiff_int_t p_aspect_kind = FIFFV_ASPECT_AVERAGE);
107 
108  //=========================================================================================================
114  FiffEvoked(const FiffEvoked& p_FiffEvoked);
115 
116  //=========================================================================================================
120  ~FiffEvoked();
121 
122  //=========================================================================================================
126  inline QStringList ch_names();
127 
128  //=========================================================================================================
132  void clear();
133 
134  //=========================================================================================================
141  inline QString aspectKindToString() const;
142 
143  //=========================================================================================================
149  inline bool isEmpty();
150 
151  //=========================================================================================================
164  FiffEvoked pick_channels(const QStringList& include = defaultQStringList,
165  const QStringList& exclude = defaultQStringList) const;
166 
167  //=========================================================================================================
189  static bool read(QIODevice& p_IODevice,
190  FiffEvoked& p_FiffEvoked,
191  QVariant setno = 0, QPair<float,float> t_baseline = defaultFloatPair,
192  bool proj = true,
193  fiff_int_t p_aspect_kind = FIFFV_ASPECT_AVERAGE);
194 
195  //=========================================================================================================
202  void setInfo(const FiffInfo &p_info,
203  bool proj = true);
204 
205  //=========================================================================================================
213  FiffEvoked & operator+=(const Eigen::MatrixXd &newData);
214 
215  //=========================================================================================================
221  void applyBaselineCorrection(QPair<float,float>& p_baseline);
222 
223 public:
225  fiff_int_t nave;
226  fiff_int_t aspect_kind;
227  fiff_int_t first;
228  fiff_int_t last;
229  QString comment;
230  Eigen::RowVectorXf times;
231  Eigen::MatrixXd data;
232  Eigen::MatrixXd proj;
233  QPair<float,float> baseline;
234 };
235 
236 //=============================================================================================================
237 // INLINE DEFINITIONS
238 //=============================================================================================================
239 
240 inline QStringList FiffEvoked::ch_names()
241 {
242  return info.ch_names;
243 }
244 
245 //=============================================================================================================
246 
247 inline QString FiffEvoked::aspectKindToString() const
248 {
250  return QString("Average");
252  return QString("Standard_error");
253  else
254  return QString("Unknown");
255 }
256 
257 //=============================================================================================================
258 
259 inline bool FiffEvoked::isEmpty()
260 {
261  return nave == -1;
262 }
263 
264 } // NAMESPACE
265 
266 #ifndef metatype_fiffevoked
267 #define metatype_fiffevoked
269 #endif
270 
271 #ifndef metatype_fiffevokedsptr
272 #define metatype_fiffevokedsptr
274 #endif
275 
276 #endif // FIFF_EVOKED_H
FIFFLIB::FiffEvoked::isEmpty
bool isEmpty()
Definition: fiff_evoked.h:259
FIFFLIB::FiffEvoked::aspect_kind
fiff_int_t aspect_kind
Definition: fiff_evoked.h:226
FIFFLIB::FiffEvoked::last
fiff_int_t last
Definition: fiff_evoked.h:228
FIFFLIB::FiffInfo
FIFF measurement file information.
Definition: fiff_info.h:84
FIFFLIB::FiffEvoked::ch_names
QStringList ch_names()
Definition: fiff_evoked.h:240
FIFFLIB::FiffEvoked::first
fiff_int_t first
Definition: fiff_evoked.h:227
FIFFLIB::FiffEvoked::data
Eigen::MatrixXd data
Definition: fiff_evoked.h:231
FIFFLIB::FiffEvoked::comment
QString comment
Definition: fiff_evoked.h:229
FIFFLIB::FiffEvoked::aspectKindToString
QString aspectKindToString() const
Definition: fiff_evoked.h:247
FIFFLIB::FiffEvoked::ConstSPtr
QSharedPointer< const FiffEvoked > ConstSPtr
Definition: fiff_evoked.h:81
FIFFSHARED_EXPORT
#define FIFFSHARED_EXPORT
Definition: fiff_global.h:56
fiff_info.h
FiffInfo class declaration.
fiff_global.h
Fiff library export/import macros.
FIFFV_ASPECT_STD_ERR
#define FIFFV_ASPECT_STD_ERR
Definition: fiff_file.h:439
FIFFLIB::FiffInfoBase::ch_names
QStringList ch_names
Definition: fiff_info_base.h:224
FIFFV_ASPECT_AVERAGE
#define FIFFV_ASPECT_AVERAGE
Definition: fiff_file.h:438
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(FIFFLIB::FiffEvoked)
fiff_file.h
Header file describing the numerical values used in fif files.
FIFFLIB::FiffEvoked::baseline
QPair< float, float > baseline
Definition: fiff_evoked.h:233
FIFFLIB::FiffEvoked
evoked data
Definition: fiff_evoked.h:77
fiff_types.h
Definitions for describing the objects in a FIFF file.
FIFFLIB::FiffEvoked::proj
Eigen::MatrixXd proj
Definition: fiff_evoked.h:232
FIFFLIB::FiffEvoked::times
Eigen::RowVectorXf times
Definition: fiff_evoked.h:230
FIFFLIB::FiffEvoked::nave
fiff_int_t nave
Definition: fiff_evoked.h:225
FIFFLIB::FiffEvoked::info
FiffInfo info
Definition: fiff_evoked.h:224
FIFFLIB::FiffEvoked::SPtr
QSharedPointer< FiffEvoked > SPtr
Definition: fiff_evoked.h:80