orix

Analysing crystal orientations and symmetry in Python

GPL-3.0 License

Downloads
13.8K
Stars
80
Committers
11

Bot releases are hidden (Show)

orix - orix 0.10.0

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.

Added

  • Support for type hints has been introduced and a section on this topic has been added to the contributing guide.
  • 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.
  • Seven methods for sampling unit vectors from regular grids on S2 via orix.sampling.sample_S2().
  • Calculation of the Inverse Pole Density Function (IPDF), ie. pole density in the crystal point group fundamental sector, through InversePoleFigurePlot.pole_density_function().
  • The orix.measure module has been introduced. The measure module is related to quantification of orientation and vector data.
  • Plotting the IPF color key on a created InversePoleFigurePlot is now possible with plot_ipf_color_key().
  • Examples gallery to documentation.

Changed

  • Moved part of documentation showing plotting of Wulff net and symmetry markers from the tutorials to examples.
  • Renamed user guide notebooks to tutorials in documentation.
  • Reference frame labels of stereographic projection of Symmetry.plot() from (a, b) to (e1, e2), signifying the standard Cartesian reference frame attached to a crystal.
  • Tighten distribution of random orientation clusters in tutorial showing clustering across fundamental region boundaries, to avoid clustering sometimes giving two clusters instead of three.

Removed

  • Support for Python 3.6 has been removed. The minimum supported version in orix is now Python 3.7.
  • Object3d.check(), Quaternion.check_quaternion() and Vector3d.check_vector(), as these methods were not used internally.
  • Deprecated method distance() of Misorientation and Orientation classes, use get_distance_matrix() instead.

Fixed

  • Plotting of unit cells works with Matplotlib v3.6, at the expense of a warning raised with earlier versions.
orix - orix 0.9.0.post0

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.

orix - orix 0.9.0

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.
  • Creating rotations from Euler angles interprets the angles in the Bunge convention by default, i.e. rotations are transformations from the sample to the crystal.
  • Reducing memory usage when computing the misorientation distance matrix, rotation outer products and quaternion-vector outer products have been added via lazy computation with dask.
  • The alignment of crystal axes in the package is documented in the user guide.
orix - orix 0.9.0rc2

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.
  • Creating rotations from Euler angles interprets the angles in the Bunge convention by default, i.e. rotations are transformations from the sample to the crystal.
  • Reducing memory usage when computing the misorientation distance matrix, rotation outer products and quaternion-vector outer products have been added via lazy computation with dask.
  • The alignment of crystal axes in the package is documented in the user guide.
orix - orix 0.9.0rc1

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.
  • Creating rotations from Euler angles interprets the angles in the Bunge convention by default, i.e. rotations are transformations from the sample to the crystal.
  • Reducing memory usage when computing the misorientation distance matrix, rotation outer products and quaternion-vector outer products have been added via lazy computation with dask.
  • The alignment of crystal axes in the package is documented in the user guide.
orix - orix 0.8.2

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.

Changed

  • 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.
  • Rounding in functions, e.g. Object3d.unique() and Rotation.unique(), is now set consistently at 12 dp.

Fixed

  • 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.

orix - orix 0.8.1

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:

  • Disorientation angles and dot products returned from 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.
  • The inverse indices returned from 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.

orix - orix 0.8.0

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.

