orix 0.12.0
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()
andfrom_homochoric()
, replacing the now deprecatedfrom_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()
andto_homochoric()
. Rodrigues-Frank vectors can be returned fromto_rodrigues()
by passingfrank=True
. inv()
method forQuaternion
,Rotation
,Orientation
, andMisorientation
. 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 ofOrientation
andMisorientation
now acceptsymmetry
. Arandom()
method is also added toVector3d
andMiller
, the latter accepting aphase
. - 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 givenSymmetry
.
Changed
- The
convention
parameter infrom_euler()
andto_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 existingfrom_axes_angles()
and the newfrom_rodrigues()
andfrom_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 forcingPhase.structure.lattice.base
to use the crystal axes alignmente1 || a
,e3 || c*
. This is now fixed.