autolens.Kernel2D¶

class
autolens.
Kernel2D
(shape, dtype=float, buffer=None, offset=0, strides=None, order=None)¶ 
__init__
(*args, **kwargs)¶ Initialize self. See help(type(self)) for accurate signature.
Methods
all
([axis, out, keepdims])Returns True if all elements evaluate to True. any
([axis, out, keepdims])Returns True if any of the elements of a evaluate to True. argmax
([axis, out])Return indices of the maximum values along the given axis. argmin
([axis, out])Return indices of the minimum values along the given axis of a. argpartition
(kth[, axis, kind, order])Returns the indices that would partition this array. argsort
([axis, kind, order])Returns the indices that would sort this array. astype
(dtype[, order, casting, subok, copy])Copy of the array, cast to a specified type. byteswap
([inplace])Swap the bytes of the array elements choose
(choices[, out, mode])Use an index array to construct a new array from a set of choices. clip
([min, max, out])Return an array whose values are limited to [min, max]
.compress
(condition[, axis, out])Return selected slices of this array along given axis. conj
()Complexconjugate all elements. conjugate
()Return the complex conjugate, elementwise. convolved_array_from
(array)Convolve an array with this Kernel2D convolved_array_with_mask_from
(array, mask)Convolve an array with this Kernel2D copy
([order])Return a copy of the array. cumprod
([axis, dtype, out])Return the cumulative product of the elements along the given axis. cumsum
([axis, dtype, out])Return the cumulative sum of the elements along the given axis. diagonal
([offset, axis1, axis2])Return specified diagonals. dot
(b[, out])Dot product of two arrays. dump
(file)Dump a pickle of the array to the specified file. dumps
()Returns the pickle of the array as a string. extent_of_zoomed_array
(buffer)For an extracted zoomed array computed from the method zoomed_around_mask compute its extent in scaled coordinates. fill
(value)Fill the array with a scalar value. flatten
([order])Return a copy of the array collapsed into one dimension. from_as_gaussian_via_alma_fits_header_parameters
(…)from_fits
(file_path, hdu, pixel_scales[, …])Loads the Kernel2D from a .fits file. from_gaussian
(shape_native, pixel_scales, sigma)Setup the Kernel2D as a 2D symmetric elliptical Gaussian profile, according to the equation: full
(fill_value, shape_native, pixel_scales, …)Create a Kernel2D (see Kernel2D.__new__) where all values are filled with an input fill value, analogous to the method numpy ndarray.full. getfield
(dtype[, offset])Returns a field of the given array as a certain type. item
(*args)Copy an element of an array to a standard Python scalar and return it. itemset
(*args)Insert scalar into an array (scalar is cast to array’s dtype, if possible) load
(file_path, filename)manual
(array, pixel_scales[, shape_native, …])Create a Kernel2D (see Kernel2D.__new__) by inputting the kernel values in 1D or 2D, automatically determining whether to use the ‘manual_slim’ or ‘manual_native’ methods. manual_mask
(array, mask[, header])Create an Array2D (see AbstractArray2D.__new__) by inputting the array values in 1D or 2D with its mask, for example: manual_native
(array, pixel_scales[, origin, …])Create an Kernel2D (see Kernel2D.__new__) by inputting the kernel values in 2D, for example: manual_slim
(array, shape_native, pixel_scales)Create a Kernel2D (see Kernel2D.__new__) by inputting the kernel values in 1D, for example: manual_yx_and_values
(y, x, values, …[, header])Create an Array2D (see AbstractArray2D.__new__) by inputting the y and x pixel values where the array is filled and the values to fill the array, for example: max
([axis, out, keepdims, initial, where])Return the maximum along a given axis. mean
([axis, dtype, out, keepdims])Returns the average of the array elements along given axis. min
([axis, out, keepdims, initial, where])Return the minimum along a given axis. newbyteorder
([new_order])Return the array with the same data viewed with a different byte order. no_blur
(pixel_scales)Setup the Kernel2D as a kernel which does not convolve any signal, which is simply an array of shape (1, 1) with value 1. nonzero
()Return the indices of the elements that are nonzero. ones
(shape_native, pixel_scales[, origin, …])Create an Kernel2D (see Kernel2D.__new__) where all values are filled with ones, analogous to the method numpy ndarray.ones. output_to_fits
(file_path, overwrite)Output the array to a .fits file. padded_before_convolution_from
(kernel_shape, …)When the edge pixels of a mask are unmasked and a convolution is to occur, the signal of edge pixels will be ‘missing’ if the grid is used to evaluate the signal via an analytic function. partition
(kth[, axis, kind, order])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
([axis, dtype, out, keepdims, initial, …])Return the product of the array elements over the given axis ptp
([axis, out, keepdims])Peak to peak (maximum  minimum) value along a given axis. put
(indices, values[, mode])Set a.flat[n] = values[n]
for all n in indices.ravel
([order])Return a flattened array. repeat
(repeats[, axis])Repeat elements of an array. rescaled_with_odd_dimensions_from
(rescale_factor)If the PSF kernel has one or two evensized dimensions, return a PSF object where the kernel has oddsized dimensions (oddsized dimensions are required by a Convolver). reshape
(shape[, order])Returns an array containing the same data with a new shape. resize
(new_shape[, refcheck])Change shape and size of array inplace. resized_from
(new_shape, int], mask_pad_value)Resize the array around its centre to a new input shape. round
([decimals, out])Return a with each element rounded to the given number of decimals. save
(file_path, filename)Save the tracer by serializing it with pickle. searchsorted
(v[, side, sorter])Find indices where elements of v should be inserted in a to maintain order. setfield
(val, dtype[, offset])Put a value into a specified place in a field defined by a datatype. setflags
([write, align, uic])Set array flags WRITEABLE, ALIGNED, (WRITEBACKIFCOPY and UPDATEIFCOPY), respectively. sort
([axis, kind, order])Sort an array inplace. squeeze
([axis])Remove singledimensional entries from the shape of a. std
([axis, dtype, out, ddof, keepdims])Returns the standard deviation of the array elements along given axis. structure_2d_from
(result)structure_2d_list_from
(result_list)sum
([axis, dtype, out, keepdims, initial, where])Return the sum of the array elements over the given axis. swapaxes
(axis1, axis2)Return a view of the array with axis1 and axis2 interchanged. take
(indices[, axis, out, mode])Return an array formed from the elements of a at the given indices. tobytes
([order])Construct Python bytes containing the raw data bytes in the array. tofile
(fid[, sep, format])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
([order])A compatibility alias for tobytes, with exactly the same behavior. trace
([offset, axis1, axis2, dtype, out])Return the sum along diagonals of the array. transpose
(*axes)Returns a view of the array with axes transposed. trimmed_after_convolution_from
(kernel_shape, …)When the edge pixels of a mask are unmasked and a convolution is to occur, the signal of edge pixels will be ‘missing’ if the grid is used to evaluate the signal via an analytic function. var
([axis, dtype, out, ddof, keepdims])Returns the variance of the array elements, along given axis. view
([dtype][, type])New view of array with the same data. zeros
(shape_native, pixel_scales[, origin, …])Create an Kernel2D (see Kernel2D.__new__) where all values are filled with zeros, analogous to the method numpy ndarray.ones. zoomed_around_mask
(buffer)Extract the 2D region of an array corresponding to the rectangle encompassing all unmasked values. Attributes
T
The transposed array. base
Base object if memory is from some other object. binned
Convenience method to access the binnedup array in its 1D representation, which is a Grid2D stored as an ndarray of shape [total_unmasked_pixels, 2]. binned_across_columns
binned_across_rows
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. dtype
Datatype of the array’s elements. extent
flags
Information about the memory layout of the array. flat
A 1D iterator over the array. header
imag
The imaginary part of the array. in_counts
in_counts_per_second
itemsize
Length of one array element in bytes. native
Return a Array2D where the data is stored in its native representation, which is an ndarray of shape [sub_size*total_y_pixels, sub_size*total_x_pixels]. nbytes
Total bytes consumed by the elements of the array. ndim
Number of array dimensions. normalized
Normalize the Kernel2D such that its data_vector values sum to unity. origin
original_orientation
pixel_scale
pixel_scales
readout_offsets
real
The real part of the array. shape
Tuple of array dimensions. shape_native
shape_slim
size
Number of elements in the array. slim
Return an Array2D where the data is stored its slim representation, which is an ndarray of shape [total_unmasked_pixels * sub_size**2]. strides
Tuple of bytes to step in each dimension when traversing an array. sub_shape_native
sub_shape_slim
sub_size
total_pixels
unmasked_grid

