kikuchipy 0.3.0
kikuchipy 0.3.0 is a minor release of kikuchipy, an open-source Python library for processing and analysis of electron backscatter diffraction (EBSD) patterns.
Lots of new functionality is added! The most notable additions are generation of a dictionary of simulated EBSD patterns from a master pattern via a detector-sample geometrical model, subsequent crystal orientation determination via pattern matching of experimental patterns to this dictionary, geometrical EBSD simulations of band centeres and zone axes of cubic crystals to plot on top of experimental patterns, and calculation of an average dot product map for an informative spatial representation of an EBSD signal. The user guide is also updated with Jupyter notebooks explaining and showing most of the available functionality, which can be run in the browser via Binder or locally by downloading the notebooks. We would love for you to try them out via https://kikuchipy.org/en/stable!
All changes from the previous release are listed below in descending chronological order. The contributors are listed in alphabetical order.
Contributors
- Håkon Wiik Ånes
- Lars Andreas Hastad Lervik
- Ole Natlandsmyr
Added
- Calculation of an average dot product map, or just the dot product matrices. (#280)
- A nice gallery to the documentation with links to each user guide page. (#285)
- Support for writing/reading an EBSD signal with 1 or 0 navigation axes to/from a kikuchipy h5ebsd file. (#276)
- Better control over dask array chunking when processing patterns. (#275)
- User guide notebook showing basic pattern matching. (#263)
- EBSD.detector property storing an EBSDDetector. (#262)
- Link to Binder in README and in the notebooks for running them in the browser. (#257)
- Creation of dictionary of dynamically simulated EBSD patterns from a master pattern in the square Lambert projection. (#239)
- A data module with a small Nickel EBSD data set and master pattern, and a larger EBSD data set downloadable via the module. Two dependencies, pooch and tqdm, are added along with this module. (#236, #237, #243)
- Pattern matching of EBSD patterns with a dictionary of pre-computed simulated patterns with known crystal orientations, and related useful tools (#231, #233, #234): (1) A framework for creation of similarity metrics used in pattern matching, (2) computation of an orientation similarity map from indexing results, and (3) creation of a multi phase crystal map from single phase maps from pattern matching.
- EBSD.xmap property storing an orix CrystalMap. (#226)
- Dependency on the diffsims package for handling of electron scattering and diffraction. (#220)
- Square Lambert mapping, and its inverse, from points on the unit sphere to a 2D square grid, as implemented in Callahan and De Graef (2013). (#214)
- Geometrical EBSD simulations, projecting a set of Kikuchi bands and zone axes onto a detector, which can be added to an EBSD signal as markers. (#204, #219, #232)
- EBSD detector class to handle detector parameters, including detector pixels' gnomonic coordinates. EBSD reference frame documentation. (#204, #215)
- Reader for EMsoft's simulated EBSD patterns returned by their EMEBSD.f90 program. (#202)
Changed
- The feature maps notebook to include how to obtain an average dot product map and dot product matrices for an EBSD signal. (#280)
- Averaging EBSD patterns with nearest neighbours now rescales to input data type range, thus loosing relative intensities, to avoid clipping intensities. (#280)
- Dependency requirement of diffsims from >= 0.3 to >= 0.4. (#282)
- Name of hemisphere axis in EBSDMasterPattern from "y" to "hemisphere". (#275)
- Replace Travis CI with GitHub Actions. (#250)
- The EBSDMasterPattern gets phase, hemisphere and projection properties. (#246)
- EMsoft EBSD master pattern plugin can read a single energy pattern. Parameter
energy_range
changed toenergy
. (#240) - Migrate user guide from reST files to Jupyter Notebooks converted to HTML with the
nbsphinx
package. (#236, #237, #244, #245, #279, #245, #279, #281) - Move GitHub repository to the pyxem organization. Update relevant URLs. (#198)
- Allow scikit-image >= 0.16. (#196)
- Remove language_version in pre-commit config file. (#195)
Removed
- The EBSDMasterPattern and EBSD metadata node Sample.Phases, to be replaced by class attributes. The set_phase_parameters() method is removed from both classes, and the set_simulation_parameters() is removed from the former class. (#246)