autolens.Array1D#

class Array1D[source]#

Bases: Structure

Methods

all

Returns True if all elements evaluate to True.

any

Returns True if any of the elements of a evaluate to True.

argmax

Return indices of the maximum values along the given axis.

argmin

Return indices of the minimum values along the given axis.

argpartition

Returns the indices that would partition this array.

argsort

Returns the indices that would sort this array.

astype

Copy of the array, cast to a specified type.

byteswap

Swap the bytes of the array elements

choose

Use an index array to construct a new array from a set of choices.

clip

Return an array whose values are limited to [min, max].

compress

Return selected slices of this array along given axis.

conj

Complex-conjugate all elements.

conjugate

Return the complex conjugate, element-wise.

copy

Return a copy of the array.

cumprod

Return the cumulative product of the elements along the given axis.

cumsum

Return the cumulative sum of the elements along the given axis.

diagonal

Return specified diagonals.

dot

dump

Dump a pickle of the array to the specified file.

dumps

Returns the pickle of the array as a string.

fill

Fill the array with a scalar value.

flatten

Return a copy of the array collapsed into one dimension.

flip_hdu_for_ds9

from_fits

Create an Array1D (see Array1D.__new__) by loading the array values from a .fits file.

from_primary_hdu

Returns an Array1D by from a PrimaryHDU object which has been loaded via astropy.fits

full

Create an Array1D (see Array1D.__new__) where all values are filled with an input fill value, analogous to the method np.full().

getfield

Returns a field of the given array as a certain type.

item

Copy an element of an array to a standard Python scalar and return it.

itemset

