Source code for autoarray.inversion.pixelization.mesh.voronoi_nn

from autoarray.inversion.pixelization.mesh.voronoi import Voronoi

[docs]class VoronoiNN(Voronoi): """ An irregular mesh of Voronoi pixels, which using natural neighbor interpolation are paired with a 2D grid of (y,x) coordinates. The Voronoi cell centers are derived in the image-plane by overlaying a uniform grid over the image. For a full description of how a mesh is paired with another grid, see the :meth:`Pixelization API documentation <autoarray.inversion.pixelization.pixelization.Pixelization>`. The Voronoi mesh represents pixels as an irregular 2D grid of Voronoi cells. A ``Pixelization`` using a ``Voronoi`` mesh has four grids associated with it: - ``image_plane_data_grid``: The observed data grid in the image-plane (which is paired with the mesh in the source-plane). - ``image_plane_mesh_grid``: The (y,x) mesh coordinates in the image-plane (which are the centres of Voronoi cells in the source-plane). - ``source_plane_data_grid``: The observed data grid mapped to the source-plane (e.g. after gravitational lensing). - ``source_plane_mesh_grid``: The centre of each Voronoi cell in the source-plane (the ``image_plane_mesh_grid`` maps to this after gravitational lensing). Each (y,x) coordinate in the ``source_plane_data_grid`` is paired with all Voronoi cells it falls within, using a natural neighbor interpolation scheme ( The centers of the Voronoi cell pixels are derived in the image-plane by overlaying a uniform grid with the input ``shape`` over the masked image data's grid. All coordinates in this uniform grid which are contained within the mask are kept and mapped to the source-plane via gravitational lensing, where they form the Voronoi pixel centers. Parameters ---------- shape The shape of the unmasked uniform grid in the image-plane which is laid over the masked image, in order to derive the image-plane (y,x) coordinates which act as the centres of the Voronoi pixels after being mapped to the source-plane via gravitational lensing. """ @property def uses_interpolation(self): return True