Exploring Large Graphs in 3D Hyperpbolic Space

advertisement
Exploring Large
Graphs in 3D
Hyperpbolic Space
And
GraphSplatting:
Visualizing Graphs
as Continuous
Fields
Exploring Large
Graphs in 3D
Hyperbolic Space
(1998)
Tamera Munzner
Stanford University
Exploring Large Graphs in 3D
Hyperbolic Space (1998)
 Software system that handles much
larger graphs and supports dynamic
exploration (Called H3)
 Developed algorithms for graph layout
and drawing
 Drawn in 3D hyperbolic space to show a
large neighborhood around a node of
interest
Spanning Trees
 Need to find a spanning tree to compute
layout. Spanning tree influences the
system’s visual impact
 Can use BFS spanning tree, but exploiting
domain-specific knowledge creates better
mental model
 This means, for each node, deciding some
parent child relationship with the edges.
Sample domain specific
spanning trees
 Web Site- URL encodes the site’s directory
structure.
 Function call graph- Compiler analysis and
runtime profiling must be done to find where
procedure is being called most of the time.
The resulting H3 layout makes it easier for
software engineers to understand
Standford
graphics
group
website
drawn as
a graph in
3D
hyperbolic
space
Function
call graph
structure
for a
Fortran
scientific
computing
benchmar
k
Layout
 Basis is cone tree method
 Instead of laying nodes on linear
circumference of a cone’s mouth, H3 lays
nodes out on a surface of a hemisphere
 The cone widens to its maximum extent
 Cone body flattens out into a disk at base
of hemisphere
Traditional Cone Tree
vs.
H3 layout
Layout Algorithm
 It requires 2 passes
 A bottom-up pass to estimate the radius
needed for each hemisphere to
accommodate all its children
 A top-down pass to place each child
node on its parental hemisphere's
surface.
Layout (cont)
 Circle packing problem- child
hemispheres on the surface of their
parent
 Solution- lay out children in concetric
bands around the hemisphere’s pole. The
amount of room each node needs is
directly proportional to the total number
of its descendants.
They lay the nodes
out in sorted order to
avoid wasting space
within the bands, and
the disk at the pole is
the node with the
most progeny
(children,
descendants)
Hemispherical Layout
 Area of hemisphere, 2πr, increases polynomially with
respect to its radius in Euclidean space
 Area of hemisphere, 2πsinh2(r), increases
exponentially
 In hyperbolic geometry, you can map the entire infinite
space into a finite portion of Euclidean space
 Is effective because the tree is laid out in a
mathematical space having a exponential “amount of
room” in direction of the hemisphere’s growth
 They chose the Klein hyperbolic geometry model
because motions can be expressed as 4x4 matrices.
Navigation in 3D hyperbolic space through a
Unix file system of more than 31,000 nodes
Drawing
 Only a local neighborhood of nodes in
the graph will be visible at any given
time. This is because the projection from
hyperbolic to Euclidean space
guarantees that nodes sufficiently far
from the center will project to less than a
single pixel.
Drawing (cont)
 Designed adaptive drawing algorithm to
always maintain a target frame rate
 A high constant framerate results from
drawing only as much of the
neighborhood around a center point as
much as allotted time permits
 When user is idle, the system fills in
more of the surrounding scene.
Drawing (cont)
 Drawing algorithm uses knowledge of the
graph structure and the current viewing
position
 Spanning tree’s link structure is used as
a guide to choose for candidates for
drawing. The largest project area node
from the previous frame serves as a seed
for the tree traversal on the next frame
Scaffolding for attributes
 Can show dynamic or static attributes.
 By color and line-width coding, text
labels, and filtering
 Example: Can show paths taken by Web
Users by highlight those nodes or
coloring the edges
 Color of edge can represent if inward
edge or outward edge
Local Orientation
 When user clicks on node, it is
highlighted and undergoes an animated
transition to the center of the sphere. This
minimizes occlusion of nodes and labels
 Ancestors appear on left and
descendents appear on right
Local Orientation (cont)
 It draws links to and out of node even if
doesn’t draw node at other end.
 This presence of undetermined link
