Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 2.1 KB

File metadata and controls

65 lines (48 loc) · 2.1 KB

PyAutoArray

PyAutoArray (package autoarray) is the low-level data-structure and numerical-utility layer of the PyAuto ecosystem. It provides masks, arrays, (y,x) coordinate grids, imaging/interferometer datasets, inversions/pixelizations for source reconstruction, and convolution/over-sampling operators.

PyAutoGalaxy and PyAutoLens build directly on autoarray: every grid a profile consumes, every masked image a fit operates on, and the linear-algebra inversions behind pixelized source reconstruction are autoarray objects. The package supports both a NumPy and an opt-in JAX (xp=jnp) backend.

Install

pip install autoarray

Examples

A masked 2D array tied to a pixel scale:

import autoarray as aa

arr = aa.Array2D.no_mask(values=[[1.0, 2.0], [3.0, 4.0]], pixel_scales=0.1)
arr.shape_native        # (2, 2)
arr.native[0, 0]        # 1.0

A circular mask and the (y,x) coordinate grid of its unmasked pixels:

mask = aa.Mask2D.circular(shape_native=(50, 50), pixel_scales=0.1, radius=2.0)
mask.pixels_in_mask     # 1264

grid = aa.Grid2D.from_mask(mask=mask)       # shape (1264, 2)
uniform = aa.Grid2D.uniform(shape_native=(10, 10), pixel_scales=0.1)

A normalized Gaussian PSF convolver:

convolver = aa.Convolver.from_gaussian(
    shape_native=(11, 11), pixel_scales=0.1, sigma=1.0, normalize=True
)
convolver.kernel.shape_native       # (11, 11)
convolver.kernel.array.sum()        # 1.0

Community & Support

Questions, help with your code or your analysis, and ideas: the PyAutoLabs Discussions. Bug reports with a reproducer (a snippet, the traceback, your versions): an issue on the library's tracker. The Slack is for collaborators, by invitation.

Links