amimre / fast_rsm

A fast reciprocal space mapper used at Diamond Light Source

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Total alerts Language grade: Python codecov Actions Status Documentation Status

A fast reciprocal space mapper.

This module depends on two other modules:

https://github.com/DiamondLightSource/diffraction_utils is used for the parsing of awkward data formats and for the generation of many of the scipy.spatial.transform.Rotation objects that are used in the calculations. The idea is that https://github.com/DiamondLightSource/diffraction_utils is a general purpose tool that can be used in many contexts besides purely reciprocal space mapping, although it originated as a spin-out of this project.

https://github.com/DiamondLightSource/mapper_c_utils contains the binning algorithm used by default, although several more are included in the fast_rsm.binning module. I found that the simple binning algorithm contained in custom-bin for 3D datasets is significantly faster than fast-histogram's histogramdd, which is faster than my custom numpy routine, which is faster than numpy's histogramdd. It contains some other useful routines, but I find it nice to keep the high performance C stuff in a separate repository. This fast_rsm repo should contain exclusively nice, easy to read and organised python code.

About

A fast reciprocal space mapper used at Diamond Light Source


Languages

Language:Python 72.6%Language:Jupyter Notebook 27.4%