DESP Analysis

Contents

DESP Analysis#

Diffuse Elastic Scattering Pattern (DESP) analysis requires the pattern radius to energy conversion parabola parameters. The calibration analyzer needs to run on standard sample to obtain the calibration parameters.

We can obtain the scattering energy and intensity from the pattern. The DESPAnalyzer can obtain the stack information from the sample measurements. The analyzer also profile image processing method and radius extraction method.

DESPCalibration derives the calibration parameters from a reader stack with "Start Voltage" metadata. Its analyze() method measures the DESP radius for each image, fits voltage as a parabola of radius, and returns the fitted values under "parabola_params".

DESPAnalyzer uses the calibrated parabola parameters to measure the disk center, disk radius, and electron energy for each image in the stack. It can annotate images with the detected disk and plot electron energy against the reader time intervals.

Example#

from pyleem.analysis.desp import DESPAnalyzer, DESPCalibration
from pyleem.reader import UViewReader, read_files

readers = read_files(
    ["desp_0.dat", "desp_1.dat", "desp_2.dat"],
    reader_cls=UViewReader,
)

calibration = DESPCalibration(readers)
cal_result = calibration.analyze(window=None)
parabola_params = cal_result["parabola_params"]

analyzer = DESPAnalyzer(readers, parabola_params=parabola_params)

radius = analyzer.radii_array[0]
energy = analyzer.energy_array[0]

# plot the image with the radius and energy annotated
ax = analyzer.plot_image(index=0, annotate=True)

# plot the energy vs. time
ax = analyzer.plot_energy()