brandondube / Prysm
Labels
Projects that are alternatives of or similar to Prysm
Prysm
A python3.6+ module for physical optics based modeling and processing of data from commerical and open source instrumentation. Prysm is the fastest numerical diffraction code in the world, more than a factor of 3 faster than its nearest competitor on CPU and more than a factor of 1000 on GPU. It enables modeling and scientific inquiry not possible with other tools while offering a simple and powerful API that reads like English.
Installation
prysm is on pypi:
pip install prysm
prysm requires only numpy, scipy, and astropy.
Optional Dependencies
Prysm uses numpy for array operations. To use an nVidia GPU, you must have cupy installed. Plotting uses matplotlib. Images are read and written with imageio. Some MTF utilities utilize pandas and seaborn. Reading of Zygo datx files requires h5py.
Features
Prysm features robust tools for modeling and propagation of wavefronts to image planes and MTF. It also features object synthesis routines and a flexible convolution system in support of image simulation. Finally, it contains rich features for analysis of interferometric data.
For a complete list of features, see the docs.
Examples
Several examples are provided in the documentation.
User's Guide
A guide for using the library is provided in the documentation.
Contributing
If you find an issue with prysm, please open an issue or pull request. Prysm has some usage of f-strings, so any code contributed is only expected to work on python 3.6+, and is licensed under the MIT license. The library is most in need of contributions in the form of tests and documentation.