GUIを考慮した汎用波形解析システムの開発

大野 隆, 梅野 千佳, 幡山 文一, 戸田 与志雄, 宮田 壽


Return

1 はじめに

科学計測における様々なシステムやパッケージソフトウエアの発展は科学計測の性質を大きく変えた。現在では、コンピュータ(以下、PC)を用いずに計測を行うことはほとんど不可能であろう。そして、ユーザーがよりスムーズに、それらの計測機器を使用するため GUI に優れたアプリケーションが開発されてきた[1, 2]。
GUI を強化することで、ユーザーは、データの取得、加工のプロセスについて考える時間を割くことができる。現在、GUI の中心は、高解像度グラフィックディスプレイ、マルチウィンドウ、メニュー、アイコン等のグラフィックオブジェクト、デスクトップメタファー、マウスコントロールである。これらグラフィックハードウエア・ソフトウエア両方の発展により、視覚的にユーザーとPC間のコミュニケーションがとれるようになった。
著者らは、種々の金属酸化物上での触媒反応について、主として赤外分光法を用いて研究してきた[3 - 9]。固体触媒表面やその上の吸着種の相互作用を赤外やラマン分光法を用いて研究する場合、触媒表面吸着種の弱い吸収バンドは確認しにくい。特にピークが重なっている場合、正確な情報を得ることは難しい。このような場合、コンピュータを用いた種々の波形解析を行わずに定量的なデータを得ることは極めて困難である。このため、宮田らはIR、ラマン、紫外、可視などの種々のスペクトルデータの波形処理を行うためのプログラムSP-DOSをMS-DOS上で開発し、応用してきた[10 - 14]。しかし、SP-DOS は MS-DOSによる様々な制約を受けてきた。特にメモリ上の制約(MS-DOSでは1MB)から扱えるデータ点数は最大4000点、さらに波形分離を行う際には最大で1000点以下にする必要があった。
最近では、種々の波形解析用のソフトウエアが開発・市販されており、かなりの程度の波形解析が可能である。しかし、それらのソフトの中身はいわゆるブラックボックスであり、データの解析がどのような理論に基づいているのか、どの程度の精度で行われているのか不明な場合が多く、信頼性に欠ける場合が多い。そこで著者らは、前述の SP-DOSをWindows環境下に移植し(SP-WIN)、最近の高性能のPCの機能を生かしたGUIに優れたシステムを開発したので報告する。

2 波形解析理論

波形解析によく用いられる非線型最適化の手法として、Simplex (SM)、Davidson-Fletcher-Powell、あるいは Gauss-Newton 法などがある。ここで述べる波形解析の主要な部分は、これらの非線型最適化の手法を用いて、ピークの重畳した原波形から、それらに含まれる成分ピークを推定し、波形分離することである。なんらかの方法で成分ピークの数を算出し、原波形と成分ピークの合成波形との残差2乗和を最小にするようにピークパラメータに修正を加える。原波形の波形分離は、成分ピーク数の推定を含むピークパラメータの算出、および非線型最適化による波形適合の2つに大きく分けることができる。
初期ピークパラメータの決定: ピークの数と初期ピークパラメータの決定方法として、原波形の2次微分および3次微分による方法を取り上げた。初期ピークパラメータの決定の前に、差スペクトル等でバックグラウンドの適切な前処理を行う必要がある。ピークを表すモデル関数として、ガウス関数とローレンツ関数を用いた。ピークの対称性が悪い場合にはローレンツ関数とガウス関数の複合関数を用いた方がよいが、今回はどちらか一方を選択し、用いることにした。
これら二つの関数を表すのに、いずれの場合も、3つのパラメータ(ピーク極大の位置、ピーク極大での強度、ピークの半値半幅)を必要とする。ピークの高さをPh、半値半幅をHw、ピーク極大の位置をWmとすると、jの位置でのガウス関数 [G(j)] および、ローレンツ関数 [L(j)]は、それぞれ次の式で表される。

