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//=============================================================================================================
73{
74public:
75 typedef QSharedPointer<MNECTFCompDataSet> SPtr;
76 typedef QSharedPointer<const MNECTFCompDataSet> ConstSPtr;
77 typedef std::unique_ptr<MNECTFCompDataSet> UPtr;
78
79 //=========================================================================================================
84
85 //=========================================================================================================
92
93 //=========================================================================================================
98
99 //=========================================================================================================
108 static std::unique_ptr<MNECTFCompDataSet> read(const QString& name);
109
110 //=========================================================================================================
123 int make_comp(const QList<FIFFLIB::FiffChInfo>& chs,
124 int nch,
125 QList<FIFFLIB::FiffChInfo> compchs,
126 int ncomp);
127
128 //=========================================================================================================
139 static int set_comp(QList<FIFFLIB::FiffChInfo> &chs,
140 int nch,
141 int comp);
142
143 //=========================================================================================================
154 int apply(bool do_it,
155 Eigen::Ref<Eigen::VectorXf> data,
156 Eigen::Ref<const Eigen::VectorXf> compdata);
157
158 //=========================================================================================================
167 int apply(bool do_it,
168 Eigen::Ref<Eigen::VectorXf> data);
169
170 //=========================================================================================================
180 int apply_transpose(bool do_it,
181 Eigen::MatrixXf& data);
182
183 //=========================================================================================================
193 static int get_comp(const QList<FIFFLIB::FiffChInfo>& chs,int nch);
194
195 //=========================================================================================================
204 static int map_comp_kind(int grad);
205
206 //=========================================================================================================
214 static QString explain_comp(int kind);
215
216 //=========================================================================================================
229 int set_compensation(int compensate_to,
230 QList<FIFFLIB::FiffChInfo>& chs,
231 int nchan,
232 QList<FIFFLIB::FiffChInfo> comp_chs,
233 int ncomp_chan);
234
235public:
236 std::vector<std::unique_ptr<MNECTFCompData>> comps;
237 int ncomp;
238 QList<FIFFLIB::FiffChInfo> chs;
239 int nch;
240 std::unique_ptr<MNECTFCompData> undo;
241 std::unique_ptr<MNECTFCompData> current;
242};
243
244//=============================================================================================================
245// INLINE DEFINITIONS
246//=============================================================================================================
247} // NAMESPACE MNELIB
248
249#endif // MNECTFCOMPDATASET_H
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
FIFF sparse matrix: column / row-compressed sparse storage backed by Eigen::SparseMatrix.
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
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(bool do_it, Eigen::Ref< Eigen::VectorXf > data, Eigen::Ref< const Eigen::VectorXf > compdata)
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)
int set_compensation(int compensate_to, QList< FIFFLIB::FiffChInfo > &chs, int nchan, QList< FIFFLIB::FiffChInfo > comp_chs, int ncomp_chan)