Focused optical fields are key to a multitude of applications involving light-matter interactions, such as optical microscopy, single-molecule spectroscopy, optical tweezers, lithography, or quantum coherent control. A detailed vectorial characterization of the focused optical fields that includes a description beyond the paraxial approximation is key to optimize technological performance as well as for the design of meaningful experiments and interpret properly their results.
For his graduation work in Physics, Fernando Caprile developed PyFocus, an open-source Python software package to perform fully vectorial calculations of focused electromagnetic fields after modulation by an arbitrary phase mask and in the presence of a multilayer system.
PyFocus can be used directly through a graphical user interface or through high-level Python functions, which may easily integrated into other programs. Further, for non Python users we provide a Windows executable version of PyFocus.
As a first application of PyFocus, we performed an extensive characterize of toroidal foci generated with a high numerical aperture objective, as it is commonly done in super-resolution fluorescence microscopy methods such as STED or MINFLUX. We provide examples of the effects of different experimental factors such as polarization, aberrations, and misalignments of key optical elements. Finally, we present calculations of toroidal foci through an interface of different mediums, and, to our knowledge, the first calculations of toroidal foci generated in total internal reflection conditions.
The code in available in our github https://github.com/Stefani-Lab
Further reading:
- Fernando Caprile, Luciano A. Masullo, Fernando D. Stefani
“PyFocus – a Python package for vectorial calculations of focused optical fields under realistic conditions. Application to toroidal foci”