デザイン&開発理論
Visualization is the basis of science!
デザイン&開発理論

 ボリュームレンダリングを行うほとんどのソフトウェアは共焦点顕微鏡データを元に派生したのではなく、CT/MRT といった組織・器官ごとにグレースケールの絶対値を持つデータや、レンダリングアルゴリズム自体から派生している。そのため共焦点データに特有の蛍光ノイズに埋もれた薄暗いシグナルを再構成する、ということを全く考えていないソフトウェアばかりになっている。同時に生物学者の三次元再構成に関する知識不足もあいまって、共焦点データの可視化には多くの研究者が Maximal intensity projection 法を用いている。この方法は、z 切片全てに渡って最も明るいピクセルをピックアップして、再構成画像を作製するものであり、すなわち再構成画像の中に 3 次元の情報は一切含まれていない。またこの方法では、神経線維の束からなるシグナルや、組織の表面構造を示すことが難しい。その様な構造は大抵、飽和してべったりと塗りつぶされたように表現されてしまう。

今回本ソフトウェアを開発するに当たって私が目指したのは、

  1. 連続切片上に存在するいかなるシグナルも、3D で可視化できる

  2. 5 分以内に、3 重染色データから最高品質の画像を作成可能

  3. ユーザーは自分が何をしているのか、状況を「瞬時」に「完全」に把握できる
この 3 つである。



1. 連続切片上に存在するいかなるシグナルも、3D で可視化できる

これには複数のアプローチを用いている。
 1-a. シグナルの強度を利用して構造を抽出
 1-b. 輝度、明度、ガンマ調整
 1-c. 光源定位による陰影付け、それによる表面構造の抽出
 1-d. 3 次元空間内での奥行き情報を利用してシグナルを明暗で分ける
 1-e. 共焦点データに適したレンダリング法の採用
 1-f. ポリゴンメッシュとボリュームデータの融合表示


これらの機能について、本ソフトウェアと既存のソフトウェアとの比較を行っている。
ボリュームレンダリング機能比較テーブル

1-a. シグナルの強度を利用して構造を抽出:
 本ソフトウェアは low スレッショルドと high スレッショルドを持つ。low スレッショルドは薄暗いノイズのカットに有効であり、Volocity や Imaris6 に実装されている。

 high スレッショルドはその名の通り、明るいシグナルを特異的にカットする。high スレッショルドを用いることで明視野チャネル(DIC)を含む共焦点データから、組織外部の明るいバックグラウンドをカットして組織輪郭のみを再構成できる。また 1 チャンネルから薄暗い組織外形のみを取り出してそれを他のチャンネルに割り当て、明るい目的部分と組織外形の 2 チャンネルを作り出すことも出来る。この high スレッショルドは他にも Imaris6 に実装されている

(しかし Imaris6 では、多チャンネルの共焦点データに適した三次元レンダリングモードは "Shadow Projection" のみであり、このモードではレンダリングの間 10 秒ほど待たなければならない。すなわち、あらゆるパラメータを変えるたびに待たされ、私はとてもではないが全てのチャンネルに渡って最適な値を探し出す気にはなれない。ちなみに本ソフトウェアは GPU でリアルタイムレンダリングを行う、これについては後で述べる。)


1-b. 輝度、明度、ガンマ調整:
 輝度(luminance)の調整とはレンダリングした画像に対する 2 次元的な明るさの調整を意味する。これによりそれぞれの色について最適な RGB 値で画像の作製が可能となる。この機能が無い多くのソフトウェアでは、作成した画像をその後フォトショップへ持って行って明るさ・ガンマ調整を行うのが普通であった。ただそれでは三次元再構成時に最高品質の画像を作ることは非常に難しく、何度も再構成ソフトウェアとフォトショップを往復して画像を作り直すことになる。この機能を持つものとしては本ソフトウェアの他に Volocity と Imaris6 がある。

 立体再構成における明度飽和値調整 (Saturation point) とは、レンダリングする時点で各ボクセルの明るさを決めることである。この数値を下げると暗いシグナルを、明るく質感のある構造体としてレンダリングする。そのため上記の輝度(レンダリング画像に対する 2 次元的な明るさ調整)とは異なる。この機能を持つものは本ソフトウェアの他に Volocity, Imaris6 と Osirix がある。

 ガンマ調整機能をレンダリング時に用いることで、低いグレースケール値からなるノイズを消して深部にある明るいシグナルを可視化、もしくは薄暗いシグナルを明るくレンダリングしてそれらの表面構造を抽出することができる。このガンマ調整機能を独立に持っている他のソフトウェアとしては Imaris6 がある。


