ExFact VR 2.1での多孔質材料の画像解析

サイズ別に5段階に分類して、可視化/数値化が可能

多孔質材料の実践的な3D画像解析の手順をご紹介します。ExFact VR 2.1の画像解析機能を、複合的に組み合わせて用いるテクニックを、この事例を通して是非お試しください。

  1. 3D画像の白い粒子を検出
  2. ボイド検出後にLUTが6色に変化
  3. 黒(空隙)、グレー+白の分離
  4. 画像を白黒二値化
  5. 二値化画像の作り方
  6. 二値化画像は8bitで
  7. 16bit読込み時はLUTを選択
  8. LUTで空隙とマテリアルを二値化
  9. RAW画像の保存とバッチ処理
  10. lblファイルで3種類のマテリアルを識別
  11. 各色の入替/統合
  12. マテリアルの比率を表示
  13. 新しい画像解析手法
  14. Watershed(ウォーターシェッド)による領域分割
  15. 粒子/空隙をカラフルに着色
  16. サイズ別に5段階に分類して、可視化/数値化が可能
  17. 6セグメントLUT時に色重視を選択
  18. CSVテーブルで並び替え後ラベルを設定
  19. 境界面の空隙の削除とその理由
  20. 様々なグラフを自動出力

1.3D画像の白い粒子を検出

(1)元画像

3D画像の白い粒子を検出 元画像

(2)LUTで着色

3D画像の白い粒子を検出 LUTで着色

(3)ボイド解析で白い粒子を検出

3D画像の白い粒子を検出 ボイド解析で白い粒子を検出

8bit化した画像を読込、porous.vrz等の名前で保存します。このデータはまた再利用します。

このマテリアルは、黒(空隙)、グレー、白の3つの成分が複合しています。白い粒子は不明瞭ですが、(2)のようなLUTで着色できます。LUTを操作/表示してみて、ヒストグラムと対応付け、画像を理解することが重要です。

不明瞭な白い粒子を、(3)のようにLUTを調整すると、強調して可視化できます。黒→白の直線のLUTでなく、キーを複数追加して、非線形のLUTにするのがコツです。

次に「ボイド解析」で白い粒子を検出します。「画像全体を解析」を選び、白を検出対象にします。

「2D LUTを適用する」にチェックすると、2D LUTの白い粒子が強調された画像で検出が実行されます。

「Processing→2D LUT適用」で画像をLUT通りに書き換えて検出する方法もあります。

2.ボイド検出後にLUTが6色に変化

ボイド検出後にLUTが6色に変化

1回目のボイド検出が終わり、LUTが6色に変化しました。フォルダ内に3つのファイル(porous_001.vrz/csv/lbl)が作られています。

この結果得られた白い粒子の個数やサイズ別分布が不十分な際は、LUTやパラメータを変えて処理をやり直します。

3.黒(空隙)、グレー+白の分離

黒(空隙)、グレー+白の分離

黒(空隙)、グレー+白の分離を試みます。

ヒストグラムがふた山で、2D側に図のLUTを設定すると、空隙とマテリアルの輝度値が、比較的明瞭に分離しているので、Krigingによる二値化処理を行います。

LUTの丸いキーのドラッグで、LUTの横軸の輝度値を読み取れます。見当をつけた閾値を入力し、Kriging処理を実行します。フォルダ内にはラベルファイル(porous_kriging_001.lbl)が作られます。

4.画像を白黒二値化

画像を白黒二値化

1で作ったporous.vrzを読込み直すか、ExFact VR 2.1を新たに起動してporous.vrzを読込みます。

そして「ボイドラベル入出力」「lblフォーマット」「統合して読み込む」の手順で、3で作ったラベルファイル(porous_kriging_001.lbl)を読込むと、空隙とマテリアルが白黒と紫の2つに分離したLUTで表示されます。

白黒二値化した画像のご要望が多いです。二値化画像とは中間のグレーの輝度情報を捨てて、白黒2色で表した画像です。

5.二値化画像の作り方

二値化画像の作り方

ここまでの処理結果から、二値化画像の作り方をご紹介します。上図のメニューからvrdとrawファイルを一旦保存します。その後下図のメニューから再度読込みます。

6.二値化画像は8bitで

二値化画像は8bitで

二値化画像を作る際は読込みダイアログで、8bit化をお選びください。最終的に白黒2色の画像で、16bitは冗長過ぎるからです。

7.16bit読込み時はLUTを選択

16bit読込み時はLUTを選択

16bit読込み時は、2つのLUTからお選びください。

8.LUTで空隙とマテリアルを二値化

LUTで空隙とマテリアルを二値化

ここで読み込んだ画像はKriging処理の結果、LUTで輝度値が2つ分かれているので、図のような簡単なLUT設定で、空隙とマテリアルを二値化できます。

「2D LUT適用」フィルタを選び「実行」すると、ボリュームデータがLUT通りの輝度値に書き換えられます。

9.RAW画像の保存とバッチ処理

RAW画像の保存とバッチ処理

