Download presentation
Presentation is loading. Please wait.
Published byCorey Short Modified over 6 years ago
1
Farthest Point Seeding for Efficient Placement of Streamlines
Abdelkrim Mebarki Pierre Alliez Olivier Devillers I.N.R.I.A. Sophia-Antipolis GEOMETRICA
2
Outline Introduction State of the art Algorithm Results Conclusion
3
Introduction
4
Modeling physical phenomena Visualization of vector fields.
Context Modeling physical phenomena Vector / direction fields. Visualization of vector fields.
5
Scientific Visualization
Visualization of vector fields Direct Visualization
6
Scientific Visualization
Visualization of vector fields Texture-Based Vis.
7
Scientific Visualization
Visualization of vector fields Feature-Based Vis.
8
Scientific Visualization
Visualization of vector fields Geometric Visualization Streamlines
9
Tangent to the field everywhere. integrated form a seed point.
Streamlines Tangent to the field everywhere. integrated form a seed point. Successive integration => polyline. Stop integrating when the new point: reaches the boundaries. encounters a critical point. becomes too close to another streamline.
10
Placement of streamlines Critical stage:
Motivation Placement of streamlines Everywhere tangential to the field. Critical stage: Where to start integrating? Properties sought after: Quality. Efficiency. Robustness. Few parameters. Deterministic.
11
Qualifying a Placement
Validity: Conformity tangential to the field. Domain saturation according to a desired line density. Quality: Long streamlines Less discontinuities in laminar areas. Controllable density Depicts an additional flow property (e.g. velocity).
12
State of the art
13
Image Guided Streamlines Placement Turk & Banks ’96
Create a set of streamlets Iterate : merge, delete, create, lengthen and shorten the streamlets. until the desired placement is obtained. Criterion : Compare a filtered version of the image with an averaged gray level image (uniform density = constant filtered image). + Generate long streamlines. - Need user intervention to stop the process. - Slow convergence.
14
Creating Evenly Spaced Streamlines Jobard & Lefer ‘97
Fix the ideal separating distance between two adjacent streamlines. Choose seed points at a fixed distance from the existing streamlines. Seeding distance > Separating distance. + Single pass algorithm. - Short streamlines. - Some spaces left empty.
15
Creating Evenly Spaced Streamlines Jobard & Lefer ‘97
16
Creating Evenly Spaced Streamlines Jobard & Lefer ‘97
17
Creating Evenly Spaced Streamlines Jobard & Lefer ‘97
18
Flow Guided Streamline seeding strategy Verma, Kao & Pang ‘00
Emphasis on flow topology. Seeding points near singularities. + Good interpretation of the topology. - Seeding in turbulent areas?
19
Data Structures A typical placement: Used for: Commonly used:
28.6K streamlines Total: 8.2M points Used for: Distance requests Localization Commonly used: Regular grid Boolean mask
20
Algorithm
21
Fixed seeding distance from existing streamlines [Jobard-Lefer 98]
Core Idea Fixed seeding distance from existing streamlines [Jobard-Lefer 98] Local criterion Stopped by nearby lines.
22
Looking for long streamlines?
Core Idea Looking for long streamlines? Start integrating the farthest away from all already placed streamlines. Choose seed points in the biggest cavities.
23
Start integrating the farthest away from already placed streamlines.
Core Idea Start integrating the farthest away from already placed streamlines. Criterion already known as “Delaunay Refinement” for meshing [Ruppert ‘95] “Farthest Point” for sampling [Lindenbaum et al. ‘96] “Void & Cluster” for halftonning [Ulichney ‘93]
24
Choice of seed points at centers of biggest cavities.
Data structure Choice of seed points at centers of biggest cavities. How to model cavities ? Where is the biggest one ? Empty circle property of the Delaunay Triangulation All sample points are inserted to the triangulation. The cavities are circumscribed circles of triangles. Priority Queue : Contains all triangles which circumcircle diameter is bigger than the seeding distance.
25
Input & Parameters Input Parameters Vectors
Discrete values (e.g. defined on a regular grid). Vector Field Dense representation obtained by interpolation (e.g. bilinear interpolation). Parameters Density The ideal separating distance between streamlines. Saturation ratio The saturation criterion.
26
Integrate first streamline
The Algorithm Initialization Insert points in the triangulation along a square bounding the domain (guaranteed domain saturation). Integrate first streamline from the center of the domain. While (queue not empty) Extract valid triangle; Integrate streamline from circumscribed circle center; insert streamline to the flow; Insert newly created triangles to the queue;
27
The Algorithm
28
The Algorithm
29
The Algorithm
30
The Algorithm
31
The Algorithm
32
The Algorithm
33
The Algorithm
34
The Algorithm
35
The Algorithm
36
The Algorithm
37
Overall 2000 lines of code using standard components:
Implementation Overall 2000 lines of code using standard components: 1600 for the core part of the algorithm STL Priority queue: 2D Delaunay triangulation from CGAL
38
Distance between P and its neighbors in the triangulation
Distance Requests Efficient measure of the distance between a point P and all other streamlines? Distance between P and its neighbors in the triangulation except for points in the same streamline. consider all points in spiral streamlines.
39
Distance requests Over all triangles incident to P. Find the maximum circumscribed circle diameter.
40
Integrate a streamline. For all sample points
Priority queue Integrate a streamline. For all sample points Find triangles which the circumscribed circle diameter is bigger than the seeding distance. Insert it in the priority queue. All possible seed points = Too much elements Much elements will be invalid. Optimization Follow the evolution of the circumscribed circle radii on each side of the streamline. keep only triangles corresponding to local maxima. Less invalid points
41
Optimization: Priority Queue
42
Sub-Sampling of Streamlines
Insert points in the triangulation Localization and proximity requests. Modeling empty cavities. Small integration step Too much points are inserted in the triangulation. More computations and thus less efficiency. Optimization Insert a subset of sample points in the triangulation. insert one point each n integrated points
43
Controllable Density Density field as input
44
Multi Resolution Placement
First level Apply basic algorithm; Next levels Increase density; Lengthen existing streamlines; Add new streamlines;
45
Results
46
Results density: 4.8% 2.4% 1.2%
47
Results density: 4.8% 2.4% 1.2%
48
Results Wind in Japan 522 non-uniform sensor locations
data courtesy Weathernews Inc., Japan.
49
Farthest Point Seeding (Separating distance : 3.36% of image width)
Results Turk & Banks Jobard & Lefer Farthest Point Seeding (Separating distance : 3.36% of image width)
50
Farthest Point Seeding (Separating distance :1.68% of image width)
Results Turk & Banks Jobard & Lefer Farthest Point Seeding (Separating distance :1.68% of image width)
51
Farthest Point Seeding (Separating distance : 3.36% of image width)
Results Turk & Banks Jobard & Lefer Farthest Point Seeding (Separating distance : 3.36% of image width)
52
Timings measured on a 2GHz Pentium IV.
Separating distance Our algorithm Jobard & Lefer (Our implementation) Turnk & Banks 0.84% 240 ms 790 ms 47 s 1.68% 140 ms 290 ms 36 s 3.36% 80 ms 130 ms 20 s Timings measured on a 2GHz Pentium IV.
53
Conclusion
54
Placement of streamlines
Conclusion Placement of streamlines Farthest point paradigm: favors long streamlines. Comparable results with [Turk-Banks 96]. 200 times faster. Features Quality. Efficiency. Extends to multiresolution. Download the demo! Submitted as CGAL Package
55
Thank you.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.