v2.0.0
Loading...
Searching...
No Matches
fiff_digitizer_data.h
Go to the documentation of this file.
1//=============================================================================================================
21
22#ifndef FIFF_DIGITIZER_DATA_H
23#define FIFF_DIGITIZER_DATA_H
24
25//=============================================================================================================
26// INCLUDES
27//=============================================================================================================
28
29#include "fiff_global.h"
30#include "fiff_types.h"
31#include "fiff_dig_point.h"
32
33//=============================================================================================================
34// EIGEN INCLUDES
35//=============================================================================================================
36
37#include <Eigen/Core>
38
39//=============================================================================================================
40// QT INCLUDES
41//=============================================================================================================
42
43#include <QSharedPointer>
44
45#include <memory>
46
47#include <QDebug>
48
49//=============================================================================================================
50// DEFINE NAMESPACE FIFFLIB
51//=============================================================================================================
52
53namespace FIFFLIB
54{
55
56//=============================================================================================================
57// FORWARD DECLARATIONS
58//=============================================================================================================
59
60class FiffCoordTrans;
61
62//=============================================================================================================
73{
74public:
75 using SPtr = QSharedPointer<FiffDigitizerData>;
76 using ConstSPtr = QSharedPointer<const FiffDigitizerData>;
77 using UPtr = std::unique_ptr<FiffDigitizerData>;
78 using ConstUPtr = std::unique_ptr<const FiffDigitizerData>;
79
80 //=========================================================================================================
85
86 //=========================================================================================================
92 FiffDigitizerData(const FiffDigitizerData& p_FiffDigitizerData);
93
94 //=========================================================================================================
102
103 //=========================================================================================================
109 FiffDigitizerData(QIODevice &p_IODevice);
110
111 //=========================================================================================================
116
117 //=========================================================================================================
121 void print() const;
122
123 //=========================================================================================================
133 inline int nfids() const;
134
135 //=========================================================================================================
145
146
147public:
148 QString filename;
149 std::unique_ptr<FiffCoordTrans> head_mri_t;
150 std::unique_ptr<FiffCoordTrans> head_mri_t_adj;
151 QList<FIFFLIB::FiffDigPoint> points;
153 QList<int> active;
154 QList<int> discard;
155 int npoint;
156 QList<FIFFLIB::FiffDigPoint> mri_fids;
157 bool show;
159 Eigen::VectorXf dist;
160 Eigen::VectorXi closest;
161 Eigen::Matrix<float, Eigen::Dynamic, 3, Eigen::RowMajor> closest_point;
163
164};
165
166//=============================================================================================================
167// INLINE DEFINITIONS
168//=============================================================================================================
169
170inline int FiffDigitizerData::nfids() const
171{
172 return static_cast<int>(mri_fids.size());
173}
174
175} // NAMESPACE
176
177#endif // FIFF_DIGITIZER_DATA_H
Export/import macros and build-info accessors for the FIFFLIB shared library.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:44
Single digitization point (FIFF_DIG_POINT) with kind (cardinal/HPI/EEG/extra), identifier and 3D coor...
Primitive scalar typedefs and forward-compatible aliases backing the FIFF type system.
FIFF file I/O, in-memory data structures and high-level readers/writers.
Labelled 4x4 FIFF affine: source frame, destination frame, rotation, translation and cached inverse.
QList< FIFFLIB::FiffDigPoint > points
std::unique_ptr< FiffCoordTrans > head_mri_t_adj
Eigen::Matrix< float, Eigen::Dynamic, 3, Eigen::RowMajor > closest_point
std::unique_ptr< const FiffDigitizerData > ConstUPtr
std::unique_ptr< FiffCoordTrans > head_mri_t
QSharedPointer< const FiffDigitizerData > ConstSPtr
std::unique_ptr< FiffDigitizerData > UPtr
FiffDigitizerData & operator=(const FiffDigitizerData &rhs)
QSharedPointer< FiffDigitizerData > SPtr
QList< FIFFLIB::FiffDigPoint > mri_fids