v2.0.0
Loading...
Searching...
No Matches
fiff_evoked_set.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FIFF_EVOKED_SET_H
38#define FIFF_EVOKED_SET_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fiff_info.h"
45#include "fiff_evoked.h"
46#include "fiff_global.h"
47
48#include <Eigen/Core>
49#include <QVector>
50
51//=============================================================================================================
52// QT INCLUDES
53//=============================================================================================================
54
55#include <QIODevice>
56#include <QList>
57#include <QSharedPointer>
58#include <QStringList>
59
60//=============================================================================================================
61// EIGEN INCLUDES
62//=============================================================================================================
63
64#include <Eigen/Core>
65
66//=============================================================================================================
67// DEFINE NAMESPACE MNELIB
68//=============================================================================================================
69
70namespace FIFFLIB
71{
72
73class FiffRawData;
74
75//=============================================================================================================
81 float stimIgnore = 0.0f;
82 float megGradReject = 2000e-13f;
83 float megMagReject = 3e-12f;
84 float eegReject = 100e-6f;
85 float eogReject = 150e-6f;
86 float ecgReject = 0.0f;
87 float megGradFlat = 0.0f;
88 float megMagFlat = 0.0f;
89 float eegFlat = 0.0f;
90 float eogFlat = 0.0f;
91 float ecgFlat = 0.0f;
92};
93
94//=============================================================================================================
100 QString comment;
101 QVector<unsigned int> events;
102 unsigned int nextEvent = 0;
103 unsigned int prevEvent = 0;
104 unsigned int ignore = 0;
105 unsigned int prevIgnore = 0;
106 unsigned int nextIgnore = 0;
107 float delay = 0.0f;
108 float tmin = -0.2f;
109 float tmax = 0.5f;
110 float bmin = 0.0f;
111 float bmax = 0.0f;
112 bool doBaseline = false;
113 bool doStdErr = false;
114 bool doAbs = false;
115 float color[3] = {0,0,0};
116};
117
118//=============================================================================================================
124 QString comment;
125 QList<AverageCategory> categories;
127 bool fixSkew = false;
128 QString filename;
129 QString eventFile;
130 QString logFile;
131};
132
133//=============================================================================================================
140{
141
142public:
143 typedef QSharedPointer<FiffEvokedSet> SPtr;
144 typedef QSharedPointer<const FiffEvokedSet> ConstSPtr;
145
146 //=========================================================================================================
151
152 //=========================================================================================================
158 FiffEvokedSet(QIODevice& p_IODevice);
159
160 //=========================================================================================================
166 FiffEvokedSet(const FiffEvokedSet& p_FiffEvokedSet);
167
168 //=========================================================================================================
173
174 //=========================================================================================================
178 void clear();
179
180 //=========================================================================================================
191 FiffEvokedSet pick_channels(const QStringList& include = defaultQStringList,
192 const QStringList& exclude = defaultQStringList) const;
193
194 //=========================================================================================================
205 bool compensate_to(FiffEvokedSet &p_FiffEvokedSet,
206 fiff_int_t to) const;
207
208 //=========================================================================================================
218 bool find_evoked(const FiffEvokedSet& p_FiffEvokedSet) const;
219
220 //=========================================================================================================
238 static bool read(QIODevice& p_IODevice,
239 FiffEvokedSet& p_FiffEvokedSet,
240 QPair<float,float> baseline = defaultFloatPair,
241 bool proj = true);
242
243 //=========================================================================================================
250 bool save(const QString &fileName) const;
251
252 //=========================================================================================================
261 static FiffEvokedSet computeGrandAverage(const QList<FiffEvokedSet> &evokedSets);
262
263 //=========================================================================================================
276 static FiffEvokedSet computeAverages(const FiffRawData &raw,
277 const AverageDescription &desc,
278 const Eigen::MatrixXi &events,
279 QString &log);
280
281 //=========================================================================================================
292 static bool checkArtifacts(const Eigen::MatrixXd &epoch,
293 const FiffInfo &info,
294 const QStringList &bads,
295 const RejectionParams &rej,
296 QString &reason);
297
308 static void subtractBaseline(Eigen::MatrixXd &epoch, int bminSamp, int bmaxSamp);
309
310public:
312 QList<FiffEvoked> evoked;
313};
314} // NAMESPACE
315
316#ifndef metatype_fiffevokedset
317#define metatype_fiffevokedset
319#endif
320
321#ifndef metatype_fiffevokedsetsptr
322#define metatype_fiffevokedsetsptr
324#endif
325
326#endif // FIFF_EVOKED_SET_H
FiffInfo class declaration.
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
FiffEvoked class declaration.
Q_DECLARE_METATYPE(FIFFLIB::FiffEvokedSet)
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
qint32 fiff_int_t
Definition fiff_types.h:89
QVector< unsigned int > events
QList< AverageCategory > categories
bool compensate_to(FiffEvokedSet &p_FiffEvokedSet, fiff_int_t to) const
bool find_evoked(const FiffEvokedSet &p_FiffEvokedSet) const
QSharedPointer< const FiffEvokedSet > ConstSPtr
static FiffEvokedSet computeAverages(const FiffRawData &raw, const AverageDescription &desc, const Eigen::MatrixXi &events, QString &log)
static void subtractBaseline(Eigen::MatrixXd &epoch, int bminSamp, int bmaxSamp)
Subtract baseline from each channel of an epoch.
static bool checkArtifacts(const Eigen::MatrixXd &epoch, const FiffInfo &info, const QStringList &bads, const RejectionParams &rej, QString &reason)
FiffEvokedSet pick_channels(const QStringList &include=defaultQStringList, const QStringList &exclude=defaultQStringList) const
static FiffEvokedSet computeGrandAverage(const QList< FiffEvokedSet > &evokedSets)
QSharedPointer< FiffEvokedSet > SPtr
static bool read(QIODevice &p_IODevice, FiffEvokedSet &p_FiffEvokedSet, QPair< float, float > baseline=defaultFloatPair, bool proj=true)
QList< FiffEvoked > evoked
bool save(const QString &fileName) const
FIFF measurement file information.
Definition fiff_info.h:85
FIFF raw measurement data.