Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Volume rendering
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Optimization techniques== The primary goal of optimization is to skip as much of the volume as possible. A typical medical data set can be 1 GB in size. To render that at 30 frame/s requires an extremely fast memory bus. Skipping voxels means less information needs to be processed. ===Empty space skipping=== Often, a volume rendering system will have a system for identifying regions of the volume containing no visible material. This information can be used to avoid rendering these transparent regions.<ref name=shn03>Sherbondy A., Houston M., Napel S.: ''Fast volume segmentation with simultaneous visualization using programmable graphics hardware.'' In Proceedings of [[IEEE]] Visualization (2003), pp. 171β176.</ref> ===Early ray termination=== This is a technique used when the volume is rendered in front to back order. For a ray through a pixel, once sufficient dense material has been encountered, further samples will make no significant contribution to the pixel and so may be neglected. ===Octree and BSP space subdivision=== The use of hierarchical structures such as [[octree]] and [[Binary space partitioning|BSP]]-tree could be very helpful for both compression of volume data and speed optimization of volumetric ray casting process. ===Volume segmentation=== {{Anchor|Bone removal}}[[File:CT angiography of the head without and with bone removal.jpg|thumb|Volume segmentation include automatic bone removal, such as used in the right image in this [[Computed tomography angiography|CT angiography]].]] [[File:3D CT of thorax.jpg|thumb|Volume segmentation of a 3D-rendered [[CT scan]] of the [[thorax]]: The anterior thoracic wall, the airways and the pulmonary vessels anterior to the root of the lung have been digitally removed in order to visualize thoracic contents: <br>- {{color|blue|blue}}: [[pulmonary arteries]] <br>- {{color|red|red}}: [[pulmonary veins]] (and also the [[abdominal wall]])<br>- {{color|yellow|yellow}}: the [[mediastinum]] <br>- {{color|violet|violet}}: the [[Thoracic diaphragm|diaphragm]] ]] [[File:Visible-human-leonardo-1.jpg|thumb|Visualization of the inner organs from the segmented [[Visible Human Project|Visible Human]] data set rendered by [[Voxel-Man]], aside with a drawing of [[Leonardo da Vinci]] (1998)]] [[Image segmentation]] is a manual or automatic procedure that can be used to section out large portions of the volume that one considers uninteresting before rendering, the amount of calculations that have to be made by ray casting or texture blending can be significantly reduced. This reduction can be as much as from O(n) to O(log n) for n sequentially indexed voxels. Volume segmentation also has significant performance benefits for other [[ray tracing (graphics)|ray tracing]] algorithms. Volume segmentation can subsequently be used to highlight or expose<ref>Tiede U., Schiemann T., Hoehne K.: ''High quality rendering of attributed volume data'' In Proceedings of [[IEEE]] Visualization (1998), pp. 255-262.</ref> structures of interest. ===Multiple and adaptive resolution representation=== By representing less interesting regions of the volume in a coarser resolution, the data input overhead can be reduced. On closer observation, the data in these regions can be populated either by reading from memory or disk, or by [[interpolation]]. The coarser resolution volume is resampled to a smaller size in the same way as a 2D mipmap image is created from the original. These smaller volume are also used by themselves while rotating the volume to a new orientation. ===Pre-integrated volume rendering=== Pre-integrated volume rendering<ref name=mhc90>Max N., Hanrahan P., Crawfis R.: ''[http://www.sci.utah.edu/~jmk/papers/VolViz90-MAX.pdf Area and volume coherence for efficient visualization of 3D scalar functions].'' In Computer Graphics (San Diego Workshop on Volume Visualization, 1990) vol. 24, pp. 27β33.</ref> is a method that can reduce sampling artifacts by pre-computing much of the required data. It is especially useful in hardware-accelerated applications<ref name="eke01">{{Cite book|doi = 10.1145/383507.383515|last1 = Engel|first1 = Klaus|last2 = Kraus|first2 = Martin|last3 = Ertl|first3 = Thomas| title=Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware | chapter=High-quality pre-integrated volume rendering using hardware-accelerated pixel shading | date=2001 |isbn = 978-1581134070|pages = 9β16|citeseerx = 10.1.1.458.1814| s2cid=14409951 }}</ref><ref name=lwm04>Lum E., Wilson B., Ma K.: ''[http://www.cg.tuwien.ac.at/courses/Seminar/WS2004/papers/%5BLum2004%5D%20High-Quality%20Lighting%20and%20Efficient%20Pre-Integration%20for%20Volume%20Rendering.pdf High-Quality Lighting and Efficient Pre-Integration for Volume Rendering].'' In Eurographics/[[IEEE]] Symposium on Visualization 2004.</ref> because it improves quality without a large performance impact. Unlike most other optimizations, this does not skip voxels. Rather it reduces the number of samples needed to accurately display a region of voxels. The idea is to render the intervals between the samples instead of the samples themselves. This technique captures rapidly changing material, for example the transition from muscle to bone with much less computation. ===Image-based meshing=== [[Image-based meshing]] is the automated process of creating computer models from 3D image data (such as [[MRI]], [[X-ray computed tomography|CT]], [[industrial CT scanning|Industrial CT]] or [[microtomography]]) for computational analysis and design, e.g. CAD, CFD, and FEA. ===Temporal reuse of voxels=== For a complete display view, only one voxel per pixel (the front one) is required to be shown (although more can be used for smoothing the image), if animation is needed, the front voxels to be shown can be cached and their location relative to the camera can be recalculated as it moves. Where display voxels become too far apart to cover all the pixels, new front voxels can be found by ray casting or similar, and where two voxels are in one pixel, the front one can be kept.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)