Software Open Access

pyxem/kikuchipy: kikuchipy 0.7.0

Håkon Wiik Ånes; Lars Lervik; Ole Natlandsmyr; Tina Bergh; Zhou Xu; Eric Prestat; Magnus Nord

kikuchipy is an open-source Python library for processing and analysis of electron backscatter diffraction (EBSD) patterns.

This release adds readers for EBSD patterns in three file formats: Oxford Instrument's h5ebsd format (H5OINA), EDAX TSL's UP1/2 files and a dictionary of image files.

New readers for loading master patterns of transmission kikuchi diffraction and electron channeling patterns simulated with EMsoft are also added.

Finally, EBSD refinement is improved by applying the signal mask to experimental patterns as well, in addition to some internal improvements which combined can improve speeds by a factor of about 2.

See below, the changelog or the GitHub changelog for all updates from the previous release.

  • Signal mask passed to EBSD orientation and projection center refinement methods is now applied to the experimental pattern as well. (#573)
  • Dependency imageio needed for reading EBSD patterns in image files. (#570)
  • Reader of an EBSD signal from all images in a directory assuming they are of the same shape and data type. (#570)
  • Reader of an EBSD signal from EDAX TSL\'s binary UP1/UP2 file formats. (#569)
  • Ability to project simulated patterns from a master pattern using varying projection centers (PCs) in EBSDMasterPattern.get_patterns(). An example is added to the method to show this. (#567)
  • Allow not setting energy parameter in EBSDMasterPattern.get_patterns(), upon which the highest energy available is used. (#567)
  • Improved handling of custom attributes xmap, detector and static_background in EBSD and hemisphere, phase and projection in EBSD/ECP master pattern classes when calling inherited HyperSpy Signal2D methods as_lazy(), change_dtype(), compute(), deepcopy(), set_signal_type() and squeeze(). (#564)
  • Reader of an electron channelig pattern (ECP) master pattern from an EMsoft HDF5 file into an ECPMasterPattern signal. (#564)
  • Reader of a transmission kikuchi diffraction (TKD) master pattern from an EMsoft HDF5 file into an EBSDMasterPattern signal. (#564)
  • ECPMasterPattern class. (#564)
  • Some internal logging which can be controlled via kikuchipy.set_log_level(). (#564)
  • Reader of an EBSD signal from Oxford Instrument\'s h5ebsd format (H5OINA). (#562)
  • Figures of reference frames of other software added to the documentation. (#552)
  • Whether to show progressbars from most signal methods (except indexing and refinement) can be controlled by passing show_progressbar or by setting HyperSpy\'s hs.preferences.General.show_progressbar (see their docs for details). (#550)
  • Documentation theme from Furo to PyData, as the growing API reference is easier to navigate with the latter. (#574)
  • Use Rodrigues-Frank vector components (Rx, Ry, Rz) instead of Euler angles in EBSD orientation and projection center refinement methods. This means that if refinement is not directly but a Dask array is returned from any of these methods, the data which previously contained Euler angles now contain these vector components. This change was done to speed up refinement. (#573)
  • Most of the EBSD metadata structure is removed, in an effort to move all relevant data to the attributes xmap, static_background, and detector. (#562)
  • h5ebsd plugin split into one plugin for each h5ebsd format (kikuchipy, EDAX TSL, and Bruker Nano). (#562)
  • EBSDDetector.plot() and PCCalibrationMovingScreen.plot() parameter return_fig_ax renamed to return_figure. (#552)
  • Import modules lazily using the specification in PEP 562. (#551)
  • Minimal version of HyperSpy increased to >= 1.7.1. (#550)
  • progressbar parameter to show_progressbar in functions which accepts a allow_download parameter. If not given, the value is retreived from HyperSpy\'s preferences. (#550)
  • mask parameter in EBSD orientation and projection center refinement is deprecated in favor of signal_mask, and will be removed in version 0.8.0. (#573)
  • projections.ebsd_projections module. (#563)
  • EBSDSimulationGenerator and GeometricalEBSDSimulation (use KikuchiPatternSimulator and GeometricalKikuchiPatternSimulation instead) and simulations.features module. (#563)
  • crystallography module. (#563)
  • Options "north" and "south" for property EBSDMasterPattern.hemisphere and in the parameter "hemisphere" in; use "upper" and "lower" instead. (#563)
  • Functions remove_static_background(), remove_dynamic_background() and get_image_quality() from chunk module. (#563)
  • Parameter relative in EBSD.remove_static_background(). (#563)
  • Functions ebsd_metadata() and metadata_nodes() which have been deprecated since v0.5. (#550, #562)
  • Print information emitted from EBSD methods like remove_static_background() is removed. (#550)
  • detector attribute of EBSD signal returned from the NORDIF calibration pattern reader is now an EBSDDetector and not just a dictionary. (#569)
  • Silence dask warning about splitting large chunks in EBSD.dictionary_indexing(). Memory use can be controlled by rechunking the dictionary or setting the rechunk or n_per_iteration parameters. (#567)
Files (9.9 MB)
Name Size
9.9 MB Download
All versions This version
Views 90053
Downloads 1031
Data volume 582.9 MB9.9 MB
Unique views 75347
Unique downloads 461


Cite as