PyPO: a Python package for Physical Optics
The Journal of Open Source Software, vol. 8, pp. 5478
Abstract
PyPO is a Python interface for end-to-end design, simulation, and analysis of (quasi-)optical reflector systems.It can model the forward and backward propagation of electromagnetic field distributions between multiple planar and (off-axis) quadric surfaces, as well as far-field propagation.Simulations are performed using either geometrical optics (GO) or the equivalent surface current approach, belonging to the field of physical optics (PO) (Balanis, 1989).The GO and PO calculations are performed using libraries written in C++ and CUDA, allowing for multi-threading and GPU acceleration.Common figures of merit, such as aperture efficiency and half-power beamwidth, can be calculated and used for quantitative analysis of the designed system.Input beam patterns can be selected from a range of models, such as Gaussian beams, point sources, and uniform current distributions.Custom beam patterns can also be imported to, for example, model the propagation of measured beam patterns through simulated optical systems.PyPO can be used through either a scripting-based approach, where simulations are defined in Python scripts, or through the graphical user interface (GUI).It only carries core dependencies on NumPy (Harris et al., 2020), Matplotlib (Hunter, 2007), and SciPy (Virtanen et al., 2020).The unittesting framework carries a dependency on nose2.The GUI carries dependencies on PySide6, pyqtdarktheme, and attrs.
Authors 4
-
Delft University of Technology
Affiliation as printed
Faculty of Electrical Engineering, Mathematics and Computer Science , Delft University of Technology , Mekelweg 4 , 2628 CD , Delft , The Netherlands
Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, Mekelweg 4, 2628 CD, Delft, The Netherlands
-
The Hague University of Applied Sciences
Affiliation as printed
The Hague University of Applied Sciences , Johanna Westerdijkplein 75 , 2521 EN , The Hague , The Netherlands
The Hague University of Applied Sciences, Johanna Westerdijkplein 75, 2521 EN, The Hague, The Netherlands
-
Space Research Organisation Netherlands · Delft University of Technology
Affiliation as printed
Faculty of Electrical Engineering, Mathematics and Computer Science , Delft University of Technology , Mekelweg 4 , 2628 CD , Delft , The Netherlands
SRON-Netherlands Institute for Space Research , Niels Bohrweg 4 , 2333 CA , Leiden , The Netherlands
Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, Mekelweg 4, 2628 CD, Delft, The Netherlands
SRON-Netherlands Institute for Space Research, Niels Bohrweg 4, 2333 CA, Leiden, The Netherlands
-
Delft University of Technology
Affiliation as printed
Faculty of Electrical Engineering, Mathematics and Computer Science , Delft University of Technology , Mekelweg 4 , 2628 CD , Delft , The Netherlands
Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, Mekelweg 4, 2628 CD, Delft, The Netherlands
Cited by 3 stored of 3
3 results
No patents citing this paper on Lens.org (checked 2026-10-11).
References 10
-
W6631341494details pending0citations
10 results