classmethod
manual_slim
(array, shape_native, pixel_scales, origin=(0.0, 0.0), normalize=False)¶ Create a Kernel2D (see Kernel2D.__new__) by inputting the kernel values in 1D, for example:
kernel=np.array([1.0, 2.0, 3.0, 4.0])
kernel=[1.0, 2.0, 3.0, 4.0]
From 1D input the method cannot determine the 2D shape of the array and its mask, thus the shape_native must be input into this method. The mask is setup as a unmasked Mask2D of shape_native.
Parameters:  or list (array) – The values of the array input as an ndarray of shape [total_unmasked_pixels*(sub_size**2)] or a list of lists.
 shape_native – The 2D shape of the mask the array is paired with.
 pixel_scales – 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, float) structure.  sub_size – The size (sub_size x sub_size) of each unmasked pixels subarray.
 origin – The (y,x) scaled units origin of the mask’s coordinate system.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.

classmethod
manual_native
(array, pixel_scales, origin=(0.0, 0.0), normalize=False)¶ Create an Kernel2D (see Kernel2D.__new__) by inputting the kernel values in 2D, for example:
kernel=np.ndarray([[1.0, 2.0], [3.0, 4.0]])
 kernel=[[1.0, 2.0],
 [3.0, 4.0]]
The 2D shape of the array and its mask are determined from the input array and the mask is setup as an unmasked Mask2D of shape_native.
Parameters:  or list (array) –
 The values of the array input as an ndarray of shape [total_y_pixels*sub_size, total_x_pixel*sub_size] or a
 list of lists.
 pixel_scales – 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, float) structure.  sub_size – The size (sub_size x sub_size) of each unmasked pixels subarray.
 origin – The (y,x) scaled units origin of the mask’s coordinate system.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.

