Recent Releases of orix
orix - 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.
- Python
Published by github-actions[bot] over 1 year ago
orix - 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.
- Python
Published by github-actions[bot] over 1 year ago
orix - 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.
- Python
Published by github-actions[bot] over 1 year ago
orix - 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.
- Python
Published by github-actions[bot] almost 2 years ago
orix - 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.
- Python
Published by github-actions[bot] about 2 years ago
orix - 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
- Python
Published by github-actions[bot] about 2 years ago
orix - 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.
- Python
Published by github-actions[bot] about 2 years ago
orix - 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.
- Python
Published by github-actions[bot] about 3 years ago
orix - orix 0.11.0
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.
Added
- Creation of one or more
Quaternion(or instances of inheriting classes) from one or more SciPyRotation. - Creation of one
QuaternionorRotationby aligning sets of vectors in two reference frames, oneOrientationby aligning sets of sample vectors and crystal vectors, and oneMisorientationby aligning two sets of crystal vectors in two different crystals. -
rowandcolproperties toCrystalMapgiving the row and column coordinate of each map point given byCrystalMap.shape. -
Rotationclass methodsfrom_neo_euler(),from_axes_angles(),from_euler(),from_matrix(),random()andidentity()and methodsto_euler()andto_matrix()are now available from theQuaternionclass 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\'sPathPatch(). - Option to pass degrees to the
Quaternionmethodsfrom_axes_angles(),from_euler()andto_euler()by passingdegrees=True. - Option to get degrees from all
angle_with()andangle_with_outer()methods by passingdegrees=True. - Option to pass degrees to the
(Mis)Orientationmethodget_distance_matrix()by passingdegrees=True. - Option to pass degrees to the
Vector3dmethodsfrom_polar()andto_polar()by passingdegrees=True. - Option to get spherical coordinates from
InverseStereographicProjection.xy2spherical()in degrees or pass them as degrees toStereographicProjectionmethodsspherical2xy()andspherical2xy_split()by passingdegrees=True.
Changed
- Bumped minimal version of
diffpy.structure >= 3.0.2. - Only ASTAR .ang files return crystal maps with
"nm"as scan unit.
Removed
- Parameter
zwhen creating aCrystalMapand thezanddzattributes of the class were deprecated in 0.10.1 and are now removed. - Passing
shapeorstep_sizeswith three values tocreate_coordinate_arrays()was depreacted in 0.10. and will now raise an error. - Parameter
depth(andaxes) inCrystalMapPlot.plot_map()was depreacted in 0.10.1 and will now raise an error if passed. - The
zanddzdatasets are not present in new orix HDF5 files. They are not read if present in older files.
Fixed
- Reading of EDAX TSL .ang files with ten columns should now work.
- Python
Published by github-actions[bot] over 3 years ago
orix - orix 0.10.2
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.
Fixed
-
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.
Changed
- Unique rotations and vectors are now found by rounding to 10 instead of 12 decimals.
- Python
Published by github-actions[bot] over 3 years ago
orix - orix 0.10.1
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.
Deprecated
- Parameter
zwhen creating aCrystalMapand thezanddzattributes 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. - Passing
shapeorstep_sizeswith three values tocreate_coordinate_arrays()is depreacted and will raise an error in 0.11.0. See the previous point for the reason. - Parameter
depthinCrystalMapPlot.plot_map()is depreacted and will be removed in 0.11.0. See the top point for the reason.
Fixed
-
StereographicPlot.scatter()now accepts bothc/colorands/sizesto set the color and sizes of scatter points, in line withmatplotlib.axes.Axes.scatter(). - Indexing/slicing into an already indexed/sliced
CrystalMapnow correctly returns the index/slice according toCrystalMap.shapeand not the original shape of the un-sliced map.
- Python
Published by github-actions[bot] over 3 years ago
orix - orix 0.10.0
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.measuremodule has been introduced. Themeasuremodule is related to quantification of orientation and vector data. - Plotting the IPF color key on a created
InversePoleFigurePlotis now possible withplot_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
orixis now Python 3.7. Object3d.check(),Quaternion.check_quaternion()andVector3d.check_vector(), as these methods were not used internally.- Deprecated method
distance()ofMisorientationandOrientationclasses, useget_distance_matrix()instead.
Fixed
- Plotting of unit cells works with Matplotlib v3.6, at the expense of a warning raised with earlier versions.
- Python
Published by hakonanes over 3 years ago
orix - orix 0.9.0.post0
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.
- Python
Published by hakonanes about 4 years ago
orix - orix 0.9.0
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.
- Python
Published by hakonanes about 4 years ago
orix - orix 0.9.0rc2
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.
- Python
Published by hakonanes about 4 years ago
orix - orix 0.9.0rc1
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.
- Python
Published by hakonanes about 4 years ago
orix - orix 0.8.2
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.Quaternionnow relies onnumpy-quaternionfor quaternion conjugation, quaternion-quaternion and quaternion-vector multiplication, and quaternion-quaternion and quaternion-vector outer products.- Rounding in functions, e.g.
Object3d.unique()andRotation.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.
- Python
Published by hakonanes over 4 years ago
orix - orix 0.8.1
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.
- Python
Published by hakonanes over 4 years ago
orix - orix 0.8.0
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 plotunitcell method (#234).
- Python
Published by pc494 over 4 years ago
orix - orix 0.7.0
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.
- Python
Published by pc494 over 4 years ago
orix - orix 0.6.0
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).
- Python
Published by pc494 about 5 years ago
orix - orix 0.5.1
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.
- Python
Published by pc494 over 5 years ago
orix - orix 0.5.0
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
Vector3Dclass 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
Phaseto an existingCrystalMaphas changed (#111) - API has been slightly restructured to simplify import statements (#114)
Improvements and Bugfixes
- speed up for
uniform_sample_SO3with time savings passed onto all the code in the sampling module (#120) create_sample_localis now correct, with more comprehensive testing (#118)
- Python
Published by pc494 over 5 years ago
orix - orix 0.4.0
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_matrixandfrom_matrixmethods added for Rotation objects (#97)Phasenow makes use of space group information (#99, #104 and #106)
Breaking Changes
- The property
.symmetryhas been renamed to.point_groupforPhase(#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)
- Python
Published by pc494 almost 6 years ago
orix - orix 0.4.0-rc1
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.
- Python
Published by pc494 almost 6 years ago
orix - orix 0.3.0
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
- Python
Published by dnjohnstone almost 6 years ago
orix - orix 0.2.4
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.
- Python
Published by pc494 almost 6 years ago
orix - orix 0.2.3
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
- Python
Published by pc494 about 6 years ago
orix - orix 0.2.2
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
- Python
Published by pc494 about 6 years ago
orix - orix 0.2.1
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.
- Python
Published by pc494 over 6 years ago
orix - orix 0.2.0
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(ofObject3D) andrandom(ofVector3d) 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
- Python
Published by pc494 over 6 years ago
orix - orix 0.1.1
Patch release of orix with updates required for packaging.
- Python
Published by dnjohnstone over 6 years ago
orix - orix 0.1.0
orix 0.1.0 is the first full release of orix, which is an open-source Python library for handling orientations, rotations, quaternions and crystal symmetry.
- Python
Published by dnjohnstone over 6 years ago