v2.0.0
Loading...
Searching...
No Matches
fiff_evoked.h
Go to the documentation of this file.
1//=============================================================================================================
36
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#include <memory>
64
65//=============================================================================================================
66// DEFINE NAMESPACE MNELIB
67//=============================================================================================================
68
69namespace FIFFLIB
70{
71
72//=============================================================================================================
79{
80public:
81 using SPtr = QSharedPointer<FiffEvoked>;
82 using ConstSPtr = QSharedPointer<const FiffEvoked>;
83 using UPtr = std::unique_ptr<FiffEvoked>;
84 using ConstUPtr = std::unique_ptr<const FiffEvoked>;
85
86 //=========================================================================================================
90 FiffEvoked();
91
92 //=========================================================================================================
105 FiffEvoked(QIODevice& p_IODevice,
106 QVariant setno = 0,
107 QPair<float,float> t_baseline = defaultFloatPair,
108 bool proj = true,
109 fiff_int_t p_aspect_kind = FIFFV_ASPECT_AVERAGE);
110
111 //=========================================================================================================
117 FiffEvoked(const FiffEvoked& p_FiffEvoked);
118
119 //=========================================================================================================
123 ~FiffEvoked();
124
125 //=========================================================================================================
131 inline QStringList ch_names();
132
133 //=========================================================================================================
137 void clear();
138
139 //=========================================================================================================
146 inline QString aspectKindToString() const;
147
148 //=========================================================================================================
154 inline bool isEmpty() const;
155
156 //=========================================================================================================
168 FiffEvoked pick_channels(const QStringList& include = defaultQStringList,
169 const QStringList& exclude = defaultQStringList) const;
170
171 //=========================================================================================================
192 static bool read(QIODevice& p_IODevice,
193 FiffEvoked& p_FiffEvoked,
194 QVariant setno = 0, QPair<float,float> t_baseline = defaultFloatPair,
195 bool proj = true,
196 fiff_int_t p_aspect_kind = FIFFV_ASPECT_AVERAGE);
197
198 //=========================================================================================================
205 void setInfo(const FiffInfo &p_info,
206 bool proj = true);
207
208 //=========================================================================================================
216 FiffEvoked & operator+=(const Eigen::MatrixXd &newData);
217
218 //=========================================================================================================
224 void applyBaselineCorrection(QPair<float,float>& p_baseline);
225
226public:
232 QString comment;
233 Eigen::RowVectorXf times;
234 Eigen::MatrixXd data;
235 Eigen::MatrixXd proj;
236 QPair<float,float> baseline;
237};
238
239//=============================================================================================================
240// INLINE DEFINITIONS
241//=============================================================================================================
242
243inline QStringList FiffEvoked::ch_names()
244{
245 return info.ch_names;
246}
247
248//=============================================================================================================
249
250inline QString FiffEvoked::aspectKindToString() const
251{
253 return QString("Average");
255 return QString("Standard_error");
256 else
257 return QString("Unknown");
258}
259
260//=============================================================================================================
261
262inline bool FiffEvoked::isEmpty() const
263{
264 return nave == -1;
265}
266
267} // NAMESPACE
268
269#ifndef metatype_fiffevoked
270#define metatype_fiffevoked
272#endif
273
274#ifndef metatype_fiffevokedsptr
275#define metatype_fiffevokedsptr
277#endif
278
279#endif // FIFF_EVOKED_H
FiffInfo class declaration.
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
Q_DECLARE_METATYPE(FIFFLIB::FiffEvoked)
Header file describing the numerical values used in fif files.
#define FIFFV_ASPECT_AVERAGE
Definition fiff_file.h:438
#define FIFFV_ASPECT_STD_ERR
Definition fiff_file.h:439
Old fiff_type declarations - replace them.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
qint32 fiff_int_t
Definition fiff_types.h:89
QSharedPointer< FiffEvoked > SPtr
Definition fiff_evoked.h:81
Eigen::MatrixXd proj
Eigen::RowVectorXf times
Eigen::MatrixXd data
FiffEvoked pick_channels(const QStringList &include=defaultQStringList, const QStringList &exclude=defaultQStringList) const
bool isEmpty() const
QStringList ch_names()
void setInfo(const FiffInfo &p_info, bool proj=true)
QString aspectKindToString() const
fiff_int_t aspect_kind
QSharedPointer< const FiffEvoked > ConstSPtr
Definition fiff_evoked.h:82
std::unique_ptr< const FiffEvoked > ConstUPtr
Definition fiff_evoked.h:84
FiffEvoked & operator+=(const Eigen::MatrixXd &newData)
static bool read(QIODevice &p_IODevice, FiffEvoked &p_FiffEvoked, QVariant setno=0, QPair< float, float > t_baseline=defaultFloatPair, bool proj=true, fiff_int_t p_aspect_kind=FIFFV_ASPECT_AVERAGE)
std::unique_ptr< FiffEvoked > UPtr
Definition fiff_evoked.h:83
void applyBaselineCorrection(QPair< float, float > &p_baseline)
QPair< float, float > baseline
FIFF measurement file information.
Definition fiff_info.h:86