Volume Visualization Acknowledgements: Torsten Möller (SFU)

Post on 21-Dec-2015

224 views 1 download

Transcript of Volume Visualization Acknowledgements: Torsten Möller (SFU)

Volume VisualizationVolume Visualization

Acknowledgements: Torsten MAcknowledgements: Torsten Möller öller (SFU)(SFU)

2

Direct Volume Rendering

Streamlines

Line Integral Convolution

GlyphsIsosurfaces

SciVis

Scatter Plots

Parallel Coordinates

Node-link Diagrams

InfoVisVerma et al.

Hauser et al.

Cabral & Leedom

Fua et al.

Lamping et al.

3

OverviewOverview

►Data & ApplicationsData & Applications►Slicer toolsSlicer tools► Iso-surfacesIso-surfaces►Direct Volume RenderingDirect Volume Rendering►ChallengesChallenges

4

Medical ScanningMedical Scanning

► MRI, CT, SPECT, PET, ultrasoundMRI, CT, SPECT, PET, ultrasound

5

Medical Scanning - Medical Scanning - ApplicationsApplications

► DiagnosisDiagnosis► Surgery planningSurgery planning► Tele-medicineTele-medicine► Inter-operative visualization in brain surgery, Inter-operative visualization in brain surgery,

biopsies, etc.biopsies, etc.

6

Medical Scanning - Medical Scanning - ApplicationsApplications

► Medical education for anatomy, surgery, etc.Medical education for anatomy, surgery, etc.► Illustration of medical procedures to the patientIllustration of medical procedures to the patient

7

Biological ScanningBiological Scanning

► Scanners:Scanners: Biological scanners, electronic Biological scanners, electronic microscopes, confocal microscopesmicroscopes, confocal microscopes

► AppsApps – physiology, paleontology, microscopic – physiology, paleontology, microscopic analysis…analysis…

8

Industrial ScanningIndustrial Scanning

►Planning (e.g., log scanning)Planning (e.g., log scanning)►Quality controlQuality control►Security (e.g. airport scanners)Security (e.g. airport scanners)

9

Scientific Computation - DomainScientific Computation - Domain

► Mathematical analysisMathematical analysis

► ODE/PDE (ordinary and partialODE/PDE (ordinary and partialdifferential equations)differential equations)

► Finite element analysis (FE)Finite element analysis (FE)

► Supercomputer simulationsSupercomputer simulations

10

Scientific Computation - AppsScientific Computation - Apps

► Flow VisualizationFlow Visualization(next week)(next week)

Tecplot.com

Compassis.com

11

Data DimensionalityData Dimensionality

►3D (spatial data) or 4D (3D spatial + 3D (spatial data) or 4D (3D spatial + time)time)

►May be multivariate (several data May be multivariate (several data values at each point)values at each point)

Voxel

12

OverviewOverview

►Data & ApplicationsData & Applications►Slicer toolsSlicer tools► Iso-surfacesIso-surfaces►Direct Volume RenderingDirect Volume Rendering►ChallengesChallenges

13

3D Slicer

Volume Slicer

McGuffin et al.

14

OverviewOverview

►Data & ApplicationsData & Applications►Slicer toolsSlicer tools► Iso-surfacesIso-surfaces►Direct Volume RenderingDirect Volume Rendering►ChallengesChallenges

15

Isosurfaces - ExamplesIsosurfaces - ExamplesIsolines

Isosurfaces

Tecplot.com

16

Isosurface ExtractionIsosurface Extraction

► by contouringby contouring ““marching cubes” marching cubes”

is most common is most common methodmethod

1 2 3 4 3

2 7 8 6 2

3 7 9 7 3

1 3 6 6 3

0 1 1 3 2

Iso-value = 5

17

MC: Classify Each VoxelMC: Classify Each Voxel

► Each voxel is eitherEach voxel is either- outside the surface (> isovalue) - outside the surface (> isovalue) - inside the surface (<= isovalue)- inside the surface (<= isovalue)

8Iso=78

8

55

10

10

10

Iso=9

=inside=outside

18

MC: Assign TrianglesMC: Assign Triangles

► all 256 cases can be derived from 15 base casesall 256 cases can be derived from 15 base cases

19

MC: ExampleMC: Example

a

b

c

20

MC: Find Edge LocationsMC: Find Edge Locations► For each triangle edge, find the vertex location along the edge using linear For each triangle edge, find the vertex location along the edge using linear

interpolation of the voxel valuesinterpolation of the voxel values

=10=0

Isovalue = 8Isovalue = 3

i i+1x

21

MC: Compute NormalsMC: Compute Normals► Calculate the normal at each cube vertex using central differencing:Calculate the normal at each cube vertex using central differencing:

1,,1,,

,1,,1,

,,1,,1

−+

−+

−+

−=

−=

−=

kjikjiz

kjikjiy

kjikjix

vvG

vvG

vvG

► Use linear interpolation to compute the polygon vertex normalUse linear interpolation to compute the polygon vertex normal

22

MC: Render!MC: Render!

23

OverviewOverview

