Skip to main content

Tools to apply light propagation algorithms

Project description


PyOptica is a package for simulation of wave optics in Python. It is developed to deal with optics simulations in a pythonic way; it is one of the most important presupposition of the whole project to follow the Zen of Python and create a structure that is known to users from the most popular scientific packages: NumPy or SciPy.


Please visit our blog on:

The Goal

The package is meant to provide functionality to propagate a wavefront through space, interact with optical elements (e.g. lenses or apertures), build optical systems, and to implement basic algorithms for holography. As I am writing these words not everything listed above has already been developed, however, we are doing are best to develop everything. Of course we would also like to invite YOU to the development of the package. Everybody is welcome – both experienced developers or optical engineers and students who have just embarked on their adventure with optics.

Not only are we developing a software package but also we are committed to work on a series of Notebooks that would solve problems described in the most popular books on Optics. There is also a room for potential expansion of what is developed: you use the package to verify that your solution of a given problem is correct? Make a notebook out of it!


Documentation can be found here.

About Us

Our names are Maciej Grochowicz and Michał Miler. I guess our names may sound unfamiliar to you – we are from Poland where we also studied Applied Physics at Warsaw University of Technology. Right now we are professional engineers. In case you would like to learn more about us, please visit our Linkedin profiles:


Although we would love to say that we relied solely on our knowledge and experience, we are obliged to list all of the books we used during the development:

  1. Joseph W. Goodman (2004) Introduction to Fourier Optics, W. H. Freeman",
  2. Kedar Khare (2016) Fourier Optics and Computational Imaging, Wiley&Sons Ltd.",
  3. David Voelz (2011) Computational Fourier Optics Matlab Tutorial, Spie Press"

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyoptica-0.6.2.tar.gz (29.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page