数ギガバイトから数テラバイトに及ぶ3Dボリュームのデータを視覚化したいと考えています。 1つの解決策は自分自身をロールバックすることですが、これには時間がかかることがあります。これを避けるため、私は現在、現在入手可能な解決策を探しています。私が調べるほど、私が見つけたソフトウェアが増えています。いくつかの例はParaView/VTK
、OSPRay
、Embree
、Splotch
、NVIDIA GVDB/OptiX
、等テラバイトサイズのデータ用の大規模なボリュームレンダリングとビジュアライゼーションライブラリ
を含むこのソフトウェアの一部は、可視化のための完全なソリューションを提供し、データ操作(例えば、ParaView/VTK
)。他のものは、主に高性能レンダリング(例えば、Embree
)に重点を置いている。他のものは、レンダリングのために低レベルのAPIを提供する(例えば、GVDB/OptiX
)。特定のハードウェアに合わせて最適化されたものもあります(Intelハードウェアの場合はEmbree
、NVIDIA GPUの場合はGVDB/Optix
など)。他のものがこの機能をユーザに任せている間に、それらが彼らが彼らが数テラバイトサイズのデータセットをレンダリングできると主張することを可能にする分散レンダリング(例えば、ParaView/VTK
)のためのインフラを含むものもある。おそらく、数テラバイトサイズのデータセットボリュームレンダリングも、巧妙なLODアルゴリズムとアウトオブコアアルゴリズムを使用して1台のマシンで実行することができますが、別の議論のためにこれを残しておきます。最後に、特定の問題を解決するために構築され、もはや維持されていない大学の研究プロジェクトや学界から出てくる膨大なソフトウェアもあります。
ここに誰かがこのようなソフトウェアの経験を持っていて、ソフトウェア/ライブラリが実験に値するいくつかの指針やアドバイスをくれているのだろうかと思います。
- ボリュームレンダリング/レイマーチングは、インタラクティブフレームレート(数十FPS以上)で数テラバイトまで実行します。
- 異なる並列アーキテクチャ(CPU、GPU、複数のノード)を活用する
- 詳細レベルのアルゴリズムを実装してサポートします。
- レンダリングされたシーンにウィジェットを追加できるようにします。たとえば、軸の矢印、クリッピングプレーンなど
- 使用するパブリックAPIを提供するライブラリの形式にしてください。 Pythonでは理想的ですが、C/C++ APIの周りにPythonラッパーを作っていると思います。
- これらは積極的に維持され、適切な文書があります。
私は上記のすべてを含むソフトウェアライブラリを必ずしも探しているわけではありませんが、もっと愉快です! :)
ありがとうございます。
ようこそSO Ingoは、あなたの電子メールアドレスをここに公開することについて議論しておきますが、一般的にはコメントに記載することです。 – Kanak