classmethod
manual
(array, pixel_scales, shape_native=None, origin=(0.0, 0.0), normalize=False)¶ Create a Kernel2D (see Kernel2D.__new__) by inputting the kernel values in 1D or 2D, automatically determining whether to use the ‘manual_slim’ or ‘manual_native’ methods.
See the manual_slim and manual_native methods for examples. :param array or list: The values of the array input as an ndarray of shape [total_unmasked_pixels*(sub_size**2)] or a list of
lists.Parameters:  shape_native – The 2D shape of the mask the array is paired with.
 pixel_scales – 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, float) structure.  sub_size – The size (sub_size x sub_size) of each unmasked pixels subarray.
 origin – The (y,x) scaled units origin of the mask’s coordinate system.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.

classmethod
full
(fill_value, shape_native, pixel_scales, sub_size: int = 1, origin=(0.0, 0.0), normalize=False)¶ Create a Kernel2D (see Kernel2D.__new__) where all values are filled with an input fill value, analogous to the method numpy ndarray.full.
From 1D input the method cannot determine the 2D shape of the array and its mask, thus the shape_native must be input into this method. The mask is setup as a unmasked Mask2D of shape_native.
Parameters:  fill_value – The value all array elements are filled with.
 shape_native – The 2D shape of the mask the array is paired with.
 pixel_scales – 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, float) structure.  sub_size – The size (sub_size x sub_size) of each unmasked pixels subarray.
 origin – The (y,x) scaled units origin of the mask’s coordinate system.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.

classmethod
ones
(shape_native, pixel_scales, origin=(0.0, 0.0), normalize=False)¶ Create an Kernel2D (see Kernel2D.__new__) where all values are filled with ones, analogous to the method numpy ndarray.ones.
From 1D input the method cannot determine the 2D shape of the array and its mask, thus the shape_native must be input into this method. The mask is setup as a unmasked Mask2D of shape_native.
Parameters:  shape_native – The 2D shape of the mask the array is paired with.
 pixel_scales – 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, float) structure.  sub_size – The size (sub_size x sub_size) of each unmasked pixels subarray.
 origin – The (y,x) scaled units origin of the mask’s coordinate system.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.

