v2.0.0
Loading...
Searching...
No Matches
fiff_proj.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FIFF_PROJ_H
38#define FIFF_PROJ_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fiff_global.h"
45#include "fiff_types.h"
46#include "fiff_named_matrix.h"
47
48//=============================================================================================================
49// QT INCLUDES
50//=============================================================================================================
51
52#include <QSharedPointer>
53#include <QString>
54#include <QStringList>
55#include <QMap>
56
57//=============================================================================================================
58// EIGEN INCLUDES
59//=============================================================================================================
60
61#include <Eigen/Core>
62
63//=============================================================================================================
64// DEFINE NAMESPACE FIFFLIB
65//=============================================================================================================
66
67namespace FIFFLIB
68{
69
70//=============================================================================================================
71// FORWARD DECLARATIONS
72//=============================================================================================================
73
74class FiffRawData;
75
76//=============================================================================================================
83
84public:
85 typedef QSharedPointer<FiffProj> SPtr;
86 typedef QSharedPointer<const FiffProj> ConstSPtr;
87
88 //=========================================================================================================
92 FiffProj();
93
94 //=========================================================================================================
100 FiffProj(const FiffProj& p_FiffProj);
101
102 //=========================================================================================================
106 explicit FiffProj(fiff_int_t p_kind,
107 bool p_active,
108 QString p_desc,
109 FiffNamedMatrix& p_data);
110
111 //=========================================================================================================
115 ~FiffProj();
116
117 //=========================================================================================================
123 static void activate_projs(QList<FiffProj> &p_qListFiffProj);
124
125 //=========================================================================================================
141 static fiff_int_t make_projector(const QList<FiffProj>& projs,
142 const QStringList& ch_names,
143 Eigen::MatrixXd& proj,
144 const QStringList& bads = defaultQStringList,
145 Eigen::MatrixXd& U = defaultMatrixXd);
146
147 //=========================================================================================================
166 static QList<FiffProj> compute_from_raw(const FiffRawData &raw,
167 const Eigen::MatrixXi &events,
168 int eventCode,
169 float tmin,
170 float tmax,
171 int nGrad,
172 int nMag,
173 int nEeg,
174 const QMap<QString,double> &mapReject = QMap<QString,double>());
175
176 //=========================================================================================================
185 friend std::ostream& operator<<(std::ostream& out, const FIFFLIB::FiffProj &p_FiffProj);
186
187public:
189 bool active;
190 QString desc;
191
193};
194
195//=============================================================================================================
196// INLINE DEFINITIONS
197//=============================================================================================================
198
199inline std::ostream& operator<<(std::ostream& out, const FIFFLIB::FiffProj &p_FiffProj)
200{
201 out << "#### Fiff Projector ####\n";
202 out << "\tKind: " << p_FiffProj.kind << std::endl;
203 out << "\tactive: " << p_FiffProj.active << std::endl;
204 out << "\tdesc: " << p_FiffProj.desc.toUtf8().constData() << std::endl;
205 out << "\tdata:\n\t" << *p_FiffProj.data.data() << std::endl;
206 return out;
207}
208} // NAMESPACE
209
210#endif // FIFF_PROJ_H
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
FiffNamedMatrix class declaration.
Old fiff_type declarations - replace them.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
std::ostream & operator<<(std::ostream &out, const FIFFLIB::FiffCov &p_FiffCov)
Definition fiff_cov.h:271
qint32 fiff_int_t
Definition fiff_types.h:89
QSharedDataPointer< FiffNamedMatrix > SDPtr
SSP projector data.
Definition fiff_proj.h:82
FiffNamedMatrix::SDPtr data
Definition fiff_proj.h:192
fiff_int_t kind
Definition fiff_proj.h:188
QSharedPointer< const FiffProj > ConstSPtr
Definition fiff_proj.h:86
static QList< FiffProj > compute_from_raw(const FiffRawData &raw, const Eigen::MatrixXi &events, int eventCode, float tmin, float tmax, int nGrad, int nMag, int nEeg, const QMap< QString, double > &mapReject=QMap< QString, double >())
static fiff_int_t make_projector(const QList< FiffProj > &projs, const QStringList &ch_names, Eigen::MatrixXd &proj, const QStringList &bads=defaultQStringList, Eigen::MatrixXd &U=defaultMatrixXd)
static void activate_projs(QList< FiffProj > &p_qListFiffProj)
QSharedPointer< FiffProj > SPtr
Definition fiff_proj.h:85
friend std::ostream & operator<<(std::ostream &out, const FIFFLIB::FiffProj &p_FiffProj)
Definition fiff_proj.h:199
FIFF raw measurement data.