/14 1
Algorithms for Labeling Focus Regions
Martin Fink Lehrstuhl f¨ ur Informatik I Universit¨ at W¨ urzburg
Joint work with Jan-Henrik Haunert, Andr´ e Schulz, Joachim Spoerhase, and Alexander Wolff
Algorithms for Labeling Focus Regions Martin Fink Lehrstuhl f ur - - PowerPoint PPT Presentation
Algorithms for Labeling Focus Regions Martin Fink Lehrstuhl f ur Informatik I Universit at W urzburg Joint work with Jan-Henrik Haunert, Andr e Schulz, Joachim Spoerhase, and Alexander Wolff 1 /14 2 /14 Paragon Restaurant &
/14 1
Martin Fink Lehrstuhl f¨ ur Informatik I Universit¨ at W¨ urzburg
Joint work with Jan-Henrik Haunert, Andr´ e Schulz, Joachim Spoerhase, and Alexander Wolff
/14 2
/14 2
Tulio Daniel’s Broiler Vios Cafe Metropolitan Grill Sodo Deli Top Pot Doughnuts I Queen City Grill Paragon Restaurant & Bar Lola Maximilien Circa Waterfront Seafood Grill
/14 2
Tulio Waterfront Seafood Grill Daniel’s Broiler Vios Cafe Lola Metropolitan Grill Circa Sodo Deli Maximilien Top Pot Doughnuts I Paragon Restaurant & Bar Top Pot Doughnuts II Cascadia Restaurant Mama’s Mexican Kitchen Etta’s Queen City Grill
/14 3
free leaders
/14 3
radial leaders free leaders
/14 4
Excentric Labeling [Fekete and Plaisant, 1999]
/14 4
Excentric Labeling [Fekete and Plaisant, 1999] Boundary Labeling [Bekos et al., 2007]
/14 4
Excentric Labeling [Fekete and Plaisant, 1999] Necklace Maps [Speckmann and Verbeek, 2010] Boundary Labeling [Bekos et al., 2007]
/14 5
minimum allowed angle to avoid label collisions
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program ≥ α c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program O(n log n) time c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program weighted version: prefer higher rated points O(n log n) time c s1 s2 s3 s4 s5 s6 s7
/14 5
minimum allowed angle to avoid label collisions maximize number of visible labels by a dynamic program weighted version: prefer higher rated points O(n log n) time O(n2) time c s1 s2 s3 s4 s5 s6 s7
/14 6
find disk that respects minimum angle α α
/14 6
find disk that respects minimum angle α α consider double disk D(p, q) of minimum angle α formed with p and q α p q D(p, q)
/14 6
find disk that respects minimum angle α consider double disk D(p, q) of minimum angle α formed with p and q build arrangement of all D(·, ·) α
/14 6
find disk that respects minimum angle α consider double disk D(p, q) of minimum angle α formed with p and q build arrangement of all D(·, ·) check for intersection (cell of depht n
2
α
/14 6
find disk that respects minimum angle α consider double disk D(p, q) of minimum angle α formed with p and q build arrangement of all D(·, ·) check for intersection (cell of depht n
2
α choose center in intersection O(n4 log n) time
/14 6
find disk that respects minimum angle α consider double disk D(p, q) of minimum angle α formed with p and q build arrangement of all D(·, ·) check for intersection (cell of depht n
2
α choose center in intersection O(n4 log n) time Variants maximize labels O(n5) time
/14 6
find disk that respects minimum angle α consider double disk D(p, q) of minimum angle α formed with p and q build arrangement of all D(·, ·) check for intersection (cell of depht n
2
α choose center in intersection O(n4 log n) time Variants maximize labels O(n5) time maximize angle O(n6) time
/14 7
labels vertically distributed with unit distances
/14 7
labels vertically distributed with unit distances compute non-crossing leaders
/14 7
labels vertically distributed with unit distances compute non-crossing leaders minimize total leader length: weighted bipartite matching [Bekos et al., 2007]
/14 7
labels vertically distributed with unit distances compute non-crossing leaders minimize total leader length: weighted bipartite matching no crossings
/14 7
labels vertically distributed with unit distances compute non-crossing leaders minimize total leader length: weighted bipartite matching no crossings
/14 7
labels vertically distributed with unit distances compute non-crossing leaders minimize total leader length: weighted bipartite matching no crossings fast
/14 8
Tulio Daniel’s Broiler Vios Cafe Metropolitan Grill Sodo Deli Top Pot Doughnuts I Queen City Grill Paragon Restaurant & Bar Lola Maximilien Circa Waterfront Seafood Grill
not all sites can be labeled
/14 8
Tulio Daniel’s Broiler Vios Cafe Metropolitan Grill Sodo Deli Top Pot Doughnuts I Queen City Grill Paragon Restaurant & Bar Lola Maximilien Circa Waterfront Seafood Grill
not all sites can be labeled label good subset
/14 8
Tulio Daniel’s Broiler Vios Cafe Metropolitan Grill Sodo Deli Top Pot Doughnuts I Queen City Grill Paragon Restaurant & Bar Lola Maximilien Circa Waterfront Seafood Grill
not all sites can be labeled label good subset short leaders
/14 8
Tulio Daniel’s Broiler Vios Cafe Metropolitan Grill Sodo Deli Top Pot Doughnuts I Queen City Grill Paragon Restaurant & Bar Lola Maximilien Circa Waterfront Seafood Grill
not all sites can be labeled label good subset high weight
/14 8
Tulio Daniel’s Broiler Vios Cafe Metropolitan Grill Sodo Deli Top Pot Doughnuts I Queen City Grill Paragon Restaurant & Bar Lola Maximilien Circa Waterfront Seafood Grill
not all sites can be labeled label good subset – nice distribution – represent all sites
/14 9
1 labeled site k unlabeled sites
Tulio Waterfront Seafood Grill Daniel’s Broiler Vios Cafe Lola Metropolitan Grill Circa Sodo Deli Maximilien Top Pot Doughnuts I Paragon Restaurant & Bar Top Pot Doughnuts II Cascadia Restaurant Mama’s Mexican Kitchen Etta’s Queen City Grill
/14 9
1 labeled site k unlabeled sites
Tulio Waterfront Seafood Grill Daniel’s Broiler Vios Cafe Lola Metropolitan Grill Circa Sodo Deli Maximilien Top Pot Doughnuts I Paragon Restaurant & Bar Top Pot Doughnuts II Cascadia Restaurant Mama’s Mexican Kitchen Etta’s
minimize leader length + distance to attached sites
Queen City Grill
/14 9
1 labeled site k unlabeled sites
Tulio Waterfront Seafood Grill Daniel’s Broiler Vios Cafe Lola Metropolitan Grill Circa Sodo Deli Maximilien Top Pot Doughnuts I Paragon Restaurant & Bar Top Pot Doughnuts II Cascadia Restaurant Mama’s Mexican Kitchen Etta’s
minimize leader length + distance to attached sites
Queen City Grill
Facility Location model: solved by ILP
/14 9
1 labeled site k unlabeled sites
Tulio Waterfront Seafood Grill Daniel’s Broiler Vios Cafe Lola Metropolitan Grill Circa Sodo Deli Maximilien Top Pot Doughnuts I Paragon Restaurant & Bar Top Pot Doughnuts II Cascadia Restaurant Mama’s Mexican Kitchen Etta’s
minimize leader length + distance to attached sites
Queen City Grill
Facility Location model: solved by ILP 95 sites, 20 labels: 124s
/14 10
Randomized initialization heuristic for k-median/k-means [Arthur and Vassilvitski, 2007]
/14 10
Randomized initialization heuristic for k-median/k-means [Arthur and Vassilvitski, 2007]
/14 10
Randomized initialization heuristic for k-median/k-means [Arthur and Vassilvitski, 2007]
/14 10
Randomized initialization heuristic for k-median/k-means [Arthur and Vassilvitski, 2007]
/14 10
Randomized initialization heuristic for k-median/k-means [Arthur and Vassilvitski, 2007] probability ≈ distanced
/14 10
Randomized initialization heuristic for k-median/k-means [Arthur and Vassilvitski, 2007] probability ≈ distanced Clustering: assign to closest labeled site
/14 10
Randomized initialization heuristic for k-median/k-means [Arthur and Vassilvitski, 2007] probability ≈ distanced Clustering: assign to closest labeled site – much better than uniform random selection – fast
/14 11
/14 11
post-processing:
/14 11
post-processing: leader enters label horizontally
/14 11
post-processing: – (cubic) B´ ezier curves
/14 11
post-processing: – (cubic) B´ ezier curves – force-directed approach
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces)
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces) – move towards desired shape Label ri 2ri
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces) – move towards desired shape Label ri 2ri – avoid other leaders
/14 12
post-processing: – (cubic) B´ ezier curves – force-directed approach gradually improve drawing according to desired changes (forces) – move towards desired shape Label ri 2ri – avoid other leaders
/14 13
/14 13
/14 13
enter radially enter radially
/14 13
move label positions on boundary improve angle
/14 14
Free leader model prefered for smaller numbers of labeled sites Radial model for many short labels
/14 14
Free leader model prefered for smaller numbers of labeled sites Radial model for many short labels Faster algorithms for finding a good center in the radial leader model?
/14 14
Free leader model prefered for smaller numbers of labeled sites Radial model for many short labels Faster algorithms for finding a good center in the radial leader model? Make interactive methods more stable during mouse movement.
/14 14
Free leader model prefered for smaller numbers of labeled sites Radial model for many short labels Faster algorithms for finding a good center in the radial leader model? Make interactive methods more stable during mouse movement. Idea: Weights changing over time