What is Volume Data? (Scalar Fields)
What is a voxel (point samples, interpolation, reconstruction, …)
Hierarchy of Methods
- 2D Methods (slices) (note: not an X-Ray)
- Surface construction
- Direct Volume Rendering
General Graphics Points
- Projection (orthographic vs. perspective)
- Use of interaction (cutting planes, other “volume widgets”)
Surface Construction Approaches
- Cubies
- Contour tracking / connecting
- Marching Cubes
Applies when you are looking at distinct structures
Direct Volume Rendering
Transfer functions (definitions, basic concepts, issues)
- Concepts of what can/cannot be done
- Idea of classification, dealing with boundaries
- Potential for “realism” interpretability
- Volumes vs. Solids
- Using normal as gradient (for lighting)
- Using normal as boundary dection (for “surface” creation)
- local vs. non-local
Basic projections (X-Rays model):
- Maximum intensity projections
- Accumulation through volume model
- transparent volume model
Make sure everyone understands “volume rendering integral”
Basic Algorithms
- Ray Casting
- Splatting
- Compositing
- Shear-Warp
- Fixed Slices 2D texture mapping)
- Arbitrary planes (3D texture mapping)
Proxy geometry
Non-uniformity in sampling (correct for different ray lengths)
More on Transfer Functions
Two steps:
- Data classification / feature identification
- Optical properties
What to identify?
Materials (classification)
Boundaries / Geometric Features
Phenomena (fronts, structures, zones)
How to identify?
- Manual segmentation
- Automatic / Learning / …
- Geometric features (edges) similar to 2D
Local vs. global decision making
Inputs to transfer function
Values
- Gradients
- Curvature
- Feature info
Determining opacities
- 0 in empty space – high “inside”
- what about “murky regions” – not much to do, still need slicing and interaction
Try to have “thin shells” of “constant thickness” that are opaque (levoy)
- value+gradient can identify boundary = gradient is important in figuring opacity
Still an active research area (transfer functions)
- illustration inspired techniques
- ways to simulate transparency and make perceptually useful transparency
- integrating classification and automation in transfer function design
- make different materials and their boundaries obvious
Adding Lighting
- Have volume “emitting” light?
- Fake lighting (use gradient as normal)
- Direct lighting models
- Global / Light Transport
- Do the reverse of the rendering process to determine how much light gets to each voxel
- More complex models require fancier integrals (over spheres, …)
Resources
http://www.vis.uni-stuttgart.de/vis03_tutorial/
http://www.siggraph.org/education/materials/HyperVis/vistech/volume/volume.htm