Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman...

29
Interactive Poin t-based Isosurfac e Exploration and High-quality Rend ering Haitao Zhang Arie Kaufman Stony Brook University V I S 2 0 0 6

Transcript of Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman...

Page 1: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Interactive Point-based Isosurface Exploration and High-quality Rendering

Interactive Point-based Isosurface Exploration and High-quality Rendering

Haitao Zhang Arie Kaufman

Stony Brook University

V I S2 0 0 6

Page 2: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Isosurface ExplorationIsosurface Exploration

Isosurface extraction Isosurface rendering

Interactive rate• Changing view• Change isovalue

High quality rendering

Page 3: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Existing MethodsExisting Methods

Marching Cubes [Lorensen & Cline 87]Huge number of triangles within 1-pixel size

Point-based methods• Projection-based method [Co et al. 03,04]

Accurate point position with expensive projection operator

• Active cell center [Rymon-Lipinski et al. 04] Fast but inaccurate point position

• Dividing Cubes [Cline et al. 88] High-quality but very expensive: O(n3)

Page 4: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Our Point-based MethodsOur Point-based Methods

Active edge instead of active cell Easier to position points on the isosurface

Incorporate together isosurface extraction & rendering No overhead when changing isovalue

Edge splatting Efficient with accurate point position

Edge kernel method View-dependent subdivision: O(n2)

Page 5: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge SplattingEdge Splatting

Send active edge info to GPU• Use span-triangle for active edge query

[Rymon-Lipinski et al. 04]

Generate point along active edge• Intersection between active edge and isosurface

Surface splatting for rendering• Efficient rendering

Page 6: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge Data StructureEdge Data Structure Span-triangle data structure for active edge query

• Sort by min and max value (min<max)• Linear storage of edge info

...

Isovalue

GPU

Edge Info Array

Base Array & Span Array

Page 7: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Point GenerationPoint Generation

Edge information• Position : endpoint with min value• Orientation : 6 possible directions• Normal : gradient at edge center• Values : min & max value

][ norientatioDIRminvaluemaxvalue

minvalueisovaluepositionpoint

Edge-Isosurface Intersection Computation:

Page 8: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Use center of active cell

26,044 active cell

Edge splatting

26,042 active edge

Page 9: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Use center of active cell

368,296 active cell

Edge splatting

370,122 active edge

Page 10: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Artifacts in Close ViewArtifacts in Close View

Fixed number of point (active edge) for a given isovale.

Page 11: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge Kernel MethodEdge Kernel Method

Subdividing active cell: sub-cell projection < 1 pixel

Page 12: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge Kernel MethodEdge Kernel Method

Subdividing active cell: sub-cell projection < 1 pixel

Page 13: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge Kernel MethodEdge Kernel Method

Subdividing active cell: sub-cell projection < 1 pixel

Page 14: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge Kernel MethodEdge Kernel Method Subdividing into k3 sub-cells At most one intersection for k sub-edges on same

line along X, Y or Z direction

k sub-edges

1 edge

k3 edges 3k2 edges

Page 15: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge KernelEdge Kernel

Edge kernel E(k) : 3k2 edges <c, s, t> • c: orientation (X-, Y-, or Z-oriented)• (s,t): local coordinate of edge endpoint

Edge:< 0, 2/3, 1/3 >

Intersection:

Page 16: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge Kernel Encoding & RenderingEdge Kernel Encoding & Rendering

E(k): 3k2 edges <c, s, t> <c, sk, tk>

< 0, 2/3, 1/3 > <0, 2, 1> E1 E2 E3 E4 E5 …

Store one kernel with largest possible size in VBO : E(1000) with 6MB data

Rendering• CPU: select kernel size k for each active cell• GPU: render first 3k2 “points” of the stored edge kernel

with 1-pixel size

Page 17: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Edge splatting Marching Cubes Edge kernel

Inside an Active CellInside an Active Cell

Page 18: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Two Neighboring Active CellsTwo Neighboring Active Cells

Marching Cubes Edge kernel

Page 19: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Smooth ShadingSmooth Shading Per-pixel shading [Hadwiger et al. 05]

• Render point position to texture• Shading from volume gradient map

Page 20: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

ResultsResults

3.59GHz PC with NVIDIA Quadro FX 4500 card

Volume Data

Size

Isovalue

Range

# Cell

# Edge

Creation Time (s)

CT Head 256x256x256

(12-bit) 200-4095 5,444,366

14,831,4036.4

Foot

128x128x128(8-bit) 0-255 658,399

1,069,8040.4

Head MRT Angiography 416x512x112

(10-bit)20-1023

2,063,817

2,954,3843.5

Page 21: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Rendering of Edge SplattingRendering of Edge Splatting

Isovalue=840 (19.1 fps)

388,754 active edges

385,470 active cells

Isovalue=1405 (15.2 fps)

426,749 active edges

422,244 active cells

Page 22: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Rendering of Foot (isovalue=36)Rendering of Foot (isovalue=36)

Edge Splatting

19.1 fps

Edge Kernel

5.2 fps

Page 23: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Rendering of Foot (isovalue=70)Rendering of Foot (isovalue=70)

Edge Splatting

96 fps

Edge Kernel

3.1 fps

Page 24: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Head MRT AngiographyHead MRT Angiography

Edge Splatting 47.5 fps Edge Kernel 0.8 fps

Page 25: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Head MRT AngiographyHead MRT Angiography

Edge Splatting 123 fps Edge Kernel 3.1 fps

Page 26: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Head MRT AngiographyHead MRT Angiography

Edge Splatting 86.5 fps Edge Kernel 4.2 fps

Page 27: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

ConclusionConclusion

Interactive isosurface exploration system with high quality rendering:

• Edge splatting• Accurate point position• Integrating point generation in rendering

• Edge kernel method• High quality rendering under close view• 3D subdivision with complexity O(n2)

Page 28: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Future WorkFuture Work

Very large volume data• Design hierarchical data structure

Improve edge kernel method speed• GPU implementation using Geometry Shader

Deal with volume with anisotropic grid

Page 29: Interactive Point-based Isosurface Exploration and High-quality Rendering Haitao Zhang Arie Kaufman Stony Brook University V I SV I S 2 0 0 62 0 0 6.

Thank you!