during motion hints user of something
interesting in that direction
Context of part in whole
 Hyperbolic space very effectively
presents a large area around a focus
node
 User can see enough of the distant
subtrees to identify dense and sparse
ones
Graph as index
 Integrate H3Viewer with other graph
views like 2D file viewer
 Graph structure becomes one way to
index the information. This becomes
useful for finding patterns in a different
type of view
Conclusion
 It can handle graphs that are very large(more
than 100,000 edges)
 Manipulates by using backbone spanning tree
 3D hyperbolic space allows large amount of
context around a focus point
 Layout is good balance of information density
and clutter
 Maintains guaranteed frame rate
 I downloaded movies of it and demo program
from website
GraphSplatting:
Visualizing Graphs as
Continuous Fields
(2003)
Robert van Liere
Leeuw
and
Wim de
GraphSplatting: Visualizing
Graphs as Continous Fields
 Transforms a graph into a 2D scalar field
 Scalar field can be rendered as a color-coded
map, a height field, or a set of contours
 Allows visualization of large graphs without
cluttering (overview of graph)
 It provides density information of the graph
(assuming that graph Layout algorithm uses
density of vertices as a characteristic) That is,
How vertices placed relative to each other
means something
Related Work
 This work was inspired by ThemeScape,
a technique which conveys information
about topics in text documents. They are
3D landscapes of information that are
constructed from documents to show
strength of themes in a document
GraphSlatting technique
 Central assumption is that the density of
vertices is an important characteristic of
layout used by a graph
 Some layouts that use this are the spring
mass technique and edge length
minimization technique
Splatting
 Projects each vertex of the graph onto
2D scalar field using splatting function.
 Instead of showing individual vertices,
continuous variation in density is shown
 Each vertex contributes to the field with a
2D Gaussian shaped basis function.
Field is obtained by adding all the
contributions. -> splat field
Gaussian Splat
σ determines the smoothness. When σ large, smooth out details of graph. When
σ small, more detail. If σ = 0, vertices are shown as impulses
Splat Field Construction
2D continuous function M is constructed by summing the contributions of
individual 2D basis functions
X = (x,y), a position in the splat field
Each basis function is modeled as a
normalized Gaussian function
The basis function fi is defined by
placing the center of the Gaussian at
the vertex position pi = (pi,x , pi,y)
Splat field construction
(cont)
 Splat field is done on a grid with user
controlled resolution
 Gaussian functions are discretized and
added to the cells grid
 Contribution to each splat to a pixel in the
grid is estimated by using the distance
between the vertex position and the
center of the pixel
40 vertices are shown on Left. Middle shows splat field with
a low sigma. Right shows with high sigma. High sigma gives
a more global view of the density. Blacker means higher
density.
Splat Field Visualization
 Important to realize that underlying data is a
graph. Splat field is often combined with
discrete representations that can be rendered
on top of the splat field.
 Color coding. 2D view of the field which the
value is shown using color.
 Height map
 Isovalue contours. Can be used to show the
boundary of specific clusters
Splat Field Zooming
 For large graphs, not all
details can be discerned
in the constructed splat
field
 Sigma parameter with a
smaller region of interest
-> Zooming
 This is done by
maintaining same
contrast ratio of the
unzoomed image
Splat field with all the data. Region of interest shown in
dashed bounding box
Previous ROI zoomed in.
Now another ROI is selected
Second level zooming of the bounding box
Combining Splat Fields
with Texture Fields
 Gaussian function is limited in the frequency
domain
 The sum of Gaussian functions will have the
same spectral properties as a single Gaussian
function. So spectrum of splat field is restricted
to lower frequencies
 This property is used to map an additional
scalar field. Remaining higher frequencies are
used for a texture that represents additional
scalar data
Low frequencies for the splat field and High frequencies for the noise
The Fourier Transform
g(ω) of Normalized
Gaussian
σk = 1 / (πσ) and ω is
2D frequency vector
A high σ results in a low cut off in the frequency domain and
large splat.
A low σ results in a high cut off in the frequency domain and
small splat.
Combining Splat Fields
with Texture Fields (cont)
 Combining splat fields with scalar data is performed by