原波形の平滑化2次微分曲線の極小点と3次微分曲線のゼロの位置からピーク位置や数が決定される。3次微分のゼロは変曲点を示すので、ピーク位置前後の3次微分のゼロ点からピークの半値半幅が決定される。微分の方法として、3次 B-spline 関数による方法を用いた。
非線型最適化: 初期ピークパラメータ決定の後、さらにパラメータの非線型最適化計算を行う。前述したように、非線型最適化には種々の方法があり、それらの手法により計算に要する時間、収束の様子が大きく異なる[13]。SP-DOSでは、計算量を減らすためや安定に収束させるため種々の工夫を行ってきた。しかし、最近のPCがきわめて高性能であることから、計算量は考慮しないことにし、安定に収束することのみを考えた。そこで、最適化の方法として、最も安定に収束し、発散する危険が少ないシンプレックス法のみを取り上げた。
いま、N個のデータを含む観測波形Qiに対してn個のピークからなる波形Si(P) を合成する(Pはピークの波形パラメータ)。観測波形と波形適合後の合成波形との残差2乗和

を計算する。E(P)を最小にするように、シンプレックス法により3n個のピークパラメータを修正しながら計算を繰り返す。
一定の残差2乗和以下になると最適化は収束したと判断するが、最適化が収束するためには、適切な収束条件を与えてやる必要がある。残差2乗和をあまり小さくするとノイズの含まれる実際のスペクトルなどの場合、収束せず、無限ループに入ってしまうことがある。SP-WINの収束条件は以下の通りである。
  1. 残差2乗和が原波形と原波形の平滑化波形との2乗残差誤差よりも小さくなったとき。
  2. 1つ前の計算の残差2乗和との差が0.2%より小さくなったとき。
波形解析理論の詳細は既報[9 - 13]を参照されたい。 

3 システムの概要

3. 1 動作環境

今回、SPをWindows上に移植するに当たり、プログラム開発には、オブジェクト指向型言語[15, 16]であるInprise 社の Delphi を採用した。本プログラムの動作環境は以下の通りである。
対応機種 :
486DX4以上のCPUを搭載したウィンドウズマシン
OS   :
Windows98/95、WindowsNT
ソース言語:
Pascal(Delphi)
表示画素数:
800×600ドット以上

3. 2 ソフトウエアの概要

本プログラムはスペクトルデータを解析するための波形解析用プログラムである。波形解析は主にメインプログラム、差スペクトル実行プログラム、波形分離実行プログラムと、3つのステップに分けられる。SP-WINを実行すると、メイン画面となるウィンドウが開かれ、ここから差スペクトル実行用ウィンドウ、波形分離実行用ウィンドウが子ウィンドウの形で開かれる。以下に画面ごとの主なコマンドおよび使用方法を概説する。

3. 2. 1 メイン画面

メイン画面(Figure 1)で行うことのできるコマンドは、「ファイル」、「グラフ」、「波形分離」、「ツール」、「ヘルプ」の5つのグループに分けられており、ウィンドウ上部のメニューバーに表示されている。各グループに登録されているコマンドの実行は、メニューバーからのプルダウンメニューにある各コマンド名のクリックにより行う。
メイン画面でのコマンドは、ファイルの開閉、ファイルの保存、印刷、画面表示方法の変更などがある。また、画面上部のツールバーには、画面と現在開いているファイルの情報(左から「現在開いているファイル名」、「データ初期値」、「データ終了値」、「データのステップ」、「Wavenumber」、「Absorbance」)が常時表示されている。


Figure 1. Main

3. 2. 1. 1 「ファイル」グループ