Insert scalar into an array (scalar is cast to array's dtype, if possible)

max

Return the maximum along a given axis.

mean

Returns the average of the array elements along given axis.

min

Return the minimum along a given axis.

newbyteorder

Return the array with the same data viewed with a different byte order.

no_mask

Create a Array1D (see Array1D.__new__) by inputting the array values in 1D

nonzero

Return the indices of the elements that are non-zero.

ones

Create an Array1D (see Array1D.__new__) where all values are filled with ones, analogous to the method np.ones().

output_to_fits

Output the array to a .fits file.

partition

Rearranges the elements in the array in such a way that the value of the element in kth position is in the position it would be in a sorted array.

prod

Return the product of the array elements over the given axis

ptp

Peak to peak (maximum - minimum) value along a given axis.

put

Set a.flat[n] = values[n] for all n in indices.

ravel

Return a flattened array.

repeat

Repeat elements of an array.

reshape

Returns an array containing the same data with a new shape.

resize

Change shape and size of array in-place.

round

Return a with each element rounded to the given number of decimals.

searchsorted

Find indices where elements of v should be inserted in a to maintain order.

setfield

Put a value into a specified place in a field defined by a data-type.

setflags

Set array flags WRITEABLE, ALIGNED, WRITEBACKIFCOPY, respectively.

sort

Sort an array in-place.

squeeze

Remove axes of length one from a.

std

Returns the standard deviation of the array elements along given axis.

structure_2d_from

rtype

Structure

structure_2d_list_from

rtype

List[Structure]

sum

Return the sum of the array elements over the given axis.

swapaxes

Return a view of the array with axis1 and axis2 interchanged.

take

Return an array formed from the elements of a at the given indices.

tobytes

Construct Python bytes containing the raw data bytes in the array.

tofile

Write array to a file as text or binary (default).

tolist

Return the array as an a.ndim-levels deep nested list of Python scalars.

tostring

A compatibility alias for tobytes, with exactly the same behavior.

trace

Return the sum along diagonals of the array.

transpose

Returns a view of the array with axes transposed.

trimmed_after_convolution_from

rtype

Structure

var

Returns the variance of the array elements, along given axis.

view

New view of array with the same data.

zeros

Create an Array1D (see Array1D.__new__) where all values are filled with zeros, analogous to the method np.zeros().

Attributes

T

The transposed array.

base

Base object if memory is from some other object.

ctypes

An object to simplify the interaction of the array with the ctypes module.

data

Python buffer object pointing to the start of the array's data.

derive_grid

rtype

DeriveGrid2D

derive_indexes

rtype

DeriveIndexes2D

derive_mask

rtype

DeriveMask2D

dtype

Data-type of the array's elements.

flags

Information about the memory layout of the array.

flat

A 1-D iterator over the array.

geometry

grid_radial

rtype

Grid1D

hdu_for_output

The array as an HDU object, which can be output to a .fits file.

imag

The imaginary part of the array.

itemsize

Length of one array element in bytes.

native

Return an Array1D where the data is stored in its native representation, which is an ndarray of shape [total_pixels * sub_size].

nbytes

Total bytes consumed by the elements of the array.

ndim

Number of array dimensions.

origin

rtype

Tuple[int, ...]

pixel_area

pixel_scale

rtype

float

pixel_scale_header

rtype

Dict

pixel_scales

rtype

Tuple[float, ...]

readout_offsets

rtype

Tuple[float]

real

The real part of the array.

shape

Tuple of array dimensions.

shape_native

rtype

Tuple[int, ...]

shape_slim

rtype

int

size

Number of elements in the array.

slim

Return an Array1D where the data is stored its slim representation, which is an ndarray of shape [total_unmasked_pixels * sub_size].

strides

Tuple of bytes to step in each dimension when traversing an array.

sub_shape_native

rtype

Tuple[int, ...]

sub_shape_slim

rtype

int

sub_size

rtype

int

total_area

total_pixels

rtype

int

unmasked_grid

rtype

Union[Grid1D, Grid2D]

classmethod no_mask(values, pixel_scales, sub_size=1, origin=(0.0,), header=None)[source]#

Create a Array1D (see Array1D.__new__) by inputting the array values in 1D

Parameters
  • values (Union[ndarray, Tuple[float], List[float]]) – The values of the array input as an ndarray of shape [total_unmasked_pixels*sub_size] or a list.

  • pixel_scales (Union[Tuple[float], Tuple[float, float], float]) – The scaled units to pixel units conversion factor of the array data coordinates (e.g. the x-axis).

  • sub_size (int) – The size of each unmasked pixels sub-grid.

  • origin (Tuple[float]) – The origin of the 1D array’s mask.

Examples

import autoarray as aa

# Make Array1D from input np.ndarray.

array_1d = aa.Array1D.no_mask(values=np.array([1.0, 2.0, 3.0, 4.0]), pixel_scales=1.0)

# Make Array2D from input list.

array_1d = aa.Array1D.no_mask(values=[1.0, 2.0, 3.0, 4.0], pixel_scales=1.0)

# Print array's slim (masked 1D data representation) and
# native (masked 1D data representation)

print(array_1d.slim)
print(array_1d.native)
Return type

Array1D

classmethod full(fill_value, shape_native, pixel_scales, sub_size=1, origin=(0.0,), header=None)[source]#

Create an Array1D (see Array1D.__new__) where all values are filled with an input fill value, analogous to the method np.full().

From 1D input the method cannot determine the 1D shape of the array and its mask, thus the shape_native must be input into this method. The mask is setup as a unmasked Mask1D of size shape_native.

Parameters
  • fill_value (float) – The value all array elements are filled with.

  • shape_native (Tuple[int]) – The 1D shape of the mask the array is paired with.

  • pixel_scales (Union[Tuple[float], Tuple[float, float], float]) – The (y,x) scaled units to pixel units conversion factors of every pixel. If this is input as a float, it is converted to a (float,) structure.

  • sub_size (int) – The size (sub_size) of each unmasked pixels sub-array.

  • origin ((float,)) – The (x) scaled units origin of the mask’s coordinate system.

Return type

Array1D

classmethod zeros(shape_native, pixel_scales, sub_size=1, origin=(0.0,), header=None)[source]#

Create an Array1D (see Array1D.__new__) where all values are filled with zeros, analogous to the method np.zeros().

From 1D input the method cannot determine the 1D shape of the array and its mask, thus the shape_native must be input into this method. The mask is setup as a unmasked Mask1D of size shape_native.

Parameters
  • shape_native (Tuple[int]) – The 1D shape of the mask the array is paired with.

  • pixel_scales (Union[Tuple[float], Tuple[float, float], float]) – The (y,x) scaled units to pixel units conversion factors of every pixel. If this is input as a float, it is converted to a (float,) structure.

  • sub_size (int) – The size (sub_size) of each unmasked pixels sub-array.

  • origin ((float,)) – The (x) scaled units origin of the mask’s coordinate system.

Return type

Array1D

classmethod ones(shape_native, pixel_scales, sub_size=1, origin=(0.0,), header=None)[source]#

Create an Array1D (see Array1D.__new__) where all values are filled with ones, analogous to the method np.ones().

From 1D input the method cannot determine the 1D shape of the array and its mask, thus the shape_native must be input into this method. The mask is setup as a unmasked Mask1D of size shape_native.

Parameters
  • shape_native (Tuple[int]) – The 1D shape of the mask the array is paired with.

  • pixel_scales (Union[Tuple[float], Tuple[float, float], float]) – The (y,x) scaled units to pixel units conversion factors of every pixel. If this is input as a float, it is converted to a (float,) structure.

  • sub_size (int) – The size (sub_size) of each unmasked pixels sub-array.

  • origin ((float,)) – The (x) scaled units origin of the mask’s coordinate system.

Return type

Array1D

classmethod from_fits(file_path, pixel_scales, hdu=0, sub_size=1, origin=(0.0, 0.0))[source]#

Create an Array1D (see Array1D.__new__) by loading the array values from a .fits file.

Parameters
  • file_path (Union[Path, str]) – The path the file is loaded from, including the filename and the .fits extension, e.g. ‘/path/to/filename.fits’

  • hdu (int) – The Header-Data Unit of the .fits file the array data is loaded from.

  • pixel_scales (Union[Tuple[float], Tuple[float, float], float]) – The (x,) scaled units to pixel units conversion factors of every pixel. If this is input as a float, it is converted to a (float,) structure.

  • sub_size (int) – The sub-size of each unmasked pixels sub-array.

  • origin (Tuple[float]) – The (x,) scaled units origin of the coordinate system.

Return type

Array1D

classmethod from_primary_hdu(primary_hdu, sub_size=1, origin=(0.0, 0.0))[source]#

Returns an Array1D by from a PrimaryHDU object which has been loaded via astropy.fits

This assumes that the header of the PrimaryHDU contains an entry named PIXSCALE which gives the pixel-scale of the array.

For a full description of Array1D objects, including a description of the slim and native attribute used by the API, see the Array1D class API documentation.

Parameters
  • primary_hdu (PrimaryHDU) – The PrimaryHDU object which has already been loaded from a .fits file via astropy.fits and contains the array data and the pixel-scale in the header with an entry named PIXSCALE.

  • sub_size (int) – The size (sub_size x sub_size) of each unmasked pixels sub-array.

  • origin (Tuple[float, float]) – The (y,x) scaled units origin of the coordinate system.

Examples

from astropy.io import fits
import autoarray as aa

# Make Array1D with sub_size 1.

primary_hdu = fits.open("path/to/file.fits")

array_1d = aa.Array1D.from_primary_hdu(
    primary_hdu=primary_hdu,
    sub_size=1
)
import autoarray as aa

# Make Array1D with sub_size 2.
# (It is uncommon that a sub-gridded array would be loaded from
# a .fits, but the API support its).

 primary_hdu = fits.open("path/to/file.fits")

array_1d = aa.Array1D.from_primary_hdu(
    primary_hdu=primary_hdu,
    sub_size=2
)
Return type

Array1D

property slim: Array1D#

Return an Array1D where the data is stored its slim representation, which is an ndarray of shape [total_unmasked_pixels * sub_size].

If it is already stored in its slim representation it is returned as it is. If not, it is mapped from native to slim and returned as a new Array1D.

Return type

Array1D

property native: Array1D#

Return an Array1D where the data is stored in its native representation, which is an ndarray of shape [total_pixels * sub_size].

If it is already stored in its native representation it is return as it is. If not, it is mapped from slim to native and returned as a new Array1D.

Return type

Array1D

property hdu_for_output: PrimaryHDU#

The array as an HDU object, which can be output to a .fits file.

The header of the HDU is used to store the pixel_scale of the array, which is used by the Array1D.from_hdu.

This method is used in other projects (E.g. PyAutoGalaxy, PyAutoLens) to conveniently output the array to .fits files.

Return type

The HDU containing the data and its header which can then be written to .fits.

output_to_fits(file_path, overwrite=False)[source]#

Output the array to a .fits file.

Parameters
  • file_path (Union[Path, str]) – The output path of the file, including the filename and the .fits extension e.g. ‘/path/to/filename.fits’

  • overwrite (bool) – If a file already exists at the path, if overwrite=True it is overwritten else an error is raised.