adding high frequency data to the splat
 The intesnisty of the noise added to the splat is
proportional to the mapped scalar value
Rh(x) is the frequency noise function. sa is a scalar attribute value of the point
represented by the splat
Combining Splat Fields
with Texture Fields (cont)
 Maximum frequency that can be
represented is determined by limited
texture and screen resolution
 If the range of [ω0, ω1] is too small, noise
mapping cannot be used
 Use a database of splats so they don’t
have to recompute S(x) for every
rendered splat
Regular data set
splat field
splat field with noise added
Hardware Implementation
 Gaussian Function represented as textured
polygon, rendered to offscreen buffer with
additive blending enabled
 Optimal rendering, max splat value would map
to max pixel value
 Due to limited dept of frame buffer, and to
additive blending of unknown number of splats,
the maximum intensity of splat field is unknown
Hardware Implementation
(cont)
 Use adaptive algorithm to get optimal
intensity mapping
 Optimal intensity is a value at least 80%
of max intensity of frame buffer
 Algorithm scales intensity of all splats
such that max intensity of splat field is
close to max intensity of frame buffer
Hardware Implementation
(cont)
 Algorithm implemented by first rendering
splat field with estimated splat intensity
scaling. Imax of splat field is scanned for.
 3 cases for Imax
1. If Imax lies in R2. Then terminate. Satisfactory scaling found
2. If Imax lies in R1, Increase splat intensity scaling with
And re-render.
3. If Imax = FBmax. Decrease splat instensity scaling by
Keep doing this over until
Imax is in R2
Applications
Multidimensional Feature
Spaces
 For an image a feature is
expressed as a kdimensional feature
vector
 Similarity between 2
images is based on
distance between the 2
feature vectors
 MDS can be used to
project multidimensional
spaces onto a 2D plane
For example: brightness might
correspond to first element
Left is MDS graph of images. Vertices are images and edges are similarity between
2 images. 200 vertices and 4007 edges. Right is the splat field as colored height
field. The location and relative sizes of the 2 main clusters can be easily detected.
The peaks represent similar images
Detail of high density area in feature space
Application
IEEE Vis Citation Index
 Input data are BibTeX entries of papers in
the IEEE Vis’XX conferences and all
references between papers in the set
 672 BibTeX entries, 1044 references
 Also name session where paper was
collected was collected
Application
IEEE Vis Citation Index
(cont)
 Graph was made where vertices =
papers and edges = references
 Used spring mass graph layout
 Referencing papers are attracted to each
other
 Goal: test hypothesis: topics in
visualization could be identified by using
reference information
Right shows the splat field applied to
graph using rainbow colormap
Hypothesis says that higher peaks coincide with papers related to topics on which
many papers are written. (in Red) Lower peaks(green and yellow) = less popular
topics
Application
IEEE Vis Citation Index
(cont)
 To validate hypothesis, used session names to
show what topic paper belongs to
 Noise mapping used to combine splatmap with
info about the session name of paper
 Occurrence of “flow” or “volume” in session
name linked to Boolean attribute to noise
mapping
 Papers menitioned in sessions are rendered as
noisy splats
Left shows noise mapping to show papers presented in flow visualization sessions.
Right uses noise to show papers presented in volume visualization sessions
Left image shows that there is a strong correlation between a region of strong
noise and the red region in the splat field
In right image, there is no maximum in the splat field in the region of strong
noise.
Application
IEEE Vis Citation Index
(cont)
 Since noise regions are disjoint, the
assumption that visualization topics can be
identified is valid
 For flow viz, strong correlation between the
noise field and splat field. Not so for vol viz.
 Noise fields show small regions out of “primary
region” of splat field. This is because these
papers do not reference other papers.
 Flow papers tend to reference other papers
and Volume papers do not.
Zooming into a region of interest
Discussion/Conclusion
 Overview of arbitrarily large graphs can
be produced
 Visualization of splat fields presents
density information. Graph layout must
have meaning between vertices spaces
 Noise mapping can be used to present
secondary scalar field.
Download