ファイルを開く: ハードディスク、またはフロッピーディスクから解析したいデータファイルを選択し、開くことができる。開くことのできるデータファイルは、データ型ファイル(*.dat)、JCAMP-DX型ファイル[17](*.dx)、および ASCII型ファイル(*.asc)の3種類に限られている。
上書き保存と名前を付けて保存: 波形分離、差スペクトル等の操作を実行したあとのファイルを、現在のファイルと同名で「上書き保存」する。保存する際にはファイル形式はすべてデータ型(拡張子:dat)に統一される。波形分離を行った後では、ピークの数と各ピークパラメータ、合成波形、分離波形も共に保存される。3次微分や波形適合を行った後の分離ピークパラメータの値をテキスト形式で保存することもできる。
ファイルを閉じる:現在開いているファイルを閉じる。選択したファイルがアクティブであるなら、その前に実行された差スペクトル、波形分離実行画面もクリアされる。  

3. 2. 1. 2 「グラフ」グループ

画面表示範囲の設定: 画面に表示されている波形データのグラフの縦軸の目盛り、横軸の目盛り、プロットする初期値(X、Y)をユーザーが任意に設定することができる。通常、ファイルを開くと、波形データは画面上に適当な範囲で図示されるが、表示波形に不都合な点があった場合や、特定の部分を拡大表示させたい場合に実行する。

3. 2. 1. 3 「ツール」グループ

差スペクトル: 差スペクトル実行画面を呼び出す。その際にツールバー上のコンボボックスでファイル名が選択されていなければ、ファイル名を選択するダイアログボックスが現れる。呼び出し後は、差スペクトル実行画面がアクティブとなる。
スペクトルの範囲指定: 現在開いているファイル(スペクトル)の任意の範囲を切り取り、保存または、次の操作に用いることができる。切り取ったスペクトルデータは保存しなくても次の操作に用いることができる。

3. 2. 2 波形分離実行画面

波形分離に必要な各操作を実行する。標準画面上では、上部ツールバーに解析に用いているデータのX軸の初期値と最終値、マウス位置のWavenumberとAbsorbanceが表示されている。2次微分、3次微分実行後は、変曲点と、ピークの数が表示される。下部のツールバーには原波形、合成波形、微分波形の色と現在解析に用いられている関数名(ガウス関数、またはローレンツ関数)が表示されている。

3. 2. 2. 1 「波形分離」グループ

波形分離の各操作を行う。ここでは、2次微分、3次微分、合成波形の最適化を行うシンプレックス法、合成波形のピークの増減、ピークパラメータの修正を行うことができる。原則として、メイン画面から波形分離実行画面を呼び出していたときにアクティブとなっていたファイルについて波形解析が行われる。波形分離実行後の分離波形と合成波形のデータはメイン画面の保存コマンドによりデータファイル形式で保存できる。
2次微分、3次微分: 原波形の2次微分を行う。ここで行われる操作にはスプライン法が用いられている。2次微分実行後は画面上に、原波形と原波形の平滑化2次微分波形が表示される。原波形の3次微分もスプライン法で行うことができる。実行後は画面上部に3次微分曲線、画面下部に原波形、合成波形、分離波形がプロットされる。また、別のボックスに波形分離計算結果として計算後の各ピークごとの初期パラメータ(ピーク位置、ピーク強度、ピーク半値半幅、ピーク面積)の値が表示される。
シンプレックス法: 3次微分実行後の原波形と、合成波形の差が著しく異なっている場合に、初期パラメータ決定後のパラメータの非線型最適化計算を行う。実行後は、画面上部に合成波形と原波形の誤差の二乗残差が表示され、画面下部には合成波形、分離波形、原波形が表示される。

3. 2. 3 差スペクトル実行画面

原波形のバックグラウンドの補正を行う。ここで実行することができるのは「差スペクトル」の「直線を差し引く」、「任意のスプライン関数を差し引く」、「任意のスペクトルを差し引く」である。差スペクトルでは、波形処理を適用する任意の領域の波形データを切り取り、スペクトル同志、直線、あるいはスプライン曲線を差し引くことができる。データの領域が狭い場合は、直線近似でも十分な場合が多いが、溶媒や触媒それ自身の波形を差し引きしたい場合などは、差スペクトルが必要である。ラマンスペクトルなどの場合にはスプライン曲線によるバックグラウンドの差し引きが適当といわれている。

4 結果と考察

