Pupil Aberration

[1]:
from optiland.analysis import PupilAberration
from optiland.samples.objectives import DoubleGauss
[2]:
lens = DoubleGauss()
[3]:
lens.draw()
[3]:
(<Figure size 1000x400 with 1 Axes>, <Axes: xlabel='Z [mm]', ylabel='Y [mm]'>)
../../_images/gallery_analysis_pupil_aberration_3_1.png
[4]:
pupil_aberration = PupilAberration(lens, fields=[(0, 1.0)])
pupil_aberration.view()
[4]:
(<Figure size 1000x333 with 2 Axes>,
 array([[<Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_y$', ylabel='Pupil Aberration (%)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_x$', ylabel='Pupil Aberration (%)'>]],
       dtype=object))
../../_images/gallery_analysis_pupil_aberration_4_1.png
[5]:
pupil_aberration = PupilAberration(lens)  # plots all fields by default
pupil_aberration.view()
[5]:
(<Figure size 1000x999 with 6 Axes>,
 array([[<Axes: title={'center': 'Hx: 0.000, Hy: 0.000'}, xlabel='$P_y$', ylabel='Pupil Aberration (%)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 0.000'}, xlabel='$P_x$', ylabel='Pupil Aberration (%)'>],
        [<Axes: title={'center': 'Hx: 0.000, Hy: 0.714'}, xlabel='$P_y$', ylabel='Pupil Aberration (%)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 0.714'}, xlabel='$P_x$', ylabel='Pupil Aberration (%)'>],
        [<Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_y$', ylabel='Pupil Aberration (%)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_x$', ylabel='Pupil Aberration (%)'>]],
       dtype=object))
../../_images/gallery_analysis_pupil_aberration_5_1.png