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 typedef std::unique_ptr<MNECTFCompDataSet> UPtr;
95
96 //=========================================================================================================
101
102 //=========================================================================================================
109
110 //=========================================================================================================
115
116 //=========================================================================================================
125 static std::unique_ptr<MNECTFCompDataSet> read(const QString& name);
126
127 //=========================================================================================================
140 int make_comp(const QList<FIFFLIB::FiffChInfo>& chs,
141 int nch,
142 QList<FIFFLIB::FiffChInfo> compchs,
143 int ncomp);
144
145 //=========================================================================================================
156 static int set_comp(QList<FIFFLIB::FiffChInfo> &chs,
157 int nch,
158 int comp);
159
160 //=========================================================================================================
171 int apply(int do_it,
172 Eigen::Ref<Eigen::VectorXf> data,
173 Eigen::Ref<const Eigen::VectorXf> compdata);
174
175 //=========================================================================================================
184 int apply(int do_it,
185 Eigen::Ref<Eigen::VectorXf> data);
186
187 //=========================================================================================================
197 int apply_transpose(int do_it,
198 Eigen::MatrixXf& data);
199
200 //=========================================================================================================
210 static int get_comp(const QList<FIFFLIB::FiffChInfo>& chs,int nch);
211
212 //=========================================================================================================
221 static int map_comp_kind(int grad);
222
223 //=========================================================================================================
231 static QString explain_comp(int kind);
232
233 //=========================================================================================================
246 int set_compensation(int compensate_to,
247 QList<FIFFLIB::FiffChInfo>& chs,
248 int nchan,
249 QList<FIFFLIB::FiffChInfo> comp_chs,
250 int ncomp_chan);
251
252public:
253 QList<MNECTFCompData*> comps;
254 int ncomp;
255 QList<FIFFLIB::FiffChInfo> chs;
256 int nch;
257 std::unique_ptr<MNECTFCompData> undo;
258 std::unique_ptr<MNECTFCompData> current;
259};
260
261//=============================================================================================================
262// INLINE DEFINITIONS
263//=============================================================================================================
264} // NAMESPACE MNELIB
265
266#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_transpose(int do_it, Eigen::MatrixXf &data)
static QString explain_comp(int kind)
std::unique_ptr< MNECTFCompDataSet > UPtr
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)
int apply(int do_it, Eigen::Ref< Eigen::VectorXf > data, Eigen::Ref< const Eigen::VectorXf > compdata)