==================
Details of all development associated with this release is listed below and in `this
GitHub milestone <https://github.com/pyxem/kikuchipy/milestone/3?closed=1>`_.
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 <https://github.com/pyxem/kikuchipy/pull/280>`_)
- A nice gallery to the documentation with links to each user guide page.
(`285 <https://github.com/pyxem/kikuchipy/pull/285>`_)
- Support for writing/reading an EBSD signal with 1 or 0 navigation axes to/from a
kikuchipy h5ebsd file.
(`276 <https://github.com/pyxem/kikuchipy/pull/276>`_)
- Better control over dask array chunking when processing patterns.
(`275 <https://github.com/pyxem/kikuchipy/pull/275>`_)
- User guide notebook showing basic pattern matching.
(`263 <https://github.com/pyxem/kikuchipy/pull/263>`_)
- EBSD.detector property storing an EBSDDetector.
(`262 <https://github.com/pyxem/kikuchipy/pull/262>`_)
- Link to Binder in README and in the notebooks for running them in the browser.
(`257 <https://github.com/pyxem/kikuchipy/pull/257>`_)
- Creation of dictionary of dynamically simulated EBSD patterns from a master pattern in
the square Lambert projection. (`239 <https://github.com/pyxem/kikuchipy/pull/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 <https://github.com/pyxem/kikuchipy/pull/236>`_,
`237 <https://github.com/pyxem/kikuchipy/pull/237>`_,
`243 <https://github.com/pyxem/kikuchipy/pull/243>`_)
- Pattern matching of EBSD patterns with a dictionary of pre-computed simulated patterns
with known crystal orientations, and related useful tools
(`231 <https://github.com/pyxem/kikuchipy/pull/231>`_,
`233 <https://github.com/pyxem/kikuchipy/pull/233>`_,
`234 <https://github.com/pyxem/kikuchipy/pull/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 <https://github.com/pyxem/kikuchipy/pull/226>`_)
- Dependency on the diffsims package for handling of electron scattering and
diffraction. (`220 <https://github.com/pyxem/kikuchipy/pull/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 <https://github.com/pyxem/kikuchipy/pull/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 <https://github.com/pyxem/kikuchipy/pull/204>`_,
`219 <https://github.com/pyxem/kikuchipy/pull/219>`_,
`232 <https://github.com/pyxem/kikuchipy/pull/232>`_)
- EBSD detector class to handle detector parameters, including detector pixels' gnomonic
coordinates. EBSD reference frame documentation.
(`204 <https://github.com/pyxem/kikuchipy/pull/204>`_,
`215 <https://github.com/pyxem/kikuchipy/pull/215>`_)
- Reader for EMsoft's simulated EBSD patterns returned by their EMEBSD.f90 program.
(`202 <https://github.com/pyxem/kikuchipy/pull/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 <https://github.com/pyxem/kikuchipy/pull/280>`_)
- Averaging EBSD patterns with nearest neighbours now rescales to input data type range,
thus loosing relative intensities, to avoid clipping intensities.
(`280 <https://github.com/pyxem/kikuchipy/pull/280>`_)
- Dependency requirement of diffsims from >= 0.3 to >= 0.4
(`282 <https://github.com/pyxem/kikuchipy/pull/282>`_)
- Name of hemisphere axis in EBSDMasterPattern from "y" to "hemisphere".
(`275 <https://github.com/pyxem/kikuchipy/pull/275>`_)
- Replace Travis CI with GitHub Actions.
(`250 <https://github.com/pyxem/kikuchipy/pull/250>`_)
- The EBSDMasterPattern gets phase, hemisphere and projection properties.
(`246 <https://github.com/pyxem/kikuchipy/pull/246>`_)
- EMsoft EBSD master pattern plugin can read a single energy pattern. Parameter
`energy_range` changed to `energy`.
(`240 <https://github.com/pyxem/kikuchipy/pull/240>`_)
- Migrate user guide from reST files to Jupyter Notebooks converted to HTML with the
`nbsphinx` package.
(`236 <https://github.com/pyxem/kikuchipy/pull/236>`_,
`237 <https://github.com/pyxem/kikuchipy/pull/237>`_,
`244 <https://github.com/pyxem/kikuchipy/pull/244>`_,
`245 <https://github.com/pyxem/kikuchipy/pull/245>`_,
`279 <https://github.com/pyxem/kikuchipy/pull/279>`_,
`245 <https://github.com/pyxem/kikuchipy/pull/245>`_,
`279 <https://github.com/pyxem/kikuchipy/pull/279>`_,
`281 <https://github.com/pyxem/kikuchipy/pull/281>`_)
- Move GitHub repository to the pyxem organization. Update relevant URLs.
(`198 <https://github.com/pyxem/kikuchipy/pull/198>`_)
- Allow scikit-image >= 0.16. (`196 <https://github.com/pyxem/kikuchipy/pull/196>`_)
- Remove language_version in pre-commit config file.
(`195 <https://github.com/pyxem/kikuchipy/pull/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 <https://github.com/pyxem/kikuchipy/pull/246>`_)
Fixed
-----
- IndexError in neighbour pattern averaging
(`280 <https://github.com/pyxem/kikuchipy/pull/280>`_)
- Reading of square Lambert projections from EMsoft's master pattern file now sums
contributions from asymmetric positions correctly.
(`255 <https://github.com/pyxem/kikuchipy/pull/255>`_)
- NumPy array creation when calculating window pixel's distance to the origin is not
ragged anymore. (`221 <https://github.com/pyxem/kikuchipy/pull/221>`_)