Dynamic View Selection for Time-Varying Volumes Guangfeng Ji* and Han-Wei Shen The Ohio State...
-
Upload
taylor-reeves -
Category
Documents
-
view
215 -
download
0
Transcript of Dynamic View Selection for Time-Varying Volumes Guangfeng Ji* and Han-Wei Shen The Ohio State...
Dynamic View Selection for Time-Varying VolumesDynamic View Selection for Time-Varying Volumes
Guangfeng Ji* and Han-Wei Shen
The Ohio State University
*Now at Vital Images
2
Visualization of Time-Varying VolumesVisualization of Time-Varying Volumes
Time-varying features are often highly dynamic, with their positions, orientations, and shapes changing continuously.
It is important to select dynamic views that can follow the features so that maximum information can be perceived from the time sequence.
Time-varying features (Terascale Supernova Initiative) seen from a fixed view
A better dynamic view
3
ContributionsContributions
An improved static view selection algorithm• The quality of a static view is determined by measuring the opacity, color,
and curvature distribution of the corresponding rendering images.• Use the information theory approach.
Dynamic view selection• Maximize the information perceived from the time sequence.• Follow the smooth-movement constraint.• Use the dynamic programming approach.
4
Assumption of Viewing SettingAssumption of Viewing Setting
All views are located on the surface of a viewing sphere.
The volume is located at the center of the sphere.
5
Previous Work on View SelectionPrevious Work on View Selection
Takahashi et al • Decompose the whole volume into a set of feature interval volumes.
• Use the surface-based view selection technique propose by Vazquez et al to find the optimal view for each component.
• The globally best view is a compromise among all the locally optimal views.
6
Previous Work (cont’d)Previous Work (cont’d)
Bordoloi et al• A full volume rendering approach• In a good view, the visibility of a voxel should be proportional to the
noteworthiness value of the voxel.
If the visibility of a voxel can be maximized, it does not have to be proportional to the noteworthiness value.
7
The Improved Static View Selection AlgorithmThe Improved Static View Selection Algorithm
An image-based view selection algorithm• Opacity image
• Prefers even opacity distribution, and larger projection size.
• Color image• Prefers a larger area of salient features’ colors, with an even distribution
among all salient colors.
• Curvature image• Prefers more perceived curvature information.
8
Shannon Entropy FunctionShannon Entropy Function
• A random sequence of symbols occur in the set {a0, a1, …, an-1} with the occurrence probability {p0, p1, … pn-1}, the Shannon entropy (average information) of the sequence is defined as:
• The entropy function reaches the maximum value log2(n) when p0=p1=…= pn-
1=1/n
1
02 )(log)(
n
iii ppxH
9
Measurement of Opacity Distribution and Projection SizeMeasurement of Opacity Distribution and Projection Size
A good view prefers an even opacity distribution and a larger projection size.
10
Opacity (cont’d)Opacity (cont’d)
How to achieve this?• Use the entropy function
• Given an opacity image {a0, a1, … an-1}, the probability pi of each pixel is
Why is it correct?• Background pixels (a=0) do not contribute to the entropy.
• The maximum of the entropy is log2(f), where f is foreground size. It is reached when all the foreground pixels have the same opacity values.
1
0
n
jj
iip
11
Measurement of the Color DistributionMeasurement of the Color Distribution
Color transfer functions are often used to highlight salient features.
A good view prefers a larger area of salient colors, with even distribution among these colors.
12
Color (cont’d)Color (cont’d)
How to achieve this?• Use the entropy function
• Suppose there are n colors {C0, C1, … Cn-1}, where C0 is the background color and the other colors appear in the color transfer function to highlight salient feature, the probability of Ci is pi=Ai/T(Ai is area of Ci, and T is total area)
Why is it correct?
• Entropy reaches maximum value when A0= A1=…= An-1
Details• CIELUV color space• Lighting model without specular
13
Measurement of the Curvature InformationMeasurement of the Curvature Information
A good view should also reflect the curvature information• Low curvature means flat area, and high curvature means highly irregular
surfaces.
How to present the curvature information in the rendering image?• The curvature of a voxel determines the color intensity of the voxel.• The overall intensity of the rendering images reflects the amount of
perceived curvature information.
14
The Final Utility FunctionThe Final Utility Function
Scenario 1: Sophisticated opacity transfer function, but simple gray-scale or rainbow color transfer function.
Scenario 2: Different colors are used to highlight different features in a segmented volume
Put large weight to
1
)()()()(
where
vcurvaturevcolorvopacityvu
15
Dynamic View SelectionDynamic View Selection
The optimal dynamic view should satisfy: • It should move at a near-constant speed.
• It should not change its direction abruptly.
• It should maximize the amount of information the user can perceive from the time-varying dataset.
A brute-force algorithm can take exponential running time.
16
Algorithm if only Considering Constraint I and IIIAlgorithm if only Considering Constraint I and III
The view moves at speed V, with Vmin<V<Vmax
• Pi,j is the position of jth view at t=i
• Max(Pi,j) is the maximum information perceived from Pi,j to some view at the final time step
• u(Pi,j) measures the information perceived at the view Pi,j
)}(),()(max{)( ,1,1,,
1
0, kikijiji
NumofViews
kji PMaxInfoPPCostPuPMaxInfo
otherwise
VPPVPPCost kiji
kiji
max,1,min,1,
|,|0{),(
17
Dynamic ProgrammingDynamic Programming
Time complexity: O(n*v*v)
A backward procedure:
18
Solution Considering All the ConstraintsSolution Considering All the Constraints
How to take the movement direction into account?• Partition a view’s local tangent plane and specify the allowed turns.
19
Dynamic ProgrammingDynamic Programming
MaxInfo(Pi,j,r) is the maximal information perceived from Pi,j to some view at the final timestep, and Pi,j was entered from region r from its previous view.
)}(),()(max{)( ,,1,1,,
Re
1Re..0,, tkikijiji
rgionk
gionsNumofkrji PMaxInfoPPCostPuPMaxInfo
20
Dynamic Programming (cont’d)Dynamic Programming (cont’d)
A backward procedure:
• Time Complexity: O(n*r*v*v)
21
ResultsResults
Static view for shockwave data set Opacity as the criterion 6.92 seconds to compute the opacity entropies for all 256 views
Worst view Best view The corresponding opacity images
22
Tooth Data SetTooth Data Set
Opacity as the criterion 7.18 seconds to compute the opacity entropies for all 256 views
Worst view Best view The corresponding opacity images
23
Vortex Data SetVortex Data Set
Color as the criterion 16.3 seconds to compute the color entropies for all 256 views
Worst view Best view
24
TSI DatasetTSI Dataset
Utility = 0.8*Curvature + 0.2*Opacity 18.7 seconds to compute curvature and opacity entropies for all 256 views
Worst view Best view
25
Dynamic View for TSI Data SetDynamic View for TSI Data Set
Dynamic view selected by the dynamic programming algorithm
The images at the original fixed view
4.31 seconds for the dynamic programming process
26
Conclusions and Future WorkConclusions and Future Work
An improved static view selection method
A dynamic view selection method
Future work• Lighting design for time-varying polygonal and volumetric data sets.
27
AcknowledgementsAcknowledgements
NSF ITR Grant ACI-0325934 NSF RI Grant CNS-0403342 DOE Early Career Principal Investigator Award DE-FG02-03ER25572 NSF Career Award CCF-0346883 Oak Ridge National Laboratory Contract 400045529
John M. Blondin (NCSU), Anthony Mezzacappa (ORNL), and Ross J. Toedte (ORNL) for providing the TSI data set.
Kwan-Liu Ma for the vortex data set.