Accurate and easy to use light diffraction simulator, implemented with the angular spectrum method in Python. You can use it for simulating the diffraction pattern of an arbitrary aperture, both with monochromatic and polychromatic light.
pip install diffractsim
Alternatively, to download the examples and the apertures as well, you can also build from source by cloning the repository and running from the main folder project on the command prompt:
python setup.py install
To perform the simulations, just run from the examples subdirectory the corresponding Python scripts on the command prompt. To compute your own diffraction pattern, you'll need to specify in the script the aperture as an image and input its size.
For a more detailed discussion about simulating diffraction patterns using lenses, take a look at these examples.
Cupy and CUDA aren't required to install and use this package, but they can offer a significant speed boost.
The first GPU accelerated run can be slow because Python is caching the required functions. The next time it can be about 10x and 100x faster than a CPU backend depending on your GPU. The speed boost raises as the grid gets larger.