![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Point cloud or mesh registration dialog. More...
#include <ecvRegistrationDlg.h>


Public Types | |
| typedef cloudViewer::ICPRegistrationTools::CONVERGENCE_TYPE | ConvergenceMethod |
Public Member Functions | |
| ccRegistrationDlg (ccHObject *data, ccHObject *model, QWidget *parent=nullptr) | |
| Default constructor. More... | |
| virtual | ~ccRegistrationDlg () |
| Default destructor. More... | |
| ConvergenceMethod | getConvergenceMethod () const |
| Returns convergence method. More... | |
| unsigned | getMaxIterationCount () const |
| Returns max number of iterations. More... | |
| unsigned | getFinalOverlap () const |
| Returns the approximated final overlap. More... | |
| double | getMinRMSDecrease () const |
| Returns minimum RMS decrease between two consecutive iterations. More... | |
| void | setMinRMSDecrease (double value) |
| Sets the minimum RMS decrease between two consecutive iterations. More... | |
| bool | removeFarthestPoints () const |
| Returns whether farthest points should be ignored at each iteration. More... | |
| unsigned | randomSamplingLimit () const |
| Returns the limit above which clouds should be randomly resampled. More... | |
| ccHObject * | getModelEntity () |
| Returns 'model' entity. More... | |
| ccHObject * | getDataEntity () |
| Returns 'data' entity. More... | |
| bool | useDataSFAsWeights () const |
| Whether to use data displayed SF as weights. More... | |
| bool | useModelSFAsWeights () const |
| Whether to use model displayed SF as weights. More... | |
| bool | useC2MSignedDistances () const |
| Whether to use signed distances when the reference is a mesh. More... | |
| cloudViewer::ICPRegistrationTools::NORMALS_MATCHING | normalsMatchingOption () const |
| Method to take normals into account. More... | |
| bool | adjustScale () const |
| Returns whether to adjust the scale during optimization. More... | |
| int | getTransformationFilters () const |
| Returns active transformation filters. More... | |
| int | getMaxThreadCount () const |
| Returns the maximum number of threads. More... | |
| void | saveParameters () const |
| Saves parameters for next call. More... | |
Static Public Member Functions | |
| static double | GetAbsoluteMinRMSDecrease () |
Protected Member Functions | |
| void | swapModelAndData () |
| void | updateGUI () |
Protected Attributes | |
| ccHObject * | modelEntity |
| 'Model' entity More... | |
| ccHObject * | dataEntity |
| 'Data' entity More... | |
Point cloud or mesh registration dialog.
Definition at line 20 of file ecvRegistrationDlg.h.
Definition at line 34 of file ecvRegistrationDlg.h.
| ccRegistrationDlg::ccRegistrationDlg | ( | ccHObject * | data, |
| ccHObject * | model, | ||
| QWidget * | parent = nullptr |
||
| ) |
Default constructor.
Definition at line 48 of file ecvRegistrationDlg.cpp.
References dataEntity, GetAbsoluteMinRMSDecrease(), modelEntity, ecvColor::red(), s_adjustScale, s_finalOverlap, s_maxIterationCount, s_maxThreadCount, s_normalsMatchingOption, s_pointsRemoval, s_randomSamplingLimit, s_rmsDifference, s_rotComboIndex, s_transCheckboxes, s_useC2MSignedDistances, s_useDataSFAsWeights, s_useErrorDifferenceCriterion, s_useModelSFAsWeights, ccQtHelpers::SetButtonColor(), setMinRMSDecrease(), swapModelAndData(), updateGUI(), and ecvColor::yellow().
|
virtual |
Default destructor.
Definition at line 104 of file ecvRegistrationDlg.cpp.
References dataEntity, ccDrawableObject::enableTempColor(), modelEntity, ecvDisplayTools::RedrawDisplay(), and ecvDisplayTools::SetRedrawRecursive().
| bool ccRegistrationDlg::adjustScale | ( | ) | const |
Returns whether to adjust the scale during optimization.
This is useful for co-registration of lidar and photogrammetric clouds for instance.
Definition at line 164 of file ecvRegistrationDlg.cpp.
Referenced by saveParameters().
|
static |
Returns the theoretical mininmum RMS decrease between two consecutive iterations
Definition at line 188 of file ecvRegistrationDlg.cpp.
Referenced by ccRegistrationDlg().
| ccRegistrationDlg::ConvergenceMethod ccRegistrationDlg::getConvergenceMethod | ( | ) | const |
Returns convergence method.
Definition at line 210 of file ecvRegistrationDlg.cpp.
References cloudViewer::ICPRegistrationTools::MAX_ERROR_CONVERGENCE, and cloudViewer::ICPRegistrationTools::MAX_ITER_CONVERGENCE.
| ccHObject * ccRegistrationDlg::getDataEntity | ( | ) |
Returns 'data' entity.
Definition at line 135 of file ecvRegistrationDlg.cpp.
References dataEntity.
| unsigned ccRegistrationDlg::getFinalOverlap | ( | ) | const |
Returns the approximated final overlap.
Definition at line 180 of file ecvRegistrationDlg.cpp.
References max().
| unsigned ccRegistrationDlg::getMaxIterationCount | ( | ) | const |
Returns max number of iterations.
Only valid if registration method is 'ITERATION_REG'.
Definition at line 176 of file ecvRegistrationDlg.cpp.
References max().
Referenced by saveParameters().
| int ccRegistrationDlg::getMaxThreadCount | ( | ) | const |
Returns the maximum number of threads.
Definition at line 184 of file ecvRegistrationDlg.cpp.
Referenced by saveParameters().
| double ccRegistrationDlg::getMinRMSDecrease | ( | ) | const |
Returns minimum RMS decrease between two consecutive iterations.
Only valid if registration method is 'MAX_ERROR_REG'.
Definition at line 190 of file ecvRegistrationDlg.cpp.
Referenced by saveParameters().
| ccHObject * ccRegistrationDlg::getModelEntity | ( | ) |
Returns 'model' entity.
Definition at line 137 of file ecvRegistrationDlg.cpp.
References modelEntity.
| int ccRegistrationDlg::getTransformationFilters | ( | ) | const |
Returns active transformation filters.
See cloudViewer::RegistrationTools::TRANSFORMATION_FILTERS.
Definition at line 218 of file ecvRegistrationDlg.cpp.
References cloudViewer::RegistrationTools::SKIP_RXY, cloudViewer::RegistrationTools::SKIP_RXZ, cloudViewer::RegistrationTools::SKIP_RYZ, cloudViewer::RegistrationTools::SKIP_TX, cloudViewer::RegistrationTools::SKIP_TY, and cloudViewer::RegistrationTools::SKIP_TZ.
| cloudViewer::ICPRegistrationTools::NORMALS_MATCHING ccRegistrationDlg::normalsMatchingOption | ( | ) | const |
Method to take normals into account.
Definition at line 155 of file ecvRegistrationDlg.cpp.
References cloudViewer::ICPRegistrationTools::NO_NORMAL.
| unsigned ccRegistrationDlg::randomSamplingLimit | ( | ) | const |
Returns the limit above which clouds should be randomly resampled.
Definition at line 172 of file ecvRegistrationDlg.cpp.
Referenced by saveParameters().
| bool ccRegistrationDlg::removeFarthestPoints | ( | ) | const |
Returns whether farthest points should be ignored at each iteration.
This is a trick to improve registration for slightly different clouds.
Definition at line 168 of file ecvRegistrationDlg.cpp.
Referenced by saveParameters().
| void ccRegistrationDlg::saveParameters | ( | ) | const |
Saves parameters for next call.
Definition at line 116 of file ecvRegistrationDlg.cpp.
References adjustScale(), getMaxIterationCount(), getMaxThreadCount(), getMinRMSDecrease(), randomSamplingLimit(), removeFarthestPoints(), s_adjustScale, s_finalOverlap, s_maxIterationCount, s_maxThreadCount, s_normalsMatchingOption, s_pointsRemoval, s_randomSamplingLimit, s_rmsDifference, s_rotComboIndex, s_transCheckboxes, s_useC2MSignedDistances, s_useDataSFAsWeights, s_useErrorDifferenceCriterion, and s_useModelSFAsWeights.
| void ccRegistrationDlg::setMinRMSDecrease | ( | double | value | ) |
Sets the minimum RMS decrease between two consecutive iterations.
Only valid if registration method is 'MAX_ERROR_REG'.
Definition at line 202 of file ecvRegistrationDlg.cpp.
Referenced by ccRegistrationDlg().
|
protected |
Definition at line 276 of file ecvRegistrationDlg.cpp.
References dataEntity, modelEntity, std::swap(), and updateGUI().
Referenced by ccRegistrationDlg().
|
protected |
Definition at line 245 of file ecvRegistrationDlg.cpp.
References dataEntity, ccObject::getName(), ccDrawableObject::hasDisplayedScalarField(), ccDrawableObject::hasNormals(), ccObject::isKindOf(), CV_TYPES::MESH, modelEntity, CV_TYPES::POINT_CLOUD, ecvColor::red(), ecvDisplayTools::RedrawDisplay(), ecvDisplayTools::SetRedrawRecursive(), ccDrawableObject::setTempColor(), ccDrawableObject::setVisible(), and ecvColor::yellow().
Referenced by ccRegistrationDlg(), and swapModelAndData().
| bool ccRegistrationDlg::useC2MSignedDistances | ( | ) | const |
Whether to use signed distances when the reference is a mesh.
Definition at line 149 of file ecvRegistrationDlg.cpp.
| bool ccRegistrationDlg::useDataSFAsWeights | ( | ) | const |
Whether to use data displayed SF as weights.
Definition at line 139 of file ecvRegistrationDlg.cpp.
| bool ccRegistrationDlg::useModelSFAsWeights | ( | ) | const |
Whether to use model displayed SF as weights.
Definition at line 144 of file ecvRegistrationDlg.cpp.
|
protected |
'Data' entity
Definition at line 115 of file ecvRegistrationDlg.h.
Referenced by ccRegistrationDlg(), getDataEntity(), swapModelAndData(), updateGUI(), and ~ccRegistrationDlg().
|
protected |
'Model' entity
Definition at line 112 of file ecvRegistrationDlg.h.
Referenced by ccRegistrationDlg(), getModelEntity(), swapModelAndData(), updateGUI(), and ~ccRegistrationDlg().