volume visualization acknowledgements: torsten möller (sfu)
Post on 21-Dec-2015
223 views
TRANSCRIPT
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.