Skip to content

Commit fcffcb4

Browse files
WIP-FIX: improvements on documentation and missing doxygen tags
1 parent 034cbfd commit fcffcb4

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

src/diffCheck/registration/globalregistration.hh

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ class GlobalRegistration
1111
public:
1212

1313
/**
14-
* @brief Compute the "point to point" distance between two point clouds.
14+
* @brief Compute the "point to point" distance between two point clouds.
15+
*
1516
* For every point in the source point cloud it looks in the KDTree of the target point cloud and finds the closest point.
1617
* It returns a vector of distances, one for each point in the source point cloud.
1718
* @param source The source diffCheck point cloud
@@ -29,7 +30,8 @@ class GlobalRegistration
2930
* Very simply, point features are values computed on a point cloud (for example the normal of a point, the curvature, etc.).
3031
* point features historigrams generalize this concept by computing point features in a local neighborhood of a point, stored as higher-dimentional historigrams.
3132
*
32-
* Quite important for us: the resultant hyperspace is dependent on the quality of the surface normal estimations at each point (if pc noisy, historigram different).
33+
* @note The FPFH hyperspace is dependent on the quality of the surface normal estimations at each point (if pc noisy, historigram different).
34+
*
3335
* @param source the source diffCheck point cloud
3436
* @param target the target diffCheck point cloud
3537
* @param voxelSize the size of the voxels used to downsample the point clouds. A higher value will result in a more coarse point cloud (less resulting points).
@@ -53,16 +55,21 @@ class GlobalRegistration
5355

5456
/**
5557
* @brief Fast Global Registration based on Correspondence using (Fast) Point Feature Histograms (FPFH) on the source and target point clouds
56-
* Little information on this registration method compared to the previous one.
57-
* If understood correctly, this method finds keypoints in the FPFH hyperspaces of the source and target point clouds and then tries to match them, instead of using all the features.
58-
* https://pcl.readthedocs.io/projects/tutorials/en/latest/correspondence_grouping.html
58+
*
59+
* Little information on this registration method compared to Fast Global Registration Feature Matching.
60+
* If understood correctly, this method finds keypoints in the FPFH hyperspaces of the source and target point clouds and then tries to match them, instead of using all the feature historigrams.
61+
*
62+
* @note The FPFH hyperspace is dependent on the quality of the surface normal estimations at each point (if pc noisy, historigram different).
63+
*
5964
* @param source the source diffCheck point cloud
6065
* @param target the target diffCheck point cloud
6166
* @param voxelSize the size of the voxels used to downsample the point clouds. A higher value will result in a more coarse point cloud (less resulting points).
6267
* @param radiusKDTreeSearch the radius used to search for neighbors in the KDTree. It is used for the calculation of FPFHFeatures
6368
* @param maxNeighborKDTreeSearch the maximum number of neighbors to search for in the KDTree. It is used for the calculation of FPFHFeatures
6469
* @param iterationNumber the number of iterations to run the RanSaC registration algorithm
65-
* @param maxTupleCount the maximum number of tuples to consider in the FPFH hyperspace
70+
* @param maxTupleCount the maximum number of tuples to consider in the FPFH hyperspace
71+
*
72+
* @see https://pcl.readthedocs.io/projects/tutorials/en/latest/correspondence_grouping.html (from PCL, not Open3D)
6673
*/
6774
static open3d::pipelines::registration::RegistrationResult O3DFastGlobalRegistrationBasedOnCorrespondence(std::shared_ptr<geometry::DFPointCloud> source,
6875
std::shared_ptr<geometry::DFPointCloud> target,
@@ -74,12 +81,12 @@ class GlobalRegistration
7481
int maxTupleCount = 500);
7582
/**
7683
* @brief Ransac registration based on Feature Matching using (Fast) Point Feature Histograms (FPFH) on the source and target point clouds
77-
* Correspondances are computed between the source and target point clouds.
84+
* Correspondances are computed between the source and target point clouds FPFH hyperspaces.
7885
* Then, a transformation is computed that minimizes the error between the correspondances.
7986
* If the error is above a certain threshold, the transformation is discarded and a new one is computed.
80-
81-
* In practice, Open3D gives little information about the feature correspondence, compared to the FGR methods
82-
87+
*
88+
* @note The FPFH hyperspace is dependent on the quality of the surface normal estimations at each point (if pc noisy, historigram different).
89+
*
8390
* @param source the source diffCheck point cloud
8491
* @param target the target diffCheck point cloud
8592
* @param voxelSize the size of the voxels used to downsample the point clouds. A higher value will result in a more coarse point cloud (less resulting points).
@@ -97,13 +104,17 @@ class GlobalRegistration
97104
int correspondenceSetSize = 200);
98105
/**
99106
* @brief Ransac registration based on Feature Matching using (Fast) Point Feature Histograms (FPFH) on the source and target point clouds
100-
* https://www.open3d.org/docs/release/tutorial/pipelines/global_registration.html#RANSAC
107+
*
108+
* If understood correctly, this method finds keypoints in the FPFH hyperspaces of the source and target point clouds and then tries to match them, instead of using all the feature historigrams.
109+
*
101110
* @param source the source diffCheck point cloud
102111
* @param target the target diffCheck point cloud
103112
* @param voxelSize the size of the voxels used to downsample the point clouds. A higher value will result in a more coarse point cloud (less resulting points).
104113
* @param radiusKDTreeSearch the radius used to search for neighbors in the KDTree. It is used for the calculation of FPFHFeatures
105114
* @param maxNeighborKDTreeSearch the maximum number of neighbors to search for in the KDTree. It is used for the calculation of FPFHFeatures
106115
* @param maxCorrespondenceDistance the maximum distance between correspondences.
116+
*
117+
* @see https://www.open3d.org/docs/release/tutorial/pipelines/global_registration.html#RANSAC (from PCL, not Open3D)
107118
*/
108119
static open3d::pipelines::registration::RegistrationResult O3DRansacOnFeatureMatching(std::shared_ptr<geometry::DFPointCloud> source,
109120
std::shared_ptr<geometry::DFPointCloud> target,

0 commit comments

Comments
 (0)