class kikuchipy.signals.EBSD(*args, **kwargs)[source]#

Bases: KikuchipySignal2D

Scan of Electron Backscatter Diffraction (EBSD) patterns.

This class extends HyperSpy’s Signal2D class for EBSD patterns. Some of the docstrings are obtained from HyperSpy. See the docstring of Signal2D for the list of inherited attributes and methods.


See Signal2D.

detectorEBSDDetector, optional

Detector describing the EBSD detector-sample geometry. If not given, this is a default detector (see EBSDDetector).

static_backgroundndarray or Array, optional

Static background pattern. If not given, this is None.


Crystal map containing the phases, unit cell rotations and auxiliary properties of the EBSD dataset. If not given, this is None.


See Signal2D.

See also


An EBSD signal with (3, 3) experimental nickel patterns.


An EBSD signal with (55, 75) experimental nickel patterns.


An EBSD signal with one experimental silicon pattern.


An EBSD signal with one experimental silicon pattern.


An EBSD signal with one experimental silicon pattern.


Load one of the example datasets and inspect some properties

>>> import kikuchipy as kp
>>> s = kp.data.nickel_ebsd_small()
>>> s
<EBSD, title: patterns Scan 1, dimensions: (3, 3|60, 60)>
>>> s.detector
EBSDDetector (60, 60), px_size 1 um, binning 8, tilt 0, azimuthal 0, pc (0.425, 0.213, 0.501)
>>> s.static_background
array([[84, 87, 90, ..., 27, 29, 30],
       [87, 90, 93, ..., 27, 28, 30],
       [92, 94, 97, ..., 39, 28, 29],
       [80, 82, 84, ..., 36, 30, 26],
       [79, 80, 82, ..., 28, 26, 26],
       [76, 78, 80, ..., 26, 26, 25]], dtype=uint8)
>>> s.xmap
Phase  Orientations  Name  Space group  Point group  Proper point group     Color
    0    9 (100.0%)    ni        Fm-3m         m-3m                 432  tab:blue
Properties: scores
Scan unit: px



Return or set the detector describing the EBSD detector-sample geometry.


Return or set the static background pattern.


Return or set the crystal map containing the phases, unit cell rotations and auxiliary properties of the EBSD dataset.



Enhance the local contrast using adaptive histogram equalization.

EBSD.as_lazy(*args, **kwargs)

Create a copy of the given Signal as a LazySignal.

EBSD.average_neighbour_patterns([window, ...])

Average patterns with its neighbours within a window.

EBSD.change_dtype(*args, **kwargs)

Change the data type of a Signal.

EBSD.crop(*args, **kwargs)

Crops the data in a given axis.


Return a "deep copy" of this Signal using the standard library's deepcopy() function.

EBSD.dictionary_indexing(dictionary[, ...])

Index patterns by matching each pattern to a dictionary of simulated patterns of known orientations [Chen et al., 2015, Jackson et al., 2019].

EBSD.downsample(factor[, dtype_out, ...])

Downsample the pattern shape by an integer factor and rescale intensities to fill the data type range.

EBSD.extract_grid(grid_shape[, return_indices])

Return a new signal with patterns from positions in a grid of shape grid_shape evenly spaced in navigation space.

EBSD.fft_filter(transfer_function, ...[, ...])

Filter patterns in the frequency domain.


Get a map of the average dot product between patterns and their neighbours within an averaging window.

EBSD.get_decomposition_model([components, ...])

Get the model signal generated with the selected number of principal components from a decomposition.

EBSD.get_dynamic_background([filter_domain, ...])

Return the dynamic background per pattern in a new signal.

EBSD.get_image_quality([normalize, ...])

Compute the image quality map of patterns in an EBSD scan.


Get an array with dot products of a pattern and its neighbours within a window.

EBSD.get_virtual_bse_intensity(roi[, ...])

Get a virtual backscatter electron (VBSE) image formed from intensities within a region of interest (ROI) on the detector.

EBSD.hough_indexing(phase_list, indexer[, ...])

Index patterns by Hough indexing using pyebsdindex.

EBSD.hough_indexing_optimize_pc(pc0, indexer)

Return a detector with one projection center (PC) per pattern optimized using Hough indexing from pyebsdindex.

EBSD.normalize_intensity([num_std, ...])

Normalize image intensities to a mean of zero with a given standard deviation.

EBSD.plot_virtual_bse_intensity(roi[, ...])

Plot an interactive virtual backscatter electron (VBSE) image formed from intensities within a specified and adjustable region of interest (ROI) on the detector.

EBSD.rebin(*args, **kwargs)

Rebin the signal into a smaller or larger shape, based on linear interpolation.

EBSD.refine_orientation(xmap, detector, ...)

Refine orientations by searching orientation space around the best indexed solution using fixed projection centers.


Refine orientations and projection centers simultaneously by searching the orientation and PC parameter space.

EBSD.refine_projection_center(xmap, ...[, ...])

Refine projection centers by searching the parameter space using fixed orientations.

EBSD.remove_dynamic_background([operation, ...])

Remove the dynamic background.

EBSD.remove_static_background([operation, ...])

Remove the static background.

EBSD.rescale_intensity([relative, in_range, ...])

Rescale image intensities.

EBSD.save([filename, overwrite, extension])

Write the signal to file in the specified format.


Set detector pixel size in microns.

EBSD.set_scan_calibration([step_x, step_y])

Set the step size in microns.

Examples using EBSD#

Pattern binning

Pattern binning

Static background correction

Static background correction

Dynamic background correction

Dynamic background correction

Neighbour pattern averaging

Neighbour pattern averaging

Adaptive histogram equalization

Adaptive histogram equalization

Crop navigation axes

Crop navigation axes

Crop signal axes

Crop signal axes

Extract patterns from a grid

Extract patterns from a grid