実際の手順¶
代表的な作業の流れを示します。各ツールの個別説明は各種ツールを参照してください。
基本的な流れ(同心円積分)¶
- 画像を読み込む: ファイル → 画像を読込(またはドラッグ&ドロップ)。
- 線源を設定: プロパティの Wave source で元素・遷移、または波長を設定します。
- 検出器条件を設定: Detector condition でカメラ長・画素サイズ・中心位置(おおよそ)・必要なら傾き φ, τ を設定します。
- 中心を検索: ツールバーの 中心位置 (Find Center) でビーム中心を自動検出します(探索範囲は Miscellaneous で設定)。
- スポットを除外: スポット除外 (Mask Spots) で単結晶反射などを除きます。必要なら マニュアル (Manual) で手動マスクします。
- 一次元化: 1次元化 (Get Profile) でプロファイルを取得します。保存・送信は After "Get Profile" タブで設定します(CSV 保存、PDIndexer 送信など)。
シーケンシャル画像では、5〜6 の前にシーケンシャルでフレームを選びます。方位角ごとの解析を行う場合は Integral Property の Radial integration を使います。
パラメータ決定:標準試料を用いた幾何校正(ダブルカセット法)¶
カメラ長や波長が未知のとき、標準物質(既定は CeO2 など)の回折リングから幾何パラメータを最適化します。パラメータ校正(幾何学的)を使います。
- Primary 画像(標準試料、あるカメラ長)を Open で読み込み、中心を検出して Get Profile でピークを表示します。
- Profile View 上で回折線マーカーをドラッグすると、カメラ長の見積もりが自動で更新されます。
- Secondary 画像(同じ標準試料、別のカメラ長)を同様に読み込み、Primary とのカメラ長の差を入力します。
- Peak List で、両方の画像に現れるピークの d 値を選びます(各画像 1 本以上、できれば 3 本以上)。
- Refinement Option で最適化するパラメータ(波長・フィルム距離・傾き・ピクセルサイズ・ピクセル歪み)を選びます。
- Refine! を実行し、残差が安定したら、最適化結果をメインフォームへ反映します。
Note
2 枚の画像(ダブルカセット)を使うと、カメラ長と波長を分離して決めやすくなります。
パラメータ決定:力ずく最適化(任意の試料)¶
幾何学的最適化が収束しにくい場合は、パラメータ校正(力ずく)でカメラ長と波長を総当たり探索します。スクリーンショット付きの詳しい手順はパラメータ校正(力ずく)を参照してください。
- Primary・Secondary 画像(リングが共通して見える、カメラ長の異なる 2 枚)を読み込みます。
- メインフォームで中心位置をおおよそ合わせます(Find Center が役立ちます)。
- カメラ長・波長などの探索範囲(最小・最大・ステップ)を入力します。未知のパラメータ(ピクセルサイズ・傾き)は最初はオフにしておきます。
- Integral Region はスリット(Rectangle)モードで帯幅を狭くするとノイズを抑えられます。
- 探索を開始し、残差が最小になった組み合わせをメインフォームへ反映します。
自動処理(Auto Procedure)¶
実験中などに、フォルダへ届く画像を自動で処理します。詳細は各種ツールを参照してください。
- 新しい画像を自動で読み込むを有効にし、設定 (Set) で監視フォルダを選びます。
- 必要なら ナンバーマッチング(ファイル名末尾の番号)や キーワード でファイルを絞り込みます。
- 読み込まれたら以下を実行を有効にし、リストから 自動コントラスト / 中心位置検索 / スポット検出 / 一次元化 / マクロ実行 を選びます。
- 監視を開始すると、条件に合う画像が届くたびに一連の処理が自動実行されます。
マクロを用いた手順(Python ベース)¶
繰り返しや条件分岐を含む処理は、マクロで記述できます。同梱のサンプルマクロが出発点になります。
- 画像を読み込み、線源・検出器(中心・カメラ長・画素)を設定して表示を合わせる
- 同心円積分の条件(開始・終了・ステップ・単位)を設定して一次元化し、CSV 保存する
- 複数ファイルを一括処理し、各画像の隣に CSV を保存する
- マルチフレーム画像をフレームごとに処理する
- デバイ環を N 個の扇形に分割して方位角依存を解析する
- マスク(全消去 → スポットマスク → ビームストップ部のマスク → マスク保存)して一次元化する
- 円周方向(cake)積分で方位角 vs 強度を出力する
- クリップボード送信を有効にして一次元化し、PDIndexer の名前付きマクロ(例: ピークフィット)を呼ぶ
ユーザーが書いたマクロは保存して名前で呼び出せ、Auto Procedure からも実行できます。