Skip to content

orix 0.12.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Apr 17:16
· 151 commits to main since this release
df6b507

orix 0.12.0 is a minor release of orix, an open-source Python library for handling orientations, rotations and crystal symmetry.

See below, the changelog or the GitHub changelog for all updates from the previous release.

Added

  • Vector3d.from_path_ends() class method to get vectors between two vectors.
  • Convenience function plot.format_labels() to get nicely formatted vector labels to use when plotting vectors.
  • Two offsets in the stereographic coordinates (X, Y) can be given to StereographicPlot.text() to offset text coordinates.
  • Explicit support for Python 3.11.
  • Creating quaternions from neo-eulerian vectors via new class methods from_rodrigues() and from_homochoric(), replacing the now deprecated from_neo_euler(). from_rodrigues() accepts an angle parameter to allow passing Rodrigues-Frank vectors.
  • Creating neo-eulerian vectors from quaternions via new methods to_axes_angles(), to_rodrigues() and to_homochoric(). Rodrigues-Frank vectors can be returned from to_rodrigues() by passing frank=True.
  • inv() method for Quaternion, Rotation, Orientation, and Misorientation. For the three first, its behavior is identical to the inversion operator ~. For misorientations, it inverts the direction of the transformation. Convenient for chaining operations.
  • The random() methods of Orientation and Misorientation now accept symmetry. A random() method is also added to Vector3d and Miller, the latter accepting a phase.
  • Function orix.sampling.get_sample_reduced_fundamental() for sampling rotations that rotate the Z-vector (0, 0, 1) onto the fundamental sector of the Laue group of a given Symmetry.

Changed

  • The convention parameter in from_euler() and to_euler() will be removed in the next minor release, 0.13, instead of release 1.0 as previously stated.
  • Allow passing a tuple of integers to reshape() methods of 3D objects.
  • random() methods no longer accept a list as a valid shape: pass a tuple instead.
  • Increase minimal version of Matplotlib to >= 3.5.

Removed

  • Support for Python 3.7.

Deprecated

  • Creating quaternions from neo-eulerian vectors via from_neo_euler() is deprecated and will be removed in v0.13. Use the existing from_axes_angles() and the new from_rodrigues() and from_homochoric() instead.

Fixed

  • Transparency of polar stereographic grid lines can now be controlled by Matplotlib's grid.alpha, just like the azimuth grid lines.
  • Previously, Phase did not adjust atom positions when forcing Phase.structure.lattice.base to use the crystal axes alignment e1 || a, e3 || c*. This is now fixed.