clatlan / cdiutils

A python package to help Coherent Diffraction Imaging (CDI) practitioners in their analysis.
MIT License
10 stars 6 forks source link

cdiutils

DOI

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:

For visual wrap-up, see the associated poster presented at XTOP24: xtop_poster

Installation

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

Getting started

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.

Processing BCDI data

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:

Slice plot

cdiutils.plot.slice.plot_3D_volume_slices function

Electron density

Contour

Phase

Cross section quiver

cdiutils.plot.quiver.quiver_plot

Diffraction pattern plots in the reciprocal space

cdiutils.plot.slice.plot_diffraction_patterns

Diffraction Patterns