Primary organizers: Ross Harder, Barbara Frosik, and Wonsuk Cha
Cohere (https://cohere.readthedocs.io/en/latest/) is a software package for coherent diffraction imaging (CDI) phase retrieval. It has been developed in the context of Bragg geometry CDI (BCDI) data where a volume of reciprocal space (3D data) is measured, leading to three-dimensional images of crystalline samples. Though, one and two-dimensional data can also be treated. The Cohere workflow is developed in three python packages. The workflow is built on cohere-core, which defines the computational algorithms for phase retrieval. Cohere-ui defines the user interface for executing the workflow. Finally, cohere-beamlines implements the beamline specific components, including diffractometer and instrument geometries, data/metadata storage formats and readers, as well as unique components in the user interface for a given beamline.
This workshop will include an introduction to BCDI, including the basic principles of the technique and how the experiments are conducted at the Advanced Photon Source. Following the technique introduction, the Cohere software package will be discussed, this will include a brief introduction to the cohere-core and cohere-beamlines package structure, followed by hands-on work using the cohere-ui. The GUI, command line interface and Jupyter notebooks will be used for exercises with data from the APS. Participants are encouraged to bring their own data as well. Currently Cohere has full workflow support for experiments done at ESRF ID01, PetraIII P10, and APS 34-ID-C and 1-ID-E. There is currently development level support for PAL-XFEL, EuXFEL MID and APS 8-ID and 20-ID. Without full support in the cohere-beamlines module, one can still using the generic pre-processing and phase retrieval capabilities of the Cohere framework on data that has been prepared outside of the framework for processing.
The workshop will finish with a deeper dive into the structure of cohere-core and cohere-beamlines to encourage wide-spread adoption of Cohere and development of new capabilities within the Cohere framework.