Direct Volume Rendering Transfer Func6on Design Han-Wei Shen The - - PowerPoint PPT Presentation
Direct Volume Rendering Transfer Func6on Design Han-Wei Shen The - - PowerPoint PPT Presentation
Direct Volume Rendering Transfer Func6on Design Han-Wei Shen The Ohio State University Transfer Func6on Map a data sample to color and opacity Data Set The sample could be A single value (scalar) Mul6ple values (scalar, gradient
Transfer Func6on
- Map a data sample to color and opacity
Data Set
- The sample could be
– A single value (scalar) – Mul6ple values (scalar, gradient magnitude, etc)
Transfer Func6on in Rendering Equa6on
I(D) = I0 × e−
R D τ(t)dt +
Z
D 0 g(s)e− R D
s
τ(t)dtds
I0
i=n
Y
i=1
(1 − αi)
i=n
X
i=1
gi ×
n
Y
j=i+1
(1 − αi)
( ) Opacity Color in (R,G,B)
Transfer Func6on in Back-to-Front Composi6ng
c1 c2 c3
The ini6al pixel color = Black Back-to-Front composi6ng: use ‘under’ operator C = C1 ‘under’ background C = C2 ‘under C C = C3 ‘under C … Cout = Cin * (1-α(x)) + C(x)*α(x) (this is the alpha blending formula)
c1 c2 c3
Front-to-Back composi6ng: use ‘over’ operator C = background ‘over’ C1 C = C ‘over’ C2 C = C ‘over’ C3 … Cout = Cin + C(x)*(1- αin); αout = αin + α(x) *(1-αin)
Transfer Func6on in Front-to-Back Composi6ng
Color in Transfer Func6on
- Color
– Dis6nguish different materials
- All Materials uses same
color
- See no features
- Muscle: orange
- Bone: yellow
- Tooth: red
Opacity in Transfer Func6on
- Opacity
– Opacity (transparency) of each sample – That mul6ple materials is shown in the rendered image provides more context
- Material inside the
muscle is occlude
- See no features
α v
High Opacity For Muscle
- Make the muscle
transparent
- See the bone and
tooth α v
Low Opacity For Muscle
Transfer Func6on Design
- Goal
– Using transfer func6on to emphasize salient structures and de- emphasize other
- Challenges
– Without knowing the data how to design a good transfer func6on? – A small difference in the transfer func6on could produce very different images – Some features are not easy to show without a lot of tweaking
Need algorithms and strategies to assist users to find the desired transfer func6on in a huge transfer func6on search space
Transfer Func6on Design
- Goal
– Using transfer func6on to emphasize salient structures and de- emphasize other
- Challenges
– Without knowing the data how to design a good transfer func6on? – A small difference in the transfer func6on could produce very different images – Some features are not easy to show without a lot of tweaking
Need algorithms and strategies to assist users to find the desired transfer func6on in a huge transfer func6on search space
Transfer Func6on Design
- Goal
– Using transfer func6on to emphasize salient structures and de- emphasize other
- Challenges
– Without knowing the data how to design a good transfer func6on? – A small difference in the transfer func6on could produce very different images – Some features are not easy to show without a lot of tweaking
Need algorithms and strategies to assist users to find the desired transfer func6on in a huge transfer func6on search space
Transfer Func6on Design
- Goal
– Using transfer func6on to emphasize salient structures and de- emphasize other
- Challenges
– Without knowing the data how to design a good transfer func6on? – A small difference in the transfer func6on could produce very different images – Some features are not easy to show without a lot of tweaking
Need algorithms and strategies to assist users to find the desired transfer func6on in a huge transfer func6on search space
Transfer Func6on Design
- Goal
– Using transfer func6on to emphasize salient structures and de- emphasize other
- Challenges
– Without knowing the data how to design a good transfer func6on? – A small difference in the transfer func6on could produce very different images – Some features are not easy to show without a lot of tweaking
Need algorithms and strategies to assist users to find the desired transfer func6on in a huge transfer func6on search space
Trial and Error
- Manually control the color and opacity of each scalar value using
graphical user interface (GUI)
– Very tedious work and inefficient – Small transfer func6on change can produce very different images It could be difficult to get a good image without enough prior knowledge
Shib α v α v
Paraview
- 8. Select ‘Volume’
Control Opacity of Transfer Func;on
Control Color
Set Different Color Map
Histogram Assisted Transfer Func6on Design
- Histogram
– Divide the data range into finite intervals(bins) – Frequency of a bin is the number of samples whose values are in the interval
Data Value Frequency
*hAp://en.wikipedia.org/wiki/Histogram
- Different features in the data set some6mes have values in different scalar
ranges
- If this is the case, value clusters can be seen from the histogram
- Different value clusters can be assigned with different colors and opaci6es
Air Muscle Bone & Tooth
Histogram Assisted Transfer Func6on Design
Mul6-Dimensional Transfer Func6ons
- Certain features cannot be captured by 1D histograms
– boundary between two materials
- Ex: emphasize the boundary between sinuses and 6ssue
*Interac;ve Volume Rendering Using Mul;-Dimensional Transfer. Func;ons and Direct Manipula;on Widgets. Joe Kniss. Gordon Kindlmann. Charles Hansen. 2001
Mul6-Dimensional Transfer Func6ons
- How to detect/capture the boundaries
– Values: step func6on
– Gradients: local maximum – 2nd deriva6ves: zero crossing
- 1st deriva6ve of the raw data at a point
*Interac;ve Volume Rendering Using Mul;-Dimensional Transfer. Func;ons and Direct Manipula;on Widgets. Joe Kniss. Gordon Kindlmann. Charles Hansen. 2001
Mul6-Dimension Transfer Func6on Design
- 2D Histogram
– X-axis – data value – Y-axis – gradient – Color intensity – frequency of the histogram (darker means
more here)
*Interac;ve Volume Rendering Using Mul;-Dimensional Transfer. Func;ons and Direct Manipula;on Widgets. Joe Kniss. Gordon Kindlmann. Charles Hansen. 2001
Mul6-Dimensional Transfer Func6ons
- 1D histogram can capture
homogeneous region only
– A : air – B : 6ssue – C : bone
- 2D histogram can capture
– D : air and 6ssue boundary – E : 6ssue and bone boundary – F : air and bone boundary
*Interac;ve Volume Rendering Using Mul;-Dimensional Transfer. Func;ons and Direct Manipula;on Widgets. Joe Kniss. Gordon Kindlmann. Charles Hansen. 2001
Interface for Transfer Func6on Design
- Use graphical interface to map 3D points back
to the transfer func6on domain
- Move the probe and interact in the
volume space
- Indicate where the point is in the
transfer func6on domain
*Interac;ve Volume Rendering Using Mul;-Dimensional Transfer. Func;ons and Direct Manipula;on Widgets. Joe Kniss. Gordon Kindlmann. Charles Hansen. 2001
References
- Marc Levoy, Display of Surface from Volume Data, IEEE
Computer Graphics and Applica6ons, Vol. 8, No. 3, May, 1988, pp. 29-37
- G. Kindlemann and J.W. Durkin, Semi-automa6c
Genera6on of Transfer Func6ons for Direct Volume Rendering, Proc. of IEEE Symposium on Volume Visualiza6on, pp. 79-86, 1998
- J. Kinss, G. Kindlemann, C. Hansen, Mul6dimensional