新規購入お見積
アップグレードお見積

粉末X線回折実験に IGOR Pro を活用

名古屋工業大学
先進セラミックス研究センター

井田 隆 准教授

特に高速フーリエ変換/逆フーリエ変換の機能が強力なので、IGOR マクロ言語を使えばコーディングが非常に楽になるということを実感しました。

研究されている内容について教えてください

つくば高エネルギー加速器研究機構放射光科学研究施設 (KEK-PF) の粉末回折ビームラインで撮影した画像です。この実験設備の制御に IGOR Pro のマクロを使っています。

X線回折という現象を利用して、物質や実用的な材料の構造評価をするための方法について研究しています。具体的な作業は、理論モデルの構築、計算アルゴリズムの開発、計算機シミュレーション、方法論検証実験のための装置開発、試料作製、測定、実験データの解析などです。最近は、金属やセラミックスなど実用的な材料の中の結晶の粒の大きさを数値化するための測定装置や解析法を開発する研究に主に取り組んでいます。

X線回折という現象には理解しにくく難しい面もあるのですが、結晶性物質の構造を正確に調べることが目的の場合、これより優れた方法は今のところ存在しません。

最近の市販のX線回折装置は多くの操作が自動化され、安全性も高く、通常の測定はそれほど難しくなくなりました。基本的には同じ方法がかなり長い間使われているので、多くのデータやノウハウも蓄積され、信頼性の高い実験技術となっています。しかし計測制御の技術も計算機技術も進歩しているので、伝統的な手法がやや時代遅れになってきている面もあります。実験装置を数学的にモデル化したり、装置の特性を精密な実験で評価することにより、測定や解析の精度や感度、信頼性をさらに向上する事が要求されるようになっています。

KEK-PF の検出器6連装型粉末回折計の画像。6個の検出器で同時に測定できるので測定の効率は良いのですが、すべての検出器のそれぞれを独立に調整する必要があるので、マクロによる自動調整が役に立ちます。

 

研究の中で、どのようなデータを IGOR Pro で扱っていますか?また、その用途は?

主に粉末X線回折実験で得られるデータを IGOR で扱っています。観測される回折ピーク図形の形状を分析したり、装置の特性評価、精密格子定数評価、観測強度の統計解析などに使います。既に提案されている理論モデルや、自分で考案したモデル、計算法などの妥当性を検証することが主な目的です。

私の実験室と、つくば高エネルギー加速器研究機構の軌道放射光施設の実験ではX線回折装置の測定制御に IGOR Pro を使っています。特に軌道放射光施設では、光学素子の位置や角度の自動調整や、長時間の自動測定、結晶構造解析のためのデータの前処理にも IGOR Pro を使っています。

KEK-PF 粉末回折計の測定制御マクロ。必要な操作はすべて GUI で行えるようになっています。

 

測定試料としては固形物を細かく粉砕して粉末状にしたものや、平板状に加工された焼結体を扱います。回折角(入射X線の進行方向と回折されたX線の進行方向のなす角度)を変化させたときの回折X線の強度の変化をデータとして記録するのが普通の実験のしかたですが、試料を少しずつ回転させたときの強度の変化を記録する実験をすることもあります。

KEK-PF 粉末回折計のデータ処理をするためのマクロを含む IGOR ファイル。検出器ごとの特性や光学収差を補正します。

 

IGOR Pro を使い始めたきっかけは?

兵庫県の姫路工業大学(現在の兵庫県立大学)理学部に助手として勤務していた時期に、研究室の教授が持っていた IGOR Pro を譲ってもらったのが使うようになったきっかけです。当時から物理化学系の Mac ユーザーに IGOR の評判は高かったので、購入はしていたのだけれどあまり使われていなかったようです。私自身も譲り受けてからしばらくは使い込むほどではありませんでした。

IGOR Pro を使うようになったことにはいくつかのきっかけがありますが、ユーザー定義関数による非線形最小二乗フィッティングの経過がアニメーション表示されることは大きかったと思います。自分が苦労して導いた複雑な数式で表される計算曲線が、画面上で移動や変形をしながら実験曲線に近づいて行き、ぴったりと一致した様子を見たときは快感をおぼえました。

また、粉末X線回折の実験データから装置によるぼやけの影響を除去するために、データの補間と高速フーリエ変換を使うのですが、IGOR Pro には3次スプライン補間も付いていますし、特に高速フーリエ変換/逆フーリエ変換の機能が強力なので、IGOR マクロ言語を使えばコーディングが非常に楽になるということを実感しました。

 

IGOR Pro の便利な機能を教えてください。

IGOR Pro 6

IGOR のマクロ機能はバージョンアップごとに強力になっています。特に配列演算の機能が充実しているので、効率よくデータ処理プログラムを作成できます。

数値演算ライブラリが豊富なことも大きなメリットで、ベッセル関数などの特殊関数の計算も簡単です。最近搭載された「一般化された超幾何関数」を使えば数値積分で球形試料の吸収補正係数が簡単に求められます。ユーザー定義関数によるカーブフィッティング、3次スプライン補間、高速フーリエ変換の機能も充実しています。

XOP による機能拡張が提供されているので、簡単に計測制御に利用できます。市販の計測制御用拡張ボードの多くは、C/C++ 言語で制御できるようになっているので、IGOR とつなぐ部分だけ XOP で作れば IGOR から使えるようになります。装置に RS-232C インターフェースが付いている場合は、IGOR に標準で付属している VDT XOP を使えば良いだけです。

http が使えるのも助かります。軌道放射光実験では「ビームダンプ」と言って予期せず X 線ビームの供給が停止する場合があるのですが、私の作成した制御マクロでは、ビームダンプを検出したら http プロトコルで sendmail サーバーを呼び出して、ユーザーの携帯電話に電子メールで通知できる機能を付けています。

 

どのような研究者の方に勧められる製品ですか?

少しとっつきにくいところがあるのは間違いないと思いますが、使い慣れると非常に便利な道具になります。特に若い研究者にお勧めします。

 

「新しい粉末構造解析法サポートプログラム」の紹介をお願いします

粉末回折データから結晶構造を推定するためにはリートベルト法という方法が長い間使われてきました。この方法は構造モデルとピーク形状モデルから計算される回折強度図形を、実験データに最も良く合うように最小二乗フィッティングすることにより、モデルの含むパラメータの最適値を推定する方法です。

一見何も問題がないように見えますが、実は粉末X線回折データに最小二乗法を適用することには大きな問題があることが最近明らかになってきました。また、この問題は、「最小二乗法」という方法を捨てて、「最尤推定(さいゆうすいてい)」という方法を採用する事により解決できることがわかりました。

最尤推定を実現するためには数値計算の分野では「最適化」とよばれる計算をすれば良いのですが、最小二乗法に比べると少し「重い」計算になります。「新しい粉末構造解析法サポートプログラム」は、最小二乗計算と最適化計算を組み合わせる事で、効率良く最尤構造推定を行えるように開発した IGOR Pro のマクロです。

最小二乗計算には、物質・材料研究機構の泉富士夫特別研究員が開発したリートベルト解析プログラム RIETAN-FP を使います。

(インタビュー:2012 年12 月)

関連情報