Aperture¶
-
template<IsSpectral TSpectral>
class Aperture¶ Abstract base class for optical apertures.
Defines the interface for all aperture types, including area management and PSF creation.
- Template Parameters:
TSpectral – The spectral representation type.
Subclassed by huira::CircularAperture< TSpectral >
Public Functions
-
virtual ~Aperture() = default¶
-
virtual units::SquareMeter get_area() const = 0¶
-
virtual void set_area(units::SquareMeter area) = 0¶
-
virtual std::unique_ptr<PSF<TSpectral>> make_psf(units::Meter focal_length, units::Meter pitch_x, units::Meter pitch_y, int radius, int banks) = 0¶
-
void build_defocus_kernel(units::Diopter defocus, units::Meter focal_length, units::Meter pitch_x, units::Meter pitch_y, int banks)¶
-
inline float get_defocus_radius() const¶
-
inline int get_defocus_half_extent() const¶
-
inline bool has_defocus() const¶
-
virtual units::Meter get_bounding_radius() const = 0¶
Protected Functions
Protected Attributes
-
struct huira::Aperture::PolyphaseCache defocus_cache_¶
-
struct PolyphaseCache¶