tiagoecmagalhaes / PyWolf

PyWolf is a software to perform simulations of partially coherent light propagation using parallel computing devices through PyOpenCL
GNU Lesser General Public License v3.0
3 stars 1 forks source link
coherent-diffraction-imaging pyopencl

PyWolf

PyWolf is a software that simulates the propagation of partially coherent light using parallel computing devices through PyOpenCL to decrease the computation time.

Please see the following articless for more technical details:

If you find this software useful for your research, please cite:

Tiago E.C. Magalhães, José M. Rebordão, "PyWolf: A PyOpenCL implementation for simulating the propagation of partially coherent light", Computer Physics Communications, Volume 276, 2022, 108336. DOI

Tiago E.C. Magalhães, Daniela O. Santos, "A new version of PyWolf for the propagation of partially coherent light in media other than free space", Computer Physics Communications, Volume 294, 2024. DOI

Support

PyWolf is build in Python 3.7.6 (x64). It was mostly implemented in Windows 10 (x64). It was tested in the following operating systems:

Installation

To use PyWolf, the user needs to install the following packages:

Using the package manager pip to install packages:

pip install numpy
pip install scipy
pip install matplotlib
pip install PyQt5
pip install psutil

Additionally, to load images, one needs to install Python's OpenCV. Using the package manager pip:

pip install opencv-python

Install the PyOpenCL Python's package (cl12).

Optionally, one can also install OpenCL SDK to have more OpenCL platforms available. For example:

Usage

To start PyWolf, execute main.py and a PyQT5 window will appear (see figure below).

main

Troubleshooting

License

License: GPL v3