optimize_peakfit_mf プログラム仕様
optimize_peakfit_mfモジュール
- 概要:
ピークフィッティングの最適化に関連する関数を提供するモジュールです。
- 詳細説明:
外部コマンド実行の設定、パラメータの初期化、フィッティングプロセスのセットアップ、 データの読み込み、関数値の計算など、一連のフィッティングワークフローをサポートします。 このモジュールは、主にtklibライブラリのtkFit_mxyクラスやtkoptimize_flexモジュール、 およびpeakfitモジュールと連携して動作します。
- 関連リンク:
- optimize.optimize_peakfit.optimize_peakfit_mf.cal_ylist(app, xk_all, x_list, fit=None, run=True, print_level=1)[ソース]
フィッティングパラメータと入力XデータからモデルのYデータを計算します。
- 詳細説明:
peakfit`モジュール (`omodel) の`cal_ylist`関数を呼び出し、 与えられたフィッティングパラメータ`xk_all`とXデータ`x_list`を用いて、 モデルが予測するYデータを計算します。この関数は、フィッティングプロセス中に モデルの出力値を生成するために使用されます。
- パラメータ:
- 戻り値:
計算されたYデータのリスト。
- 戻り値の型:
list[numpy.ndarray]
- optimize.optimize_peakfit.optimize_peakfit_mf.get_cmd(app, xk_all, fit)[ソース]
外部スクリプト実行のためのコマンドライン文字列を生成します。
- 詳細説明:
app.config_cmd`に設定された外部スクリプト(`config.script)のパスとモード、 そしてフィッティングに関連するファイルパスとフィッティングパラメータ`xk_all`を 結合して実行可能なコマンドライン文字列を構築します。
- optimize.optimize_peakfit.optimize_peakfit_mf.init_fit(app, cfg, print_level=1)[ソース]
フィッティングプロセスで使用する`tkFit_mxy`オブジェクトを初期化および設定します。
- 詳細説明:
アプリケーション設定 (app), 全体設定 (cfg) を基に、フィッティングメソッド、 許容誤差、反復回数などの条件を設定し、フィッティングパラメータをファイルから読み込みます。 また、tkFit_mxy`オブジェクトが呼び出す各種コールバック関数 (`cal_ylist, minimize_func, callback, cal_penalty, cal_fmin, save_parameter_files) を定義し、グラフ関連の変数も設定します。
- パラメータ:
app (object) -- アプリケーションのグローバル設定を保持するオブジェクト。
cfg (tklib.tkparams.tkParams) -- 全体設定を保持する`tkParams`オブジェクト。
print_level (int) -- (Optional) ログ出力レベル。デフォルトは1。
- 戻り値:
初期化および設定されたフィッティングオブジェクト。
- 戻り値の型:
tklib.tksci.tkFit_mxy_flex.tkFit_mxy
- optimize.optimize_peakfit.optimize_peakfit_mf.initialize(app)[ソース]
アプリケーションの基本設定を初期化します。
- 詳細説明:
tkParams`オブジェクトを`app.cfg`に設定し、デフォルトのコンフィグレーションファイル (`arg_config_file)やフィッティング設定ファイル (fit_config_file) を読み込みます。 グラフのデフォルトサイズなどもここで設定されます。
- パラメータ:
app (object) -- アプリケーションのグローバル設定を保持するオブジェクト。
- 戻り値:
初期化された設定オブジェクト`app.cfg`。
- 戻り値の型:
- optimize.optimize_peakfit.optimize_peakfit_mf.initialize_minimize_func(app)[ソース]
外部コマンド実行に必要なグローバル設定を初期化します。
- 詳細説明:
app`オブジェクトから設定を読み込み、`app.config_cmd`に設定します。 主に外部スクリプト(`config.script)のパスなどを設定します。 現在はプラットフォームに依存しない設定がハードコードされていますが、 コメントアウトされた部分にはOSごとの`atlas_cmd`などの設定例があります。
- パラメータ:
app (object) -- アプリケーションのグローバル設定を保持するオブジェクト。
- 戻り値:
なし
- 戻り値の型:
None
- optimize.optimize_peakfit.optimize_peakfit_mf.read_input_data(app, infile, cfg=None)[ソース]
入力データファイルからX, Yデータおよび関連情報を読み込みます。
- 詳細説明:
peakfit`モジュール (`omodel) の`read_input_data`関数を呼び出して、 指定された入力ファイルから実験データを読み込みます。 読み込みに失敗した場合は、全てNoneを返します。
- パラメータ:
app (object) -- アプリケーションのグローバル設定を保持するオブジェクト。
infile (str) -- 入力データファイルのパス。
cfg (tklib.tkparams.tkParams or None) -- (Optional) 設定を保持する`tkParams`オブジェクト。デフォルトはNone。
- 戻り値:
(xlabels, ylabels, xlist, ylist, wlist)`のタプル。データ読み込みに失敗した場合は全てNone。 * `xlabels (list[str]): X軸のラベルリスト。 * ylabels (list[str]): Y軸のラベルリスト。 * xlist (list[numpy.ndarray]): Xデータのリスト。 * ylist (list[numpy.ndarray]): Yデータのリスト。 * wlist (list[numpy.ndarray]): 重みデータのリスト。
- 戻り値の型:
tuple[list[str], list[str], list[numpy.ndarray], list[numpy.ndarray], list[numpy.ndarray]] or tuple[None, None, None, None, None]
- optimize.optimize_peakfit.optimize_peakfit_mf.read_parameters(path, cfg)[ソース]
指定されたパスから、フィッティングパラメータ以外の設定を読み込みます。
- 詳細説明:
cfg`オブジェクトに、特定のセクション (`Preferences, Flags, Files, Scan, Condition) の パラメータをINIファイルから読み込みます。 "Parameters"セクションは読み込まず、一部のキーは無視されます。
- パラメータ:
path (str) -- パラメータを読み込むINIファイルのパス。
cfg (tklib.tkparams.tkParams) -- 読み込んだ設定を格納する`tkParams`オブジェクト。
- 戻り値:
なし
- 戻り値の型:
None
- optimize.optimize_peakfit.optimize_peakfit_mf.save_parameter_files(config_path, fitparam_path, fit, cfg, values=None, print_level=1)[ソース]
設定ファイルとフィッティングパラメータファイルを保存します。
- 詳細説明:
汎用設定 (cfg) とフィッティング特有のパラメータ (fit) を、 指定されたパスにINI形式で保存します。 設定は複数のセクション("Preferences", "Files", "Data", "Flags", "Condition", "Scan")に 分けて保存され、特定のキーは除外またはグループ化されます。 フィッティングパラメータは"Parameters"セクションに保存されます。
- パラメータ:
fit (object) -- フィッティングパラメータを保持する`tkFit_mxy`または類似のオブジェクト。
cfg (tklib.tkparams.tkParams) -- 全体設定を保持する`tkParams`オブジェクト。
values (list[float] or None) -- (Optional) フィッティングパラメータとして保存する値のリスト。Noneの場合は`fit`オブジェクトから取得されます。
print_level (int) -- (Optional) ログ出力レベル。0で出力なし、1で主要な出力。デフォルトは1。
- 戻り値:
なし
- 戻り値の型:
None