Analysing crystal orientations and symmetry in Python
GPL-3.0 License
Bot releases are visible (Hide)
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.
io.load()
.io.load()
now prefer to use the abbreviated "Formula" instead of "MaterialName" in the file header.from_neo_euler()
method for Quaternion
and its subclasses.convention
in from_euler()
and to_euler()
methods for Quaternion
and its subclasses. Use direction
instead. Passing convention
will now raise an error.loadang()
and loadctf()
are deprecated and will be removed in the next minor release. Please use io.load()
instead.Published by github-actions[bot] 6 months ago
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.
Published by github-actions[bot] 6 months ago
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 forcingPublished by github-actions[bot] 6 months ago
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.
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.Published by github-actions[bot] over 1 year ago
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.
Published by github-actions[bot] over 1 year ago
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.Published by github-actions[bot] almost 2 years ago
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.Published by github-actions[bot] about 2 years ago
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.Published by hakonanes about 2 years ago
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.Published by hakonanes over 2 years ago
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.
Published by hakonanes over 2 years ago
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
.Published by hakonanes over 2 years ago
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.0rc2 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
.Published by hakonanes over 2 years ago
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.0rc1 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
.Published by hakonanes over 2 years ago
orix 0.8.2 is a patch release of orix, an open-source Python library for handling orientations, rotations and crystal symmetry.
orix.quaternion.Quaternion
now relies on numpy-quaternion
for quaternion conjugation, quaternion-quaternion and quaternion-vector multiplication, and quaternion-quaternion and quaternion-vector outer products.Object3d.unique()
and Rotation.unique()
, is now set consistently at 12 dp.Miller.in_fundamental_sector()
doesn't raise errors.Miller.unique()
now correctly returns unique vectors due to implemented rounding.See the changelog or https://github.com/pyxem/orix/compare/v0.8.1...v0.8.2 for a complete list of changes.
Published by hakonanes over 2 years ago
orix 0.8.1 is a patch release of orix, an open-source Python library for handling orientations, rotations and crystal symmetry.
The patch fixes a few smaller bugs and corrects the following:
Orientation
methods angle_with()
and dot()
and dot_outer()
which now calculates the misorientation as other * ~self
, instead of the other way around. Disorientation angles (o2 - o1).angle
and o1.angle_with(o2)
are now the same.Rotation.unique()
, which now recreate the original Rotation
instance.See the changelog or https://github.com/pyxem/orix/compare/v0.8.0...v0.8.1 for a complete list of changes.
Published by pc494 almost 3 years ago
orix 0.8.0 is a minor release of orix, an open-source python library for handling orientations, rotations and crystal symmetry.
0.8.0 provides a number of exciting new features as well as internal improvements. For a comprehensive list of changes please refer to the CHANGELOG.
Published by pc494 about 3 years ago
orix 0.7.0 is a minor release of orix, an open-source python library for handling orientations, rotations and crystal symmetry.
0.7.0 provides improvements to the speed, ease of use and flexibility of the package.
For a comprehensive list of changes please refer to the CHANGELOG.
Published by pc494 over 3 years ago
orix 0.6.0 is a minor release of orix, an open-source python library for handling orientations, rotations and crystal symmetry. It significantly extends the functionality of the package. For a comprehensive list of changes please refer to the CHANGELOG.
Published by pc494 almost 4 years ago
orix 0.5.1 is a patch release of orix. It addresses a small number bugs and introduces a changelog. You can thus find details of all the updates in the CHANGELOG.
Published by pc494 about 4 years ago
orix 0.5.0 is a minor release of orix, an open-source python library for handling orientations, rotations, quaternions and crystal symmetry. It contains a small number of new features as well as a number of improvements. A full list of closed issues and pull requests can be found here.
Vector3D
class now supports spherical polar coordinates (#116)Phase
to an existing CrystalMap
has changed (#111)uniform_sample_SO3
with time savings passed onto all the code in the sampling module (#120)create_sample_local
is now correct, with more comprehensive testing (#118)