v2.0.0
Loading...
Searching...
No Matches
fiff_coord_trans_set.h
Go to the documentation of this file.
1//=============================================================================================================
17
18#ifndef FIFFCOORDTRANSSET_H
19#define FIFFCOORDTRANSSET_H
20
21//=============================================================================================================
22// INCLUDES
23//=============================================================================================================
24
25#include "fiff_global.h"
26#include "fiff_coord_trans.h"
27
28//=============================================================================================================
29// EIGEN INCLUDES
30//=============================================================================================================
31
32#include <Eigen/Core>
33
34//=============================================================================================================
35// QT INCLUDES
36//=============================================================================================================
37
38#include <QSharedPointer>
39#include <QString>
40
41#include <memory>
42
43//=============================================================================================================
44// DEFINE NAMESPACE FIFFLIB
45//=============================================================================================================
46
47namespace FIFFLIB
48{
49
50//=============================================================================================================
51// FORWARD DECLARATIONS
52//=============================================================================================================
53
54class FiffStream;
55
56//=============================================================================================================
69{
70public:
71 using SPtr = QSharedPointer<FiffCoordTransSet>;
72 using ConstSPtr = QSharedPointer<const FiffCoordTransSet>;
73 using UPtr = std::unique_ptr<FiffCoordTransSet>;
74 using ConstUPtr = std::unique_ptr<const FiffCoordTransSet>;
75
76 //=========================================================================================================
85 static FiffCoordTrans readMniTransform(const QString& path);
86
87 //=========================================================================================================
96 bool addTalairach(const QString& xfmPath);
97
98 //=========================================================================================================
108 int read(const QString& path);
109
110 //=========================================================================================================
116 void write(FiffStream& stream) const;
117
118 //=========================================================================================================
126 Eigen::MatrixX3f headToMni(const Eigen::MatrixX3f& rr) const;
127
128 //=========================================================================================================
137 Eigen::MatrixX3f mniToTalairach(const Eigen::MatrixX3f& rr) const;
138
144};
145
146//=============================================================================================================
147// INLINE DEFINITIONS
148//=============================================================================================================
149} // NAMESPACE FIFFLIB
150
151#endif // FIFFCOORDTRANSSET_H
4x4 affine FIFF coordinate transform (FIFF_COORD_TRANS) annotated with source/destination coordinate-...
Export/import macros and build-info accessors for the FIFFLIB shared library.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:44
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.
The chain of transforms from MEG head coordinates to MNI and FreeSurfer Talairach coordinates.
QSharedPointer< FiffCoordTransSet > SPtr
QSharedPointer< const FiffCoordTransSet > ConstSPtr
std::unique_ptr< FiffCoordTransSet > UPtr
Eigen::MatrixX3f mniToTalairach(const Eigen::MatrixX3f &rr) const
bool addTalairach(const QString &xfmPath)
int read(const QString &path)
std::unique_ptr< const FiffCoordTransSet > ConstUPtr
void write(FiffStream &stream) const
Eigen::MatrixX3f headToMni(const Eigen::MatrixX3f &rr) const
static FiffCoordTrans readMniTransform(const QString &path)
FIFF tag-stream reader/writer: wraps a QIODevice and exposes typed read_* / write_* methods for every...