1-c. 光源定位による陰影付け、それによる表面構造の抽出:
 陰影付けの機能について、Volocity や Osirix など OpenGL ベースのソフトウェアの多くがこの機能を持つが、陰影付けのみを独立で調整できる機能を持つソフトウェアは私の知る限りで Amira5 と本ソフトウェアのみである。Amira5 では陰影度合いの調節に3つのプリセットが用意されていて、それらが適さなければユーザーが微調整を行う必要がある。しかし 3 個所のウィンドウに数値を独立に打ち込むという調整法をとり、現実的には非常に使いづらい。

 Volocity では「明るさ、透明度、陰影度」が同時に変る "density" というパラメータを用いている。だがこれでは表明構造が微細な場合、抽出することは難しい。微細な表面構造を抽出するには陰影付けを行う必要がある。しかし density を上げれば同時に明るさが上がり、かつ陰影付けによって全体が暗くなるので輝度 "brightness" を上げる。そうすると微細な構造は輝度と明かるさが上がったことで生じたノイズに埋もれてしまい、オブジェクトの表面はのっぺりとしたものになる。
 density を下げれば、明るさと同時に透明度も下がってしまうので微細な突起などはさらに見えなくなる。この場合は、ガンマを下げつつ明るさを若干上げて、透明度と陰影度を最大に上げる必要があるのだが、その調整が出来るソフトウェアは現時点では本ソフトウェアのみである。
(ちなみに Osirix ではガンマは常に 1 で、透明度と明るさの調整のみとなる。陰影度は用意された 4 つのプリセット間でのみ変更可能。)

 私はこれまで、こうした各種パラメータが一緒くたになった調整機能しか持たないソフトウェアを使うたびに、目的画像が得られなくてストレスを感じていた。また各種パラメータが一緒くたになっているということは、各パラメータに関して自分がどの値に設定しているのか全く分からないということを意味する。なので本ソフトウェアでは、全てのパラメータを可能な限り独立で調整できるようにデザインした。これよって、ブラックボックスの中で格闘しているようなもどかしさを極力排除した。そして使い手の意志の通りに絵が変化する、人馬一体の操作感を目指した。


1-d. 3 次元空間内での奥行き情報を利用してシグナルを明暗で分ける:
 本ソフトウェアには、シグナルの強度そのものを奥に行くに従って暗くするパラメータを追加した。また我々の実生活で暗いところで物を懐中電灯で照らすと、照らしている我々の側が最も明るく、奥に行くに従って徐々に暗くなる。こうした身の回りの現象に基づいた機能を実装することで、ユーザーがより自然に三次元の構造を理解できることを目指した。

 他に 3 次元空間内での奥行き情報をレンダリングに利用するソフトウェアとしては、 Zeiss のイメージブラウザー、Imaris2.7 がある。しかしこれらのソフトウェアでは奥行き情報に従った「透明度」の設定が出来るだけであって、シグナルそのものを奥行きに従って「暗くする」ことはできない。またこうした透明度の設定だけでは奥に明るいシグナルがあって、手前に暗いシグナルが存在した場合、明るいシグナルが優勢になってしまい手前の暗いシグナルの表面構造を抽出することができない。


1-e. 共焦点データに適したレンダリング法の採用:
 本ソフトウェアはボリュームレンダリングに slice based rendering を採用している。しかし Amira5.2 では VRT: texture based volume rendering, DRR: digitally reconstructed radio graph , MIP: Maximal intensity projection というレンダリング法を用いている。共焦点顕微鏡から出力される画像には、わずか 3 ピクセル幅の連続するシグナルによって表現される神経線維などがあり、こうした線維構造を可視化できるのは、 Amira5.2 では MIP のみである。(しかし MIP では先に述べたように 3 次元構造を可視化することが出来ない。)だが slice based rendering ではこういった構造も 3D で可視化できる。

 またこれ以外のレンダリング法では Imaris2.7 に搭載されている ray casting 法が共焦点データに適していることが判明しており、今後本ソフトウェアでもこのレンダリング法を実装する予定である。

(ちなみに Amira5.2 で用いている VDD というレンダリング法を用いると、連続切片からなる写真が、X 線で撮った写真のように「オブジェクトが半透明」になり「ぼんやり」とする。私の意見では共焦点データには必要の無いレンダリング法である。多くのソフトウェアは複数のレンダリングモードを搭載しているが共焦点データに適したモードとなると、とたんに選択肢が無くなる。)


1-f. ポリゴンメッシュとボリュームデータの融合表示:
 生体組織内の領域を規定し、それを 3D で可視化するのにポリゴンメッシュは有効である。だがこれまで、ポリゴンメッシュとハイクオリティーのボリュームレンダリングを融合して表示する環境が共焦点顕微鏡の世界で整っていなかった。

 そこで本ソフトウェアには Amira で作製したポリゴンメッシュ(.obj)を読み込める機能を付加した。そしてそのポリゴンメッシュとボリュームデータがお互いをカバーし合うことで、両者のトポロジーを可視化できるようにした。

 ちなみに Amira はポリゴンメッシュを作製する様々なオプションを搭載しているが、ボリュームレンダリングでは Maximal intensity projectionのみが共焦点データに適していて、ボリュームデータを三次元的に可視化することが難しい。Volocity はその逆である。唯一 Osirix が両者をサポートしているが、Osirix 内部で作製したポリゴンメッシュはクオリティーが低く、実用にはあまり向かない。

2. 5 分以内に、3 重染色データから最高品質の画像を作成可能

3. ユーザーは自分が何をしているのか、状況を「瞬時」に「完全」に把握できる

4. その他