Checkers is a rudimentary python module for working with HEXRD data, specificially at the Cornell High Energy Synchrotron Source (CHESS).
The module includes, amongst other tools, a Virtual Diffractometer for both near and far field data. The Tutorials are intended to help walk new users though the information necessary to understand and process their synchrotron data as well, while Scripts includes some experimental example workflows.
Due to it's dependencies, checkers is released under the GPL v3 license. It is also VERY much in Alpha, so users beware, as functionality might break with little notice.
"If CHESS seems hard, try learning CHECKERS first"
Checker's purpose is three-fold:
- Provide a well-documented open source Virtual Diffraction tool.
- Use as a testbed for prototyping new 3DXRD analysis tools.
- Sharing data processing pipelines between HEXRD users.
Notably, Checkers is NOT meant as a replacement for HEXRD, Midas, or other mature 3DXRD analysis suites. Consider this more of a "beginners version", for new users not already intimately familiar with diffaction techniques, terminology, and algorithms.
checkers can be installed from the github source using git
and pip
as follows:
git clone https://github.com/argerlt/checkers.git cd checkers pip install --editable .
TODO: add contribution guidelines
TODO: add contribution guidelines
It has been my experience that existing codebases (of which I am most familiar with HEXRD) are difficult both to learn from or contribute to for new users, due to a lack of well documented open source code. This is understandable, as many of these codes were rapidly developed alongside the techniques themselves by large teams of contributers, all racing to stay on the cutting edge.
However, as techniques become more standardized, it makes sense to take a more organized approach to building a stable (if somewhat basic) codebase for 3DXRD analysis. A lot of inpsiration for how to implement this is taken from ORIX, including the implementation of unittests, coverall, python black, sphinx, github workflows, and readthedocs. Big thanks to the pyxem team.