v2.0.0
Loading...
Searching...
No Matches
mne_icp.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef MNE_ICP_H
36#define MNE_ICP_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "mne_global.h"
43
44//=============================================================================================================
45// QT INCLUDES
46//=============================================================================================================
47
48#include <QSharedPointer>
49
50//=============================================================================================================
51// EIGEN INCLUDES
52//=============================================================================================================
53
54#include <Eigen/Core>
55
56//=============================================================================================================
57// FORWARD DECLARATIONS
58//=============================================================================================================
59
60namespace FIFFLIB{
61 class FiffCoordTrans;
62}
63
64//=============================================================================================================
65// DEFINE NAMESPACE MNELIB
66//=============================================================================================================
67
68namespace MNELIB {
69
70//=============================================================================================================
71// MNELIB FORWARD DECLARATIONS
72//=============================================================================================================
73
75
76const Eigen::VectorXf vecDefaultWeights;
77
78//=========================================================================================================
93
94MNESHARED_EXPORT bool performIcp(const QSharedPointer<MNELIB::MNEProjectToSurface> mneSurfacePoints,
95 const Eigen::MatrixXf& matPointCloud,
96 FIFFLIB::FiffCoordTrans& transFromTo,
97 float& fRMSE,
98 bool bScale = false,
99 int iMaxIter = 20,
100 float fTol = 0.001,
101 const Eigen::VectorXf& vecWeights = vecDefaultWeights);
102
103//=========================================================================================================
104
117
118MNESHARED_EXPORT bool fitMatchedPoints(const Eigen::MatrixXf& matSrcPoint,
119 const Eigen::MatrixXf& matDstPoint,
120 Eigen::Matrix4f& matTrans,
121 float fScale = 1.0,
122 bool bScale=false,
123 const Eigen::VectorXf& vecWeights = vecDefaultWeights);
124
125//=========================================================================================================
126
139
140MNESHARED_EXPORT bool discard3DPointOutliers(const QSharedPointer<MNELIB::MNEProjectToSurface> mneSurfacePoints,
141 const Eigen::MatrixXf& matPointCloud,
142 const FIFFLIB::FiffCoordTrans& transFromTo,
143 Eigen::VectorXi& vecTake,
144 Eigen::MatrixXf& matTakePoint,
145 float fMaxDist = 0.0);
146
147} // namespace MNELIB
148
149#endif // MNE_ICP_H
mne library export/import macros.
#define MNESHARED_EXPORT
Definition mne_global.h:52
Core MNE data structures (source spaces, source estimates, hemispheres).
bool performIcp(const QSharedPointer< MNELIB::MNEProjectToSurface > mneSurfacePoints, const Eigen::MatrixXf &matPointCloud, FIFFLIB::FiffCoordTrans &transFromTo, float &fRMSE, bool bScale=false, int iMaxIter=20, float fTol=0.001, const Eigen::VectorXf &vecWeights=vecDefaultWeights)
bool fitMatchedPoints(const Eigen::MatrixXf &matSrcPoint, const Eigen::MatrixXf &matDstPoint, Eigen::Matrix4f &matTrans, float fScale=1.0, bool bScale=false, const Eigen::VectorXf &vecWeights=vecDefaultWeights)
const Eigen::VectorXf vecDefaultWeights
Definition mne_icp.h:76
bool discard3DPointOutliers(const QSharedPointer< MNELIB::MNEProjectToSurface > mneSurfacePoints, const Eigen::MatrixXf &matPointCloud, const FIFFLIB::FiffCoordTrans &transFromTo, Eigen::VectorXi &vecTake, Eigen::MatrixXf &matTakePoint, float fMaxDist=0.0)
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
Coordinate transformation description.
Projects 3-D points onto a triangulated surface mesh and returns nearest vertices and distances.