localPDF API リファレンス
この文書は、実験データから PDF を計算する localPDF
本体について、利用者が直接使用する API を一覧化したものである。
構造モデルから S(Q) を計算する追加機能は本体 API
から分離し、SQ_EXPERIMENTAL.md に記載する。
Config
Config(json_path=None)
Web 版 config JSON を読み込む。
config = Config("config.json")
主な公開属性:
属性 型 内容
bg_factor float background factor
atomList List[int] 原子番号
atomConc List[float] 組成
energy_keV float X-ray energy
density float density
pol float polarization factor
recoil float recoil factor
norm_min float normalization Q min
norm_max float normalization Q max
r_max float r max
dr float delta-r
r_cut float cutoff distance
LocalPDF
生成
LocalPDF(config=None, json_path=None)
pdf = LocalPDF(config=config)
または、
pdf = LocalPDF(json_path="config.json")
config
保持している Config を返す property。
pdf
内部の計算コアを返す property。通常利用では直接操作せず、デバッグ・内部調査用として扱う。
入力 API
load_xy(xy_path)
実験データを読み込む。
pdf.load_xy("data.dat")
入力は2列。
two-theta intensity
load_bg_xy(bg_xy_path, factor=None)
background を読み込む。
pdf.load_bg_xy("bg.dat", factor=1.0)
計算 API
run_all()
標準計算一式を実行する。
Web 版計算コアの All_run() に対応する。
run_bft()
r cutoff、back Fourier transform、再計算、Lorch 処理を実行する。
通常は、
pdf.run_all()
pdf.run_bft()
の順で使用する。
run_sq()
S(Q), i(Q) 関連の計算制御用メソッド。
現状の内部依存関係を理解したうえで使用する低レベル寄り API
として扱い、通常の標準処理では run_all() を使用する。
run_gr()
補間後に G(r) FFT を実行する。
標準処理の一部分だけを再実行したい場合の制御 API。
個別計算 API
以下は通常の一括計算より低レベルの API。
calc_form()
atomic form factor 計算。
calc_comp()
Compton 成分計算。
calc_gr_fft()
G(r) FFT 計算。
calc_gr_raw()
raw G(r) 計算。
通常利用では run_all() / run_bft()
を優先し、計算過程を個別制御する必要がある場合に使用する。
結果取得 API
get_iq()
q, iq = pdf.get_iq()
i(Q) を返す。
get_sq()
q, sq = pdf.get_sq()
S(Q) を返す。
get_gr()
r, gr = pdf.get_gr()
G(r) を返す。
get_gr_lorch()
r, gr = pdf.get_gr_lorch()
Lorch 処理後の G(r) を返す。
get_ggr()
r, ggr = pdf.get_ggr()
g(r) 系内部結果を返す。
get_ggr_lorch()
r, ggr = pdf.get_ggr_lorch()
Lorch 処理後の g(r) 系結果を返す。
get_intensity_components()
q, intensity, form_compton = pdf.get_intensity_components()
規格化強度と form factor + Compton の比較に使う。
強度処理確認 API
get_intensity_raw()
入力した raw intensity。
get_intensity_bg()
係数適用前 background。
get_intensity_bg_scaled()
background factor 適用後 background。
get_intensity_subtracted()
background subtraction 後、polarization correction 前。
get_intensity_corrected()
background subtraction + polarization correction 後。
get_intensity_corrected_normalized()
規格化後強度。
get_formfactor_components()
q, f2sum, comp_total, sum_comp_total = pdf.get_formfactor_components()
<f²>、Compton、両者の合計を返す。
保存 API
save_iq(filename="iq.dat")
i(Q) を2列ファイルとして保存。
save_sq(filename="sq.dat")
S(Q) を2列ファイルとして保存。
save_gr(filename="gr.dat")
G(r) を2列ファイルとして保存。
save_gr_lorch(filename="gr_lorch.dat")
Lorch 処理後 G(r) を2列ファイルとして保存。
LocalPDFPlot
LocalPDFPlot(local_pdf)
view = LocalPDFPlot(local_pdf=pdf)
表示 API
メソッド 内容
view_raw() raw intensity と background
view_sq() S(Q)/i(Q) 用 plot
view_iq_components() 規格化強度と form factor + Compton
view_gr() G(r)
view_gr_lorch() Lorch G(r)
view_all() 上記を grid 表示
注意: 現状の view_sq() は line
描画コードがコメントアウトされているため、S(Q)/i(Q)
の曲線は描画されない。
推奨 API と内部 API
通常利用で中心となる API:
Config
LocalPDF
LocalPDFPlot
LocalPDF.load_xy
LocalPDF.load_bg_xy
LocalPDF.run_all
LocalPDF.run_bft
LocalPDF.get_*
LocalPDF.save_*
必要時のみ使用する計算制御 API:
run_sq
run_gr
calc_form
calc_comp
calc_gr_fft
calc_gr_raw
内部実装調査用:
LocalPDF.pdf
Local_Calc_PDF_from_xy
webPDF.calc_pdf.Calc_PDF_from_xy