Note
Go to the end to download the full example code.
Dynamic background correction#
This example shows how to remove the dynamic background of an EBSD pattern using
remove_dynamic_background().
More details are given in the pattern processing tutorial.
Imports.
import matplotlib.pyplot as plt
import kikuchipy as kp
Load low resolution Ni patterns and check that the static background pattern is stored with the signal
s = kp.data.nickel_ebsd_small()
print(s.static_background)
s.remove_static_background()
s2 = s.remove_dynamic_background(inplace=False)
[[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]]
0%| | 0/2 [00:00<?, ?it/s]
100%|██████████| 2/2 [00:00<00:00, 2071.26it/s]
0%| | 0/2 [00:00<?, ?it/s]
100%|██████████| 2/2 [00:00<00:00, 1109.60it/s]
Plot pattern before and after correction and the intensity histograms
patterns = [s.inav[0, 0].data, s2.inav[0, 0].data]
fig, axes = plt.subplots(2, 2, height_ratios=[3, 1.5], layout="tight")
for ax, pattern, title in zip(axes[0], patterns, ["Static", "Dynamic"]):
ax.imshow(pattern, cmap="gray")
ax.set_title(title)
ax.axis("off")
for ax, pattern in zip(axes[1], patterns):
ax.hist(pattern.ravel(), bins=100)

Total running time of the script: (0 minutes 2.608 seconds)
Estimated memory usage: 802 MB