Skip to content

Repository files navigation

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

About

Array and grid manipulation for the PyAuto ecosystem

Topics

Resources

Code of conduct

Contributing

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages