Apodization
[ ]:
from optiland.samples.objectives import CookeTriplet
from optiland.apodization import (
UniformApodization,
GaussianApodization,
BaseApodization,
)
import matplotlib.pyplot as plt
[2]:
lens = CookeTriplet()
lens.draw()
[3]:
apodization = GaussianApodization(sigma=0.5)
lens.set_apodization(apodization)
[4]:
rays = lens.trace(Hx=0, Hy=0, wavelength=0.55, num_rays=256, distribution="uniform")
x = lens.surfaces.x[4, :]
y = lens.surfaces.y[4, :]
i = rays.i
plt.scatter(x, y, c=i)
plt.xlabel("X (mm)")
plt.ylabel("Y (mm)")
plt.title("Intensity Distribution at Aperture Stop")
plt.axis("square")
plt.colorbar()
plt.show()