MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
fiff_proj.h
Go to the documentation of this file.
1//=============================================================================================================
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
56//=============================================================================================================
57// EIGEN INCLUDES
58//=============================================================================================================
59
60#include <Eigen/Core>
61
62//=============================================================================================================
63// DEFINE NAMESPACE FIFFLIB
64//=============================================================================================================
65
66namespace FIFFLIB
67{
68
69//=============================================================================================================
76
77public:
78 typedef QSharedPointer<FiffProj> SPtr;
79 typedef QSharedPointer<const FiffProj> ConstSPtr;
81 //=========================================================================================================
85 FiffProj();
86
87 //=========================================================================================================
93 FiffProj(const FiffProj& p_FiffProj);
94
95 //=========================================================================================================
99 explicit FiffProj(fiff_int_t p_kind,
100 bool p_active,
101 QString p_desc,
102 FiffNamedMatrix& p_data);
103
104 //=========================================================================================================
108 ~FiffProj();
109
110 //=========================================================================================================
116 static void activate_projs(QList<FiffProj> &p_qListFiffProj);
117
118 //=========================================================================================================
136 static fiff_int_t make_projector(const QList<FiffProj>& projs,
137 const QStringList& ch_names,
138 Eigen::MatrixXd& proj,
139 const QStringList& bads = defaultQStringList,
140 Eigen::MatrixXd& U = defaultMatrixXd);
141
142 //=========================================================================================================
151 friend std::ostream& operator<<(std::ostream& out, const FIFFLIB::FiffProj &p_FiffProj);
152
153public:
154 fiff_int_t kind;
155 bool active;
156 QString desc;
159};
160
161//=============================================================================================================
162// INLINE DEFINITIONS
163//=============================================================================================================
164
165inline std::ostream& operator<<(std::ostream& out, const FIFFLIB::FiffProj &p_FiffProj)
166{
167 out << "#### Fiff Projector ####\n";
168 out << "\tKind: " << p_FiffProj.kind << std::endl;
169 out << "\tactive: " << p_FiffProj.active << std::endl;
170 out << "\tdesc: " << p_FiffProj.desc.toUtf8().constData() << std::endl;
171 out << "\tdata:\n\t" << *p_FiffProj.data.data() << std::endl;
172 return out;
173}
174} // NAMESPACE
175
176#endif // FIFF_PROJ_H
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:56
FiffNamedMatrix class declaration.
std::ostream & operator<<(std::ostream &out, const FIFFLIB::FiffCov &p_FiffCov)
Definition fiff_cov.h:237
Definitions for describing the objects in a FIFF file.
QSharedDataPointer< FiffNamedMatrix > SDPtr
SSP projector data.
Definition fiff_proj.h:75
FiffNamedMatrix::SDPtr data
Definition fiff_proj.h:158
fiff_int_t kind
Definition fiff_proj.h:154
QSharedPointer< const FiffProj > ConstSPtr
Definition fiff_proj.h:79
QSharedPointer< FiffProj > SPtr
Definition fiff_proj.h:78