vi li ti m th dvisualization methods

Post on 16-Feb-2022

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Vi li ti M th dVisualization Methods

• Contour Tracking• Contour Tracking• Surface Rendering• Direct Volume Rendering

Iso s face Rende ing• Iso-surface Rendering

1

Vi li ti M th dVisualization Methods

Sample F(x y z)F(x,y,z)

Point array

outline contouring Extract planes resamplingpolygonsline

Display Display Display Display

meshg

DVR

2

Display Display Display Display

Vi li ti M th dVisualization Methods

Volume

Surface Extract Surface

3D Model

MIP

Min IPColor

Ray Sum Inner ViewMix

Integral

Cut Plane3

Cut Plane

Vi li ti M th dVisualization Methods

3D Model Data

MIP Min IP Ray SumSurface

4Ray Sum (Inner view)

Vi li ti M th dVisualization Methods

3D Model Data

MIP Min IPSurface Cut Plane

5Surface(Color/Mix) Color/Mix

Wi f CWireframe Contours

• Build a display list of isovalued lines• Interactive methods

• Pro : interactive speed• Con : minimal information in imagesCon : minimal information in images

5 55 5 5

6 56 5 5

6 67 5 56 67 5 5

7 78 6 5

68 89 7 6

l l f ( )Multiplanar Reformation (MPR)

• Pseudo-color exposed extent and oblique

lplanes

• Examples

7

Multiplanar ReformationMultiplanar Reformation

Interactive viewingReconstruction planesp

Axial, coronal, sagittalOblique, double obliqueCurved planar reformationFreehand drawing

Special techniq esSpecial techniquesDisplay on 3D image3D MPR3D MPRFreely moving MPR plane on the volume

8

MPRMPR

• Pros– Real-time, rapid– Entire information without loss of data

• Cons– 2D image2D image– Lack of overall feature

Tortuous branching structures– Tortuous, branching structures

Compensation with special techniquesCompensation with special techniques9

Compensation with special techniquesCompensation with special techniques

MIP / MinIPMIP / MinIP

