Dynamic View Selection for Time-Varying Volumes Guangfeng Ji* and Han-Wei Shen The Ohio State University *Now at Vital Images.

Post on 27-Mar-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

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.

top related