SCRIPTS

快捷脚本工坊

在 Athena 里点完一遍之后,把重复劳动交给 Larch。下面可以勾选模块生成脚本,或打开写好的批处理。

拼装器

依赖:Python 3.10+、xraylarch、numpy。把 PRJ 改成你的工程路径。

模块
edgebook_xanes.py
#!/usr/bin/env python3
# generated by NearEdge script workshop
PRJ = "sample.prj"

from larch.io import read_athena
proj = read_athena(PRJ)
groups = proj._athena_groups

from larch.xafs import find_e0
from larch.xafs import pre_edge
import numpy as np
from pathlib import Path

for name, g in groups.items():
    print("processing", name)
    # 自动找 E0
    e0 = find_e0(g.energy, g.mu)

    # 归一化
    pre_edge(g, e0=e0, pre1=-150, pre2=-30, norm1=150, norm2=800, nvict=2)

    # 展平后沿
    e = np.asarray(g.energy)
    flat = np.asarray(g.flat)

    # 导出 CSV
    Path("export").mkdir(exist_ok=True)
    np.savetxt(f"export/{name}.csv", np.column_stack([e, flat]),
               delimiter=",", header="energy_eV,mu", comments="")

脚本库