MNE-CPP
0.1.9
A Framework for Electrophysiology
|
ICP declarations. More...
Go to the source code of this file.
Functions | |
RTPROCESINGSHARED_EXPORT bool | RTPROCESSINGLIB::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 &vecWeitgths=vecDefaultWeigths) |
RTPROCESINGSHARED_EXPORT bool | RTPROCESSINGLIB::fitMatchedPoints (const Eigen::MatrixXf &matSrcPoint, const Eigen::MatrixXf &matDstPoint, Eigen::Matrix4f &matTrans, float fScale=1.0, bool bScale=false, const Eigen::VectorXf &vecWeitgths=vecDefaultWeigths) |
RTPROCESINGSHARED_EXPORT bool | RTPROCESSINGLIB::discard3DPointOutliers (const QSharedPointer< MNELIB::MNEProjectToSurface > mneSurfacePoints, const Eigen::MatrixXf &matPointCloud, const FIFFLIB::FiffCoordTrans &transFromTo, Eigen::VectorXi &vecTake, Eigen::MatrixXf &matTakePoint, float fMaxDist=0.0) |
Variables | |
const Eigen::VectorXf | RTPROCESSINGLIB::vecDefaultWeigths |
ICP declarations.
Copyright (C) 2020, Ruben Dörfel. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Definition in file icp.h.
RTPROCESINGSHARED_EXPORT bool RTPROCESSINGLIB::discard3DPointOutliers | ( | const QSharedPointer< MNELIB::MNEProjectToSurface > | mneSurfacePoints, |
const Eigen::MatrixXf & | matPointCloud, | ||
const FIFFLIB::FiffCoordTrans & | transFromTo, | ||
Eigen::VectorXi & | vecTake, | ||
Eigen::MatrixXf & | matTakePoint, | ||
float | fMaxDist = 0.0 |
||
) |
Discard outliers compared to a given 3D surface
[in] | mneSurfacePoints | The MNEProjectToSurface object that contains the surface triangles etc. (To). |
[in] | matPointCloud | The destination point set to be registrated (From). |
[in,out] | transFromTo | The forward transformation matrix. |
[in] | vecTake | The index of taken digitizers. |
[in] | matTakePoint | The the digitizer points to take. |
[in] | fMaxDist | The maximum distance to the surface in mm, defaults to 0 mm. |
RTPROCESINGSHARED_EXPORT bool RTPROCESSINGLIB::fitMatchedPoints | ( | const Eigen::MatrixXf & | matSrcPoint, |
const Eigen::MatrixXf & | matDstPoint, | ||
Eigen::Matrix4f & | matTrans, | ||
float | fScale = 1.0 , |
||
bool | bScale = false , |
||
const Eigen::VectorXf & | vecWeitgths = vecDefaultWeigths |
||
) |
Corresponding point set registration using quaternions.
[in] | matSrcPoint | The source point set. |
[in] | matDstPoint | The destination point set. |
[in,out] | matTrans | The forward transformation matrix. |
[in,out] | fScale | The scaling parameter, defaults to 1.0. |
[in] | bScale | Wether to apply scaling or not. Should be false for matching data sets, defaults to false. |
[in] | vecWeitgths | The weitghts to apply , defaults to zeros. |
RTPROCESINGSHARED_EXPORT bool RTPROCESSINGLIB::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 & | vecWeitgths = vecDefaultWeigths |
||
) |
The ICP algorithm to register a point cloud with a surface.
[in] | mneSurfacePoints | The MNEProjectToSurface object that contains the surface triangles etc. (To). |
[in] | matPointCloud | The point cloud to be registrated (From). |
[in,out] | transFromTo | The forward transformation matrix. It can contain an initial transformatin (e.g. from fiducial alignment). |
[in,out] | fRMSE | The resulting Root-Mean-Square-Error in m. |
[in] | bScale | Wether to apply scaling or not. Should be false for matching data sets, defaults to false. |
[in] | iMaxIter | The maximum number of iterations for the icp algorithms, defaults to 20. |
[in] | fTol | The destination point set to be reistrated, defaults to 0.001. |
[in] | vecWeitgths | The weitghts to apply, defaults to zeros. |