イア イア ハスター

いろいろとうんざりしている中、T大へ。結局寝てない。開会宣言40分程前についたが、ポスター貼って準備するもやることなくぶらぶらしてた。

ボリュームデータのレンダリングについてO大のグループ、Hnxk先生、Mstn先生に質問してみた。

O大のYktさん、Hymさんの意見は「いまさら自前でレンダラーつくっても誰もほめてくれへんし、有るもの使えばええやん」。実際、彼らのチームのレンダリングにはVTK (http://www.vtk.org/)を使っている模様。xkdさんが実装したのだろう。

Hnxk先生「最近可視化について色々調べたけれど,表示するだけならMeshLabがいいかも。ボクセルデータをポリゴンデータに変換する際は閾値を設定しなければならないし・・・。MacならOsirixがあるし、WindowsならPlutoがある。Linuxは・・・。データのフォーマットがなんであれ、一度読み込んでMatlabなりC++で書き出して、なんらかのアプリケーションでレンダリングですかねぇ・・・。Blenderは細かい箇所がよくわからない」

Mstn先生「ポリゴンとしてではなく、ボクセルでレンダリングするからこその意味もある。既にある道具を使えるかどうか調べても、自分のやりたい処理を行える仕様になっていないことも少なくない。私は自作のライブラリで描画しているけど」

個人的には、自作する方向で動いているんですけどねぇ・・・。

3次元データにはポイントクラウドとボクセルによる表現がある。ポイントクラウドは距離センサによって取得されたでプスマップや3次元復元によって復元された3次元点の座標を表す際に用いられる。このとき、ポイントクラウドsurfaceを表していると考えてよい。ポイントクラウドの点ひとつは3次元空間中の座標を表すが、場合によっては点が輝度値や色情報をもつこともある。たとえば、2次元画像から3次元復元した点群に、2次元画像から取得した色情報を付加する場合がそれにあたる。CVで3次元データと言った場合、ポイントクラウドで表されたデータを指していることが多い気がする。

ボクセルの場合、surfaceだけでなく中身もつまっている。医療用画像ではCT,MRI,PET で取得した2次元スライスの集合を積み上げてボクセルデータ(volumetric data)として表す。OpenCV には volumetric data を扱うための便利な関数は見当たらない。Matlabの場合は、3次元配列に対する畳み込みを行う関数は一応ある。どうしたものか。

この辺はなんだかんだでCVで取りこぼしている画像に関する問題だよね。