Optical Path Difference (OPD) Fan

[1]:
from optiland.samples.infrared import InfraredTriplet
from optiland.wavefront import OPDFan
[2]:
lens = InfraredTriplet()
[3]:
lens.draw()
[3]:
(<Figure size 1000x400 with 1 Axes>, <Axes: xlabel='Z [mm]', ylabel='Y [mm]'>)
../../_images/gallery_wavefront_opd_fan_3_1.png
[4]:
opd = OPDFan(lens, fields=[(0, 1)])
opd.view()
[4]:
(<Figure size 1000x300 with 2 Axes>,
 array([[<Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_y$', ylabel='Wavefront Error (waves)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_x$', ylabel='Wavefront Error (waves)'>]],
       dtype=object))
../../_images/gallery_wavefront_opd_fan_4_1.png
[5]:
opd = OPDFan(lens)  # default is all fields
opd.view()
[5]:
(<Figure size 1000x900 with 6 Axes>,
 array([[<Axes: title={'center': 'Hx: 0.000, Hy: 0.000'}, xlabel='$P_y$', ylabel='Wavefront Error (waves)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 0.000'}, xlabel='$P_x$', ylabel='Wavefront Error (waves)'>],
        [<Axes: title={'center': 'Hx: 0.000, Hy: 0.700'}, xlabel='$P_y$', ylabel='Wavefront Error (waves)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 0.700'}, xlabel='$P_x$', ylabel='Wavefront Error (waves)'>],
        [<Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_y$', ylabel='Wavefront Error (waves)'>,
         <Axes: title={'center': 'Hx: 0.000, Hy: 1.000'}, xlabel='$P_x$', ylabel='Wavefront Error (waves)'>]],
       dtype=object))
../../_images/gallery_wavefront_opd_fan_5_1.png