diff --git a/README.md b/README.md index 800a534..6de5c59 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ make clean ``` ## Background -The primary functionality of this package is implemented in the `offsetter` module. +The primary functionality of this package is implemented in the [offsetter](https://github.com/RenkeHuang/point_utils/blob/main/point_utils/offsetter.py) module. Its main objective is to augment a three-dimensional point cloud dataset by adding offset points corresponding to a selected subset of existing points. For example, suppose we select a subset of points labeled "B" (this selection can be performed using data processing techniques such as SQL queries and tagging). @@ -98,7 +98,7 @@ Here we give a brief overview of these methods: #### Local Information Methods Methods focus on local data characteristics, and rely on the immediate surroundings of the target point to determine the direction of the offset vectors. -- **Nearest-Neighbor via K-D Tree**: Calculate the average displacement vectors from each "B" point to its nearest neighbors and use the opposite direction of this mean vector as the direction of the offset vector for the "B" point. +- **Nearest-Neighbor via K-D Tree**: Calculate the average displacement vectors from each "B" point to its nearest neighbors and use the opposite direction of this mean vector as the direction of the offset vector for the "B" point. - **Surface Normals via Local Surface Fitting**: Fit a local surface around each "B" point using techniques such as least squares fitting. Compute the surface normal from this fitted surface and use it as the direction for the offset vector. @@ -107,7 +107,7 @@ Methods focus on local data characteristics, and rely on the immediate surroundi #### Global Information Methods Methods consider the global structure or properties of the entire dataset. -- **Surface Normals via Convex Hull Method**: Construct a Convex Hull for the entire point cloud to determine the global geometric boundaries. Compute the normals of the convex hull to define the direction of the offset vectors. +- **Surface Normals via Convex Hull Method**: Construct a Convex Hull for the entire point cloud to determine the global geometric boundaries. Compute the normals of the convex hull to define the direction of the offset vectors. - **Radial Expansion**: Calculate the centroid of the entire point cloud. For each B point, computes the vector pointing from the centroid to the point and uses this direction for the offset vector. @@ -115,3 +115,7 @@ Methods consider the global structure or properties of the entire dataset. - **Voronoi Diagram**: Construct a 3D Voronoi diagram of the entire point cloud. For each "B" point, identify its Voronoi cell and determine the direction towards its farthest vertex, which likely points away from neighboring points. +#### Currently the following three methods are supported: +- Nearest-Neighbor via K-D Tree, implemented in **[KDTreeOffsets](https://github.com/RenkeHuang/point_utils/blob/c5e63ef8e1f9814d2f763a5323391dddd09fdba2/point_utils/offsetter.py#L98-L99) class** +- Convex Hull, implemented in **[ConvexHullOffsets](https://github.com/RenkeHuang/point_utils/blob/c5e63ef8e1f9814d2f763a5323391dddd09fdba2/point_utils/offsetter.py#L153-L154) class** +- Radial Expansion, implemented in **[CentroidOffsets](https://github.com/RenkeHuang/point_utils/blob/c5e63ef8e1f9814d2f763a5323391dddd09fdba2/point_utils/offsetter.py#L201-L202) class**