My python package to help X-ray Bragg Coherent Diffraction Imaging (BCDI) practitioners in their analysis and visualisation workflows. I developed the package during my PhD.
The package is designed to handle the three primary stages of a BCDI data processing workflow:
It is assumed that the phase retrieval is conducted using the PyNX package. The BcdiPipeline
class runs all three stages and can manage connections to different machines, especially for GPU-based phase retrieval.
Some features of this package include:
cdiutils
backend) or the bcdi package (with the bcdi
backend).For visual wrap-up, see the associated poster presented at XTOP24:
You can install the package using the following command:
pip install git+https://github.com/clatlan/cdiutils.git
To update your environment with the latest commits:
pip install -I --no-deps git+https://github.com/clatlan/cdiutils.git
Upgrade your environment with a new version of the package:
pip install -U git+https://github.com/clatlan/cdiutils.git
Once the package is installed, you can try it right away using the notebook template directly accessible with the command:
prepare_bcdi_notebook.py [path_to_destination]
This will generate a notebook template at the given destination.
Once data are processed, the BcdiPipeline instance saves the data in .npz, .h5 .cxi and .vti files following the CXI file format convention (see [https://www.cxidb.org/cxi.html]()). It also plots summary and debug figures such as:
cdiutils.plot.slice.plot_3D_volume_slices function
cdiutils.plot.quiver.quiver_plot
cdiutils.plot.slice.plot_diffraction_patterns