Releases: pyxem/orix
orix 0.14.1
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
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, andorix.quaternion.Quaterniontoscipy.spatial.transform.Rotationviaorix.quaternion.Quaternion.to_scipy_rotation. - Allow controlling whether to keep zero-vectors in
orix.vector.Vector3d.uniquewith a newignore_zeroparameter. Previous behavior, to discard them, is still default. - If a
orix.crystal_map.Phase,orix.crystal_map.PhaseList, or aorix.crystal_map.CrystalMapis passed to their own constructors, a copy is returned. - Added
orix.crystal_map.Phase.expand_asymmetric_unitto add all symmetrically equivalent atoms to the structure in a new phase. - Element-wise indexing into
orix.vector.Vector3dand subclasses, such asorix.vector.Miller. - Explicit support for Python 3.13.
- Dependency on lazy-loader.
- Function
orix.plot.register_projectionsto register all our custom projections for use in Matplotlib. An example of a custom projection is theorix.plot.StereographicPlot. This function replaces the previous behavior of relying on a side-effect of importing theorix.plotmodule, 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_namesviaorix.io.loadthat 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.Vector3dandorix.quaternion.Quaternion(and its subclasses) viarandom()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_zonefor (mis)orientations have been deprecated in favor oforix.quaternion.Misorientation.reduceand will be removed in version 0.15.0.
Fixed
orix.plot.IPFColorKeylabels 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.scatterand 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
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
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
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
pipunlesspip 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
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 forQuaternionand its subclasses. - Removed deprecated argument
conventioninfrom_euler()andto_euler()methods forQuaternionand its subclasses. Usedirectioninstead. Passingconventionwill now raise an error.
Deprecated
loadang()andloadctf()are deprecated and will be removed in the next minor release. Please useio.load()instead.
orix 0.12.1.post0
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
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
ax2quandQuaternion.from_axes_angles()would raise if the input arrays were broadcastable but the final dimension was1. This has been fixed.Phase.from_cif()now correctly adjusts atom positions when forcing
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 ofOrientationandMisorientationnow acceptsymmetry. Arandom()method is also added toVector3dandMiller, 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
conventionparameter 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,
Phasedid not adjust atom positions when forcingPhase.structure.lattice.baseto use the crystal axes alignmente1 || a,e3 || c*. This is now fixed.
orix 0.11.1
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.