orix
orix copied to clipboard
Learning from related resources
I thought it might be helpful to create a list of other resources that we might learn something from, consider using, or just find interesting in relation to orix. Partly because I'm clearing out stuff and had a list that is better here...
-
MTEX - https://mtex-toolbox.github.io/
-
numpy-quaternion - https://github.com/moble/quaternion
-
NIST texture - https://github.com/usnistgov/texture
Good idea, will add more as I remember them
- pymicro: https://github.com/heprom/pymicro/
These were mentioned in #71 so I'll add them here:
-
https://homepage.univie.ac.at/manuel.graef/quadrature.php
-
https://github.com/mtex-toolbox/mtex/tree/develop/geometry/%40SO3Grid
With regards to orientation sampling (and everything else), EMsoft has loads of well inline-documented stuff in Fortran. I routinly look up:
- https://github.com/EMsoft-org/EMsoft/blob/develop/Source/EMsoftLib/crystal.f90: "Everything that has to do with crystallographic computations and input/output"
- https://github.com/EMsoft-org/EMsoft/blob/develop/Source/EMsoftLib/diffraction.f90: "Anything related to dynamical diffraction"
- https://github.com/EMsoft-org/EMsoft/blob/develop/Source/EMsoftLib/quaternions.f90: "module with basic quaternion functions (some overloaded operators)"
- https://github.com/EMsoft-org/EMsoft/blob/develop/Source/EMsoftLib/rotations.f90: "verything that has to do with rotations and conversions between rotations"
- https://github.com/EMsoft-org/EMsoft/blob/develop/Source/EMsoftLib/so3.f90: "everything that has to do with sampling of rotation space SO(3)"
- https://github.com/EMsoft-org/EMsoft/blob/develop/Source/EMsoftLib/symmetry.f90: "all symmetry-related routines"
Yeah EMsoft is great. The only issue I have with it is that I couldn't find an easy way to install it (or indeed anything fortran) via conda, although I think it should be possible, and that basically stopped us wanting to depend on it because most of our users struggle enough installing our stuff as it is. Reproducing stuff does feel a bit wasteful but sometimes there's not much that can be done about it I think. Definitely something to learn from though.
I agree, we should not try to depend on EMsoft. But the code is intuitively written, with syntax similar (and often with equation references) to the Structure of Materials book. So we should take inspiration from that code base, developed over more than 20 years!
(I should say, for people not familiar with EMsoft, that on Windows, it is easy to use the pre-built binaries (http://www.bluequartz.net/binaries/EMsoft/experimental/). I run Ubuntu 20.04, and building EMsoft following their instructions works nicely. I solely use EMsoft/MTEX for EBSD analysis.)
We now have a list of related projects in the docs. Any packages discussed here should be considered added to that list.
I feel we have a good grasp of related packages. Since we also have the "Related projects" list in the docs, I think it is safe to close this issue.