SEES Analysis

Contents

SEES Analysis#

Secondary Electron Energy Spectroscopy (SEES) analysis requires calibration parameters pixel_per_ev and peak_shift. The calibration analyzer needs to run first to obtain the calibration parameters. The base class SEESBase provides the basic Gaussian smoothing of the profile through the parameter sigma.

SEES_onset() finds the steepest profile rise and extrapolates the onset position in pixel coordinates.

SEESCalibration derives pixel_per_ev and peak_shift from a stack of readers with "Start Voltage" metadata.

SEESAnalyzer analyzes SEES profiles with the calibrated parameters. It converts profile pixels to kinetic energy, returns the surface potential, and can plot the profile with an optional onset fit overlay.

Example#

from pyleem.analysis.sees import SEESAnalyzer, SEESCalibration
from pyleem.reader import UViewReader, read_files
from pyleem.roi import LineROI

readers = read_files(
    ["sees_0.dat", "sees_1.dat", "sees_2.dat"],
    reader_cls=UViewReader,
)
roi = LineROI(src=(0, 0), dst=(0, 127), linewidth=1)

calibration = SEESCalibration(readers, roi=roi)
cal_result = calibration.analyze(sigma=0)
pixel_per_ev = cal_result["pixel_per_ev"]
peak_shift = cal_result["peak_shift"]

analyzer = SEESAnalyzer(
    [readers[0]],
    roi=roi,
    pixel_per_ev=pixel_per_ev,
    peak_shift=peak_shift,
    sigma=10,
)
result = analyzer.analyze_profile(index=0)
surface_potential = result["surface_potential"]

ax = analyzer.plot_profile(0, show_fit=True)