4

が対話(リアルタイムで可視化することができ、データセットの中に30 +ギガバイト、2000+カラーTIFFの画像シリーズを変換する方法のレンダリングGPUベースの直接ボリュームを使用して、大きな画像シリーズを描画する方法フレームレート)をGPUベースのボリュームレンダリング(OpenCL/OpenGL/GLSLを使用)を使用して実行します。私は表面フィッティング(すなわち、立方体をマーチングするのではなくレイキャスティング)ではなく、直接体積の視覚化アプローチを使用したいと思います。アイデア:対話的に私はアイデアを探してい

問題は、私は、3Dデータセットに私の画像を変換する必要がある最初の、2倍です。私の頭に浮かんだのは、すべての画像を2Dテクスチャとして見るだけで3Dテクスチャを作成することです。

第2の問題は、インタラクティブフレームレートです。このためには、ズームや何かのときに高解像度のデータセットをロードする「details-on-demand」と組み合わせて、ある種のダウンサンプリングを必要とするでしょう。

iが見つかった最初のポイントワイズアプローチがある:層ごとの処理及び生成対応する画像テクスチャを介して完全なボリュームデータの

  1. ポリゴン。
  2. 頂点プロセッサの操作を通してすべての本質的な変換を実行します。
  3. ポリゴンスライスをより小さいフラグメントに分割します。ここで、対応する深さとテクスチャの座標が記録されます。
  4. フラグメント処理では、フラグメントのレンダリングを強化するために頂点シェーダプログラミング手法を導入します。

しかし、私は、このアプローチの実装を開始する方法についての具体的なアイデアを持っていません。

私は、上に示したアプローチの実装を開始する方法に関するいくつかの新鮮なアイデアやアイデアを見たいと思っています。

答えて

2

誰もが、このエリア内の任意の新鮮なアイデアを持っている場合、彼らはおそらくそれらを開発し、公開しようとしていることになるだろう。それは研究の継続的な領域です。

"ポイントワイズアプローチ"では、スライスベースのボリュームレンダリングの基本的な方法を概説したようです。これは良い結果をもたらす可能性がありますが、多くの人がハードウェアレイキャスティング方式に切り替えています。興味のある方は、CUDA SDKのサンプルがあります。

階層ボリュームレンダリングの良い方法は、Crassin et al。彼らの論文ではGigavoxelsと呼ばれています。これはオクトリーベースの手法を使用しており、必要になるとメモリに必要なレンガだけがロードされます。

この分野の非常に良い入門書はReal-Time Volume Graphicsです。

+0

興味深いリンク、私はオクトリーに関するいくつかの基礎を読んで、現在それが確かに一般的なアプローチだと思っていました。 – bastijn

+0

私の経験から、大規模なボリュメトリックデータセットでは、ある種の空間分解を使用するのが最も一般的なアプローチです。 – tkerwin

+0

はい、そうです。あなたの記事に基づいて、私は自分の仕事の分野(医療データセット)にもっと適用可能ないくつかのものを見つけました。おそらく数日後に私は最終的な答えをあなたに授けます。私のイメージをボクセルに変換するには何らかの方法が必要です。このテーマについてもいくつかの論文を検索します(あなたの情報と結合しようとします)。 – bastijn

1

私のコードは、マーチングキューブを使用して等値面を生成して、それを表示しても、私は、ボリュームレンダリングのビットをやりました。しかし、ボリュームレンダリングの私の控えめな自己教育では、私は興味深い短い論文:Volume Rendering on Common Computer Hardwareに出くわしました。ソースの例も付属しています。私はそれをチェックアウトすることはありませんでしたが、それは有望だったようです。 OpenGLではなくDirectXです。たぶんそれはあなたにいくつかのアイデアと始める場所を与えることができます。

関連する問題