v2.0.0
Loading...
Searching...
No Matches
mne_epoch_data_list.h
Go to the documentation of this file.
1//=============================================================================================================
21
22#ifndef MNE_EPOCH_DATA_LIST_H
23#define MNE_EPOCH_DATA_LIST_H
24
25//=============================================================================================================
26// INCLUDES
27//=============================================================================================================
28
29#include <fiff/fiff_types.h>
30#include <fiff/fiff_evoked.h>
31#include <fiff/fiff_raw_data.h>
32
33#include "mne_global.h"
34#include "mne_epoch_data.h"
35
36//=============================================================================================================
37// QT INCLUDES
38//=============================================================================================================
39
40#include <QList>
41#include <QSharedPointer>
42
43//=============================================================================================================
44// DEFINE NAMESPACE MNELIB
45//=============================================================================================================
46
47namespace MNELIB
48{
49
54 bool bRejected = false;
55 Eigen::RowVectorXd data;
56 double dThreshold;
57 QString sChName;
58};
59
60//=============================================================================================================
66class MNESHARED_EXPORT MNEEpochDataList : public QList<MNEEpochData::SPtr>
67{
68
69public:
70 typedef QSharedPointer<MNEEpochDataList> SPtr;
71 typedef QSharedPointer<const MNEEpochDataList> ConstSPtr;
72
73 //=========================================================================================================
78
79 //=========================================================================================================
84
85 //=========================================================================================================
97 static MNEEpochDataList readEpochs(const FIFFLIB::FiffRawData& raw,
98 const Eigen::MatrixXi& events,
99 float tmin,
100 float tmax,
101 qint32 event,
102 const QMap<QString,double>& mapReject,
103 const QStringList &lExcludeChs = QStringList(),
104 const Eigen::RowVectorXi& picks = Eigen::RowVectorXi());
105
106 //=========================================================================================================
117 FIFFLIB::fiff_int_t first,
118 FIFFLIB::fiff_int_t last,
119 Eigen::VectorXi sel = FIFFLIB::defaultVectorXi,
120 bool proj = false) const;
121
122 //=========================================================================================================
128 void applyBaselineCorrection(const QPair<float, float> &baseline);
129
130 //=========================================================================================================
134 void dropRejected();
135
136 //=========================================================================================================
142 void pick_channels(const Eigen::RowVectorXi& sel);
143
144 //=========================================================================================================
155 static bool checkForArtifact(const Eigen::MatrixXd& data,
156 const FIFFLIB::FiffInfo& pFiffInfo,
157 const QMap<QString,double>& mapReject,
158 const QStringList &lExcludeChs = QStringList());
159
160 static void checkChThreshold(ArtifactRejectionData& inputData);
161
162 //=========================================================================================================
182 static FIFFLIB::FiffEvokedSet averageCategories(const FIFFLIB::FiffRawData &raw,
183 const Eigen::MatrixXi &events,
184 const QList<int> &eventCodes,
185 const QStringList &comments,
186 float tmin,
187 float tmax,
188 const QMap<QString,double> &mapReject = QMap<QString,double>(),
189 const QPair<float,float> &baseline = QPair<float,float>(0.0f, 0.0f),
190 bool proj = false);
191
192 //=========================================================================================================
211 static FIFFLIB::FiffEvoked computeAverage(const FIFFLIB::FiffRawData& raw,
212 const Eigen::MatrixXi& matEvents,
213 float fTMinS,
214 float fTMaxS,
215 qint32 eventType,
216 bool bApplyBaseline,
217 float fTBaselineFromS,
218 float fTBaselineToS,
219 const QMap<QString,double>& mapReject,
220 const QStringList &lExcludeChs = QStringList(),
221 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi());
222};
223} // NAMESPACE
224
225#endif // MNE_EPOCH_DATA_LIST_H
Single epoch (one trial slice of preprocessed sensor data) with timing and rejection metadata.
MNELIB shared-library export/import macros and library build metadata.
#define MNESHARED_EXPORT
Definition mne_global.h:40
FIFF continuous raw recording: FiffInfo plus a directory of FIFF_DATA_BUFFER tags for random-access s...
Single averaged evoked response: time axis, samples, baseline, channel info and processing history.
Primitive scalar typedefs and forward-compatible aliases backing the FIFF type system.
Core MNE data structures (source spaces, source estimates, hemispheres).
Single averaged evoked response: time axis, data, baseline, channel info and averaging metadata.
Definition fiff_evoked.h:75
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
Definition fiff_info.h:88
Artifact rejection thresholds and flags for each channel type (grad, mag, eeg, eog) used during epoch...
FIFFLIB::FiffEvoked average(const FIFFLIB::FiffInfo &p_info, FIFFLIB::fiff_int_t first, FIFFLIB::fiff_int_t last, Eigen::VectorXi sel=FIFFLIB::defaultVectorXi, bool proj=false) const
QSharedPointer< MNEEpochDataList > SPtr
void applyBaselineCorrection(const QPair< float, float > &baseline)
static MNEEpochDataList readEpochs(const FIFFLIB::FiffRawData &raw, const Eigen::MatrixXi &events, float tmin, float tmax, qint32 event, const QMap< QString, double > &mapReject, const QStringList &lExcludeChs=QStringList(), const Eigen::RowVectorXi &picks=Eigen::RowVectorXi())
static FIFFLIB::FiffEvoked computeAverage(const FIFFLIB::FiffRawData &raw, const Eigen::MatrixXi &matEvents, float fTMinS, float fTMaxS, qint32 eventType, bool bApplyBaseline, float fTBaselineFromS, float fTBaselineToS, const QMap< QString, double > &mapReject, const QStringList &lExcludeChs=QStringList(), const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi())
QSharedPointer< const MNEEpochDataList > ConstSPtr
static void checkChThreshold(ArtifactRejectionData &inputData)
void pick_channels(const Eigen::RowVectorXi &sel)
static FIFFLIB::FiffEvokedSet averageCategories(const FIFFLIB::FiffRawData &raw, const Eigen::MatrixXi &events, const QList< int > &eventCodes, const QStringList &comments, float tmin, float tmax, const QMap< QString, double > &mapReject=QMap< QString, double >(), const QPair< float, float > &baseline=QPair< float, float >(0.0f, 0.0f), bool proj=false)
static bool checkForArtifact(const Eigen::MatrixXd &data, const FIFFLIB::FiffInfo &pFiffInfo, const QMap< QString, double > &mapReject, const QStringList &lExcludeChs=QStringList())