Public Member Functions | |
ICCVTutorial (boost::shared_ptr< pcl::Keypoint< pcl::PointXYZRGB, pcl::PointXYZI > > keypoint_detector, typename pcl::Feature< pcl::PointXYZRGB, FeatureType >::Ptr feature_extractor, boost::shared_ptr< pcl::PCLSurfaceBase< pcl::PointXYZRGBNormal > > surface_reconstructor, typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr source, typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr target) | |
ICCVTutorial (boost::shared_ptr< pcl::Keypoint< pcl::PointXYZRGB, pcl::PointXYZI > > keypoint_detector, typename pcl::Feature< pcl::PointXYZRGB, FeatureType >::Ptr feature_extractor, boost::shared_ptr< pcl::PCLSurfaceBase< pcl::PointXYZRGBNormal > > surface_reconstructor, typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr source, typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr target) | |
void | run () |
starts the event loop for the visualizer | |
void | run () |
starts the event loop for the visualizer | |
Protected Member Functions | |
void | detectKeypoints (typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr input, pcl::PointCloud< pcl::PointXYZI >::Ptr keypoints) const |
Detects key points in the input point cloud. | |
void | detectKeypoints (typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr input, pcl::PointCloud< pcl::PointXYZI >::Ptr keypoints) const |
Detects key points in the input point cloud. | |
void | determineFinalTransformation () |
calculate the final rigid transformation using ICP over all points | |
void | determineFinalTransformation () |
calculate the final rigid transformation using ICP over all points | |
void | determineInitialTransformation () |
calculate the initial rigid transformation from filtered corresponding keypoints | |
void | determineInitialTransformation () |
calculate the initial rigid transformation from filtered corresponding keypoints | |
void | extractDescriptors (typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr input, typename pcl::PointCloud< pcl::PointXYZI >::Ptr keypoints, typename pcl::PointCloud< FeatureType >::Ptr features) |
extract descriptors for given key points | |
void | extractDescriptors (typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr input, typename pcl::PointCloud< pcl::PointXYZI >::Ptr keypoints, typename pcl::PointCloud< FeatureType >::Ptr features) |
extract descriptors for given key points | |
void | filterCorrespondences () |
remove non-consistent correspondences | |
void | filterCorrespondences () |
remove non-consistent correspondences | |
void | findCorrespondences (typename pcl::PointCloud< FeatureType >::Ptr source, typename pcl::PointCloud< FeatureType >::Ptr target, std::vector< int > &correspondences) const |
find corresponding features based on some metric | |
void | findCorrespondences (typename pcl::PointCloud< FeatureType >::Ptr source, typename pcl::PointCloud< FeatureType >::Ptr target, std::vector< int > &correspondences) const |
find corresponding features based on some metric | |
void | keyboard_callback (const pcl::visualization::KeyboardEvent &event, void *cookie) |
callback to handle keyboard events | |
void | keyboard_callback (const pcl::visualization::KeyboardEvent &event, void *cookie) |
callback to handle keyboard events | |
void | reconstructSurface () |
reconstructs the surface from merged point clouds | |
void | reconstructSurface () |
reconstructs the surface from merged point clouds | |
void | segmentation (typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr input, typename pcl::PointCloud< pcl::PointXYZRGB >::Ptr segmented) const |
remove plane and select largest cluster as input object | |
void | segmentation (typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr input, typename pcl::PointCloud< pcl::PointXYZRGB >::Ptr segmented) const |
remove plane and select largest cluster as input object | |
Private Attributes | |
pcl::CorrespondencesPtr | correspondences_ |
pcl::Feature< pcl::PointXYZRGB, FeatureType >::Ptr | feature_extractor_ |
Eigen::Matrix4f | initial_transformation_matrix_ |
boost::shared_ptr < pcl::Keypoint < pcl::PointXYZRGB, pcl::PointXYZI > > | keypoint_detector_ |
bool | show_correspondences |
bool | show_source2target_ |
bool | show_target2source_ |
std::vector< int > | source2target_ |
pcl::PointCloud < pcl::PointXYZRGB >::ConstPtr | source_ |
pcl::PointCloud< FeatureType >::Ptr | source_features_ |
pcl::PointCloud < pcl::PointXYZI >::Ptr | source_keypoints_ |
pcl::PointCloud < pcl::PointXYZRGB >::Ptr | source_registered_ |
pcl::PointCloud < pcl::PointXYZRGB >::Ptr | source_segmented_ |
pcl::PointCloud < pcl::PointXYZRGB >::Ptr | source_transformed_ |
pcl::PolygonMesh | surface_ |
boost::shared_ptr < pcl::PCLSurfaceBase < pcl::PointXYZRGBNormal > > | surface_reconstructor_ |
std::vector< int > | target2source_ |
pcl::PointCloud < pcl::PointXYZRGB >::ConstPtr | target_ |
pcl::PointCloud< FeatureType >::Ptr | target_features_ |
pcl::PointCloud < pcl::PointXYZI >::Ptr | target_keypoints_ |
pcl::PointCloud < pcl::PointXYZRGB >::Ptr | target_segmented_ |
Eigen::Matrix4f | transformation_matrix_ |
pcl::visualization::PCLVisualizer | visualizer_ |
Definition at line 31 of file feature_matching.cpp.
ICCVTutorial< FeatureType >::ICCVTutorial | ( | boost::shared_ptr< pcl::Keypoint< pcl::PointXYZRGB, pcl::PointXYZI > > | keypoint_detector, |
typename pcl::Feature< pcl::PointXYZRGB, FeatureType >::Ptr | feature_extractor, | ||
boost::shared_ptr< pcl::PCLSurfaceBase< pcl::PointXYZRGBNormal > > | surface_reconstructor, | ||
typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | source, | ||
typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | target | ||
) |
Definition at line 129 of file feature_matching.cpp.
ICCVTutorial< FeatureType >::ICCVTutorial | ( | boost::shared_ptr< pcl::Keypoint< pcl::PointXYZRGB, pcl::PointXYZI > > | keypoint_detector, |
typename pcl::Feature< pcl::PointXYZRGB, FeatureType >::Ptr | feature_extractor, | ||
boost::shared_ptr< pcl::PCLSurfaceBase< pcl::PointXYZRGBNormal > > | surface_reconstructor, | ||
typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | source, | ||
typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | target | ||
) |
void ICCVTutorial< FeatureType >::detectKeypoints | ( | typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | input, |
pcl::PointCloud< pcl::PointXYZI >::Ptr | keypoints | ||
) | const [protected] |
Detects key points in the input point cloud.
input | the input point cloud |
keypoints | the resulting key points. Note that they are not necessarily a subset of the input cloud |
Definition at line 234 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::detectKeypoints | ( | typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | input, |
pcl::PointCloud< pcl::PointXYZI >::Ptr | keypoints | ||
) | const [protected] |
Detects key points in the input point cloud.
input | the input point cloud |
keypoints | the resulting key points. Note that they are not necessarily a subset of the input cloud |
void ICCVTutorial< FeatureType >::determineFinalTransformation | ( | ) | [protected] |
calculate the final rigid transformation using ICP over all points
Definition at line 333 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::determineFinalTransformation | ( | ) | [protected] |
calculate the final rigid transformation using ICP over all points
void ICCVTutorial< FeatureType >::determineInitialTransformation | ( | ) | [protected] |
calculate the initial rigid transformation from filtered corresponding keypoints
Definition at line 321 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::determineInitialTransformation | ( | ) | [protected] |
calculate the initial rigid transformation from filtered corresponding keypoints
void ICCVTutorial< FeatureType >::extractDescriptors | ( | typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | input, |
typename pcl::PointCloud< pcl::PointXYZI >::Ptr | keypoints, | ||
typename pcl::PointCloud< FeatureType >::Ptr | features | ||
) | [protected] |
extract descriptors for given key points
input | point cloud to be used for descriptor extraction |
keypoints | locations where descriptors are to be extracted |
features | resulting descriptors |
Definition at line 243 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::extractDescriptors | ( | typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | input, |
typename pcl::PointCloud< pcl::PointXYZI >::Ptr | keypoints, | ||
typename pcl::PointCloud< FeatureType >::Ptr | features | ||
) | [protected] |
extract descriptors for given key points
input | point cloud to be used for descriptor extraction |
keypoints | locations where descriptors are to be extracted |
features | resulting descriptors |
void ICCVTutorial< FeatureType >::filterCorrespondences | ( | ) | [protected] |
remove non-consistent correspondences
Definition at line 297 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::filterCorrespondences | ( | ) | [protected] |
remove non-consistent correspondences
void ICCVTutorial< FeatureType >::findCorrespondences | ( | typename pcl::PointCloud< FeatureType >::Ptr | source, |
typename pcl::PointCloud< FeatureType >::Ptr | target, | ||
std::vector< int > & | correspondences | ||
) | const [protected] |
find corresponding features based on some metric
source | source feature descriptors |
target | target feature descriptors |
correspondences | indices out of the target descriptors that correspond (nearest neighbor) to the source descriptors |
Definition at line 275 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::findCorrespondences | ( | typename pcl::PointCloud< FeatureType >::Ptr | source, |
typename pcl::PointCloud< FeatureType >::Ptr | target, | ||
std::vector< int > & | correspondences | ||
) | const [protected] |
find corresponding features based on some metric
source | source feature descriptors |
target | target feature descriptors |
correspondences | indices out of the target descriptors that correspond (nearest neighbor) to the source descriptors |
void ICCVTutorial< FeatureType >::keyboard_callback | ( | const pcl::visualization::KeyboardEvent & | event, |
void * | cookie | ||
) | [protected] |
callback to handle keyboard events
event | object containing information about the event. e.g. type (press, release) etc. |
cookie | user defined data passed during registration of the callback |
Definition at line 390 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::keyboard_callback | ( | const pcl::visualization::KeyboardEvent & | event, |
void * | cookie | ||
) | [protected] |
callback to handle keyboard events
event | object containing information about the event. e.g. type (press, release) etc. |
cookie | user defined data passed during registration of the callback |
void ICCVTutorial< FeatureType >::reconstructSurface | ( | ) | [protected] |
reconstructs the surface from merged point clouds
Definition at line 350 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::reconstructSurface | ( | ) | [protected] |
reconstructs the surface from merged point clouds
void ICCVTutorial< FeatureType >::run | ( | ) |
starts the event loop for the visualizer
Definition at line 384 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::run | ( | ) |
starts the event loop for the visualizer
void ICCVTutorial< FeatureType >::segmentation | ( | typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | input, |
typename pcl::PointCloud< pcl::PointXYZRGB >::Ptr | segmented | ||
) | const [protected] |
remove plane and select largest cluster as input object
input | the input point cloud |
segmented | the resulting segmented point cloud containing only points of the largest cluster |
Definition at line 175 of file feature_matching.cpp.
void ICCVTutorial< FeatureType >::segmentation | ( | typename pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr | input, |
typename pcl::PointCloud< pcl::PointXYZRGB >::Ptr | segmented | ||
) | const [protected] |
remove plane and select largest cluster as input object
input | the input point cloud |
segmented | the resulting segmented point cloud containing only points of the largest cluster |
pcl::CorrespondencesPtr ICCVTutorial< FeatureType >::correspondences_ [private] |
Definition at line 120 of file feature_matching.cpp.
pcl::Feature< pcl::PointXYZRGB, FeatureType >::Ptr ICCVTutorial< FeatureType >::feature_extractor_ [private] |
Definition at line 107 of file feature_matching.cpp.
Eigen::Matrix4f ICCVTutorial< FeatureType >::initial_transformation_matrix_ [private] |
Definition at line 121 of file feature_matching.cpp.
boost::shared_ptr< pcl::Keypoint< pcl::PointXYZRGB, pcl::PointXYZI > > ICCVTutorial< FeatureType >::keypoint_detector_ [private] |
Definition at line 106 of file feature_matching.cpp.
bool ICCVTutorial< FeatureType >::show_correspondences [private] |
Definition at line 125 of file feature_matching.cpp.
bool ICCVTutorial< FeatureType >::show_source2target_ [private] |
Definition at line 123 of file feature_matching.cpp.
bool ICCVTutorial< FeatureType >::show_target2source_ [private] |
Definition at line 124 of file feature_matching.cpp.
std::vector< int > ICCVTutorial< FeatureType >::source2target_ [private] |
Definition at line 118 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr ICCVTutorial< FeatureType >::source_ [private] |
Definition at line 109 of file feature_matching.cpp.
pcl::PointCloud< FeatureType >::Ptr ICCVTutorial< FeatureType >::source_features_ [private] |
Definition at line 116 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZI >::Ptr ICCVTutorial< FeatureType >::source_keypoints_ [private] |
Definition at line 104 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZRGB >::Ptr ICCVTutorial< FeatureType >::source_registered_ [private] |
Definition at line 114 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZRGB >::Ptr ICCVTutorial< FeatureType >::source_segmented_ [private] |
Definition at line 111 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZRGB >::Ptr ICCVTutorial< FeatureType >::source_transformed_ [private] |
Definition at line 113 of file feature_matching.cpp.
pcl::PolygonMesh ICCVTutorial< FeatureType >::surface_ [private] |
Definition at line 115 of file feature_matching.cpp.
boost::shared_ptr< pcl::PCLSurfaceBase< pcl::PointXYZRGBNormal > > ICCVTutorial< FeatureType >::surface_reconstructor_ [private] |
Definition at line 108 of file feature_matching.cpp.
std::vector< int > ICCVTutorial< FeatureType >::target2source_ [private] |
Definition at line 119 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr ICCVTutorial< FeatureType >::target_ [private] |
Definition at line 110 of file feature_matching.cpp.
pcl::PointCloud< FeatureType >::Ptr ICCVTutorial< FeatureType >::target_features_ [private] |
Definition at line 117 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZI >::Ptr ICCVTutorial< FeatureType >::target_keypoints_ [private] |
Definition at line 105 of file feature_matching.cpp.
pcl::PointCloud< pcl::PointXYZRGB >::Ptr ICCVTutorial< FeatureType >::target_segmented_ [private] |
Definition at line 112 of file feature_matching.cpp.
Eigen::Matrix4f ICCVTutorial< FeatureType >::transformation_matrix_ [private] |
Definition at line 122 of file feature_matching.cpp.
pcl::visualization::PCLVisualizer ICCVTutorial< FeatureType >::visualizer_ [private] |
Definition at line 103 of file feature_matching.cpp.