Source code for apodization.uniform
"""Uniform Apodization Module
This module provides a class for uniform apodization, which applies a constant intensity
scaling factor of 1.0 to all rays.
Kramer Harrison, 2025
"""
from __future__ import annotations
import optiland.backend as be
from .base import BaseApodization
[docs]
class UniformApodization(BaseApodization):
"""Uniform apodization, resulting in intensities of 1.0 for all rays."""
[docs]
def get_intensity(self, Px, Py):
"""Applies uniform apodization.
Args:
Px (be.ndarray): Normalized x pupil coordinates.
Py (be.ndarray): Normalized y pupil coordinates.
Returns:
be.ndarray: Array of intensity scaling factors (all ones).
"""
return be.ones_like(Px)
[docs]
@classmethod
def from_dict(cls, data):
"""Creates an instance of UniformApodization from a dictionary.
Args:
data (dict): A dictionary representation of the apodization.
Returns:
UniformApodization: An instance of the UniformApodization class.
"""
return cls()