2D projection imageCine-loop to convey 3D structuresUseful in blood vesselsUseful in blood vessels, calcifications, airways & air-filled GI tract (high ( gcontrast with background)Necessary to remove overlapping structuresoverlapping structures

10

MIPMIP

Entry point

Exit point

11

MIPMIP

Maximum attenuation value is mapped to a Maximum attenuation value is mapped to a 22D gray D gray scale imagescale imagesca e agesca e age

12Line of SightLine of Sight

MIPMIP

Maximum attenuation value is mapped to a 2D Maximum attenuation value is mapped to a 2D gray scale image gray scale image

13Line of SightLine of Sight

MinIP

14

MIP AMIP vs Average

AverageAverageAverageAverage

MIPMIP

15

Surface RenderingSurface Rendering(Geometry Rendering)

Objects are defined in terms of surfacesC h d dConverts the data into an intermediate surface representation before the rendering

l dvolume data ⇒ geometric primitives : surface reconstruction (surface fitting)Contouring, Marching cubes, Dividing cubes

16

Surface Rendering Pros

Render in hardware Changing View/Light(s) requires only renderingrendering Compact storage & transmission Render in object order or image orderRender in object order or image order Good spatial coherence for efficient rendering

17

Surface Rendering Cons

Requires Binary Classification Throws Away Data Between SurfacesThrows Away Data Between Surfaces False Positives and Negatives H dl S ll F t P lHandles Small Features Poorly Not easy to Handle Branching User Intervention Sometimes Required Amorphous Data Doesn't Have "Thin Surfaces" Modeling complexity : 10 minutes to extract 500,000 Triangles

18

, g

C t iContouring

A contour is a line drawn on a plan joining all points of the same (OR above or below)points of the same (OR above or below) intensity value.Extract contours at each section and connect them togetherThe plan spacing between contour line i di h f lindicates the steepness of slopes.

Closely spaced lines indicates a steep gradient.Widely spaced lines indicate a flatter gradientWidely spaced lines indicate a flatter gradient.

C t iContouring

20

C t iContouring

21

C t iContouring

22

4 P bl f C t i4 Problems of Contouring

Correspondence problemTiling problemBranching problemBranching problemSurface-fitting problemg p

(Meyers, Skinner, and Sloan “Surfaces from Contours” 1992)

23

Correspondence Problem ofCorrespondence Problem of Contouring

Which contours should be connected together by the surface?by the surface?– The question arises whenever there are multiple

contours in a sectioncontours in a section– Solution: arrange contours into groups organized

by which objects they representby which objects they represent• Difficult to make automatic without making assumptions

because of the ambiguities• Usually done by a human in the contour editor

24

Tili P bl f C iTiling Problem of Contouring

How should the contours be connected?

25

B hi P bl f C t iBranching Problem of Contouring

What do we do when there are b h i th f ?branches in the surface?– One solution is user intervention

26

Surface-fitting Problem of gContouring

Once a triangulated mesh is found, how h ld th f b d th tshould a smooth surface be made that

approximates or interpolates the vertices of the mesh and maintains the same topology?sa e topo ogy

27

C t iContouring

28

3 C3D Contour Maps

29

Opaque Cube

All ON cells are represented as hexahedraRender six faces with traditional methodsRender six faces with traditional methods

30

Opaque Cube

Pros St i ht f d t I l tStraight-forward to Implement Data Classification is Easy

O Th h ld V lOne Threshold Value

Cons Jaggies Same Problems as Surface Fitting

31

M hi C b Al ithMarching Cubes Algorithm

Developed by William E. Lorensen and Harvey E Cline 1987Harvey E. Cline, 1987Creates a constant density surface f 3D f d tfrom a 3D array of dataCreate a triangular mesh that willapproximate the iso-surfaceapproximate the iso-surfaceCan use a general purpose graphics pipelineSlow for typical medical applicationsSlow for typical medical applications

too many polygonsDrawback: Possible holes in the model

32

Drawback: Possible holes in the model

Marching Cube - Steps

Volume is subdivided into unit cubes, which are analyzed and replaced by an appropriate set of

1. Create cells (cubes)

y p y pp ppolygons

( )2. Classify each vertex3. Build an index4. Get edge list based on table look-up5. Interpolate triangle vertices6. Interpolate normals7. Obtain polygon list and do shading in image

space33

space

Marching Cubes Algorithm

For each voxel, set vertex flagsEach vertex of the voxel is assigned a binary (0 or 1)Each vertex of the voxel is assigned a binary (0 or 1) value based on whether scalar value is higher or lower than surface value.

VV3

if F(i,j,k) ≥ α

+y

V2

V7

3

V6

+x

+y

V0 V1

34+z

V 5V4

Edge listEdge list

For a given vertex flag ( index), edge table returns a list of edges that contains a triangle vertexa list of edges that contains a triangle vertex.

35

Edge listEdge list

Because rotation symmetry and complementary, 256 cases are reduced to 15 cases.reduced to 15 cases.

36

S f i t ti i bSurface intersection in a cube

Interpolate surface intersection along h deach edge

41 )1( tvtvvi +−=

iv

41

1

vvvvt i

−−

=41

37

C l l t N l i MCCalculate Normals in MC

)()( zyxfzyxN ∇=

Normals at Vertices of Cubes using Central difference

)1( kjiN +),,(),,( zyxfzyxN ∇=

xkjiDkjiDkjiNx Δ

−−+=

),,1(),,1(),,(

),1,( kjiN +

ykjiDkjiDkjiN

x

y Δ−−+

=

Δ),1,(),1,(),,(

zkjiDkjiDkjiNz Δ−−+

=)1,,()1,,(),,(

),,( kjiNY d t li !

),,(),,( kjiNkjiN =

),,( kjiNYou need to normalize!

38),,(

),,(kjiN

kjiN

C l l t N l i MCCalculate Normals in MC

Normals at Vertices of TrianglesLinear interpolations of two vertices of cubesLinear interpolations of two vertices of cubes

Keeping 4 slices in memory at once

),1,( kjiN +

)( ktjiN + ),,( ktjiN +

39),,( kjiN

Efficiency Enhancement in MC

Line-to-line/slice-to-slice coherenceFor interior cubes only 3 new edges need to be– For interior cubes, only 3 new edges need to be interpolated for each cube, other 9 edges are obtained from previous slices, lines, or pixels.obtained from previous slices, lines, or pixels.

40

Bunny Example (MC)Bunny Example (MC)

41

Shaded S fSurface Display

100 HU100 HU 150 HU150 HU

42200 HU200 HU 225 HU225 HU

Possible Holes of MC Algorithm

The reason – “ambiguous labels”

i 2D

Different resulting contours

in 2D

Different resulting contours

43

Possible Holes of MC Algorithm

hole

These are: Cases 3, 6, 7, 10, 12, 13

44

Possible Holes of MC Algorithm

45

Resolve ambiguities of MCResolve ambiguities of MC Algorithm

• “Resolving the Ambiguity in Marching Cubes”, Nielson and Hamann, Visualization '91, pages 83-91

• Be consistent!– Then resulting surface should contain no ambiguities– Store the edge intercepts that you have computed for the cube

being considered– In the next march step do not recalculate intercepts for theIn the next march step, do not recalculate intercepts for the

common face - they have been done.

• Use the triangular facets that would be consistent with gthe edge intercepts computed for the previous cube

46

Resolve ambiguities of MCResolve ambiguities of MC Algorithm

• If topology of the current cell is not consistent with the previous neighbor cell then we should consider taking the complementary topology of the current cell.

47

Resolve ambiguities of MCResolve ambiguities of MC Algorithm

• Using this method, the resultant surface will complete though not necessarily correct.

??

48

l bResolve ambiguities II

Simple Subdivision

2D2D

3D

A disadvantage of the marching tetrahedra is

49

A disadvantage of the marching tetrahedra is the large number of triangles which are created -slowing down the rendering time

l bResolve ambiguities III

Marching cubes 33 by Evgeni Chernyaev

50

l bResolve ambiguities III

Marching cubes 33 by Evgeni Chernyaev

51

R l bi itiResolve ambiguities

52

Drawback of MC

Marches all cells, including empty cells.30-70% of isosurface generation time was spent30 70% of isosurface generation time was spent in examining empty cells.

MethodsMethodsUse hierarchical data structure to summarize volume information Can prevent useless traversal of regions of no interest.O t hOctree approach

53

O tOctrees

Full octreeEach node has exactly 8 childrenEach node has exactly 8 children.Even-subdivision

Ad ti E bdi i iAdaptive Even-subdivisionBranch-on-need octree :Delay subdivision until absolutely necessary

54

O tOctreesEven subdivision Branch-on-need

55

M d l Si lifi tiModel Simplification

MotivationDi it l l ti d t 105 lDigital elevation data > 105 polygons3D digitizers > 105 polygonsMedical imaging > 106 polygonse g 256x256x128 ~820 000 trianglese.g., 256x256x128 820,000 triangles

Slower rendering speedsSlower rendering speedsLarge memory requirementsMore expensive analysis

56

More expensive analysis

Mesh simplification algorithm -Mesh simplification algorithm Decimation

57

Mesh simplification algorithm -Mesh simplification algorithm Decimation

• To reduce the total # of triangles in a triangle mesh while preserving original topologyp g g p gy

Classify each point in the mesh

Measure decimation criterionMeasure decimation criterion

Delete the point and58

Delete the point and triangulate the resulting

hole

Ch t i th tiCharacterize the vertices

simple : surrounded by a complete cycle of triangles

complex : incident triangles are not in the cycle

boundary: on the mesh boundary

A simple vertex may be interior edge vertex or corner vertex

interior edge vertex: two feature edgesFeature edge: dihedral angle > a specified angle

t th f t d59

corner vertex : three or more feature edges use the vertex

Evaluate Decimation Criterion

Complex and corner vertices are not deleted;apply error measure to all simple vertices

[Simple distance based measure]

Distance to average plane Distance to edge

d

60

Triangulating Holes

d < threshold delete vertex retriangulated

If the distance d < a user specified distanceIf the distance d < a user specified distance, the vertex is removed, resulting a holeR t i l ti di id th l th t tRe-triangulation: divide the loop so that two sub-loops have the similar vertices

61Compression rate : upto 100:1

Decimation Example

62

Characteristics of DecimationMethod

Local-topology preserving.Preserving sharp edges/corners.Vertices of the simplified model are original.p g

Good for maintain the color, normal, texture

Maintain the shape based on the geometricMaintain the shape based on the geometric criterion. The distance error, however, is derived using the current simplified modelderived using the current simplified model and the model of the previous iteration. (Cannot achieve error-bound guarantee)

63

(Cannot achieve error bound guarantee)

SmoothingSmoothing

• Improve the appearance of a mesh by dj ti th di t f tiadjusting the coordinates of vertices

• Modify the geometry not topology

• A simple Laplacian smoothing

)(1 ∑ −+=+=+ ijiijii xxxVxx rrrrrr λλ

njj <≤∀ 0:λ : weight

64

Smoothing

Large number of iteration

shrinkage and surface distortion

Relaxation factor limits motion

65

( )Smoothing(3)

66

Di idi C bDividing Cubes

Create "Surface Points“ with normals instead of t i l ( t l )triangles (no topology)

[ALGORITHM]

1. Create a cubeconsider a cube defined by eight data values,consider a cube defined by eight data values,

four from slice k and four from slice k+12. Classify each cube

- interior, exterior, or intersecting(surface) cube

67

Dividing Cube Algorithm

(2D case)

(3D case)(3D case)

68

Dividing Cube Algorithm

3. Subdivide intersecting cubes to image resolution- In x,y, and z, create small cubes that correspond to final image resolution

- Calculate intensities for new cubes usingCalculate intensities for new cubes using tri-linear interpolation

- For each small cube, test for intersecting cube

4. Calculate normals using central differences5 Sh d C b5. Shade Cube

69

Dividing Cube Algorithm

70

&Dividing Cubes Pro & Cons

• Rendering points is much faster than rendering polygons (but not always true)polygons (but not always true)

• Useful for high-speed or large dataset allocations- the direct display of point values bypasses thethe direct display of point values bypasses the

need to scan-convert the polygons • Point cloud rendering g• Randomly ordered points • Magnification can result disconnected surface• Good for clipping and merging data.

71

top related