SizedPSF

In addition to the methods and attributes from PointSpreadFunction, SizedPSF implements the following

class giant.point_spread_functions.psf_meta.SizedPSF(size=None, **kwargs)[source]

Bases: PointSpreadFunction

This ABC adds common functionality for a PSF where the required size can be determine algorithmically.

Specifically, this adds an instance attribute size which stores the size of the PSF, a new abstract method determine_size() which should be implemented to algorithmically determine the size of the kernel required for the PSF, and concrete method generate_kernel(), which generates a square unit kernel based on the size.

Parameters:

size (int) – The size of the kernel to generate.

size: int

The size of the kernel to return on a call to generate_kernel().

Typically this should be an odd number to ensure that the kernel is square and centered.

Summary of Added/Modified Methods

determine_size

Sets the size required for the kernel algorithmically.

generate_kernel

Generates a square kernel centered at the centroid of the PSF normalized to have a volume (sum) of 1 for the size input or specified in the size attribute.