Analysing crystal orientations and symmetry in Python
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 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.
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 forcingorix 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.
Vector3d.from_path_ends()
class method to get vectors between two vectors.plot.format_labels()
to get nicely formatted vector labels to use when plotting vectors.StereographicPlot.text()
to offset text coordinates.from_rodrigues()
and from_homochoric()
, replacing the now deprecated from_neo_euler()
. from_rodrigues()
accepts an angle parameter to allow passing Rodrigues-Frank vectors.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.random()
methods of Orientation
and Misorientation
now accept symmetry
. A random()
method is also added to Vector3d
and Miller
, the latter accepting a phase
.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
.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.reshape()
methods of 3D objects.random()
methods no longer accept a list as a valid shape: pass a tuple instead.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.grid.alpha
, just like the azimuth grid lines.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 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.
orix 0.11.0 is a minor release of orix, an open-source Python library for handling orientations, rotations and crystal symmetry.
This release removes the use of a third axis (z) in CrystalMap
. It also offers the possibility of creating rotations by aligning sets of vectors, e.g. an orientation from sample and crystal vectors or a misorientation from vectors in two different crystals.
See below, the changelog or the GitHub changelog for all updates from the previous release.
Quaternion
(or instances of inheriting classes) from one or more SciPy Rotation
.Quaternion
or Rotation
by aligning sets of vectors in two reference frames, one Orientation
by aligning sets of sample vectors and crystal vectors, and one Misorientation
by aligning two sets of crystal vectors in two different crystals.row
and col
properties to CrystalMap
giving the row and column coordinate of each map point given by CrystalMap.shape
.Rotation
class methods from_neo_euler()
, from_axes_angles()
, from_euler()
, from_matrix()
, random()
and identity()
and methods to_euler()
and to_matrix()
are now available from the Quaternion
class as well.StereographicPlot.restrict_to_sector()
allows two new parameters to control the amount of padding (in degrees in stereographic projection) and whether to show the sector edges. Keyword arguments can also be passed on to Matplotlib's PathPatch()
.Quaternion
methods from_axes_angles()
, from_euler()
and to_euler()
by passing degrees=True
.angle_with()
and angle_with_outer()
methods by passing degrees=True
.(Mis)Orientation
method get_distance_matrix()
by passing degrees=True
.Vector3d
methods from_polar()
and to_polar()
by passing degrees=True
.InverseStereographicProjection.xy2spherical()
in degrees or pass them as degrees to StereographicProjection
methods spherical2xy()
and spherical2xy_split()
by passing degrees=True
.diffpy.structure >= 3.0.2
."nm"
as scan unit.z
when creating a CrystalMap
and the z
and dz
attributes of the class were deprecated in 0.10.1 and are now removed.shape
or step_sizes
with three values to create_coordinate_arrays()
was depreacted in 0.10. and will now raise an error.depth
(and axes
) in CrystalMapPlot.plot_map()
was depreacted in 0.10.1 and will now raise an error if passed.z
and dz
datasets are not present in new orix HDF5 files. They are not read if present in older files.orix 0.10.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.
Miller.symmetrise(unique=True)
returns the correct number of symmetrically equivalent but unique vectors, by rounding to 10 instead of 12 decimals prior to finding the unique vectors with NumPy.orix 0.10.1 is a patch release of orix, an open-source Python library for handling orientations, rotations and crystal symmetry.
This release includes some deprecations, but most importantly it fixes a bug when indexing or slicing into an already indexed/sliced CrystalMap
.
See below, the changelog or the GitHub changelog for all updates from the previous release.
z
when creating a CrystalMap
and the z
and dz
attributes of the class are deprecated and will be removed in 0.11.0. Support for 3D crystal maps is minimal and brittle, and it was therefore decided to remove it altogether.shape
or step_sizes
with three values to create_coordinate_arrays()
is depreacted and will raise an error in 0.11.0. See the previous point for the reason.depth
in CrystalMapPlot.plot_map()
is depreacted and will be removed in 0.11.0. See the top point for the reason.StereographicPlot.scatter()
now accepts both c
/color
and s
/sizes
to set the color and sizes of scatter points, in line with matplotlib.axes.Axes.scatter()
.CrystalMap
now correctly returns the index/slice according to CrystalMap.shape
and not the original shape of the un-sliced map.NOTE: This release has been yanked and should not be used. A relevant patch fix (and little else) has been added in 0.10.1
.
orix 0.10.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.
Vector3d.pole_density_function()
has been implemented which allows for calculation of the Pole Density Function (PDF) and quantification of poles in the stereographic projection.orix.sampling.sample_S2()
.InversePoleFigurePlot.pole_density_function()
.orix.measure
module has been introduced. The measure
module is related to quantification of orientation and vector data.InversePoleFigurePlot
is now possible with plot_ipf_color_key()
.Symmetry.plot()
from (a, b) to (e1, e2), signifying the standard Cartesian reference frame attached to a crystal.orix
is now Python 3.7.Object3d.check()
, Quaternion.check_quaternion()
and Vector3d.check_vector()
, as these methods were not used internally.distance()
of Misorientation
and Orientation
classes, use get_distance_matrix()
instead.orix 0.9.0.post0 is a post-release of orix, an open-source Python library for handling orientations, rotations and crystal symmetry.
This release is necessary so that the 0.9.0 release is successfully uploaded to Zenodo.
See https://github.com/pyxem/orix/compare/v0.8.2...v0.9.0.post0 for a complete list of changes.
orix 0.9.0 is a minor release of orix, an open-source Python library for handling orientations, rotations and crystal symmetry.
This version contains many small and some larger changes, including enhancements to existing classes and bug fixes. See the changelog or https://github.com/pyxem/orix/compare/v0.8.2...v0.9.0 for a complete list of changes.
Notable changes:
orix.scalar.Scalar
has been removed, so the data held by Scalar
, like class properties Rotation.angle
, Vector3d.azimuth
and so on, are returned directly as a numpy.ndarray
.dask
.