4. 1 合成波形への適用

本ソフトウエアを合成波形に適用した結果を Figure 2Figure 3に示した。200点からなる合成波形は、3本のガウス関数から合成したが、ピークの重なりはそれほど大きくはない。2次微分波形を Figure 2 に、3次微分波形を Figure 3 に原波形とともに表示している。収束の様子、最適化の様子が波形の重なりの程度によってどのように違うかを比較検討した。
Figure 2のように初期ピークパラメータの決定に際して、平滑化2次微分曲線の極小はピークの極大の位置によく対応している。また、Figure 3の3次微分曲線のゼロからピークの位置、ピークの数が算出される。このとき求められた3次微分曲線からの変曲点の数は7個であるが、一定値以下は、原波形と対応させて雑音と判断されている。ピークの高さ、ピークの半値半幅、およびピーク面積が自動的に計算され画面に表示される。3次微分曲線の極小値によるピーク位置とピークの数の決定には限定があるが、この程度の重なりでは十分ピークを認識できる。


Figure 2. A result of second derivative; purple(upper): derivative, red(lower): original.


Figure 3. A result of third derivative; purple(upper): derivative, red(1): original, blue(2): composite, green(3); separated.

自動的にピークの数、各ピークの初期パラメータが決定された後、さらに誤差が小さくなるように最適化計算が繰り返される(Figure 4)。3つのピークパラメータはほぼ満足すべき値を示しているが、ピーク3については、修正の必要がある。ガウス、ローレンツいずれの波形関数を選んだ場合でもこれらの最適化は瞬時に終了する。原波形と最適化後の波形との誤差は画面の上部に示されており最適化の程度を視覚的に判断できる。
SP-WINのピーク分離の限界を述べておく。SP-WINでは、2次および3次微分曲線からピークの数を求めているので、ピークの検出には限界がある。ピークの強度、ピークの半値半幅、および用いる関数型にもよるが、ピークの極大の位置が、ピークの幅のおよそ 0.8 倍以上離れていなければ分離することができない。

4. 2 実際のデータへの適用

触媒の研究に応用した例を Figure 5 に示した。ジルコニアに坦持したバナジウム触媒(2wt %)の活性部位であるV=O種のFTIR スペクトルを波形解析した結果である。4200点からなる触媒全体のスペクトルデータを必要な部分(1100-900cm-1)だけ切り取り、バックグラウンドの修正をしたのち、2次微分・3次微分、さらにシンプレックス法による波形適合を行った。原波形では4つのピークが観察されるが、波形適合後は3つの分離波形が得られた。上部の曲線は波形適合後の原波形と合成波形との差を示しており、かなり最適化が良好であることを示している。合成波形も原波形に近いものになってはいるが、ピーク数の違いとピーク位置のずれがみられる。


Figure 4. A result of optimization; purple(upper): square residual, red(1): original, blue(2): composite, green(3): separated.


Figure 5. An example of application of SP-WIN to V=O bands on V2O5/ZrO2.

これは、先に述べたSP-WINのピーク分離限界によるものである。このように、実際の波形への適用の場合、波形適合の結果が必ずしも満足のいくものとはならないことがある。このような場合、ピークパラメータの修正等を行うこともできる。しかし、ピークパラメータの修正等の操作は利用者の主観に基づくものになるので、これを行う者には、該当波形に対する正しい知識や深い洞察力が要求されることは言うまでもない。
また、バックグラウンドの補正が不適切だと波形分離を行った際に、適切な初期ピークパラメータの値が得られない。このような場合、波形適合を何度行っても満足すべき結果を得ることはできない。一方、原波形の雑音はスムージングを行うことにより除去することができるが、その際に小さな肩バンドなども消えてしまうことになるので今回のSP-WINでは、波形適合の一段階としてしかスムージング処理を行わないことにした。

4. 3 SPで扱うデータファイルの構造

