MNE-CPP  0.1.9
A Framework for Electrophysiology
mne_epoch_data_list.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef MNE_EPOCH_DATA_LIST_H
38 #define MNE_EPOCH_DATA_LIST_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include <fiff/fiff_types.h>
45 #include <fiff/fiff_evoked.h>
46 #include <fiff/fiff_raw_data.h>
47 
48 #include "mne_global.h"
49 #include "mne_epoch_data.h"
50 
51 //=============================================================================================================
52 // QT INCLUDES
53 //=============================================================================================================
54 
55 #include <QList>
56 #include <QSharedPointer>
57 
58 //=============================================================================================================
59 // DEFINE NAMESPACE MNELIB
60 //=============================================================================================================
61 
62 namespace MNELIB
63 {
64 
66  bool bRejected = false;
67  Eigen::RowVectorXd data;
68  double dThreshold;
69  QString sChName;
70 };
71 
72 //=============================================================================================================
78 class MNESHARED_EXPORT MNEEpochDataList : public QList<MNEEpochData::SPtr>
79 {
80 
81 public:
82  typedef QSharedPointer<MNEEpochDataList> SPtr;
83  typedef QSharedPointer<const MNEEpochDataList> ConstSPtr;
85  //=========================================================================================================
90 
91  //=========================================================================================================
96 
97  //=========================================================================================================
109  static MNEEpochDataList readEpochs(const FIFFLIB::FiffRawData& raw,
110  const Eigen::MatrixXi& events,
111  float tmin,
112  float tmax,
113  qint32 event,
114  const QMap<QString,double>& mapReject,
115  const QStringList &lExcludeChs = QStringList(),
116  const Eigen::RowVectorXi& picks = Eigen::RowVectorXi());
117 
118  //=========================================================================================================
128  FIFFLIB::FiffEvoked average(const FIFFLIB::FiffInfo &p_info,
129  FIFFLIB::fiff_int_t first,
130  FIFFLIB::fiff_int_t last,
131  Eigen::VectorXi sel = FIFFLIB::defaultVectorXi,
132  bool proj = false);
133 
134  //=========================================================================================================
140  void applyBaselineCorrection(const QPair<float, float> &baseline);
141 
142  //=========================================================================================================
146  void dropRejected();
147 
148  //=========================================================================================================
154  void pick_channels(const Eigen::RowVectorXi& sel);
155 
156  //=========================================================================================================
167  static bool checkForArtifact(const Eigen::MatrixXd& data,
168  const FIFFLIB::FiffInfo& pFiffInfo,
169  const QMap<QString,double>& mapReject,
170  const QStringList &lExcludeChs = QStringList());
171 
172  static void checkChThreshold(ArtifactRejectionData& inputData);
173 };
174 } // NAMESPACE
175 
176 #endif // MNE_EPOCH_DATA_LIST_H
MNELIB::MNEEpochDataList::SPtr
QSharedPointer< MNEEpochDataList > SPtr
Definition: mne_epoch_data_list.h:82
FIFFLIB::FiffRawData
FIFF raw measurement data.
Definition: fiff_raw_data.h:78
FIFFLIB::FiffInfo
FIFF measurement file information.
Definition: fiff_info.h:84
MNESHARED_EXPORT
#define MNESHARED_EXPORT
Definition: mne_global.h:56
fiff_evoked.h
FiffEvoked class declaration.
mne_global.h
mne library export/import macros.
MNELIB::MNEEpochDataList
Epoch data list.
Definition: mne_epoch_data_list.h:78
mne_epoch_data.h
MNEEpochData class declaration.
FIFFLIB::FiffEvoked
evoked data
Definition: fiff_evoked.h:77
fiff_types.h
Definitions for describing the objects in a FIFF file.
MNELIB::MNEEpochDataList::ConstSPtr
QSharedPointer< const MNEEpochDataList > ConstSPtr
Definition: mne_epoch_data_list.h:83
fiff_raw_data.h
FiffRawData class declaration.
MNELIB::ArtifactRejectionData
Definition: mne_epoch_data_list.h:65