v2.0.0
Loading...
Searching...
No Matches
mne_ctf_comp_data_set.h
Go to the documentation of this file.
1//=============================================================================================================
18
19#ifndef MNECTFCOMPDATASET_H
20#define MNECTFCOMPDATASET_H
21
22//=============================================================================================================
23// INCLUDES
24//=============================================================================================================
25
26#include "mne_global.h"
27
28#include "mne_named_matrix.h"
30
31//=============================================================================================================
32// STL INCLUDES
33//=============================================================================================================
34
35#include <memory>
36#include <vector>
37
38//=============================================================================================================
39// EIGEN INCLUDES
40//=============================================================================================================
41
42#include <Eigen/Core>
43
44//=============================================================================================================
45// QT INCLUDES
46//=============================================================================================================
47
48#include <QSharedPointer>
49#include <QList>
50
51//=============================================================================================================
52// DEFINE NAMESPACE MNELIB
53//=============================================================================================================
54
55namespace MNELIB
56{
57
58//=============================================================================================================
59// FORWARD DECLARATIONS
60//=============================================================================================================
61
62class MNECTFCompData;
63
64//=============================================================================================================
75{
76public:
77 typedef QSharedPointer<MNECTFCompDataSet> SPtr;
78 typedef QSharedPointer<const MNECTFCompDataSet> ConstSPtr;
79 typedef std::unique_ptr<MNECTFCompDataSet> UPtr;
80
81 //=========================================================================================================
86
87 //=========================================================================================================
94
95 //=========================================================================================================
100
101 //=========================================================================================================
110 static std::unique_ptr<MNECTFCompDataSet> read(const QString& name);
111
112 //=========================================================================================================
125 int make_comp(const QList<FIFFLIB::FiffChInfo>& chList,
126 int nChan,
127 QList<FIFFLIB::FiffChInfo> compchs,
128 int nCompChan);
129
130 //=========================================================================================================
141 static int set_comp(QList<FIFFLIB::FiffChInfo>& chs,
142 int nch,
143 int comp);
144
145 //=========================================================================================================
156 int apply(bool do_it,
157 Eigen::Ref<Eigen::VectorXf> data,
158 Eigen::Ref<const Eigen::VectorXf> compdata);
159
160 //=========================================================================================================
169 int apply(bool do_it,
170 Eigen::Ref<Eigen::VectorXf> data);
171
172 //=========================================================================================================
182 int apply_transpose(bool do_it,
183 Eigen::MatrixXf& data);
184
185 //=========================================================================================================
195 static int get_comp(const QList<FIFFLIB::FiffChInfo>& chs, int nch);
196
197 //=========================================================================================================
206 static int map_comp_kind(int grad);
207
208 //=========================================================================================================
216 static QString explain_comp(int kind);
217
218 //=========================================================================================================
231 int set_compensation(int compensate_to,
232 QList<FIFFLIB::FiffChInfo>& chList,
233 int nchan,
234 QList<FIFFLIB::FiffChInfo> comp_chs,
235 int ncomp_chan);
236
237public:
238 std::vector<std::unique_ptr<MNECTFCompData>> comps;
239 int ncomp;
240 QList<FIFFLIB::FiffChInfo> chs;
241 int nch;
242 std::unique_ptr<MNECTFCompData> undo;
243 std::unique_ptr<MNECTFCompData> current;
244};
245
246//=============================================================================================================
247// INLINE DEFINITIONS
248//=============================================================================================================
249} // NAMESPACE MNELIB
250
251#endif // MNECTFCOMPDATASET_H
FIFF sparse matrix: column / row-compressed sparse storage backed by Eigen::SparseMatrix.
Row/column-labelled dense matrix used wherever FIFF stores per-channel data.
MNELIB shared-library export/import macros and library build metadata.
#define MNESHARED_EXPORT
Definition mne_global.h:40
Core MNE data structures (source spaces, source estimates, hemispheres).
Represents a single CTF compensation data element.
std::vector< std::unique_ptr< MNECTFCompData > > comps
std::unique_ptr< MNECTFCompData > undo
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 make_comp(const QList< FIFFLIB::FiffChInfo > &chList, int nChan, QList< FIFFLIB::FiffChInfo > compchs, int nCompChan)
int apply(bool do_it, Eigen::Ref< Eigen::VectorXf > data, Eigen::Ref< const Eigen::VectorXf > compdata)
int set_compensation(int compensate_to, QList< FIFFLIB::FiffChInfo > &chList, int nchan, QList< FIFFLIB::FiffChInfo > comp_chs, int ncomp_chan)
int apply_transpose(bool do_it, Eigen::MatrixXf &data)
static QString explain_comp(int kind)
std::unique_ptr< MNECTFCompDataSet > UPtr
QSharedPointer< const MNECTFCompDataSet > ConstSPtr
static int get_comp(const QList< FIFFLIB::FiffChInfo > &chs, int nch)