slmsuite.holography.toolbox.lloyds_algorithm
- lloyds_algorithm(grid, vectors, iterations=10, plot=False)[source]
Implements Lloyd’s Algorithm on a set of
vectors
using the helper functionvoronoi_windows()
. This iteratively forces a set ofvectors
away from each other until they become more evenly distributed over a space. This function could be made much more computationally efficient by using analytic methods to compute Voronoi cell area, rather than the current numerical approach.- Parameters
grid ((array_like, array_like) OR
SLM
OR (int, int)) – Seevoronoi_windows()
.vectors (array_like) – See
voronoi_windows()
.iterations (int) – Number of iterations to apply Lloyd’s Algorithm.
plot (bool) – Whether to plot each iteration of the algorithm.
- Returns
The result of Lloyd’s Algorithm.
- Return type
numpy.ndarray