完成したRAW画像を保存します。または「レポート設定」から「スライス動画とPDF」「Axial Slice(任意の方向)」を選び「バッチ出力」すると、Windowsのバッチ処理でVRtempフォルダに連番のbmpファイルが作られます。

10.lblファイルで3種類のマテリアルを識別

lblファイルで3種類のマテリアルを識別

ExFact VR 2.1ではどの機能でも、3D画像のラベリング結果のlblファイルが作られ、その領域情報を元画像に適用できます。

  1. 白い粒子をボイド検出
    →porous_001.lbl
  2. グレー+白のマテリアル領域をKrigingで抽出
    →porous_kriging_001.lbl

これまで上の2つの処理を行いましたが、「ボイドラベル入出力」からlblファイルを順に選び、「統合して読込む」と3種類のマテリアルが識別されたLUTになります。

11.各色の入替/統合

各色の入替/統合

「パネル→ボイドLUT」を用いると、各色を入れ替えたり、統合することができます。

これで黒/グレー/白など、三値化されたマテリアルの比率を、個々に求めるような処理が簡単に行えます。※画像計測オプション限定

12.マテリアルの比率を表示

マテリアルの比率を表示

画面下部のLUTウィンドウを開くと、ヒストグラム解析ツールが表示されます。

この機能は6セグメントの画像にも使用できます。「ROIからのヒストグラムを計算」ボタンを押して、ヒストグラムを取込み、「比率」タブを開くと各マテリアルの比率が表示されます。

13.新しい画像解析手法

「Slices」タブでは、複合材料の各マテリアルのバラつき/偏り/周期性を、大局的に評価する新しい画像解析手法を提供しています。

XYZ方向の断層像毎に、マテリアルの分布チャートが表示されます。XYZ方向の特徴の比較で異方性の評価も可能です。

上図の分布を波と見立て、FFT(高速フーリエ変換)を行った結果が、画面下にプロットされます。

横軸は周波数、縦軸は振幅を表し、複合材料の複雑構造が、周期的な繰返しによって、形成されていることに、着目した分析方法です。

FFT(高速フーリエ変換)は、低周波にノイズが乗るので、カットオフ周波数を設け、その値以下の信号を無視してみた方が良いと言われています。

Cut offに30などと入力して、「Export CSV Files」ボタンを押すと、統計値が出力されます。

14.Watershed(ウォーターシェッド)による領域分割

Watershed(ウォーターシェッド)による領域分割

Watershed(ウォーターシェッド)による領域分割も行ってみます。通常の画像でも処理できますが、二値化で明瞭になった画像だと、より良好な結果が期待できます。

先の例とは逆に空隙を白、マテリアルを黒(透明)にするLUT設定します。「2D LUTを適用」した後にデフォルトのパラメータで、Watershed(ウォーターシェッド)を「実行」すると、ラベルファイル(porous_watershed_001.lbl)が作られます。

画像の白黒反転は「パネル→グレー値反転」でも処理できます。

15.粒子/空隙をカラフルに着色

粒子/空隙をカラフルに着色

14と同時にporous_watershed_001.vrdと、porous_watershed_001.rawも作られます。これは分離された空隙に、固有の番号を振ったボリュームデータです。

「RAWボリュームデータの読込…」で、図のようなグラデーションのLUT設定すると、粒子/空隙をカラフルに着色できます。領域分割を確認するのにオススメです。

16.サイズ別に5段階に分類して、可視化/数値化が可能

サイズ別に5段階に分類して、可視化/数値化が可能

図は「サイズで分類」を選び、有効直径を入力して、「ボイドラベル入出力」からラベルファイル(porous_watershed_001.lbl)を読み込んだ結果です。

5色だけなので、近いサイズの粒子は同色になりますが、サイズ別に5段階に分類して、可視化/数値化が可能です。

17.6セグメントLUT時に色重視を選択

6セグメントLUT時に「色重視」を選択
6セグメントLUT時に「色重視」を選択

6セグメントLUT時に「色重視」を選ぶと、3D画面のレンダリング(描画)で色が正しく表示され、「シェーディング表示」で陰影の表示も可能です。

18.CSVテーブルで並び替え後ラベルを設定

CSVテーブルで並び替え後ラベルを設定

「CSVテーブル」を表示し、「position」をクリックして並べ替え。

値が3である行をシフト+クリックで全て選択し、「選択ラベルで選択行のラベルを設定」→「実行」を行います。

19.境界面の空隙の削除とその理由

境界面の空隙の削除とその理由

18の結果、一部の空隙が白黒画像に戻りました。

positionが3とは、3D画像の境界面(端)に接することを意味します。こうした空隙/粒子は体積を求めたとしても、中途半端な数値になってしまいます。

これらを除外することで、空隙/粒子の全体の体積や、その平均値/形状等に着目した、正確な分析を行えます。

20.様々なグラフを自動出力

様々なグラフを自動出力

付属グラフツールでフォルダに次々とグラフが出力されます。ファイル名が032〜と035〜から始まるグラフが有用です。

横軸が有効直径、縦軸が数(左)、体積(右)でプロットされたグラフです。グラフの色はサイズに対応しています。固有値を用いて、空隙の形状評価を行った散布図も出力されます。