v2.0.0
Loading...
Searching...
No Matches
mne_icp.h
Go to the documentation of this file.
1//=============================================================================================================
19
20#ifndef MNE_ICP_H
21#define MNE_ICP_H
22
23//=============================================================================================================
24// INCLUDES
25//=============================================================================================================
26
27#include "mne_global.h"
28
29//=============================================================================================================
30// QT INCLUDES
31//=============================================================================================================
32
33#include <QSharedPointer>
34
35//=============================================================================================================
36// EIGEN INCLUDES
37//=============================================================================================================
38
39#include <Eigen/Core>
40
41//=============================================================================================================
42// FORWARD DECLARATIONS
43//=============================================================================================================
44
45namespace FIFFLIB{
46 class FiffCoordTrans;
47}
48
49//=============================================================================================================
50// DEFINE NAMESPACE MNELIB
51//=============================================================================================================
52
53namespace MNELIB {
54
55//=============================================================================================================
56// MNELIB FORWARD DECLARATIONS
57//=============================================================================================================
58
60
61const Eigen::VectorXf vecDefaultWeights;
62
63//=========================================================================================================
78
79MNESHARED_EXPORT bool performIcp(const QSharedPointer<MNELIB::MNEProjectToSurface> mneSurfacePoints,
80 const Eigen::MatrixXf& matPointCloud,
81 FIFFLIB::FiffCoordTrans& transFromTo,
82 float& fRMSE,
83 bool bScale = false,
84 int iMaxIter = 20,
85 float fTol = 0.001,
86 const Eigen::VectorXf& vecWeights = vecDefaultWeights);
87
88//=========================================================================================================
89
102
103MNESHARED_EXPORT bool fitMatchedPoints(const Eigen::MatrixXf& matSrcPoint,
104 const Eigen::MatrixXf& matDstPoint,
105 Eigen::Matrix4f& matTrans,
106 float fScale = 1.0,
107 bool bScale=false,
108 const Eigen::VectorXf& vecWeights = vecDefaultWeights);
109
110//=========================================================================================================
111
124
125MNESHARED_EXPORT bool discard3DPointOutliers(const QSharedPointer<MNELIB::MNEProjectToSurface> mneSurfacePoints,
126 const Eigen::MatrixXf& matPointCloud,
127 const FIFFLIB::FiffCoordTrans& transFromTo,
128 Eigen::VectorXi& vecTake,
129 Eigen::MatrixXf& matTakePoint,
130 float fMaxDist = 0.0);
131
132} // namespace MNELIB
133
134#endif // MNE_ICP_H
MNELIB shared-library export/import macros and library build metadata.
#define MNESHARED_EXPORT
Definition mne_global.h:40
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:61
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, in-memory data structures and high-level readers/writers.
Labelled 4x4 FIFF affine: source frame, destination frame, rotation, translation and cached inverse.
Projects 3-D points onto a triangulated surface mesh and returns nearest vertices and distances.