fastgac.GaussianAccumulatorS2Beta¶
-
class
fastgac.
GaussianAccumulatorS2Beta
¶ This GaussianAccumulator can handle the entire sphere by using a space filling curve designed by Google’s S2 Geometry library. It projects a sphere to the faces of a cube and creates six separate hilbert curves for each face. It then stitches these curves together into one continuous thread. This class does not need S2 Geometry Library. We are using a port callsed s2nano that pulls out the essential SFC routine. It basically works by converting a normal to being integrated into a s2_id (SFC unique integer). It performs a faster interpolated and branchless binary search to find the closest cell in buckets. It then performs a local neighborhood search centered around the cell which actually looks at the surface normal.
-
__init__
(self: fastgac_pybind.GaussianAccumulatorS2Beta, level: int = 1) → None¶
-
clear_count
(self: fastgac_pybind.GaussianAccumulatorS2Beta) → None¶ Clears all the histogram counts for each cell. Useful to call after peak detection to ‘reset’ the mesh.
-
copy_ico_mesh
(self: fastgac_pybind.GaussianAccumulatorS2Beta, mesh_order: bool = False) → fastgac_pybind.IcoMesh¶ Creates a copy of the ico mesh.
-
find_peaks
(self: fastgac_pybind.GaussianAccumulatorS2Beta, threshold_abs: int = 25, exclude_border: bool = False, cluster_distance: float = 0.1, min_cluster_weight: float = 0.15) → fastgac_pybind.MatX3d¶ Find the peaks on the Gaussian Accumulator
-
get_average_normals_by_vertex
(self: fastgac_pybind.GaussianAccumulatorS2Beta, mesh_order: bool = False) → fastgac_pybind.MatX3d¶ Average the normalized buckets counts (triangles) into the vertices of the mesh.The order by default is sorted by the space filling curve value attached to each cell.
-
get_bucket_average_normals
(self: fastgac_pybind.GaussianAccumulatorS2Beta, mesh_order: bool = False) → fastgac_pybind.MatX3d¶ Gets the average surface normals of the buckets in the histogram after integration.The order by default is sorted by the space filling curve value attached to each cell.
-
get_bucket_normals
(self: fastgac_pybind.GaussianAccumulatorS2Beta, mesh_order: bool = False) → fastgac_pybind.MatX3d¶ Gets the surface normals of the buckets in the histogram.The order by default is sorted by the space filling curve value attached to each cell.
-
get_bucket_sfc_values
(self: fastgac_pybind.GaussianAccumulatorS2Beta) → fastgac_pybind.VectorULongInt¶ Get the space filling curve values of each bucket. Will be sorted low to high.
-
get_normalized_bucket_counts
(self: fastgac_pybind.GaussianAccumulatorS2Beta, mesh_order: bool = False) → fastgac_pybind.VectorDouble¶ Get the normalized bucket counts in the histogram.The order by default is sorted by the space filling curve value attached to each cell.
-
get_normalized_bucket_counts_by_vertex
(self: fastgac_pybind.GaussianAccumulatorS2Beta, mesh_order: bool = False) → fastgac_pybind.VectorDouble¶ Average the normalized buckets counts (triangles) into the vertices of the mesh.The order by default is sorted by the space filling curve value attached to each cell.
-
integrate
(self: fastgac_pybind.GaussianAccumulatorS2Beta, normals: fastgac_pybind.MatX3d, num_nbr: int = 12) → fastgac_pybind.VectorULongInt¶ Will intergrate the normals into the S2 Historgram
-
property
bucket_neighbors
¶ Fast lookup matrix to find neighbors of a bucket
-
property
buckets
¶ The buckets in the histogram, corresponding to cells/triangles on the mesh
-
property
ico_chart
¶ The underlying unwrapped icosphere
-
property
mesh
¶ The underlying sphere-like mesh of the Gaussian Accumulator
-
property
num_buckets
¶ The number of buckets in histogram, size(buckets)
-