Point Spread Function¶
-
template<IsSpectral TSpectral>
class PSF¶ Abstract base class for point spread functions (PSF).
Defines the interface and cache management for all PSF types, supporting polyphase kernel generation.
- Template Parameters:
TSpectral – The spectral representation type.
Subclassed by huira::AiryDisk< TSpectral >
Public Functions
-
PSF() = default¶
-
virtual ~PSF() = default¶
-
void build_polyphase_cache(int radius, int banks)¶
Builds the polyphase kernel cache for the PSF.
Allocates and fills the cache with polyphase kernels for efficient PSF evaluation.
- Parameters:
radius – The kernel radius in pixels.
banks – The number of polyphase banks.
-
const Image<TSpectral> &get_kernel(float u, float v) const¶
Retrieves the polyphase kernel for the given normalized coordinates.
Returns the cached kernel corresponding to the specified subpixel position.
- Parameters:
u – Normalized horizontal coordinate in [0, 1].
v – Normalized vertical coordinate in [0, 1].
- Returns:
Reference to the corresponding kernel image.
-
inline int get_radius() const¶
-
inline int get_banks() const¶
Protected Attributes
-
struct huira::PSF::PolyphaseCache cache_¶
-
struct PolyphaseCache¶