Skip to content

hexrd

Summary

Source: https://github.com/HEXRD/hexrd

License: BSD-3

Path: /software/hexrd/<version>

Documentation: https://github.com/HEXRD/hexrd/tree/master/docs

Related: ImageD11

The HEXRD project is developing a cross-platform, open-source library for the general analysis of X-ray diffraction data. This includes powder diffraction, Laue diffraction, and High Energy Diffraction Microscopy (a.k.a. 3DXRD, multi-grain rotation method) modalities.At its core, HEXRD provides an abstraction of a generic diffraction instrument with support for multiple detectors. This includes optimized transforms from the direct and reciprocal crystal lattices to the local detector coordinates, harnesses for interpolating image data into scattering angle coordinates, and sophisticated calibration routines.

Using hexrd

Recent hexrd versions are installed as mamba environments, and include hexrdgui and ImageD11. The hexrd environment can be invoked from modules or using the mamba environment directly (or by adding hexrd entries to ~/.mamba/environments.txt):

# setup with modules
module load maxwell
module avail hexrd
   ------ /software/etc/modulefiles --------
   hexrd/0.8.10 hexrd/0.8.16

module load maxwell hexrd/0.8.16  # version number can be omitted if you always want the latest one
hexrdgui

# setup with mamba environments
module load maxwell mamba
. mamba-init
mamba activate /software/hexrd/0.8.16
hexrdgui

Using hexrd v0.3.3

The old hexrd is installed in system path, so does not require any initial setup, just invoke 'hexrd'. It's however deprecated and has severe limitations.

Installation

Installing hexrd is very simple. The recipe used:

module load maxwell mamba
. mamba-init
mamba create --prefix /software/hexrd/0.8.16 python=3.8
mamba activate /software/hexrd/0.8.16
mamba install -c hexrd -c conda-forge hexrd hexrdgui
python -m pip install ImageD11

Troubleshooting

hexrd won't behave well when using an ssh-session for example on a batch node, and will likely fail with a segfault. In that case use

export LIBGL_ALWAYS_INDIRECT=1
hexrdgui --ignore-setting