SP-WINで扱うことができる波形データは、一定のフォーマットでなければならない。このファイルの構造について簡単に述べる。データファイルは、シーケンシャルなアスキーファイルである必要がある。アスキーファイルにすることにより、汎用性が高くなり、機種に依存せず、エディタなどでデータを編集することも可能になる。フォーマットさえ整っておればどんなスペクトルデータであっても扱うことができる。
含まれるデータの順序および内容は以下の通りである。
DNUM:
データの数。
NPEAK:
ピークの数。波形解析の前や、onlineデータの場合 0 になっている必要がある。
DFROM:
データのスタートの位置。
DTO:
データの終了の位置。
YSTEP:
サンプリングの間隔。
Y1,Y2,Y3..., Yn:
波形のデータ。

5 おわりに

オブジェクト指向プログラミングが可能なDelphiを用いることにより、Windows98/95、WindowsNT 上でのGUIに優れたアプリケーションを開発することができた。また、OSをWindowsに変えたことにより使用可能なメモリが格段に増え、データの数などほとんど考慮する必要がない。MS-DOSでは基本メモリが640KB、そこからMS-DOSの動作に必要なメモリが使用されているので、実際に使用できるのは約500KBである。さらに、Windows 環境下であるため、プラットフォームに依存しないものとなった。
最近の、巨大なハードディスクの容量や、コンピュータの性能を考えると、MS-DOS時代には考えられなかったような複雑な計算が可能であり、SP-DOSでは計算に時間がかかりすぎるということで考慮しなかったガウス・ローレンツの複合関数による波形適合なども可能であろう。また、マルチタスク、マルチウィンドウにより、より作業をスムーズに、わかりやすく行うことができるよう、プログラムの改良を進めていきたいと考えている。

参考文献

[ 1] T. Ohno, F. Hatayama, M. Kohno, H. Miyata, Bull. Allied Med. Sci., 5, 97 (1989).
[ 2] V. Kranassions, G. Horlick, Appl. Spectrosc., 41, 360 (1987).
[ 3] H. Miyata, K. Fujii, T. Ono, Y. Kubokawa, T. Ohno, F. Hatayama, J. Chem. Soc., Faraday Trans., 1, 83, 675 (1987).
[ 4] H. Miyata, T. Mukai, T. Ono, T. Ohno, F. Hatayama,, J. Chem. Soc., Faraday Trans., 1, 84, 2465 (1988).
[ 5] H. Miyata, S. Tokuda, T. Ono, T. Ohno, F. Hatayama, J. Chem. Soc., Faraday Trans., 86, 3659 (1990).
[ 6] H. Miyata, M. Kohno, T. Ono, T. Ohno, F. Hatayama, J. Mol. Catal., 63, 181 (1990).
[ 7] T. Ohno, F. Hatayama, T. Maruoka, H. Miyata, Studies in Surface and Catalysis, 75, 2663 (1993).
[ 8] T. Ohno, F. Hatayama, Y. Toda, S. Konishi, and H. Miyata, Appl. Catal., B:Environ., 5, 89 (1994).
[ 9] Y. Toda, T. Ohno, F. Hatayama, H. Miyata, Phys. Chem. Chem. Phys., 1, 1615 (1999).
[ 10] H. Miyata, K. Fujii, S. Inui, Y. Kubokawa, Appl. Spectrosc., 40, 1177 (1986).
[ 11] H. Miyata, S. Tokuda, T. Yoshida, Appl. Spectrosc., 43, 522 (1989).
[ 12] H. Miyata, Chemistry Express, 2, 643 (1987).
[ 13] 宮田 壽, 情報, 19, 4 (1988).
[ 14] 宮田 壽,徳田省二, 触媒, 30, 311 (1988).
[ 15] B. J. コックス(前川守監訳), 「オブジェクト指向のプログラミング」, Addison-Wesley Toppan (1988).
[ 16] 石塚圭樹, 「オブジェクト指向プログラミング」, アスキー出版局 (1988).
[ 17] R. S. McDonald and P. A. Wilks JR., Appl. Spectrosc., 42, 151 (1988).


Return