Lecture Stuff

What is Volume Data? (Scalar Fields)

What is a voxel (point samples, interpolation, reconstruction, …)

Hierarchy of Methods

  1. 2D Methods (slices) (note: not an X-Ray)
  2. Surface construction
  3. Direct Volume Rendering

General Graphics Points

  • Projection (orthographic vs. perspective)
  • Use of interaction (cutting planes, other “volume widgets”)

Surface Construction Approaches

  1. Cubies
  2. Contour tracking / connecting
  3. 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


  • 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, …)






Week 7: March 2-4

March 2, 2010

in Lecture Stuff

Mike’s notes from 3/2: Discussion of contours, and other things from Ware Ch3. 2010-03-02-Layout

Thursday, March 4 is group presentation day

Tuesday’s discussion on evaluation pretty much ran itself. Thursday’s discussion was based on the critique assignment as much as it was on any notes.

10-02-07-Evaluation – my notes

Mike’s notes for Tuesday, Feb 4th: 2010-02-02-whyvisnotes

Nakho’s notes for 2/4: cs_vis_03_1

Mike’s notes for Thursday, Feb 6th: 2010-02-04-ThinkDifferent

Nakho’s notes for 2/6: cs_vis_03_2

The main conversation was about the papers that people were intrigued by.

For the “what does vis do for you part”, I was working from the notes:2010-01-28-whatvisdoes

Other people’s notes:

nakho’s notes: 01-28-nakho

Here are the notes I had to use for the lecture. The actual conversation was much less organized.

Unfortunately, we have no easy way for you to attach things to this posting. So if you have notes that you’re willing to share, send them to the TA and he’ll attach them. If you have handwritten notes that might be useful for others, we can help you scan them.

I did not make an audio recording, but the class was enough of a conversation that just having my side of it would be even less useful.

2010-01-26-notes-whatisvis – mike’s notes

puneet-1-26 – puneet’s notes

01-26-nakho – nakho’s notes

This is stuff collected from today’s lecture which discussed Mizbee (but really was a way to get at the whole process of thinking about visualization).

Mike’s Notes: 10-01-21-lecture-mizbee

Audio Recording (21Mb): 10-01-21-mizbee.mp3

Student Contributions:

Sarah Chu’s notes: chu-CS838-01_21_2010