概要¶
IPAnalyzer は、イメージングプレート (IP) や CCD/CMOS 検出器で撮影したデバイ–シェラー環を、高精度かつ高速に一次元回折プロファイルへ変換することを目的としたソフトウェアです。設計や機能は、産業技術総合研究所の藤久裕司氏が開発された PIP を参考にしています。
主な特徴は次のとおりです。
- 多様な画像形式に対応(FujiBAS2000/2500、R-AXIS4/5、ITEX、Bruker CCD、IP Display、IPAimage、Fuji FDL、Rayonix、Mar research、Perkin Elmer、ADSC、RadIcon、一般的な画像形式)
- X 線・電子線・中性子線の各線源に対応
- PDIndexer との連携
- 測定パラメータの半自動解析機能
動作環境とインストール¶
動作環境¶
- OS: Windows(Windows 11 を推奨)
- 必須ランタイム: .NET デスクトップランタイム 10.0
- 推奨メモリ: 16 GB 以上
- 推奨 CPU: 8 コア以上
ソフト内部ではマルチスレッド化した演算を多用するため、コア数の多い CPU ほど快適に動作します。読み込んだ画像の強度は、プログラム内部では倍精度浮動小数点数として保持します。
ライセンスは MIT ライセンスです。
インストール¶
- あらかじめ .NET デスクトップランタイム 10.0 をインストールしておきます。
- GitHub の releases ページ から
IPAnalyzerSetup.msiをダウンロードします。 IPAnalyzerSetup.msiを実行してインストールします。
軸の向き・IP の傾き・画素形状¶
本ソフトでは右手系の座標系を採用し、原点と各軸の方向を次のように定義します。
- エックス線あるいは電子線が IP と交わった点(ダイレクトスポット)の位置を原点 (0, 0, 0) とし、Z 軸はエックス線の進行方向に一致させます。
- サンプルサイズを無限小と考えたときの、サンプル位置と原点との距離をカメラ長 (Camera Length, CL) と定義します。サンプルの座標は \((0,\ 0,\ -\mathrm{CL})\) になります。
- X 軸は、IP が傾いていないときの IP 読み取りレーザーの走査方向に一致させます。したがって Y 軸は画面下向きになります。
- IP の傾きは、原点を通り XY 平面上にある直線を軸とした回転で表します。すなわち、X 軸とのなす角が \( \varphi \) の直線まわりに \( \tau \) だけ回転した状態を考えます。
- 画素の形状は PixSizeX, PixSizeY, \( \xi \) で表される平行四辺形として扱います。\( \xi \) が 0 でないときは、IP 読み取りレーザーのスキャン開始点の位置にずれがあることを意味します。本ソフトでは、このずれの量は Y 軸方向に対して一定であると仮定して計算します。
カメラ長・\( \varphi \)・\( \tau \)・画素サイズ・\( \xi \) は、プロパティウィンドウの IP Condition で設定します(2. プロパティウィンドウ を参照)。
(WIN)PIP との関係¶
IPAnalyzer では、X 軸(IP 画像の右方向)を時計回りに \( \varphi \) だけ回した軸を、さらに \( \tau \) だけ回します。一方 PIP では、Y 軸(IP 画像の下方向)を反時計回りに \( \beta \) だけ回した軸を、さらに \( \Phi \) だけ回します。したがって、PIP の \((\beta,\ \Phi)\) を IPAnalyzer の \((\varphi,\ \tau)\) に変換するには、\((\beta,\ \Phi) \rightarrow (270^\circ - \beta,\ \Phi)\) とします。
ピクセル強度の積算方法¶
一次元化における最大の問題は、一次元化の際の角度ステップ間隔が画素間隔(画素サイズ)より小さい場合に、複数のステップにまたがる画素の強度を各ステップへどのように配分するか、という点です。
本ソフトでは、ステップを区切る線と画素との交点を計算し、各ステップに含まれる画素の面積を求めて強度を配分します。IP の傾きや画素形状の歪みによって画素が正確な正方形でない場合に備え、画素の四隅の座標を逐次計算して四角形の形状を求めています。この方法により、原理的にはステップをどれだけ小さくしても、画素強度は各ステップへ滑らかに配分されます。
このアルゴリズムは、通常の角度–強度積算 (Concentric Integration) だけでなく、円周に沿った積算 (Radial Integration) や切り開き展開画像 (Unrolled Image) の演算にも使用しています。