Apodization

[ ]:
from optiland.samples.objectives import CookeTriplet
from optiland.apodization import (
    UniformApodization,
    GaussianApodization,
    BaseApodization,
)
import matplotlib.pyplot as plt
[2]:
lens = CookeTriplet()
lens.draw()
../../_images/gallery_miscellaneous_apodization_2_0.png
[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()
../../_images/gallery_miscellaneous_apodization_4_0.png