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]'>)
[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))
[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))