サーフェイスレンダリングでの等値面の修正:CTデータを加工する


CTスキャンで得られたボクセルデータには、一般的に、さまざまなアーチファクトが含まれています。そのため、二値化して作成した等値面と、本来の物体領域の境界面が、しばしば一致しなくなります。面が一致しなければ、形状の認識に齟齬が生じますし、計測(長さ・体積等)結果も意味を成しません。


等値面を修正し、本来の境界面と一致させたい場合、大きく分けて2つの方法が考えられます。

  1. 等値面を構成しているポリゴンデータを、直接編集
  2. ボクセルデータを加工し、等値面を再び作成

大半の3Dソフトウェアは1の方法を採用しているようですが、Molcer Plus は2の方法で等値面を修正します。


ボクセル値を修正して等値面を再作成する利点

たとえば、以下のようなCTデータがあったとします(図1)。

図1
図1

魚の背びれに注目します。
図2は、閾値40で等値面を作成した場合です。ひれの先端がちぎれているのがわかります。

図2
図2

図3は、閾値30で等値面を作成した場合です。ひれの先端はつながりましたが、上にある細い骨同士がくっついてしまいました。

図3
図3

本来ならば、ひれを構成する骨の境界と等値面が一致するように、等値面の閾値を設定することが可能なはずです。
しかしながら、CTデータにはほぼ必ずアーチファクトが存在するため、ボクセル値が骨のX線吸収係数を正確に反映しているとは限りません。アーチファクトの影響は場所により異なるため、ボクセル値は本来期待される値より低くなったり高くなったりします。 そのため、どのように閾値を設定しても、等値面が実際の境界からずれてしまうのです。
図2の場合では、ちぎれている箇所のボクセル値が部分的に低くなっているので、本来くっつくはずの骨が分断されています。


こういった場合は、アーチファクトによる影響を減らす方向でボクセル値を修正すれば、等値面も修正されて実際の境界に一致するようになります。


Molcer Plus のボクセル加工機能では、指定したボクセルを中心とした領域内のボクセル値の変更が可能です。たとえば、図4のように、ちぎれている端を中心とした半径4ボクセルの範囲のボクセル値を20%増加させます。

図4
図4

すると、図5のように、等値面が右下に伸びます。

図5
図5

もう一度同様に行うと、図6のように、千切れていたひれが無事にくっつき、本来あるべき姿に戻ります。

図6
図6

ポリゴンを直接修正してひれをくっつけることも理論的には可能です。
しかし、アーチファクトを除去する方向でボクセル値を修正する方が元のCTデータの特徴を生かすことができ、より正確な修正を行えます。加工の手間も少なくてすみます。
ボクセル加工機能では、ボクセル値の増減だけでなく、指定領域内の平滑化・コントラスト変更・平坦化(ならし)や、連続領域の削除をすることもでき、アーチファクトや部分的なノイズの除去を効率よく行うことができます。


等値面の作成には、本来、それなりの時間(1秒~数秒)がかかります。Molcer Plus では、等値面再作成アルゴリズムの工夫により、高速な処理を実現しています。