upxo.statops.sampling module
https://www.labri.fr/perso/nrougier/from-python-to-numpy/code/
https://pypi.org/project/poissonDiskSampling/
bridson1 offers consant density Poisson disk sampling IMPLEMENTED
bridson2 also offers consant density Poisson disk sampling TO BE IMPLEMENTED
bridson3 also offers consant density Poisson disk sampling TO BE IMPLEMENTED https://github.com/emulbreh/bridson
bridson4 offers variable density Poisson disk sampling TO BE IMPLEMENTED https://pypi.org/project/poissonDiskSampling/
- dart1 offers constant density dart sampling
https://www.labri.fr/perso/nrougier/from-python-to-numpy/code/DART_sampling_numpy.py
- upxo.statops.sampling.random_points_around(p, num, radius)
Generate num random points around p within the annular region (radius, 2*radius).
- upxo.statops.sampling.in_limits(p, width, height)
Check if points are within bounds (vectorized for Numba).
- upxo.statops.sampling.in_neighborhood(p, P, M, cellsize, rows, cols, squared_radius)
Vectorized check to see if a point is too close to any existing points.
- upxo.statops.sampling.add_point(p, P, M, active_points, active_count, cellsize)
Add a valid point to the active list and update the grid.
- upxo.statops.sampling.bridson_uniform_density(width=1.0, height=1.0, radius=0.01, k=10)[source]
Fully optimized Bridson’s Poisson Disk Sampling using Numba for acceleration.
- upxo.statops.sampling.bridson_uniform_density_old2(width=1.0, height=1.0, radius=0.01, k=10)[source]
Highly optimized version of Bridson’s Poisson Disk Sampling.
- upxo.statops.sampling.bridson_uniform_density_old1(width=1.0, height=1.0, radius=0.01, k=10)[source]
Bridson’s Poisson Disk Sampling for uniform distribution of points. Optimized version with NumPy-based distance calculations.
- upxo.statops.sampling.bridson_uniform_density_old(width=1.0, height=1.0, radius=0.01, k=10)[source]
Bridson uniform density old.
- upxo.statops.sampling.dart(width=1.0, height=1.0, radius=0.025, k=30)
Optimized Dart Throwing with Numba (manual distance checks). Uses a pre-allocated NumPy array for ‘points’ instead of a list.
- upxo.statops.sampling.dart_old1(width=1.0, height=1.0, radius=0.025, k=30)[source]
Optimized Dart Throwing algorithm for generating a Poisson disk sampling.
Uses a KDTree for efficient nearest-neighbor searches, and avoids the large distance matrix calculation of the original.
- Parameters:
- Returns:
A list of [x, y] coordinates representing the sampled points.
- Return type: