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//=============================================================================================================
75{
76public:
77 using SPtr = QSharedPointer<FiffDigitizerData>;
78 using ConstSPtr = QSharedPointer<const FiffDigitizerData>;
79 using UPtr = std::unique_ptr<FiffDigitizerData>;
80 using ConstUPtr = std::unique_ptr<const FiffDigitizerData>;
81
82 //=========================================================================================================
87
88 //=========================================================================================================
94 FiffDigitizerData(const FiffDigitizerData& p_FiffDigitizerData);
95
96 //=========================================================================================================
104
105 //=========================================================================================================
111 FiffDigitizerData(QIODevice& p_IODevice);
112
113 //=========================================================================================================
118
119 //=========================================================================================================
123 void print() const;
124
125 //=========================================================================================================
135 inline int nfids() const;
136
137 //=========================================================================================================
147
148
149public:
150 QString filename;
151 std::unique_ptr<FiffCoordTrans> head_mri_t;
152 std::unique_ptr<FiffCoordTrans> head_mri_t_adj;
153 QList<FIFFLIB::FiffDigPoint> points;
155 QList<int> active;
156 QList<int> discard;
157 int npoint;
158 QList<FIFFLIB::FiffDigPoint> mri_fids;
159 bool show;
161 Eigen::VectorXf dist;
162 Eigen::VectorXi closest;
163 Eigen::Matrix<float, Eigen::Dynamic, 3, Eigen::RowMajor> closest_point;
165};
166
167//=============================================================================================================
168// INLINE DEFINITIONS
169//=============================================================================================================
170
171inline int FiffDigitizerData::nfids() const
172{
173 return static_cast<int>(mri_fids.size());
174}
175
176} // NAMESPACE
177
178#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