XRD_GUI_lib プログラム仕様

XRD_GUI_libモジュール

概要: XRD GUIアプリケーションのコア機能を提供するライブラリ。 詳細説明:

このモジュールは、X線回折(XRD)データを読み込み、解析し、 結晶構造情報(CIFファイルなど)から理論的な回折パターンを生成するための 主要なインターフェースを提供します。 ファイルフィルタープラグインの動的なロードと適用を通じて、 多様なデータ形式に対応します。

関連リンク: XRD_GUI_lib.py 技術ドキュメント

XRD.XRD_GUI.XRD_GUI_lib.error_message(message: str)

概要: エラーメッセージをコンソールに出力する。

詳細説明:

指定されたエラーメッセージを整形し、標準出力に表示する。 これは主に、アプリケーションの初期設定やクリティカルな問題が発生した際に ユーザーに情報を提供するために使用される。

パラメータ:

message (str) -- 表示するエラーメッセージの文字列。

戻り値:

None

戻り値の型:

None

XRD.XRD_GUI.XRD_GUI_lib.get_supported_file_filters() str

概要: ロードされたプラグインがサポートするファイル形式のフィルター文字列を生成する。

詳細説明:

アプリケーションにロードされているすべてのデータフィルタープラグインに対し、 それぞれが対応するファイルタイプの説明と拡張子を取得する。 これらの情報をもとに、ファイル選択ダイアログなどで使用できる 統一されたフィルター文字列(例: "CIFファイル (.cif);;テキストファイル (.txt);;全てのファイル (.)") を生成して返す。重複するフィルターは排除され、プラグインのロード順に基づいた一意なフィルターのみが提供される。

戻り値:

サポートされるファイルタイプを記述したセミコロン区切りのフィルター文字列。 プラグインがロードされていない場合は、デフォルトのフィルター文字列を返す。

戻り値の型:

str

XRD.XRD_GUI.XRD_GUI_lib.main()

概要: モジュールのテスト実行エントリポイント。

詳細説明:

XRD_GUI_lib.py が直接Pythonインタープリタで実行された場合に呼び出される関数。 サンプルデータファイルの読み込みと解析のテストを行うためのコードが含まれている。 現在はコメントアウトされたテストパスが含まれており、必要に応じてパスを修正して実行できる。

戻り値:

None

戻り値の型:

None

XRD.XRD_GUI.XRD_GUI_lib.parse_reference(path: str, xmin: float = None, xmax: float = None, xstep: float = None, wavelength: str = None, normalize: bool = True)

概要: CIFファイルなどの参照ファイルから理論的なXRD回折ピーク情報を生成する。

詳細説明:

指定された参照ファイルパス(例: CIFファイル)を読み込み、 X線回折シミュレーションに基づいて理論的な回折ピークの位置、強度、 および対応するHKL指数を抽出する。 2θ範囲、X線波長、強度の正規化(0-1の範囲)をオプションで設定できる。 これは主にGUIで参照パターンを表示するために使用される。

パラメータ:
  • path (str) -- 読み込む参照ファイルのパス(例: CIFファイル)。

  • xmin (float or None) -- 2θの最小値。Noneの場合は現在の設定を使用。

  • xmax (float or None) -- 2θの最大値。Noneの場合は現在の設定を使用。

  • xstep (float or None) -- 2θのステップ幅。Noneの場合は現在の設定を使用。

  • wavelength (str or None) -- 使用するX線波長の名称(例: "CuKα1 (1.5406 Å)")。Noneの場合は現在の設定を使用。

  • normalize (bool) -- 強度を0から1の範囲で正規化するかどうか。デフォルトはTrue。

戻り値:

参照パターンに関する情報。 - reference_name (str): 参照元のファイル名(拡張子なし)。 - positions (list[float]): 回折ピークの2θ(またはQ2)位置のリスト。 - intensities (list[float]): 回折ピークの相対強度のリスト。正規化されている場合がある。 - hkls (list[str]): 各ピークに対応するHKL指数の文字列リスト(例: "(1 0 0)")。 - raw_indices (list[dict]): 各ピークに対応するHKL指数の生の辞書リスト(例: {'h': 1, 'k': 0, 'l': 0, 'i': -1})。

戻り値の型:

tuple[str, list, list, list, list]

例外:

ValueError -- 対応するファイルタイプを見つけられない場合、またはファイルの読み込みに失敗した場合。

XRD.XRD_GUI.XRD_GUI_lib.parse_xrd(path: str)

概要: 指定されたパスのXRD実験データを読み込み、解析する。

詳細説明:

filter_dir で指定されたディレクトリからロードされたフィルターモジュールを走査し、 入力ファイルのタイプに合致する最初のモジュールを使用してデータを読み込む。 読み込んだデータはサンプル名、2θ値(またはQ2値)、および強度値のNumPy配列として返す。

パラメータ:

path (str) -- 読み込むXRDデータファイルのパス。

戻り値:

サンプル名、2θ(またはQ2)値の配列、観測強度値の配列。 - sample_name (str): サンプル名。 - xQ2_infile (numpy.ndarray): 2θまたはQ2値のNumPy配列。 - yobs_infile (numpy.ndarray): 観測強度値のNumPy配列。

戻り値の型:

tuple[str, numpy.ndarray, numpy.ndarray]

例外:

ValueError -- 対応するファイルタイプを見つけられない場合、またはファイルの読み込みに失敗した場合。

XRD.XRD_GUI.XRD_GUI_lib.set_two_theta_range(xmin=None, xmax=None, xstep=None)

概要: 2θ範囲とステップ幅を設定する。

詳細説明:

GUIアプリケーションで使用される2θ(回折角)の最小値、最大値、 およびステップ幅をグローバルな設定パラメータ cparams に設定する。 各引数に None が指定された場合、そのパラメータは変更されない。 入力値は浮動小数点数として解釈される。

パラメータ:
  • xmin (float or None) -- 2θの最小値。Noneの場合は変更しない。

  • xmax (float or None) -- 2θの最大値。Noneの場合は変更しない。

  • xstep (float or None) -- 2θのステップ幅。Noneの場合は変更しない。

戻り値:

None

戻り値の型:

None

XRD.XRD_GUI.XRD_GUI_lib.set_wavelength(wavelength=None)

概要: 使用するX線波長を設定する。

詳細説明:

GUIアプリケーションで使用されるX線の波長をグローバルな設定パラメータ cparams に設定する。None が指定された場合、波長は変更されない。 入力値は文字列として格納される。

パラメータ:

wavelength (str or None) -- 設定するX線波長の名称(例: "CuKa")。Noneの場合は変更しない。

戻り値:

None

戻り値の型:

None