Highlights

  • Users can now plot orientations within an inverse pole figure (#235).
  • Inverse pole figure colouring of spatial maps are also available (#235).
  • Spatial maps can be coloured based on their Euler angles (#201 ).
  • Unit cell orientation can now be plotted with the plot_unit_cell method (#234).
orix - orix 0.7.0

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.

Highlights

  • Memory-efficient calculation of a misorientation angle (geodesic distance) matrix between orientations using Dask.
  • New convenience method Misorientation.scatter() to plot orientations in either axis-angle or Rodrigues fundamental zone.
  • Further streamlining of the documentation.
  • Reading of a crystal map from orientation data in Bruker's HDF5 file format.
  • Uniform sampling of orientation space using cubochoric sampling.
orix - orix 0.6.0

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.

Highlights

  • Documentation continues to improve, in this version we have added user guides (based off of Jupyter notebooks) as part of the .rtfd suite
  • Several new plotting options have been added, the most obvious of which is the CrystalMap.plot() method.
  • CrystalMap objects can now be written to .ang files
  • New architecture allows for handling operations with direct lattice vectors (uvw/UVTW) and reciprocal lattice vectors (hkl/hkil).
orix - orix 0.5.1

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.

orix - orix 0.5.0

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.

New Features

  • The Vector3D class now supports spherical polar coordinates (#116)
  • The code is now documented by a read-the-docs site (#112)

Breaking Changes

  • The method for adding a new Phase to an existing CrystalMap has changed (#111)
  • API has been slightly restructured to simplify import statements (#114)

Improvements and Bugfixes

  • speed up for 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)
orix - orix 0.4.0

Published by pc494 about 4 years ago

orix 0.4.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 some general quality of life improvements. A full list can be found of bugs fixed and pull requests merge can be found here.

New Features

  • Methods for sampling SO3 have been provided, both for fundamental zones and local regions around an orientation (#90)
  • to_matrix and from_matrix methods added for Rotation objects (#97)
  • Phase now makes use of space group information (#99, #104 and #106)

Breaking Changes

  • The property .symmetry has been renamed to .point_group for Phase (#92)

Dev Changes

  • Automation of the code formatting process, including a "dev" install (#93)
  • Copyright updated to more accurately reflected contributors (#96)
  • Various CI improvements (#103 and #105)
orix - orix 0.4.0-rc1

Published by pc494 about 4 years ago

Going forward, orix will have release candidates so that dependencies can be checked in advance of a full release.

Update: This was abandoned, as conda-feedstock doesn't accept release candidates.

orix - orix 0.3.0

Published by dnjohnstone about 4 years ago

orix 0.3.0 is a minor release of orix and open-source python library for handling orientations, rotations, quaternions and crystal symmetry.

In this release cycle we have added a CrystalMap class for handling the results of phase and orientation mapping experiments and created an IO interface. Details of all development associated with this release are available here.

New Features

  • The CrystalMap class was created #47
  • diffpy.structure was added as a dependency to store crystal structures with Phase objects #66
  • IO was updated to provide an HDF5 read/write and interface with KikuchiPy and EMsoft #49 #66 #67

Developer Changes

  • Tests were updated to run with matplotlib-3.3.0 #77 #83

Bug fixes

  • Grain exchange handling was fixed and incorrect docstring examples updated #75
orix - orix 0.2.4

Published by pc494 about 4 years ago

orix 0.2.4 is a small patch release. By preventing the matplotlib version from exceeding v3.2 some desirable plotting functionality is preserved.

  • This release contains a single PR, #81, it contains no bugfixes, user changes or deprecations.
orix - orix 0.2.3

Published by pc494 over 4 years ago

orix 0.2.3 is a small patch release. It contains an important bugfix and corrects some regression introduced in 0.2.2 - details can be found in #60

Bugfixes

  • A round-off error in the overidden < method of OrientationRegion has been corrected, this has significant effects upstream.

User Changes

  • The regression introduced in 0.2.2 for the method .from_euler() has been corrected, using the convention argument Krakow_Hielscher
  • The plotting of fundamental regions has been improved to provide smoother edges

Deprecations

  • No new deprecations
orix - orix 0.2.2

Published by pc494 over 4 years ago

orix 0.2.2 is a small patch release. It is anticipated to be the last release in the 0.2.x series.

User Changes

  • The .from_euler() method now supports a direction kwarg (#55)
  • .from_euler() now works to a specified set of conventions, see PR #55 and code comments

Dev changes

  • This release contains a fix for the MAC OS testing, courtesy of @hakonanes (#52)

Deprecations

  • No new deprecations
orix - orix 0.2.1

Published by pc494 over 4 years ago

orix 0.2.1 is a patch release which contains a number of small improvements. All external behaviour should be unchanged. One can find further details on closed issues and PR's at https://github.com/pyxem/orix/milestone/4?closed=1

User Changes

  • A speed up for the distance functionality has been implemented by @shogas (#39), this changes the default speed mode.

Dev changes

  • Code formatting is now provided by black (#40)
  • CI now supports Windows (#44) and python 3.8 (#41)
  • Assorted minor clarity/internal improvements (#38, #41 & #42)
  • The package now formally depends on tqdm (#45)

Deprecations

  • #39 deprecates the slower distance method.
orix - orix 0.2.0

Published by pc494 almost 5 years ago

orix 0.2.0 is a minor release of orix; an open-source Python library for handling orientations, rotations, quaternions and crystal symmetry.

Breaking changes

  • The orix website is no longer packaged, in future the content will be merged into the pyxem website
  • The methods sample (of Object3D) and random (of Vector3d) have been removed (#16)

Minor Changes

  • A bug effecting the non-grain exchange case of Misorientation.equivalent() was fixed (#21)
  • Internal changes were made that clarify the namespace and help the code to adhere more closely to PEP-8
  • All API code is now covered by tests