Python Robust Speckle Tracking (pyrost) is a library for wavefront metrology and sample imaging based on ptychographic speckle tracking algorithm. This project takes over Andrew Morgan's speckle_tracking project as an improved version aiming to add robustness to the optimisation algorithm in the case of the high noise present in the measured data.
The documentation can be found on Read the Docs.
Read the open access scientific article about the technical details of the developed technique published in Optica Express.
- Python 3.6 or later (Python 2.x is not supported).
- GNU Scientific Library 2.4 or later.
- LLVM's OpenMP library 10.0.0 or later.
- FFTW 3.3.8 or later.
- h5py 2.10.0 or later.
- NumPy 1.19.0 or later.
- SciPy 1.5.2 or later.
- tqdm 4.56.0 or later.
We recommend not building from source, but install the release via the conda manager:
conda install -c conda-forge pyrost
The package is available in conda-forge on OS X and Linux.
Also you can install the release from pypi with the pip package installer:
pip install pyrost
The source distribution is available in pypi as for now.
In order to build the package from source simply execute the following command:
python setup.py install
or:
pip install -r requirements.txt -e . -v
That cythonizes the Cython extensions and builds them into /pyrost/bin
.