ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
FastGlobalRegistrationFilter Class Reference

#include <FastGlobalRegistrationFilter.h>

Inheritance diagram for FastGlobalRegistrationFilter:
Collaboration diagram for FastGlobalRegistrationFilter:

Public Member Functions

 FastGlobalRegistrationFilter ()
 
 ~FastGlobalRegistrationFilter () override
 
- Public Member Functions inherited from BasePclModule
 BasePclModule (PclModuleDescription desc=PclModuleDescription(), ccPluginInterface *parent_plugin=0)
 Default constructor. More...
 
QAction * getAction ()
 Get the action associated with the button used in menu and toolbar creation. More...
 
QString getStatusTip () const
 Returns the status tip. More...
 
QString getModuleName () const
 Returns the name of the filter. More...
 
QString getEntryName () const
 Returns the entry name. More...
 
QIcon getIcon () const
 Returns the icon associated with the button. More...
 
void setShowProgressBar (bool status)
 Sets whether to show a progressbar while computing or not. More...
 
std::vector< std::string > getSelectedAvailableScalarFields ()
 
ccPointCloudgetSelectedEntityAsCCPointCloud () const
 Returns the first selected entity as a ccPointCloud. More...
 
ccHObjectgetSelectedEntityAsCCHObject () const
 Returns the first selected entity as a ccHObject. More...
 
ccHObject::Container getSelectedThatHaveMetaData (const QString key) const
 Get selected object that also have the provided metadata key. More...
 
void getAllEntitiesOfType (CV_CLASS_ENUM type, ccHObject::Container &entities)
 Returns all the objects in db tree of type "type". More...
 
void getAllEntitiesThatHaveMetaData (QString key, ccHObject::Container &entities)
 
void getSelectedEntitiesThatAreCCPointCloud (ccHObject::Container &entities)
 get all entities that are selected and that also are cc_point_cloud More...
 
void getSelectedEntitiesThatAre (CV_CLASS_ENUM kind, ccHObject::Container &entities)
 
int hasSelectedRGB ()
 Returns 1 if the first selected entity has RGB info. More...
 
int hasSelectedScalarField ()
 Returns 1 if the first selected entity has at least one scalar field. More...
 
int hasSelectedScalarField (std::string field_name)
 
int isFirstSelectedCcPointCloud ()
 Returns 1 if the first selected object is a ccPointCloud. More...
 
virtual void updateSelectedEntities (const ccHObject::Container &selectedEntities)
 Updates the internal copy of selected entities. More...
 
void setMainAppInterface (ecvMainAppInterface *app)
 Sets associated CC application interface (to access DB) More...
 
ecvMainAppInterfacegetMainAppInterface ()
 
ccPluginInterfacegetParentPlugin () const
 Returns the associated parent plugin interface. More...
 

Protected Member Functions

virtual int compute () override
 Performs the actual filter job. More...
 
virtual void getParametersFromDialog () override
 Collects parameters from the filter dialog (if openDialog is successful) More...
 
virtual int checkSelected () override
 Checks if current selection is compliant with the filter. More...
 
virtual QString getErrorMessage (int errorCode) override
 Returns the error message corresponding to a given error code. More...
 
- Protected Member Functions inherited from BasePclModule
virtual int openInputDialog ()
 
virtual int openOutputDialog ()
 
virtual int checkParameters ()
 
virtual int start ()
 Starts computation. More...
 
virtual void initAction ()
 Initializes the corresponding action. More...
 
void throwError (int errCode)
 

Protected Attributes

std::vector< ccPointCloud * > m_alignedClouds
 
ccPointCloudm_referenceCloud
 
double m_featureRadius
 
- Protected Attributes inherited from BasePclModule
QAction * m_action
 Forces the Ui to be updated. More...
 
ccHObject::Container m_selected
 Pointer to the main window. More...
 
PclModuleDescription m_desc
 Associated dialog. More...
 
ecvMainAppInterfacem_app
 Associated application interface. More...
 
ccPluginInterfacem_parent_plugin
 associated parent plugin of the filter More...
 
bool m_show_progress
 Do we want to show a progress bar when the filter works? More...
 

Additional Inherited Members

- Signals inherited from BasePclModule
void entityHasChanged (ccHObject *)
 Signal emitted when an entity is (visually) modified. More...
 
void newEntity (ccHObject *)
 Signal emitted when a new entity is created by the filter. More...
 
void newErrorMessage (QString)
 Signal emitted when a new error message is produced. More...
 
- Protected Slots inherited from BasePclModule
int performAction ()
 Returns is called when the dialog window is accepted. More...
 

Detailed Description

Filter based on "Q.-Y. Zhou, J. Park, and V. Koltun, Fast Global Registration, ECCV, 2016." See https://github.com/isl-org/FastGlobalRegistration

Definition at line 37 of file FastGlobalRegistrationFilter.h.

Constructor & Destructor Documentation

◆ FastGlobalRegistrationFilter()

FastGlobalRegistrationFilter::FastGlobalRegistrationFilter ( )

Definition at line 37 of file FastGlobalRegistrationFilter.cpp.

◆ ~FastGlobalRegistrationFilter()

FastGlobalRegistrationFilter::~FastGlobalRegistrationFilter ( )
override

Definition at line 48 of file FastGlobalRegistrationFilter.cpp.

Member Function Documentation

◆ checkSelected()

int FastGlobalRegistrationFilter::checkSelected ( )
overrideprotectedvirtual

Checks if current selection is compliant with the filter.

If not, an error is returned and computation stops. By default, baseclass method simply checks that selection is composed of one and only one ccPointCloud. This method should be overridden if necessary.

Returns
1 if selection is compliant (error code otherwise)

Reimplemented from BasePclModule.

Definition at line 62 of file FastGlobalRegistrationFilter.cpp.

References BasePclModule::m_selected, and CV_TYPES::POINT_CLOUD.

◆ compute()

int FastGlobalRegistrationFilter::compute ( )
overrideprotectedvirtual

◆ getErrorMessage()

QString FastGlobalRegistrationFilter::getErrorMessage ( int  errorCode)
overrideprotectedvirtual

Returns the error message corresponding to a given error code.

Each filter have a set of possible error message to be used given bt getFilterErrorMessage() Baseclass implementation provides some generic messages.

Note
These messages can be replaced by re-implementing this method and handling the same codes BEFORE calling the baseclass method

Reimplemented from BasePclModule.

Definition at line 50 of file FastGlobalRegistrationFilter.cpp.

References BasePclModule::getErrorMessage(), and NoNormals.

◆ getParametersFromDialog()

void FastGlobalRegistrationFilter::getParametersFromDialog ( )
overrideprotectedvirtual

Member Data Documentation

◆ m_alignedClouds

std::vector<ccPointCloud*> FastGlobalRegistrationFilter::m_alignedClouds
protected

Definition at line 50 of file FastGlobalRegistrationFilter.h.

Referenced by compute(), and getParametersFromDialog().

◆ m_featureRadius

double FastGlobalRegistrationFilter::m_featureRadius
protected

Definition at line 52 of file FastGlobalRegistrationFilter.h.

Referenced by compute(), and getParametersFromDialog().

◆ m_referenceCloud

ccPointCloud* FastGlobalRegistrationFilter::m_referenceCloud
protected

Definition at line 51 of file FastGlobalRegistrationFilter.h.

Referenced by compute(), and getParametersFromDialog().


The documentation for this class was generated from the following files: