Non-photorealistic Rendering Visualization: Volume Rendering | EECS 487, Study notes of Electrical and Electronics Engineering

Material Type: Notes; Professor: Jamin; Class: Interac Comp Graph; Subject: Electrical Engineering And Computer Science; University: University of Michigan - Ann Arbor; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 09/02/2009

koofers-user-yhc
koofers-user-yhc 🇺🇸

10 documents

1 / 9

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
EECS 487: Interactive
Computer Graphics
Lecture 21
Non-Photorealistic Rendering
Visualization: Volume Rendering
Computer graphics provides tools to help
human designers produce images that
communicate visual information for some
purpose
Whether to use photorealism depends on
the purpose of the image:
!Story-telling
!Artistic expression
!Documentation
!Technical illustration
Non-Photorealistic Rendering
Markosian
Dr. Seuss
Motivation:
Apply techniques from
stylized art and illustration to
represent natural complexity
in 3D graphics
Goals:
!Extend expressive power of
3D graphics
!Evoke complexity using
simple geometry
!Control composition and
detail
!Speed (real-time)
!Frame-to-frame/temporal
coherence
Non-Photorealistic Rendering
pf3
pf4
pf5
pf8
pf9

Partial preview of the text

Download Non-photorealistic Rendering Visualization: Volume Rendering | EECS 487 and more Study notes Electrical and Electronics Engineering in PDF only on Docsity!

EECS 487: Interactive

Computer Graphics

Lecture 21

Non-Photorealistic Rendering

Visualization: Volume Rendering

Computer graphics provides tools to help

human designers produce images that

communicate visual information for some

purpose

Whether to use photorealism depends on

the purpose of the image:

-! Story-telling -! Artistic expression -! Documentation -! Technical illustration

Non-Photorealistic Rendering

Markosian

Dr. Seuss

Motivation:

Apply techniques from stylized art and illustration to represent natural complexity in 3D graphics

Goals:

  • !Extend expressive power of 3D graphics
  • !Evoke complexity using simple geometry
  • !Control composition and detail
  • !Speed (real-time)
  • !Frame-to-frame/temporal coherence

Non-Photorealistic Rendering

Qualities of Hand-drawn Images “Amplification through simplification” --McCloud

-! Many details left out -! Some details emphasized -! By simplifying and stripping out clutter, one can amplify the effect of information relevant to the presentation !! Stylization / abstraction -! Simulation of painterly styles -! Simulation of natural media, e.g., pen&ink, charcoal, watercolor, etc. !! Recognizable individual style Monet Charles Burns (^) David Suter

Pen and Ink [Winkenbach and Salesin, Siggraph 94] !! Purpose: render 3D models as pen & ink drawings !! Method:

-! annotate model with procedural “textures” -! render tonal “reference image” -! use it to guide pen and ink textures

Cartoonish Rendering !! At its simplest: objects are drawn with solid lines separating areas of different solid colors !! Main issue: finding silhouette (usually rendered black) !! Categorization of edges in toon rendering:

-! boundary/border edge: edge belonging to only one polygon -! crease edge: edge shared by two polygons and the angle between the two is greater than some threshold (!60º) -! material edge: edge between two polygons of different material attributes, e.g., color -! silhouette edge: edge shared by two polygons facing in different directions relative to some direction vector, e.g., light or view vector

Visualization Goals:

-! Present large quantities of data at high spatial densities -! Make large data set manageable and coherent -! Show the fine detail while maintaining an overall perspective Hazards: -! Color confusion: -! random colors -! bad color maps -! Visual confusion: -! getting lost in the data -! new and strange shapes -! Rendering effects Visualization Techniques !! 2D scalar fields f(x,y) -! Random density plots -! Greyscale density and pseudocolor plot -! Height plots -! Contour plots (isocontours) !! 3D scalar fields f(x,y,z) -! Volume rendering -! Extracting isosurfaces -! Ray tracing -! Splatting Plots in 2D !! Many different ways !! Random density plot, scattergram !! Pseudo-color plot -! Color map is required From amver.com © G.W.Osborne Contour Plots and Height Maps !! Contour-curves in 2D !! Height map represents various data value with levels of elevation !! Can be combined with pseudocolor plot (^) Spadaccini 2007

Contour Tracking !! Construct the boundaries between regions of different scalar values !! Boundaries can be lines (isocontours in 2D) or surfaces (isosurfaces in 3D) !! Consider the sample grid

-! each vertex represents a data point f(x,y) -! the red contour shows where f(x,y) =7, the green one, f(x,y) =8. -! contour constructed by linear interpolation: -! to determine points for the contour on cell edges, interpolate between two vertices -! connect the points -! simple, fast, usually sufficient Spadaccini 2007 Marching Squares !! Observation: there is only a finite number of ways (topological states) a contour can pass through a cell !! For each cell, compute the inside/ outside state of each vertex !! Generate an index from the “inside” bits !! Look up topological state, calculate contour location on edges intersected by the contour by interpolating between the values of its two vertices !! Contour plot can be generated by “marching” through the grid, left to right, top to bottom (with additional details.. .) -! we don’t need to store all 16 states, instead transform similar states CITS 4241 - Lectures 5 & 6 17 Marching Squares - Let's work out the possibilities: Point above contour (index bit = 1 ) 0000 0 1 3 2 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 CITS 4241 - Lectures 5 & 6 Marchi

  • Algorithm
  • Select a cell
  • Calculate inside/outsi
  • Generate topological
  • Look up topological s
  • Gives set of edges
  • Calculate contour loca

in the intersection set

r = ( C - f ( 0 ) ) / ( f (

  • Notes:
    • Interpolate in the sam
      • Otherwise round-o
    • Boundaries: duplicate
      • Eliminate with coin CITS 4241 - Lectures 5 & 6 19 Marching Squares - Ambiguities
  • Cases five ( 0101 ) and ten ( 1010 ) are ambiguous
  • Two possible contours
  • In 2 D, choose either one 0000 0 1 3 2 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 CITS 4241 - Lectures 5 & 6 Marching Squ
  • Two possible contou
  • In 2 D, choose either o
  • Either acceptable
    • Resulting contour line

or end at dataset boun

1010 Break contour

-! f(x,y) represented by the line -! black dot represent vertices with value > f(x,y) -! We are only considering how a contour passes through a cell (how many vertices are on one side or the other of the contour), not yet where it passes through the cell Spadaccini 2007 Volume Rendering !! Methods to generate an image from voluminous volumetric data -! geometric based: isosurface extraction -! volume based: ray casting and “splatting” !! Major visualization tool, e.g., medical imaging, oil prospecting, also useful for rendering results of fluid simulation (e.g., smoke and water) !! Input: a scalar function f(x,y,z) , sampled in 3D -! value f(x,y,z) characterizes the point (x,y,z) -! f(x,y,z) might represent, e.g., -! tissue density in computed tomography (CT) scan -! atom concentration in magnetic resonance imaging (MRI) scan -! soil density in seismic study Spadaccini 2007 Voxels and Cells !! We differentiate between voxel and cell by whether we associate data values with the vertices (cell) or the center (voxel) ~ SIGGRAPH' 87 , Anaheim,July 27 - 31 , 1987 X-ray c o m p u t e d t o m o g r a p h y (CT) m e a s u r e s t h e spatially varying X-ray a t t e n u a t i o n coefficient [ 3 ], C T i m a g e s s h o w i n t e r n a l s t r u c t u r e. F o r 3 D applications, C T is fre- q u e n t l y u s e d to look at b o n e s t r u c t u r e , a l t h o u g h we h a v e h a d success visualizing soft tissue. M a g n e t i c r e s o n a n c e ( M R ) m e a s u r e s t h r e e physical prop- erties [ 20 ]. O n e p r o p e r t y is t h e d i s t r i b u t i o n o f " m o b i l e " h y d r o g e n nuclei a n d s h o w s overall s t r u c t u r e within t h e slices. T h e o t h e r two p r o p e r t i e s m e a s u r e r e l a x a t i o n t i m e s o f t h e nuclei. M R , a r e c e n t t e c h n i q u e , s h o w s ex- cellent c o n t r a s t b e t w e e n a variety of soft tissues. How- e v e r , t h e variety of s u r f a c e s p r e s e n t s a c h a l l e n g e to 3 D surface c o n s t r u c t i o n a n d r e q u i r e s t e c h n i q u e s for selec- tive s u r f a c e e x t r a c t i o n a n d display. A t h i r d a c q u i s i t i o n t e c h n i q u e , s i n g l e - p h o t o n e m i s s i o n c o m p u t e d t o m o g r a p h y ( S P E C T ) m e a s u r e s t h e e m i s s i o n of g a m m a rays [ 24 ]. T h e s o u r c e o f t h e s e rays is a ra- d i o i s o t o p e d i s t r i b u t e d w i t h i n t h e body. [n a d d i t i o n to s t r u c t u r e , S P E C T can s h o w t h e p r e s e n c e of b l o o d in s t r u c t u r e s with a m u c h lower d o s e t h a n t h a t r e q u i r e d by CT.

2. Image processing.

S o m e a l g o r i t h m s use image p r o c e s s i n g t e c h n i q u e s to find s t r u c t u r e s w i t h i n t h e 3 D data [ 1 , 32 , 30 , 29 ] or to filter t h e original data. M R data, in particular, n e e d s image pro- cessing to select a p p r o p r i a t e s t r u c t u r e.

3. Surface construction.

Surface c o n s t r u c t i o n , t h e topic of this paper, i n v o l v e s t h e c r e a t i o n of a s u r f a c e m o d e l f r o m t h e 3 D data. T h e m o d e l usually c o n s i s t s o f 3 D v o l u m e e l e m e n t s (voxels) or polygons. U s e r s select t h e d e s i r e d surface by specify- ing a d e n s i t y value, T h i s step can also include t h e crea- tion o f cut or capped surfaces.

4. Display.

H a v i n g created t h e surface, t h e final step displays t h a t surface u s i n g display t e c h n i q u e s that i n c l u d e ray casting, d e p t h s h a d i n g , a n d color shading.

3. R E L A T E D W O R K.

T h e r e are s e v e r a l a p p r o a c h e s to t h e 3 D s u r f a c e g e n e r a t i o n p r o b l e m. A n early t e c h n i q u e [ 23 ] starts with c o n t o u r s of t h e s u r f a c e to be c o n s t r u c t e d a n d c o n n e c t s c o n t o u r s o n c o n s e c u - tive slices with triangles. U n f o r t u n a t e l y , if m o r e t h a n o n e c o n t o u r o f s u r f a c e exists o n a slice, a m b i g u i t i e s arise w h e n d e t e r m i n i n g w h i c h c o n t o u r s to c o n n e c t [ 14 ]. I n t e r a c t i v e in- t e r v e n t i o n by t h e u s e r can o v e r c o m e s o m e o f t h e s e a m b i g u i - ties [ 8 ]; h o w e v e r , in a clinical e n v i r o n m e n t , u s e r i n t e r a c t i o n s h o u l d b e kept to a m i n i m u m. A n o t h e r a p p r o a c h , d e v e l o p e d by G. H e r m a n a n d col- leagues [ 19 ] c r e a t e s s u r f a c e s f r o m cuberilles. A cuberille is " d i s s e c t i o n o f space into equal c u b e s (called voxels) by t h r e e o r t h o g o n a l sets of parallel planes [ 7 ]. " A l t h o u g h t h e r e are m a n y ways to display a cuberille m o d e l , t h e m o s t realistic im- ages result w h e n t h e g r a d i e n t , calculated f r o m cuberilles in a n e i g h b o r h o o d , is used to find the s h a d e o f a p o i n t on t h e m o d e l [ 15 ]. M e a g h e r [ 25 ] u s e s an o c t r e e r e p r e s e n t a t i o n to c o m p r e s s t h e storage o f t h e 3 D data, allowing rapid m a n i p u - lation a n d display o f voxels. Farrell [ 12 ] uses ray casting to find t h e 3 D surface, b u t r a t h e r t h a n s h a d e t h e image with a gray scale, uses h u e light- ness to display t h e surface. In a n o t h e r ray casting m e t h o d , H o h n e [ 22 ], after locating t h e surface a l o n g a ray, calculates t h e g r a d i e n t a l o n g t h e surface a n d uses this g r a d i e n t , scaled by an " a p p r o p r i a t e " value, to g e n e r a t e gray scales for t h e image. A d i f f e r e n t a p p r o a c h , used at the Mayo Clinic [ 26 ], dis- plays t h e d e n s i t y v o l u m e r a t h e r t h a n t h e surface. T h i s m e t h o d p r o d u c e s , in effect, a c o n v e n t i o n a l s h a d o w g r a p h t h a t can be viewed f r o m arbitrary angles. M o t i o n e n h a n c e s t h e t h r e e - d i m e n s i o n a l effect o b t a i n e d using the v o l u m e model. Each o f t h e s e t e c h n i q u e s for surface c o n s t r u c t i o n a n d dis- play suffer s h o r t c o m i n g s b e c a u s e they t h r o w away u s e f u l in- f o r m a t i o n in t h e original data. T h e c o n n e c t e d c o n t o u r algo- r i t h m s t h r o w away t h e inter-slice c o n n e c t i v i t y that exists in t h e original data. T h e cuberille a p p r o a c h , u s i n g t h r e s h o l d i n g to r e p r e s e n t t h e surface as blocks in 3 D space, a t t e m p t s to r e c o v e r s h a d i n g i n f o r m a t i o n f r o m t h e blocks. T h e ray cast- ing m e t h o d s e i t h e r u s e d e p t h s h a d i n g a l o n e , or try to a p p r o x - i m a t e s h a d i n g with an u n n o r m a l i z e d gradient. Since they display all values a n d n o t j u s t t h o s e visible f r o m a g i v e n point of view, v o l u m e m o d e l s rely o n m o t i o n to p r o d u c e a t h r e e - d i m e n s i o n a l s e n s a t i o n. O u r a p p r o a c h uses i n f o r m a t i o n f r o m t h e original 3 D data to d e r i v e inter-slice c o n n e c t i v i t y , s u r f a c e location, a n d sur- face gradient. T h e r e s u l t i n g triangle m o d e l can be displayed o n c o n v e n t i o n a l graphics disptay s y s t e m s u s i n g s t a n d a r d r e n d e r i n g a l g o r i t h m s.

  1. M A R C H I N G C U B E S A L G O R I T H M. T h e r e are two p r i m a r y steps in o u r a p p r o a c h to t h e sur- face c o n s t r u c t i o n p r o b l e m. First, we locate t h e s u r f a c e c o r r e s p o n d i n g to a user-specified v a l u e a n d create triangles. T h e n , to e n s u r e a quality image of t h e s u r f a c e , we calculate t h e n o r m a l s to t h e surface at each v e r t e x o f each triangle.

Marching cubes uses a d i v i d e - a n d - c o n q u e r a p p r o a c h to lo-

cate t h e surface in a logical cube c r e a t e d f r o m eight pixels;

f o u r each f r o m two a d j a c e n t slices ( F i g u r e 2 ). T h e a l g o r i t h m d e t e r m i n e s h o w t h e s u r f a c e i n t e r s e c t s this

c u b e , t h e n m o v e s (or marchs) to t h e n e x t cube. To find t h e

s u r f a c e i n t e r s e c t i o n in a c u b e , we assign a o n e to a c u b e ' s v e r t e x if t h e data v a l u e at t h a t v e r t e x e x c e e d s (or equals) t h e v a l u e of t h e surface we are c o n s t r u c t i n g. T h e s e vertices are inside (or o n ) t h e s u r f a c e. C u b e vertices with v a l u e s below t h e s u r f a c e r e c e i v e a zero a n d are o u t s i d e t h e surface. T h e s u r f a c e i n t e r s e c t s t h o s e c u b e edges w h e r e o n e v e r t e x is out- side the surface ( o n e ) a n d the o t h e r is inside t h e surface (zero). W i t h this a s s u m p t i o n , we d e t e r m i n e t h e topology of t h e s u r f a c e w i t h i n a c u b e , finding the location of t h e intersec- tion later. / /<"J+I'"U { + , , ,+ S h e e ~ i

~ , ~ j. pixel

I

Figure 2. Marching Cube.

vertex Watt 2000 Lorensen&Cline 87