autoarray.inversion.pixelization.mesh.VoronoiNNBrightnessImage#

class VoronoiNNBrightnessImage[source]#

Bases: VoronoiBrightnessImage

An irregular mesh of Voronoi pixels, which using no interpolation are paired with a 2D grid of (y,x) coordinates. The Voronoi cell centers are derived in the image-plane by applying a KMeans clustering algorithm to the image’s weight map.

For a full description of how a mesh is paired with another grid, see the Pixelization API documentation.

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, without using an interpolation scheme.

The centers of the Voronoi cell pixels are derived in the image plane, by applying a KMeans clustering algorithm to the masked image data’s weight-map. The weight_floor and weight_power allow the KMeans algorithm to adapt the image-plane coordinates to the image’s brightest or faintest values. The computed valies are mapped to the source-plane via gravitational lensing, where they form the Voronoi cell pixel centers.

Parameters
  • pixels – The total number of pixels in the mesh, which is therefore also the number of (y,x) coordinates computed via the KMeans clustering algorithm in image-plane.

  • weight_floor (float) – A parameter which reweights the data values the KMeans algorithm is applied too; as the floor increases more weight is applied to values with lower values thus allowing mesh pixels to be placed in these regions of the data.

  • weight_power (float) – A parameter which reweights the data values the KMeans algorithm is applied too; as the power increases more weight is applied to values with higher values thus allowing mesh pixels to be placed in these regions of the data.

Methods

image_plane_mesh_grid_from

Computes the mesh_grid in the data frame, by overlaying a uniform grid of coordinates over the masked 2D data (see Grid2DSparse.from_grid_and_unmasked_2d_grid_shape()).

mapper_grids_from

Mapper objects describe the mappings between pixels in the masked 2D data and the pixels in a mesh, in both the data and source frames.

mesh_grid_from

Return the Voronoi source_plane_mesh_grid as a Mesh2DVoronoi object, which provides additional functionality for performing operations that exploit the geometry of a Voronoi mesh.

relocated_grid_from

Relocates all coordinates of the input source_plane_data_grid that are outside of a border (which is defined by a grid of (y,x) coordinates) to the edge of this border.

relocated_mesh_grid_from

Relocates all coordinates of the input source_plane_mesh_grid that are outside of a border (which is defined by a grid of (y,x) coordinates) to the edge of this border.

weight_map_from

Computes a weight_map from an input adapt_data, where this image represents components in the masked 2d data in the data frame.

Attributes

is_stochastic

rtype

bool

uses_interpolation