v2.0.0
Loading...
Searching...
No Matches
mne_ctf_comp_data_set.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef MNECTFCOMPDATASET_H
38#define MNECTFCOMPDATASET_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "mne_global.h"
45
46#include "mne_named_matrix.h"
48
49//=============================================================================================================
50// STL INCLUDES
51//=============================================================================================================
52
53#include <memory>
54
55//=============================================================================================================
56// EIGEN INCLUDES
57//=============================================================================================================
58
59#include <Eigen/Core>
60
61//=============================================================================================================
62// QT INCLUDES
63//=============================================================================================================
64
65#include <QSharedPointer>
66#include <QList>
67
68//=============================================================================================================
69// DEFINE NAMESPACE MNELIB
70//=============================================================================================================
71
72namespace MNELIB
73{
74
75//=============================================================================================================
76// FORWARD DECLARATIONS
77//=============================================================================================================
78
79class MNECTFCompData;
80
81//=============================================================================================================
90{
91public:
92 typedef QSharedPointer<MNECTFCompDataSet> SPtr;
93 typedef QSharedPointer<const MNECTFCompDataSet> ConstSPtr;
94
95 //=========================================================================================================
100
101 //=========================================================================================================
108
109 //=========================================================================================================
114
115 //=========================================================================================================
124 static std::unique_ptr<MNECTFCompDataSet> read(const QString& name);
125
126 //=========================================================================================================
139 int make_comp(const QList<FIFFLIB::FiffChInfo>& chs,
140 int nch,
141 QList<FIFFLIB::FiffChInfo> compchs,
142 int ncomp);
143
144 //=========================================================================================================
155 static int set_comp(QList<FIFFLIB::FiffChInfo> &chs,
156 int nch,
157 int comp);
158
159 //=========================================================================================================
170 int apply(int do_it,
171 Eigen::VectorXf& data,
172 const Eigen::VectorXf& compdata);
173
174 //=========================================================================================================
183 int apply(int do_it,
184 Eigen::VectorXf& data);
185
186 //=========================================================================================================
196 int apply_transpose(int do_it,
197 Eigen::MatrixXf& data);
198
199 //=========================================================================================================
209 static int get_comp(const QList<FIFFLIB::FiffChInfo>& chs,int nch);
210
211 //=========================================================================================================
220 static int map_comp_kind(int grad);
221
222 //=========================================================================================================
230 static QString explain_comp(int kind);
231
232 //=========================================================================================================
245 int set_compensation(int compensate_to,
246 QList<FIFFLIB::FiffChInfo>& chs,
247 int nchan,
248 QList<FIFFLIB::FiffChInfo> comp_chs,
249 int ncomp_chan);
250
251public:
252 QList<MNECTFCompData*> comps;
253 int ncomp;
254 QList<FIFFLIB::FiffChInfo> chs;
255 int nch;
256 std::unique_ptr<MNECTFCompData> undo;
257 std::unique_ptr<MNECTFCompData> current;
258};
259
260//=============================================================================================================
261// INLINE DEFINITIONS
262//=============================================================================================================
263} // NAMESPACE MNELIB
264
265#endif // MNECTFCOMPDATASET_H
FiffSparseMatrix class declaration.
mne library export/import macros.
#define MNESHARED_EXPORT
Definition mne_global.h:52
MNENamedMatrix class declaration.
Core MNE data structures (source spaces, source estimates, hemispheres).
Represents a single CTF compensation data element.
std::unique_ptr< MNECTFCompData > undo
int make_comp(const QList< FIFFLIB::FiffChInfo > &chs, int nch, QList< FIFFLIB::FiffChInfo > compchs, int ncomp)
std::unique_ptr< MNECTFCompData > current
QList< FIFFLIB::FiffChInfo > chs
QSharedPointer< MNECTFCompDataSet > SPtr
static int set_comp(QList< FIFFLIB::FiffChInfo > &chs, int nch, int comp)
static std::unique_ptr< MNECTFCompDataSet > read(const QString &name)
int apply(int do_it, Eigen::VectorXf &data, const Eigen::VectorXf &compdata)
int apply_transpose(int do_it, Eigen::MatrixXf &data)
static QString explain_comp(int kind)
QSharedPointer< const MNECTFCompDataSet > ConstSPtr
QList< MNECTFCompData * > comps
static int get_comp(const QList< FIFFLIB::FiffChInfo > &chs, int nch)
int set_compensation(int compensate_to, QList< FIFFLIB::FiffChInfo > &chs, int nchan, QList< FIFFLIB::FiffChInfo > comp_chs, int ncomp_chan)