classmethod
zeros
(shape_native, pixel_scales, origin=(0.0, 0.0), normalize=False)¶ Create an Kernel2D (see Kernel2D.__new__) where all values are filled with zeros, analogous to the method numpy ndarray.ones.
From 1D input the method cannot determine the 2D shape of the array and its mask, thus the shape_native must be input into this method. The mask is setup as a unmasked Mask2D of shape_native.
Parameters:  shape_native – The 2D shape of the mask the array is paired with.
 pixel_scales – 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, float) structure.  sub_size – The size (sub_size x sub_size) of each unmasked pixels subarray.
 origin – The (y,x) scaled units origin of the mask’s coordinate system.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.

classmethod
no_blur
(pixel_scales)¶ Setup the Kernel2D as a kernel which does not convolve any signal, which is simply an array of shape (1, 1) with value 1.
Parameters: pixel_scales – 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, float) structure.

classmethod
from_gaussian
(shape_native, pixel_scales, sigma, centre=(0.0, 0.0), axis_ratio=1.0, angle=0.0, normalize=False)¶ Setup the Kernel2D as a 2D symmetric elliptical Gaussian profile, according to the equation:
(1.0 / (sigma * sqrt(2.0*pi))) * exp(0.5 * (r/sigma)**2)
Parameters:  shape_native – The 2D shape of the mask the array is paired with.
 pixel_scales – 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, float) structure.  sigma – The value of sigma in the equation, describing the size and fullwidth half maximum of the Gaussian.
 centre – The (y,x) central coordinates of the Gaussian.
 axis_ratio – The axisratio of the elliptical Gaussian.
 angle – The rotational angle of the Gaussian’s ellipse defined counter clockwise from the positive xaxis.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.

classmethod
from_fits
(file_path, hdu, pixel_scales, origin=(0.0, 0.0), normalize=False)¶ Loads the Kernel2D from a .fits file.
Parameters:  file_path (str) – The path the file is loaded from, including the filename and the
.fits
extension, e.g. ‘/path/to/filename.fits’  hdu – The HeaderData Unit of the .fits file the array data is loaded from.
 pixel_scales – 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, float) structure.  origin – The (y,x) scaled units origin of the mask’s coordinate system.
 normalize (bool) – If True, the Kernel2D’s array values are normalized such that they sum to 1.0.
 file_path (str) – The path the file is loaded from, including the filename and the

rescaled_with_odd_dimensions_from
(rescale_factor, normalize=False)¶ If the PSF kernel has one or two evensized dimensions, return a PSF object where the kernel has oddsized dimensions (oddsized dimensions are required by a Convolver).
The PSF can be scaled to larger / smaller sizes than the input size, if the rescale factor uses values that deviate furher from 1.0.
Kernels are rescald using the scikitimage routine rescale, which performs rescaling via an interpolation routine. This may lead to loss of accuracy in the PSF kernel and it is advised that users, where possible, create their PSF on an oddsized array using their data reduction pipelines that remove this approximation.
Parameters:  rescale_factor – The factor by which the kernel is rescaled. If this has a value of 1.0, the kernel is rescaled to the closest oddsized dimensions (e.g. 20 > 19). Higher / lower values scale to higher / lower dimensions.
 normalize (bool) – Whether the PSF should be normalized after being rescaled.

normalized
¶ Normalize the Kernel2D such that its data_vector values sum to unity.

convolved_array_from
(array)¶ Convolve an array with this Kernel2D
Parameters: image – An array representing the image the Kernel2D is convolved with. Returns: An array representing the image after convolution. Return type: convolved_image Raises: KernelException if either Kernel2D psf dimension is odd

convolved_array_with_mask_from
(array, mask)¶ Convolve an array with this Kernel2D
Parameters: image – An array representing the image the Kernel2D is convolved with. Returns: An array representing the image after convolution. Return type: convolved_image Raises: KernelException if either Kernel2D psf dimension is odd
