Paraxial to Thick Lens Conversion
Paraxial surfaces can be automatically converted into a thick lens equivalent.
[1]:
import optiland.backend as be
from optiland.optic import Optic
from optiland.surfaces import convert_to_thick_lens
[2]:
lens = Optic()
# add surfaces
lens.surfaces.add(index=0, thickness=be.inf)
lens.surfaces.add(index=1, surface_type='paraxial', thickness=25, f=100)
lens.surfaces.add(index=2, surface_type='paraxial', thickness=25, f=-50, is_stop=True)
lens.surfaces.add(index=3, surface_type='paraxial', thickness=100, f=63.5)
lens.surfaces.add(index=4)
# add aperture
lens.set_aperture(aperture_type='EPD', value=20)
# add field
lens.fields.set_type(field_type='angle')
lens.fields.add(y=0)
lens.fields.add(y=5)
# add wavelength
lens.wavelengths.add(value=0.55, is_primary=True)
_ = lens.draw(num_rays=5)
[3]:
lens_new = convert_to_thick_lens(lens)
_ = lens_new.draw(num_rays=5)