►Data & ApplicationsData & Applications►Slicer toolsSlicer tools► Iso-surfacesIso-surfaces►Direct Volume RenderingDirect Volume Rendering►ChallengesChallenges

24

Direct Volume Rendering Direct Volume Rendering ExamplesExamples

25

Rendering PipelineRendering Pipeline

Classify

26

ClassificationClassification

► original data set has application specific original data set has application specific values (temperature, velocity, proton values (temperature, velocity, proton density, etc.)density, etc.)

► assign these to color/opacity values to make assign these to color/opacity values to make sense of datasense of data

► achieved through transfer functionsachieved through transfer functions

27

Transfer FunctionsTransfer Functions

► Simple (usual) case: Map Simple (usual) case: Map data value to color and data value to color and opacityopacity

Human Tooth CT

opacityRGB

Data Value

RGB

Shading,Compositing…

Gordon Kindlmann

opac

ity

28

Transfer FunctionsTransfer Functions

► Setting transfer functions is difficult and Setting transfer functions is difficult and unintuitiveunintuitive

University of Utah

29

Transfer Function ChallengesTransfer Function Challenges

► Better interfaces:Better interfaces: Make space of TFs less confusingMake space of TFs less confusing

Remove excess “flexibility”Remove excess “flexibility”

Provide guidanceProvide guidance

► Automatic / semi-automatic transfer function Automatic / semi-automatic transfer function

generationgeneration Typically highlight boundariesTypically highlight boundaries

30

Rendering PipelineRendering Pipeline

Classify

Shade

31

Light EffectsLight Effects

► Usually only consider Usually only consider reflected partreflected part

Light

absorbed

transmitted

reflected

Light=refl.+absorbed+trans.

Light

ambient

specular

diffuse

ssddaa IkIkIkI ++=

Light=ambient+diffuse+specular

32

Rendering PipelineRendering Pipeline

Classify

Shade

Interpolate

33

InterpolationInterpolation

► Given:Given:

► Needed:Needed:

2D 1D► Given:Given:

► Needed:Needed:

34

InterpolationInterpolation

► Accuracy is importantAccuracy is important► Expensive => done very often for one imageExpensive => done very often for one image

Nearestneighbor

Linear

35

Rendering PipelineRendering Pipeline

Classify

Shade

Interpolate

Composite

36

Volumetric Ray Tracing Volumetric Ray Tracing

color

opacity

object (color, opacity)

37

Ray Traversal SchemesRay Traversal Schemes

Depth

IntensityMax

Average

Accumulate

First

38

Ray Traversal - Ray Traversal - FirstFirst

Depth

Intensity

First

► FirstFirst: extracts iso-surfaces (again!): extracts iso-surfaces (again!)done by Tuy&Tuy ’84done by Tuy&Tuy ’84

39

Ray Traversal - Ray Traversal - AverageAverage

Depth

Intensity

Average

► AverageAverage: produces basically an X-ray picture: produces basically an X-ray picture

40

Ray Traversal - Ray Traversal - MIPMIP

Depth

IntensityMax

► MaxMax: Maximum Intensity Projection: Maximum Intensity Projectionused for Magnetic Resonance Angiogramused for Magnetic Resonance Angiogram

41

Ray Traversal - Ray Traversal - AccumulateAccumulate

Depth

Intensity

Accumulate

► AccumulateAccumulate: make transparent layers visible!: make transparent layers visible!

V. Anupam et al.

42

Volumetric Ray Integration Volumetric Ray Integration

color

opacity

object (color, opacity)

1.0V. Anupam et al.

43

Slicer Isosurface Direct Volume Rendering

45

OverviewOverview

►Data & ApplicationsData & Applications►Slicer toolsSlicer tools► Iso-surfacesIso-surfaces►Direct Volume RenderingDirect Volume Rendering►ChallengesChallenges

46

Challenges - AccuracyChallenges - Accuracy

► Need metrics -> perceptual metricNeed metrics -> perceptual metric

Original Bias-added Edge-distorted

47

Challenges - AccuracyChallenges - Accuracy

►Deal with unreliable data Deal with unreliable data (e.g., Ultrasound data is noisy)(e.g., Ultrasound data is noisy)

48

Challenges - Speed/SizeChallenges - Speed/Size

►Efficient algorithmsEfficient algorithms►Hardware developments (VolumePro)Hardware developments (VolumePro)►Utilize current hardware (nvidia, ATI)Utilize current hardware (nvidia, ATI)►Compression schemesCompression schemes►Tera-byte data setsTera-byte data sets

49

Challenges - HCIChallenges - HCI

►Need better Need better interfaces for interfaces for specifying specifying parametersparameters

►Which method Which method is best?is best?

50

Challenges - HCIChallenges - HCI► Virtual and Augmented realityVirtual and Augmented reality► Explore novel I/O devicesExplore novel I/O devices

Konieczny et al., Vis 2005Schkolne et al.

51

Challenges: Highlighting Challenges: Highlighting Important InformationImportant Information

► Illustrative Illustrative RenderingRendering

► Focus + ContextFocus + Context

Christian Tietjen

Viola et al.