Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: pyxem/orix

orix 0.14.1

10 Dec 19:01
dc60143

Choose a tag to compare

orix 0.14.1 is a patch 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.

Fixed

  • Documentation build now passes again.

orix 0.14.0

09 Dec 19:45
34e4731

Choose a tag to compare

orix 0.14.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

  • A customizable Wulff net can be added to a stereographic plot using orix.plot.StereographicPlot.wulff_net.
  • Conversion of orix.quaternion.Orientation, orix.quaternion.Misorientation, orix.quaternion.Rotation, and orix.quaternion.Quaternion to scipy.spatial.transform.Rotation via orix.quaternion.Quaternion.to_scipy_rotation.
  • Allow controlling whether to keep zero-vectors in orix.vector.Vector3d.unique with a new ignore_zero parameter. Previous behavior, to discard them, is still default.
  • If a orix.crystal_map.Phase, orix.crystal_map.PhaseList, or a orix.crystal_map.CrystalMap is passed to their own constructors, a copy is returned.
  • Added orix.crystal_map.Phase.expand_asymmetric_unit to add all symmetrically equivalent atoms to the structure in a new phase.
  • Element-wise indexing into orix.vector.Vector3d and subclasses, such as orix.vector.Miller.
  • Explicit support for Python 3.13.
  • Dependency on lazy-loader.
  • Function orix.plot.register_projections to register all our custom projections for use in Matplotlib. An example of a custom projection is the orix.plot.StereographicPlot. This function replaces the previous behavior of relying on a side-effect of importing the orix.plot module, which also registered the projections.
  • Method from_path_ends() to return quaternions, rotations, orientations, or misorientations along the shortest path between two or more points.

Changed

  • The *.ang file reader accepts a boolean parameter autogen_names via orix.io.load that allows rewriting phase names in the returned crystal map based on elements and point groups, as opposed to automatically overwriting names.
  • Generation of random orix.vector.Vector3d and orix.quaternion.Quaternion (and its subclasses) via random() now uses a Gaussian method as opposed to rejection-based sampling. This is faster and uses less memory.
  • Functions and classes are now loaded lazily with lazy-loader.
  • matplotlib-scalebar is now an optional dependency.
  • Passing a projection to Orientation.scatter() with a position argument now allows subplots in the figure to have different projections (Matplotlib's own or our custom ones).

Deprecated

  • Method orix.quaternion.Misorientation.map_into_symmetry_reduced_zone for (mis)orientations have been deprecated in favor of orix.quaternion.Misorientation.reduce and will be removed in version 0.15.0.

Fixed

  • orix.plot.IPFColorKey labels for point groups -3 and 6/m are now correct.
  • Multicolor stereographic scatter plots now correctly cast RGB and RGBA color arrays
  • Coloring of vectors in orix.plot.StereographicPlot.scatter and the equivalent vector method now correctly maps colors from RGB(A) arrays.
  • Randomly sampled quaternions, rotations, and (mis)orientations have positive angle (a) components.
  • The symmetry operations of the orthorhombic point group mm2 (C2v) are now in line with the International Tables for Crystallography, with the 2-fold axis about z, not x, as before.

orix 0.13.3

05 Jan 13:40
6eae6c1

Choose a tag to compare

orix 0.13.3 is a patch 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.

Fixed

  • Handle all EDAX TSL point group aliases.

orix 0.13.2

05 Oct 10:05
dbb4c7e

Choose a tag to compare

orix 0.13.2 is a patch 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

  • Compatibility with NumPy v2.0.

orix 0.13.1

20 Sep 15:32
8f6cb1a

Choose a tag to compare

orix 0.13.1 is a patch 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

  • Support for Python 3.12.

Changed

  • numpy-quaternion is now an optional dependency and will not be installed with pip unless pip install orix[all] is used.

Removed

  • Support for Python 3.8 and 3.9.

Fixed

  • Phase.from_cif() still gives a valid phase even though the space group could not be read.

orix 0.13.0

03 Sep 18:38
aca9a84

Choose a tag to compare

orix 0.13.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

  • We can now read 2D crystal maps from Channel Text Files (CTFs) using io.load().

Changed

  • Phase names in crystal maps read from .ang files with io.load() now prefer to use the abbreviated "Formula" instead of "MaterialName" in the file header.

Removed

  • Removed deprecated from_neo_euler() method for Quaternion and its subclasses.
  • Removed deprecated argument convention in from_euler() and to_euler() methods for Quaternion and its subclasses. Use direction instead. Passing convention will now raise an error.

Deprecated

  • loadang() and loadctf() are deprecated and will be removed in the next minor release. Please use io.load() instead.

orix 0.12.1.post0

25 Apr 17:45
bc13474

Choose a tag to compare

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

This release is necessary to fix the formatting of two tutorial notebooks in the documentation. This also fixes the PDF documentation build.

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

orix 0.12.1

21 Apr 09:21
ae09ee1

Choose a tag to compare

orix 0.12.1 is a patch 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.

Fixed

  • ax2qu and Quaternion.from_axes_angles() would raise if the input arrays were broadcastable but the final dimension was 1. This has been fixed.
  • Phase.from_cif() now correctly adjusts atom positions when forcing

orix 0.12.0

12 Apr 17:16
df6b507

Choose a tag to compare

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.

orix 0.11.1

14 Mar 09:11
6028c89

Choose a tag to compare

orix 0.11.1 is a patch 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.

Fixed

  • Initialization of a crystal map with a phase list with fewer phases than in the phase ID array given returns a map with a new phase list with correct phase IDs.