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.

Static, Dynamic

Out:

[[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% Completed | 485.02 us
[########################################] | 100% Completed | 103.05 ms

[                                        ] | 0% Completed | 132.00 us
[########################################] | 100% Completed | 100.46 ms

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)

# Keep original for comparison and remove static and dynamic background
s.remove_static_background()
s2 = s.deepcopy()
s2.remove_dynamic_background()

# 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])
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)
fig.tight_layout()

Total running time of the script: ( 0 minutes 2.753 seconds)

Estimated memory usage: 19 MB

Gallery generated by Sphinx-Gallery