Abstract

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. Here, we present 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. We provide a graphical user interface and high-level functions to easily integrate PyFocus into custom scripts. Furthermore, to demonstrate the potential of PyFocus, we apply it to extensively characterize the generation of toroidal foci 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. Program summaryProgram Title: PyFocusCPC Library link to program files:https://doi.org/10.17632/sybnhnxbrt.1Developer's repository link:https://github.com/stefani-lab/, https://pypi.org/project/PyCustomFocus/, https://pyfocus.readthedocs.io/ (user manual)Licensing provisions: MITProgramming language: Python 3.6Nature of problem: Full vectorial calculation of focused of optical fields under realistic conditions, such as high numerical aperture, incident beams modulated in phase and/or intensity, and focusing through an interface or a multilayer system.Solution method: PyFocus incorporates all the equations necessary to calculate the focused optical field and provides suitable integration methods. Setting up of the parameters, running calculations, plotting and saving results can be done by means of a graphical user interface or high-level functions.Additional comments including restrictions and unusual features: In addition to the Python source code, an MS Windows executable is provided.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call