orix icon indicating copy to clipboard operation
orix copied to clipboard

Learning from related resources

Open dnjohnstone opened this issue 4 years ago • 6 comments

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

dnjohnstone avatar Jun 18 '20 09:06 dnjohnstone

Good idea, will add more as I remember them

  • pymicro: https://github.com/heprom/pymicro/

hakonanes avatar Jun 18 '20 09:06 hakonanes

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

pc494 avatar Jul 21 '20 19:07 pc494

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"

hakonanes avatar Jul 21 '20 19:07 hakonanes

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.

dnjohnstone avatar Jul 22 '20 07:07 dnjohnstone

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.)

hakonanes avatar Jul 22 '20 08:07 hakonanes

We now have a list of related projects in the docs. Any packages discussed here should be considered added to that list.

hakonanes avatar Jan 05 '22 08:01 hakonanes

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.

hakonanes avatar Feb 02 '23 10:02 hakonanes