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 magnitude, etc)
Transfer Func6on in Rendering Equa6on Z R D R D τ ( t ) dt + τ ( t ) dt ds D I ( D ) = I 0 × e − 0 g ( s ) e − 0 s i = n n i = n X Y Y ( ) (1 − α i ) (1 − α i ) I 0 g i × i =1 j = i +1 i =1 Opacity Color in (R,G,B)
Transfer Func6on in Back-to-Front Composi6ng The ini6al pixel color = Black Back-to-Front composi6ng: c1 use ‘under’ operator C = C1 ‘under’ background c2 C = C2 ‘under C C = C3 ‘under C c3 … C out = C in * (1- α (x)) + C(x)* α (x) (this is the alpha blending formula)
Transfer Func6on in Front-to-Back Composi6ng Front-to-Back composi6ng: use ‘over’ operator c1 C = background ‘over’ C1 c2 C = C ‘over’ C2 C = C ‘over’ C3 c3 … C out = C in + C(x)*(1- α in ); α out = α in + α (x) *(1- α in )
Color in Transfer Func6on • Color – Dis6nguish different materials • Muscle: orange • All Materials uses same • Bone: yellow color • Tooth: red • See no features
Opacity in Transfer Func6on Opacity • – Opacity (transparency) of each sample – That mul6ple materials is shown in the rendered image provides more context High Opacity For Muscle α v Low Opacity α For Muscle v • Material inside the • Make the muscle muscle is occlude transparent • See no features • See the bone and tooth
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 α v α Shib v
Paraview Control Opacity of Transfer Func;on 8. Select ‘Volume’ Control Color Set Different Color Map
Histogram Assisted Transfer Func6on Design • Histogram – Divide the data range into finite Frequency intervals(bins) – Frequency of a bin is the number of samples whose values are in the interval Data Value *hAp://en.wikipedia.org/wiki/Histogram
Histogram Assisted Transfer Func6on Design 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
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 – 2 nd deriva6ves: zero crossing • 1 st 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 Transfer Func6on for Interac6ve Volume Rendering, IEEE Transac6ons on Visualiza6on and Computer Graphics, Vol. 8, No. 3, pp. 270-285, 2002
Recommend
More recommend