peaksearch プログラム仕様
ピーク検出とデータ平滑化を行うモジュール。
このモジュールは、入力データに対してSavitzky-Golayフィルタによる平滑化と微分計算を行い、 指定された閾値と条件に基づいてピークを自動的に検出します。 検出されたピークは、元のデータや処理された微分データとともにグラフにプロットされます。
関連リンク: peaksearch.py 技術ドキュメント
- XRF.peaksearch.exec_peak_search(app)[ソース]
ピーク検出処理全体を実行し、結果をプロットします。
アプリケーションパラメータを検証し、入力データを読み込みます。 `peak_search`関数を呼び出してピークを検出し、その結果を視覚化します。 検出されたピークは、元のデータ、平滑化されたデータ、および各種微分データと共にプロットされます。 実行ログは指定されたファイルにリダイレクトされます。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- `tkApplication`のインスタンス。
- 戻り値:
なし。
- 戻り値の型:
None
- XRF.peaksearch.initialize(app)[ソース]
アプリケーションのパラメータを初期化します。
`tkParams`オブジェクトを作成し、デフォルトのファイル名、X/Y軸の範囲、ラベル、 Savitzky-Golayフィルタのパラメータ、閾値、プロットサイズなどを設定します。
- パラメータ:
app (tklib.tkapplication.tkApplication) -- `tkApplication`のインスタンス。
- 戻り値:
なし。
- 戻り値の型:
None
- XRF.peaksearch.main(app)[ソース]
アプリケーションの主要な実行フローを制御します。
`exec_peak_search`関数を呼び出し、ピーク検出と結果のプロットを実行します。
- パラメータ:
app (tklib.tkapplication.tkapplication) -- `tkApplication`のインスタンス。
- 戻り値:
なし。
- 戻り値の型:
None
- XRF.peaksearch.peak_search(x, y, nsmooth, norder, threshold, ydiff1_threshold, is_print=False)[ソース]
与えられたデータに対してピーク検出を実行します。
Savitzky-Golayフィルタを用いてデータを平滑化し、1次、2次、3次微分を計算します。 その後、3次微分のゼロ交差といくつかの閾値条件に基づいてピークを特定します。
- パラメータ:
x (list or numpy.ndarray) -- X軸のデータ配列。
y (list or numpy.ndarray) -- Y軸のデータ配列。
nsmooth (int) -- Savitzky-Golayフィルタのウィンドウサイズ(奇数)。
norder (int) -- Savitzky-Golayフィルタの多項式の次数。
threshold (float) -- ピークとみなすY値の最小閾値。
ydiff1_threshold (float) -- 1次微分とY値の比率に対する閾値。この値を超えるとピークとみなされない。
is_print (bool, optional) -- ピーク検出の過程を標準出力に表示するかどうか。デフォルトは`False`。
- 戻り値:
ピークのリスト(インデックス、X値、幅)と、平滑化されたYデータ、微分データ、閾値情報を含む辞書。
- 戻り値の型: