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{
55 bool bRejected = false;
56 Eigen::RowVectorXd data;
57 double dThreshold = 0.0;
58 QString sChName;
59};
60
61//=============================================================================================================
71class MNESHARED_EXPORT MNEEpochDataList : public QList<MNEEpochData::SPtr>
72{
73public:
74 typedef QSharedPointer<MNEEpochDataList> SPtr;
75 typedef QSharedPointer<const MNEEpochDataList> ConstSPtr;
76
77 //=========================================================================================================
82
83 //=========================================================================================================
88
89 //=========================================================================================================
105 const Eigen::MatrixXi& events,
106 float tmin,
107 float tmax,
108 qint32 event,
109 const QMap<QString, double>& mapReject,
110 const QStringList& lExcludeChs = QStringList(),
111 const Eigen::RowVectorXi& picks = Eigen::RowVectorXi());
112
113 //=========================================================================================================
128 Eigen::VectorXi sel = FIFFLIB::defaultVectorXi,
129 bool proj = false) const;
130
131 //=========================================================================================================
137 void applyBaselineCorrection(const QPair<float, float>& baseline);
138
139 //=========================================================================================================
143 void dropRejected();
144
145 //=========================================================================================================
151 void pick_channels(const Eigen::RowVectorXi& sel);
152
153 //=========================================================================================================
164 static bool checkForArtifact(const Eigen::MatrixXd& data,
165 const FIFFLIB::FiffInfo& pFiffInfo,
166 const QMap<QString, double>& mapReject,
167 const QStringList& lExcludeChs = QStringList());
168
169 //=========================================================================================================
190 const Eigen::MatrixXi& events,
191 const QList<int>& eventCodes,
192 const QStringList& comments,
193 float tmin,
194 float tmax,
195 const QMap<QString, double>& mapReject = QMap<QString, double>(),
196 const QPair<float, float>& baseline = QPair<float, float>(0.0f, 0.0f),
197 bool proj = false);
198
199 //=========================================================================================================
219 const Eigen::MatrixXi& matEvents,
220 float fTMinS,
221 float fTMaxS,
222 qint32 eventType,
223 bool bApplyBaseline,
224 float fTBaselineFromS,
225 float fTBaselineToS,
226 const QMap<QString, double>& mapReject,
227 const QStringList& lExcludeChs = QStringList(),
228 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi());
229
230private:
231 //=========================================================================================================
237 static void checkChThreshold(ArtifactRejectionData& inputData);
238};
239} // NAMESPACE
240
241#endif // MNE_EPOCH_DATA_LIST_H
Single averaged evoked response: time axis, samples, baseline, channel info and processing history.
FIFF continuous raw recording: FiffInfo plus a directory of FIFF_DATA_BUFFER tags for random-access s...
Primitive scalar typedefs and forward-compatible aliases backing the FIFF type system.
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
Core MNE data structures (source spaces, source estimates, hemispheres).
qint32 fiff_int_t
Definition fiff_types.h:86
Single averaged evoked response: time axis, data, baseline, channel info and averaging metadata.
Definition fiff_evoked.h:77
Set of FiffEvoked instances sharing one FiffInfo, plus channel-picking and compensation helpers.
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
Definition fiff_info.h:90
Continuous FIFF raw recording: FiffInfo plus a random-access directory of FIFF_DATA_BUFFER tags.
Per-channel peak-to-peak check record used internally by MNEEpochDataList::checkForArtifact.
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
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())