class autoarray.inversion.pixelizations.Rectangular(shape: Tuple[int, int] = (3, 3))[source]#
__init__(shape: Tuple[int, int] = (3, 3))[source]#

A pixelization associates a 2D grid of (y,x) coordinates (which are expected to be aligned with a masked dataset) with a 2D grid of pixels.

The rectangular pixelization represents pixels using a uniform rectangular grid.

Both of these grids (e.g. the masked dataset’s 2D grid and the grid of the Voronoi pixelization’s pixels) have (y,x) coordinates in two reference frames:

  • data: the original reference frame of the masked data.

  • source: a reference frame where grids in the data reference frame are transformed to a new reference

frame (e.g. their (y,x) coordinates may be shifted, stretched or have a more complicated operation performed on them).

The grid associated with the masked dataset and Voronoi pixelization have the following variable names:

  • grid_slim: the (y,x) grid of coordinates of the original masked data (which can be in the data frame and

given the variable name data_grid_slim or in the transformed source frame with the variable name source_grid_slim).

  • pixelization_grid: the (y,x) grid of Voronoi pixels which are associated with the grid_slim (y,x)

coordinates (association is always performed in the source reference frame).

A rectangular pixelization has three grids associated with it: data_grid_slim, source_grid_slim, and source_pixelization_grid. It does not have a data_pixelization_grid because a rectangular pixelization is constructed by overlaying a grid of rectangular over the `source_grid_slim (it is therefore entirely constructed in the source frame).

If a transformation of coordinates is not applied, the data frame and source frames are identical.

The (y,x) coordinates of the source_pixelization_grid represent the centres of each rectangular pixel.

Each (y,x) coordinate in the source_grid_slim is associated with the rectangular pixelization pixel it falls within. No interpolation is performed when making these associations.

The rectangular grid is uniform, has dimensions (total_y_pixels, total_x_pixels) and has indexing beginning in the top-left corner and going rightwards and downwards.

In the project PyAutoLens, one’s data is a masked 2D image. Its data_grid_slim is a 2D grid where every (y,x) coordinate is aligned with the centre of every unmasked image pixel. A “lensing operation” transforms this grid of (y,x) coordinates from the data frame to a new grid of (y,x) coordinates in the source frame. The pixelization is then applied in the source frame.. In lensing terminology, the data frame is the image-plane and source frame the source-plane.


shape – The 2D dimensions of the rectangular grid of pixels (total_y_pixels, total_x_pixel).



A pixelization associates a 2D grid of (y,x) coordinates (which are expected to be aligned with a masked dataset) with a 2D grid of pixels.


Not used for rectangular pixelization.

mapper_from(source_grid_slim[, …])

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

pixelization_grid_from([source_grid_slim, …])

Return the rectangular source_pixelization_grid as a Grid2DRectangular object, which provides additional functionality for perform operatons that exploit the geometry of a rectangular pixelization.

relocated_grid_from(source_grid_slim[, …])

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

relocated_pixelization_grid_from(…[, settings])