scispace - formally typeset
SciSpace - Your AI assistant to discover and understand research papers | Product Hunt

Proceedings ArticleDOI

A sketch-based interface for classifying and visualizing vector fields

02 Mar 2010-pp 129-136

TL;DR: This work employs an automatic clustering method to generate field-line templates for the user to locate subfields of interest and leverages the user's knowledge about the flow field through intuitive user interaction, resulting in a promising alternative to existing flow visualization solutions.

AbstractIn flow visualization, field lines are often used to convey both global and local structure and movement of the flow. One challenge is to find and classify the representative field lines. Most existing solutions follow an automatic approach that generates field lines characterizing the flow and arranges these lines into a single picture. In our work, we advocate a user-centric approach to exploring 3D vector fields. Our method allows the user to sketch 2D curves for pattern matching in 2D and field lines clustering in 3D. Specifically, a 3D field line whose view-dependent 2D projection is most similar to the user drawing will be identified and utilized to extract all similar 3D field lines. Furthermore, we employ an automatic clustering method to generate field-line templates for the user to locate subfields of interest. This semi-automatic process leverages the user's knowledge about the flow field through intuitive user interaction, resulting in a promising alternative to existing flow visualization solutions. With our sketch-based interface, the user can effectively dissect the flow field and make more structured visualization for analysis or presentation.

Topics: User interface (57%), Visualization (56%), Field line (54%), Cluster analysis (52%), Sketch (52%)

Summary (4 min read)

1 INTRODUCTION

  • Flow visualization is relevant to many areas of science and engineering from understanding the evolution of universe, analyzing weather patterns, to designing more efficient engines for cars.
  • One area of flow visualization can use more innovations is visualization of 3D vector fields.
  • Among different solutions to this problem, automatic clustering plays a vital role towards effective understanding of the flow patterns.
  • The first category is based on voxel-wise analysis which classifies similar contiguous vectors so that the whole vector field can be divided into several cluster regions.
  • Several methods can be used to represent field lines and measure the similarity between them.

3 OVERVIEW

  • Figure 1 illustrates the flowchart of their vector field sketching and clustering process.
  • The approach introduces user interaction into the clustering.
  • The authors assume that they are given enough field lines that could capture as many features as possible in the vector field.
  • The authors point out that their method can work with existing seeding strategies that capture different aspects of flow features.
  • The resulting field lines may provide valuable information for purposeful sketching.

3.1 Sketching for Field Line Clustering

  • For field line clustering, their approach includes two steps: 2D curve selection [22, 2] and similar 3D field lines clustering [14].
  • Based on these projected curves, the authors utilize the string matching approach to find the field line that is most similar to the input.
  • The only difference is that one 3D curve should be represented by both curvature and torsion.
  • After a few iterations, the entire vector filed would be partitioned into different clusters.
  • Alternatively, representative field lines from each group can be used for selective display so that a less cluttered visualization can be realized while distinct flow patterns are exhibited.

3.2 Sketching for Template Query

  • For field line template query, a list of clusters is pre-generated using a hierarchical clustering algorithm during preprocessing.
  • The algorithm allows the user to change the number of clusters interactively at runtime.
  • This similarity comparison helps narrow down a potentially large number of templates to only a few most similar ones for user selection.
  • As the user keeps drawing the pattern, the template reordering becomes more accurate.
  • The user can simply select one from the filtered template list anytime during her drawing and the corresponding filed line cluster will be highlighted in the display.

4.1 Representation of 2D User Sketching

  • A meaningful representation of the input drawing is required for the following 2D curve selection and 3D curve clustering.
  • In Figure 2(a), the angular difference at the first four points are positive and those at the last three points are negative since the proceeding direction of the curve changes from counterclockwise to clockwise.
  • However there is still one problem remaining.
  • According to this feature generation method, different field lines would have different numbers of curvatures in the feature representation.

4.2 Matching 2D Field Line Projections

  • In their system, the user can observe the vector field from different points of view.
  • At a certain viewing direction, the user may find some pattern she is interested in and she can sketch this curve pattern in the given 2D interface.
  • The system will find similar field line projections in the 2D space under the current view.

4.2.1 String Matching

  • The authors use the string matching approach to find similar curves based on the user’s input.
  • To measure the difference between strings, the authors employ the edit distance.
  • For the 2D curve representation, every primitive vector composing one string is only one-dimensional which is the curvature.
  • The reference curve will be the user’s sketching and all the other lines will be matched accordingly to identify the most similar one.
  • One critical issue with string matching is the definition of the cost function.

4.2.2 Repetition, Scale, and Tolerance in Patterns

  • If streamlines are traced very long due to the underlying flow pattern, the total length and angle changes of each field line can be very large.
  • According to the angle changes along the curve, only sample points at which the absolute value of total angle change is less than a certain value are considered.
  • The change of scales for certain flow patterns is an important aspect and should be taken into consideration in curve matching as well.
  • In some cases, flow patterns of small size are just noise, but in others, they are probably important areas in the vector field.
  • This also makes it possible to show how different groups of field lines are similar to each other as the tolerance parameter varies.

4.3 Matching 3D Field Lines

  • Only matching curves in 2D does not complete their work because similar field lines in 3D are likely to have quite different shapes after projected onto the 2D viewing plane.
  • The authors goal is to find all similar field lines, and therefore, the authors need to classify field lines in the 3D space.
  • The authors point out that the 2D curve matching method can be extended to 3D.
  • In 3D, a curve can be uniquely represented by its curvature and torsion while in 2D, using only the curvature information suffices.
  • The curvature and torsion at each sample point can be organized into a two-dimensional vector, which serves as a primitive in string matching.

5 SKETCH-BASED TEMPLATE QUERY

  • For automatic clustering, the authors use a typical agglomerative hierarchical clustering method.
  • All the initial field lines are stored in the leaf nodes.
  • When merging two clusters into a new one, the representative string for the new cluster is the mean string of the merged clusters.
  • Then, the selected clusters are displayed using the projections of their representative field lines.
  • The authors first sample the 2D projection of the field line, and then accumulate the angles of the two consecutive sample line segments, where a larger angle represents more information shown in the 2D projection and therefore a higher viewpoint quality.

6.1 Results

  • The authors experimented with their user-centric approach on several flow data sets.
  • The first one is the velocity vector field of the hurricane Isabel data set, provided by the National Science Foundation and the National Center for Atmospheric Research (NCAR).
  • The third one is the flow field in a computer room.
  • Clearly, all rendered images contain a great deal of clutter.
  • In the following, the authors demonstrate how their sketch-based interface helps the users specify line patterns and cluster the flow fields.

6.1.1 Sketch-Based Clustering and Template Query

  • Examples of the user sketching and the matching streamlines are displayed in Figure 5 (a) and Figure 6 (a) for the hurricane and computer room data sets, respectively.
  • The experiments show that their 2D pattern matching and 3D streamline clustering algorithm work pretty well for different kinds of patterns: straight or curved, long or short.
  • The user can draw close to what have been observed and similar streamlines will be displayed interactively.
  • This ability is very useful for exploring a complex flow data and isolating one interesting cluster at a time.
  • The authors system dynamically identifies the most similar templates as the user sketches the pattern on the fly.

6.1.2 Scale and Similarity Threshold Control

  • Streamlines sharing the similar shape may have different scales.
  • To allow the user to explore the scale, the authors provide a slider where the user can change the magnitude threshold to brush similar streamlines at different scales.
  • Figure 7 shows examples with the three data sets.
  • This capability is useful as the user may pay attention to larger scale features first and then focuses on smaller scale features in local regions.
  • As the user varies the tolerance value, she can have an intuitive understanding of how streamlines with different degrees of similarity differ from each other and how they are distributed over the space.

6.1.3 Visualization of Multiple Clusters

  • In their system, the user can iteratively explore the flow data and brush the streamlines to identify multiple clusters in order.
  • Once the user is satisfied with her exploration results, the system can display multiple clusters with different color, opacity, or rendering styles to differentiate them.
  • The authors can also selectively display a subset of streamlines from each cluster for a less cluttered view.
  • Figure 9 shows these visualizations with the three data sets, respectively.
  • Compared with the original rendering with all streamlines displayed, Figure 9 demonstrates that the authors can now generate a clearer and more meaningful picture to reveal the different flow patterns.

6.2 Discussion

  • During the preprocessing, the authors trace a large number of field lines from the input vector field.
  • The authors then parameterize these field lines using the B-spline.
  • The algorithm accepts fuzzy input in the sense that the user can sketch patterns close to field line 2D projections.
  • Another aspect that needs improvement is the cost function for string matching.
  • For a better similarity matching, the cost function should be adaptive to the characteristics of the flow fields.

7 CONCLUSIONS

  • Three-dimensional vector field visualization stays a challenging problem.
  • The sketch-based technique the authors have introduced complements existing methods by offering a new way to probe and dissect a flow field.
  • It dictates a user centered and domain knowledge directed process, which the authors believe is key to the understanding of large and complex flow fields.
  • For further work, the authors will involve scientists in the evaluation of their technique.
  • In particular, sketching and brushing may be done creatively and quite naturally through touch and stereoscopic interfaces.

Did you find this useful? Give us your feedback

...read more

Content maybe subject to copyright    Report

A Sketch-Based Interface for Classifying and Visualizing Vector Fields
Jishang Wei
University of California, Davis
Chaoli Wang
Michigan Technological University
Hongfeng Yu
Sandia National Laboratories
Kwan-Liu Ma
§
University of California, Davis
ABSTRACT
In flow visualization, field lines are often used to convey both global
and local structure and movement of the flow. One challenge is to
find and classify the representative field lines. Most existing solu-
tions follow an automatic approach that generates field lines char-
acterizing the flow and arranges these lines into a single picture.
In our work, we advocate a user-centric approach to exploring 3D
vector fields. Our method allows the user to sketch 2D curves for
pattern matching in 2D and field lines clustering in 3D. Specifically,
a 3D field line whose view-dependent 2D projection is most similar
to the user drawing will be identified and utilized to extract all sim-
ilar 3D field lines. Furthermore, we employ an automatic clustering
method to generate field-line templates for the user to locate sub-
fields of interest. This semi-automatic process leverages the user’s
knowledge about the flow field through intuitive user interaction,
resulting in a promising alternative to existing flow visualization
solutions. With our sketch-based interface, the user can effectively
dissect the flow field and make more structured visualization for
analysis or presentation.
1 INTRODUCTION
Flow visualization is relevant to many areas of science and engi-
neering from understanding the evolution of universe, analyzing
weather patterns, to designing more efficient engines for cars. Over
the years, many flow visualization techniques and tools have been
developed and scientists routinely use them for validating and an-
alyzing the data generated by their simulations or measurements.
Despite its widespread uses, one area of flow visualization can use
more innovations is visualization of 3D vector fields. For visual-
izing vector fields, most of the existing techniques are based on
particle tracing, and the most commonly used technique is field-
line based visualization, such as streamlines which are curves ev-
erywhere tangent to the flow field. One fundamental problem for
making streamline visualization is determining the placement and
density of streamlines. A related but particularly essential problem
for analyzing 3D flow is locating and highlighting flow features of
interest in large and complex fields. In this paper, we present a
user-centric solution to this problem.
Among different solutions to this problem, automatic clustering
plays a vital role towards effective understanding of the flow pat-
terns. There exists a wealth of literature on this topic, which can
be divided into two categories: the voxel-based and curve-based
methods. The first category is based on voxel-wise analysis which
classifies similar contiguous vectors so that the whole vector field
can be divided into several cluster regions. In each cluster, average
field lines can be generated to represent the vector characteristics
e-mail: jswei@ucdavis.edu
e-mail:chaoliw@mtu.edu
e-mail:hyu@sandia.gov
§
e-mail:ma@cs.ucdavis.edu
within the region. Alternatively, seed points can be placed to fol-
low important patterns and capture interesting features. In this way,
the vector field can be illustrated with sparse field lines. The prob-
lem with this voxel-based method is that although a good summary
picture of the data set is shown, details may be lost due to averaging
quantitative parameters.
The second category is built on curve-based analysis which
groups field lines directly. Several methods can be used to repre-
sent field lines and measure the similarity between them. For ex-
ample, each field line can be simply treated as a sequence of traced
points. Curves are matched by registering two sets of points fol-
lowing their r espective orders along the line. Another way is to
match the curves with metrics such as the closest point distance, or
the Hausdorff distance. Although this treatment is convenient, the
comparison is sensitive to the variation of the underlying flow pat-
terns. A better alternative is to parameterize the curve and represent
it with parameters such as length, curvature, and torsion, which can
be organized into a new vector that captures the shape feature of the
curve. After curve representation and similarity comparison, vari-
ous clustering approaches, such as k-means or spectral clustering,
can be applied to classify the field lines. However, there are still
issues with this curve-based method. For ins tance, most existing
solutions are specifically suitable for brain white matter and mus-
cle fiber clustering since these data normally exhibit certain known
patterns. Thus, it cannot be easily extended to general vector fields
with various flow patterns. Another problem lies in the cluster-
ing algorithms themselves. Automatic clustering methods usually
aim at dividing curves into different clusters automatically. Nev-
ertheless, for complex vector fields, they could not always achieve
satisfactory classification results.
In this paper, we advocate a user-centric approach to field lines
classification in which we keep the flow details and explicitly take
into account the important role that the user plays in the visual
data exploration process. Our approach is achieved through an in-
tuitive sketch-based interface and straightforward interaction: the
user simply sketches a 2D curve and this input curve will be used to
brush similar streamlines in 3D. A typical scenario is when the user
is examining streamlines of a complex vector field and is interested
in certain line pattern, she can then sketch a curve in the 2D inter-
face close to what is observed under the current view. The input
curve will be used to match and retrieve all similar 3D streamlines
automatically. Note that our interface allows fuzzy specification of
the input curve and our algorithm is able to identify the most sim-
ilar streamlines. By introducing user interaction, streamlines can
be clustered in a way that is meaningful to the users. In addition,
we also present a s olution that applies similar user input to query
streamline templates produced from an automatic clustering algo-
rithm. We believe that our semi-automatic approach provides an
alternative for scientists to understand vector fields where simple
yet informed user input plays a central role.
2 RELATED WORK
One of the most important goals in flow visualization is to display
the vector field in a clear and meaningful way, in which flow char-
acteristics are carefully presented and thus can be easily perceived.

Different approaches have been taken to study this topic.
A key issue that affects the quality of streamlines representa-
tion is the seeding strategy and streamlines placement [11] because
straightforward solutions would easily lead to clutter. Verma et al.
[20] presented a seed placement strategy to capture flow patterns
around the critical points and to provide sufficient coverage in non-
critical regions. Ye et al. [23] presented a method for streamline
placement in 3D flow field. Their aim is to present all significant
flow patterns with maximum coverage and minimum clutter. Chen
et al. [3] introduced a technique for the placement of streamlines in
2D and 3D steady vector field. In their approach, a new metric for
local similarity measurement among streamlines was introduced to
guide field line generation. This metric involves statistical informa-
tion of streamline shape and direction as well as the Euclidean dis-
tance of each pair of curves. Li et al. [8] presented an image-based
seeding strategy which is used for 3D flow visualization. Their
algorithm tries to control scene cluttering by placing seeds in the
image plane in such a way that the depths and structures of stream-
lines can be clearly presented. Li et al. [7] also introduced another
method for streamline placement which is different from [8] in that
its goal is to generate representative and illustrative streamlines in
2D vector fields to enforce visual clarity and evidence. They used a
minimum amount of streamlines to describe the underlying patterns
by only creating new lines at places with flow characteristics that
have not shown yet. In [17], Spencer et al. described an automatic
streamline seeding algorithm for vector fields defined on surfaces
in 3D space. This algorithm generates evenly-spaced streamlines
quickly and efficiently for any general surface-based vector field.
Clustering is another key technique to generate meaningful vi-
sualization for representing complex flow patterns. In voxel-based
clustering, seed points are placed in individual clusters to capture
important flow patterns. A holistic overview in a coarser definition
is exhibited along with clutter-free rendering. Heckel et al. [6] in-
troduced a top-down clustering method by splitting groups of vox-
els iteratively. This approach allows more than one level in the hi-
erarchy to be visualized simultaneously. Telea et al. [18] proposed
a bottom-up method by merging neighboring groups of voxels with
the highest similarity in an iterative manner. Simplified vector field
visualization results can be obtained at different levels of details.
Du et al. [4] presented a clustering technique based on the cen-
troidal Voronoi tessellation (CVT) to separate the vector field into
a fixed number of groups. McKenzie et al. [10] extended the work
in [4] by employing different error metrics in the variational clus-
tering.
Another category of vector field clustering is based on direct
clustering of field lines. This approach is most commonly found
in visualizing diffusion tensor imaging (DTI) data such as brain
white matter and muscle fibers [12]. In general, these algorithms
all share the steps of first defining a similarity metric between the
trajectories, and then employing an algorithm for clustering accord-
ing to the established similarity measurement. For instance, Shi-
mony et al. [16] tested several distance metrics that measure the
distance between tracks. They used the fuzzy c-means algorithm
for clustering. Brun et al. [1] compared pairwise fiber traces in
dimension-reduced Euclidean feature space to create a weighted,
undirected graph which is partitioned into coherent sets using the
normalized cut. O’Donnell et al. [13] utilized the symmetrized
Hausdorff distance as the similarity measurement among trajecto-
ries and achieved spectral clustering using the Nystr
¨
om method and
the k-means algorithm in the embedding space. Tsai et al. [19] con-
structed tract distances between fiber tracts from dual-rooted graphs
where both local and global dissimilarities are taken into account.
The considered distance is then incorporated in a locally linear em-
bedding framework and clustering is performed using the k-means
algorithm. Curve modeling has also been utilized in clustering. For
example, Maddah et al. [9] defined a spatial similarity measure
Figure 1: The sketch-based vector field visualization process. The
user can use sketching to find field lines (left branch) or field-line
clusters (right branch) of interest.
between curves for a supervised clustering algorithm. Expectation-
maximization (EM) algorithm is used to cluster the trajectories in
the context of a gamma mixture model.
3 OVERVIEW
Figure 1 illustrates the flowchart of our vector field sketching and
clustering process. Our approach introduces user interaction into
the clustering. We assume that we are given enough field lines that
could capture as many features as possible in the vector field. For
instance, we can randomly place a large number of seed points to
generate field lines. We point out that our method can work with
existing seeding strategies that capture different aspects of flow fea-
tures. The resulting eld lines may provide valuable information for
purposeful sketching. Our approach consists of two different direc-
tions: one uses sketching to cluster field lines and the other uses
sketching to query field line template.
3.1 Sketching for Field Line Clustering
For field line clustering, our approach includes two steps: 2D curve
selection [22, 2] and similar 3D field lines clustering [14]. The
user’s input is constrained in the 2D space. Thus all field lines are
projected into the 2D space f or matching with the input curve. The
projection corresponds to a user-specified viewpoint where features
of interest may exist. Based on these projected curves, we utilize
the string matching approach to find the field line that is most sim-
ilar to the input. Specifically, we approximate the user’s drawing
and the projected field lines by an arc length parameterized cubic
B-spline. The shape features are extracted by sampling the curva-
ture at equal arc length intervals along the curve. Then, we measure
the similarity between two curves using the edit distance.
After getting the 2D curve resembling the input pattern, we us e
its original 3D field line as the reference for 3D field line cluster-
ing. The 3D similarity measurement is similar to that in the 2D
curve selection. The only difference is that one 3D curve should
be represented by both curvature and torsion. Identified similar 3D
field lines will be highlighted with different colors and/or opacities.
They can also be removed from the rendering so that the user can

continue to explore the remaining field by changing the view and
sketching interested patterns observed. New groups of similar eld
lines will be identified. After a few iterations, the entire vector filed
would be partitioned into different clusters. The user can examine
one group at a time, or combine several groups to find their rela-
tions. Alternatively, representative field lines from each group can
be used for selective display so that a less cluttered visualization
can be realized while distinct flow patterns are exhibited.
3.2 Sketching for Template Query
For field line template query, a list of clusters is pre-generated us-
ing a hierarchical clustering algorithm during preprocessing. The
algorithm allows the user to change the number of clusters inter-
actively at runtime. For each cluster, a view-dependent field line
that displays the maximum amount of projection information will
be used as the template to represent the corresponding cluster. The
user sketches a partial 2D pattern and our algorithm dynamically
reorders the pre-genereated field line templates according to their
similarities. This step is similar to the 2D curve selection described
in Section 3.1. This similarity comparison helps narrow down a
potentially large number of templates to only a few most similar
ones for user selection. As the user keeps drawing the pattern, the
template reordering becomes more accurate. The user can simply
select one from the filtered template list anytime during her draw-
ing and the corresponding filed line cluster will be highlighted in
the display. Unlike field line clustering, the reason that we can per-
form dynamic reordering for template query is due to the limited
number of templates generated, which normally is set by the user
and is much smaller than the total number of input field lines.
4 SKETCH-BASED CLUSTERING
4.1 Representation of 2D User Sketching
Although drawing 3D curves is possible, we constraint the user in-
put in a 2D interface because it is more intuitive and convenient for
the user to sketch 2D curves. A meaningful representation of the
input drawing is required for the following 2D curve selection and
3D curve clustering. We use a descriptor that includes geometric
parameters such as the curvature along the curve. The curvature is
defined as an instantaneous rate of change of the angle with respect
to arc length. T he main advantage of this representation is that it is
invariant with respect to rotation and translation.
In practice, direct handling the user’s sketching leads to some
problems related to image rasterization. Moreover, small changes
cannot be preserved in this case. To address this, we smooth the
user’s sketching by sampling it at certain intervals and remodel it
with the cubic B-spline. As such, the curve is defined as a func-
tion of parameter t in the range of [t
min
, t
max
], where t
min
and t
max
correspond to the start and end of the curve. That is,
V (t) =
x(t)
y(t)
.
To compute the line’s curvature, the curve needs to be reparameter-
ized by the arc length s in the range of [0, L] where L is the total
length along the curve, i.e.,
V (s) =
x(s)
y(s)
.
Let
V (s) and
V (t) denote the same curve, in which
V (s) =
V (t) implies a relationship between t and s. We apply the chain
rule to obtain
d
V (t)
dt
=
d
V (s)
ds
ds
dt
.
Then we have
d
V (t)
dt
=
d
V (s)
ds
ds
dt
=
ds
dt
,
Figure 2: Examples of the sign on curvature. In (a), the first four
points (from left to right) have the positive sign while the rest three
points have the negative sign. In (b), all points have the positive sign.
where
d
V (s)
ds
=
d
V (s)
|ds|
= 1 and
ds
dt
is nonnegative as the arc length
s increases with the increase of t. From this equation, we can get
the relationship between s and t by integration
s =
Z
t
t
min
d
V (
τ
)
dt
d
τ
,
when t = t
min
, s = 0; and when t = t
max
, s = L. Given t, we can de-
termine the corresponding arc length s from the integration. How-
ever, what we need is the inverse problem. Given an arc length s, we
want to know the corresponding t. To solve this, we employ numer-
ical methods to compute t [t
min
,t
max
] given the value of s [0,L].
We tr eat
dt
ds
=
1
d
V (t)
dt
.
The above equation may be solved numerically with any standard
differential equation solver such as the Runge-Kutta method.
Let
T (s) denote the unit vector tangent to this curve and
θ
be
the angle change of two consecutive vectors. Expressed in terms of
the derivatives of x(s) and y(s) with respect to the arc length s, the
curvature (
κ
) at point s is then given by
κ
(s) =
x
(s)y
′′
(s) y
(s)x
′′
(s)
x
(s)
2
+ y
(s)
2
3
2
,
where the absolute value of
κ
is larger when the curve is turning
rapidly and smaller when the curve is relatively straight. In our
system, instead of using the exact definition of curvature, we use the
angular difference between the tangent vectors at two consecutive
points of the curve [5]. The benefit of using the angular difference
is that it is easy to understand with clear physical meaning. Besides,
it is simple to set in the cost function for string matching.
Another key issue is how to set the sign of angular difference. In
our application, at the starting point the sign of angular difference is
assigned as positive. In the following steps, if angular difference of
two consecutive vectors changes from clockwise to counterclock-
wise or vise versa, the sign is changed to the opposite. For in-
stance, in Figure 2(a), the angular difference at the first four points
are positive and those at the last three points are negative since the
proceeding direction of the curve changes from counterclockwise
to clockwise. In Figure 2(b), the angular difference on all points
are positive since the curve moves along the counterclockwise di-
rection all the time.
At this point, we have already constructed a signature for one
curve composed of an ordered set of accumulated curvatures along
the line at equal intervals:
f = (c
1
,c
2
,.. ., c
r
).
However there is still one problem remaining. During point sam-
pling along the curve, some points with large curvature may be

Figure 3: Sampling points on two different curves yields the same
feature vector since in (a), the corner is not sampled. Taking into ac-
count the accumulated curvature can capture the difference between
the two curves.
missed, which is important in describing the curve. For example,
in Figure 3, we show a sequence of points sampled along the line
in (a) and (b), respectively. Because the turning point in (a) is not
sampled, the feature signature for both (a) and (b) will be exactly
the same as f = (0,0,0, 0,0,0). To overcome this problem, we ap-
ply the accumulated curvature in which angular differences along
the curve are summarized first and then the total angular differences
for that curve segment is used.
According to this feature generation method, different field lines
would have different numbers of curvatures in the feature represen-
tation. Actually, all the information about the curve such as the
total arc length, angle change, and vertex order, are saved in the
signature. With this representation, we will select the most similar
curves to the user’s input and then cluster all similar field lines in
the 3D space.
4.2 Matching 2D Field Line Projections
In our system, the user can observe the vector field from different
points of view. At a certain viewing direction, the user may find
some pattern she is interested in and she can sketch this curve pat-
tern in the given 2D interface. The system will find similar field
line projections in the 2D space under the current view.
4.2.1 String Matching
We use the string matching approach to find similar curves based on
the user’s input. A string is composed of primitives which are N-
dimensional vectors of numerical values. To measure the difference
between strings, we employ the edit distance. The edit distance, in-
troduced by Wagner and Fisher [21], is a metric for measuring the
amount of difference between two sequences. The edit distance be-
tween two strings is given by the minimum number of operations
needed to transform one string into the other, where an operation
is an insertion, deletion, or substitution of a single primitive. For
the 2D curve representation, every primitive vector composing one
string is only one-dimensional which is the curvature. Our basic
idea is to represent both the input line and the field line’s 2D pro-
jection as strings using the method introduced in Section 4.1. In
this way, the curve matching problem can be transformed into string
matching, which is implemented using dynamic programming. The
reference curve will be the user’s sketching and all the other lines
will be matched accordingly to identify the most similar one.
One critical issue with s tring matching is the definition of the
cost function. There are two contradictory considerations in our
application. One of them is to enhance the total arc length of each
curve. For instance, we will not classify curves with significant dif-
ferent lengths into one group because curves with different lengths
in the vector field usually indicate different patterns. In other words,
similar lines have similar lengths. The other consideration is to in-
sert or delete one primitive whenever it is necessary. That means
when the curvatures at some pair of points make a significant differ-
ence, we should delete or insert a point instead of only substituting
corresponding curvatures and count the difference in the final cost.
With this consideration, we define a cost function as follows
f
sub
=
κ
xi
κ
y j
, f
del
= f
ins
= cmax f
sub
;
where f
sub
, f
del
, and f
ins
are the costs for the substitution, deletion,
and insertion, respectively;
κ
xi
and
κ
y j
are curvatures of the ith and
jth sample points on curves x and y, respectively; c (0, 1) is a
constant and is set to 2/3 in this paper. The heuristic is that the
deletion or insertion operation must be greater than half of the cost
of substitution operation. Otherwise, each pair of strings will be
matched using the deletion or insertion operation only.
4.2.2 Repetition, Scale, and Tolerance in Patterns
If streamlines are traced very long due to the underlying flow pat-
tern, the total length and angle changes of each field line can be very
large. As a consequence, it will be difficult for the user to character-
ize the whole curve. At the same time, the number of string prim-
itives for describing each line will increase, which would demand
more time for curve matching. As a matter of fact, we observe
that many feature patterns are repetitive along the curve. There-
fore, only the characteristic part of the curve needs to be matched
instead of the whole line. A simple example is a circular field line
with a large number of loops. In this case, the user would prefer to
sketch one loop to catch this feature field line rather than sketching
many loops. In our work, we propose a simple yet effective way to
extract line patterns for matching. According to the angle changes
along the curve, only sample points at which the absolute value of
total angle change is less than a certain value are considered. In our
application, we set this value to 720
. In this manner, both the line
patterns on curves or circles can be successfully captured.
The scale of the field lines indicates its relative size. The change
of scales for certain flow patterns is an important aspect and should
be taken into consideration in curve matching as well. In some
cases, flow patterns of small size are just noise, but in others, they
are probably important areas in the vector field. For example, ed-
dies/vortices/swirling zones at a particular scale in practice, could
be either good or bad indications. To incorporate this, we normalize
all points on the curve into the range of [0,1] and store its magni-
tude during the B-spline parameterization. The magnitude which
indicates its relative scale will serve as an additional parameter in
curve matching. In this way, the user is able to find the same shape
of features but in different scales.
Another important parameter is the similarity tolerance. Instead
of setting the extent beforehand and determining which range of
similar field lines should be assigned to one group, we allow the
user to change the similarity tolerance on the fly. By varying this
parameter, the user can either display only the most similar stream-
lines or most of the streamlines, and everything else in between.
This also makes it possible to show how different groups of field
lines are similar to each other as the tolerance parameter varies. In
addition, we can also use the total angle change and curve length
as the tolerance. The assumption here is that similar flow patterns
have similar total angle changes and curve lengths.
4.3 Matching 3D Field Lines
Only matching curves in 2D does not complete our work because
similar field lines in 3D are likely to have quite different shapes
after projected onto the 2D viewing plane. Our goal is to find all
similar field lines, and therefore, we need to classify field lines in
the 3D space. We point out that the 2D curve matching method
can be extended to 3D. The difference lies in the representation of
2D and 3D curves. In 3D, a curve can be uniquely represented
by its curvature and torsion while in 2D, using only the curvature
information suffices. The curvature (
κ
) and torsion (
τ
) in 3D can
be represented as

(a) (b) (c)
Figure 4: (a)-(c) show streamlines traced in the hurricane, plume, and computer room data sets, respectively. The velocity magnitudes are
mapped to the streamline colors. For the hurricane and computer room data sets, the scalar fields are also volume rendered to provide the
context information.
κ
(s) =
K
1
2
x
(s)
2
+ y
(s)
2
+ z
(s)
2
3
2
and
τ
(s) =
det
x
y
z
x
′′
y
′′
z
′′
x
′′′
y
′′′
z
′′′
!
K
,
where
K = (y
(s)z
′′
(s) y
′′
(s)z
(s))
2
+
= (z
(s)x
′′
(s) z
′′
(s)x
(s))
2
+
= (x
(s)y
′′
(s) x
′′
(s)y
(s))
2
.
The curvature and torsion at each sample point can be organized
into a two-dimensional vector, which serves as a primitive in string
matching. Similar to the 2D case, the cost functions now become
f
sub
= (
κ
xi
κ
y j
) + (
τ
xi
τ
y j
), f
del
= f
ins
= cmax f
sub
;
where
κ
xi
and
τ
xi
are curvature and torsion values of the ith sam-
ple point on curve x respectively, and so are
κ
y j
and
τ
y j
at the jth
sample point on curve y. Again, we set c = 2/3.
5 SKETCH-BASED TEMPLATE QUERY
For automatic clustering, we use a typical agglomerative hierarchi-
cal clustering method. Before clustering, each field line is consid-
ered as a separate cluster. Then, we perform a bottom-up clustering
algorithm iteratively such that in each iteration, the two most sim-
ilar lines are merged into a larger cluster. This merging process
repeats until we arrive at a single cluster that represents the whole
set of field lines. A binary tree is generated during this clustering
process indicating which two clusters are merged at each iteration.
Each tree node has a level attribute indicating at which stage the
cluster is created. By default, all leaf nodes have the level of 0 and
the root has the level of N 1, where N is the number of field lines
traced from the flow data set. All the initial field lines are stored in
the leaf nodes.
The key step of this clustering algorithm is to evaluate the simi-
larity of two clusters and merge them. In our implementation, each
cluster is associated with a representative string. Initially, for each
field line, the representative string is its corresponding string, which
is constructed in the same way as described in Section 4.2.1. The
similarity evaluation of two clusters compares their representative
strings. When merging two clusters into a new one, the representa-
tive string for the new cluster is the mean string of the merged clus-
ters. The mean string is calculated using the approach presented in
[15]. The clustering is performed at the preprocessing stage.
During runtime visualization, we first select the number of clus-
ters by choosing the level in the binary tree. Then, the selected
clusters are displayed using the projections of their representative
field lines. The selection of the representative field line for a clus-
ter is view-dependent. Give a cluster, we traverse its corresponding
binary tree node to obtain all its leaf nodes where the initial field
lines are stored. Among them, we select a line with the maximum
viewpoint quality as the representative line of a cluster. We mea-
sure the viewpoint quality of a line using a heuristic approach. We
first sample the 2D projection of the field line, and then accumu-
late the angles of the two consecutive sample line segments, where
a larger angle represents more information shown in the 2D pro-
jection and therefore a higher viewpoint quality. In practice, we
precalculate the viewpoint qualities of a field line by sampling the
viewing sphere with a constant angle spacing (say 5
). At runtime,
the quality of a field line from a viewing direction is looked up from
the closest sampled viewpoint. The measurement of the similarity
between the pattern sketched by the user and the projected represen-
tative field lines of the clusters follows the same method described
in Section 4.2. The measuring is performed in real time as the user
sketches a pattern. The most similar clusters are dynamically up-
dated and listed for user selection.
6 RESULTS AND DISCUSSION
6.1 Results
We experimented with our user-centric approach on several flow
data sets. The first one is the velocity vector field of the hurricane
Isabel data set, provided by the National Science Foundation and
the National Center for Atmospheric Research (NCAR ). The sec-
ond one is the solar plume velocity vector field, provided by the sci-
entists at the NCAR. The third one is the flow field in a computer
room. Figure 4 s hows the streamlines generated in the three data
sets respectively by random seeding in the vector field and tracing
with the Runge-Kutta method. Clearly, all rendered images con-
tain a great deal of clutter. In the following, we demonstrate how
our sketch-based interface helps the users specify line patterns and
cluster the flow fields. We also present results that use sketch-based
interface for template query where the corresponding clusters are
pre-generated using the automatic clustering algorithm.

Figures (9)
Citations
More filters

Proceedings ArticleDOI
01 Jan 2012
TL;DR: An overview of the existing illustrative techniques for flow visualization is given, which problems have been solved and which issues still need further investigation are highlighted, and remarks and insights on the current trends in illustrative flow visualization are provided.
Abstract: Flow visualization is a well established branch of scientific visualization and it currently represents an invaluable resource to many fields, like automotive design, meteorology and medical imaging. Thanks to the capabilities of modern hardware, flow datasets are increasing in size and complexity, and traditional flow visualization techniques need to be updated and improved in order to deal with the upcoming challenges. A fairly recent trend to enhance the expressiveness of scientific visualization is to produce depictions of physical phenomena taking inspiration from traditional handcrafted illustrations: this approach is known as illustrative visualization, and it is getting a foothold in flow visualization as well. In this state of the art report we give an overview of the existing illustrative techniques for flow visualization, we highlight which problems have been solved and which issues still need further investigation, and, finally, we provide remarks and insights on the current trends in illustrative flow visualization.

87 citations


Journal ArticleDOI
TL;DR: A novel energy minimization formulation in which both geometric and temporal information from digital input devices is used to define stroke‐to‐stroke and scribble‐to-stroke relationships is introduced.
Abstract: We present ‘Smart Scribbles’—a new scribble-based interface for user-guided segmentation of digital sketchy drawings. In contrast to previous approaches based on simple selection strategies, Smart Scribbles exploits richer geometric and temporal information, resulting in a more intuitive segmentation interface. We introduce a novel energy minimization formulation in which both geometric and temporal information from digital input devices is used to define stroke-to-stroke and scribble-to-stroke relationships. Although the minimization of this energy is, in general, an NP-hard problem, we use a simple heuristic that leads to a good approximation and permits an interactive system able to produce accurate labellings even for cluttered sketchy drawings. We demonstrate the power of our technique in several practical scenarios such as sketch editing, as-rigid-as-possible deformation and registration, and on-the-fly labelling based on pre-classified guidelines. © 2012 Wiley Periodicals, Inc. (We present Smart Scribbles, a new scribble-based interface for user-guided segmentation of digital sketchy drawings. In contrast to previous approaches based on simple selection strategies, Smart Scribbles exploits richer geometric and temporal information, resulting in a more intuitive segmentation interface. We introduce a novel energy minimization formulation in which both geometric and temporal information from digital input devices is used to define stroke-to-stroke and scribble-to-stroke relationships. Although the minimization of this energy is, in general, a NP-hard problem, we use a simple heuristic that leads to a good approximation and permits an interactive system able to produce accurate labelings even for cluttered sketchy drawings. We demonstrate the power of our technique in several practical scenarios such as sketch editing, as-rigid-as-possible deformation and registration, and on-the-fly labeling based on pre-classified guidelines.)

59 citations


Journal ArticleDOI
TL;DR: This work develops a Lagrangian framework for the comparison of flow fields in an ensemble and introduces a classification space that facilitates incorporation of these properties into a common ensemble visualization.
Abstract: Sets of simulation runs based on parameter and model variation, so-called ensembles, are increasingly used to model physical behaviors whose parameter space is too large or complex to be explored automatically. Visualization plays a key role in conveying important properties in ensembles, such as the degree to which members of the ensemble agree or disagree in their behavior. For ensembles of time-varying vector fields, there are numerous challenges for providing an expressive comparative visualization, among which is the requirement to relate the effect of individual flow divergence to joint transport characteristics of the ensemble. Yet, techniques developed for scalar ensembles are of little use in this context, as the notion of transport induced by a vector field cannot be modeled using such tools. We develop a Lagrangian framework for the comparison of flow fields in an ensemble. Our techniques evaluate individual and joint transport variance and introduce a classification space that facilitates incorporation of these properties into a common ensemble visualization. Variances of Lagrangian neighborhoods are computed using pathline integration and Principal Components Analysis. This allows for an inclusion of uncertainty measurements into the visualization and analysis approach. Our results demonstrate the usefulness and expressiveness of the presented method on several practical examples.

52 citations


Cites background from "A sketch-based interface for classi..."

  • ...Similarities can then be defined by the presence or absence of common feature types, shapes, or properties (see for example [32, 19] for feature based similarity metrics in flow fields)....

    [...]


Journal ArticleDOI
TL;DR: This paper introduces a technique to interpret a user's drawings with an interactive, nonlinear axis mapping approach called AxiSketcher, which enables users to impose their domain knowledge on a visualization by allowing interaction with data entries rather than with data attributes.
Abstract: Visual analytics techniques help users explore high-dimensional data. However, it is often challenging for users to express their domain knowledge in order to steer the underlying data model, especially when they have little attribute-level knowledge. Furthermore, users' complex, high-level domain knowledge, compared to low-level attributes, posits even greater challenges. To overcome these challenges, we introduce a technique to interpret a user's drawings with an interactive, nonlinear axis mapping approach called AxiSketcher. This technique enables users to impose their domain knowledge on a visualization by allowing interaction with data entries rather than with data attributes. The proposed interaction is performed through directly sketching lines over the visualization. Using this technique, users can draw lines over selected data points, and the system forms the axes that represent a nonlinear, weighted combination of multidimensional attributes. In this paper, we describe our techniques in three areas: 1) the design space of sketching methods for eliciting users' nonlinear domain knowledge; 2) the underlying model that translates users' input, extracts patterns behind the selected data points, and results in nonlinear axes reflecting users' complex intent; and 3) the interactive visualization for viewing, assessing, and reconstructing the newly formed, nonlinear axes.

50 citations


Cites methods from "A sketch-based interface for classi..."

  • ...Sketching has also been used to generate vector fields, allowing users to draw streamlines and quickly simulate fluid flows [40, 50]....

    [...]


Proceedings ArticleDOI
12 Sep 2013
TL;DR: It is shown that statistical distributions of measurements along the trajectory of a streamline can be used as a robust and effective descriptor to measure the similarity between streamlines.
Abstract: Streamline-based techniques are designed based on the idea that properties of streamlines are indicative of features in the underlying field. In this paper, we show that statistical distributions of measurements along the trajectory of a streamline can be used as a robust and effective descriptor to measure the similarity between streamlines. With the distribution-based approach, we present a framework for interactive exploration of 3D vector fields with streamline query and clustering. Streamline queries allow us to rapidly identify streamlines that share similar geometric features to the target streamline. Streamline clustering allows us to group together streamlines of similar shapes. Based on user's selection, different clusters with different features at different levels of detail can be visualized to highlight features in 3D flow fields. We demonstrate the utility of our framework with simulation data sets of varying nature and size.

40 citations


Cites background from "A sketch-based interface for classi..."

  • ...The similarity between streamlines is then measured through the distance between the feature vectors, for example, the edit distance [20, 21]....

    [...]


References
More filters

Journal ArticleDOI
TL;DR: An algorithm is presented which solves the string-to-string correction problem in time proportional to the product of the lengths of the two strings.
Abstract: The string-to-string correction problem is to determine the distance between two strings as measured by the minimum cost sequence of “edit operations” needed to change the one string into the other. The edit operations investigated allow changing one symbol of a string into another single symbol, deleting one symbol from a string, or inserting a single symbol into a string. An algorithm is presented which solves this problem in time proportional to the product of the lengths of the two strings. Possible applications are to the problems of automatic spelling correction and determining the longest subsequence of characters common to two strings.

3,101 citations


"A sketch-based interface for classi..." refers background in this paper

  • ...Theedit distance, introduced by Wagner and Fisher [21], is a metric for measuring the amount of difference between two sequences....

    [...]


Book
21 Jun 2006
TL;DR: Modern Differential Geometry of Curves and Surfaces with Mathematica explains how to define and compute standard geometric functions, for example the curvature of curves, and presents a dialect ofMathematica for constructing new curves and surfaces from old.
Abstract: From the Publisher: The Second Edition combines a traditional approach with thesymbolic manipulation abilities of Mathematica to explain and develop the classical theory of curves and surfaces. You will learn to reproduce and study interesting curves and surfaces - many more than are included in typical texts - using computer methods. By plotting geometric objects and studying the printed result, teachers and students can understand concepts geometrically and see the effect of changes in parameters. Modern Differential Geometry of Curves and Surfaces with Mathematica explains how to define and compute standard geometric functions, for example the curvature of curves, and presents a dialect of Mathematica for constructing new curves and surfaces from old. The book also explores how to apply techniques from analysis. Although the book makes extensive use of Mathematica, readers without access to that program can perform the calculations in the text by hand. While single- and multi-variable calculus, some linear algebra, and a few concepts of point set topology are needed to understand the theory, no computer or Mathematica skills are required to understand the concepts presented in the text. In fact, it serves as an excellent introduction to Mathematica, and includes fully documented programs written for use with Mathematica. Ideal for both classroom use and self-study, Modern Differential Geometry of Curves and Surfaces with Mathematica has been tested extensively in the classroom and used in professional short courses throughout the world.

711 citations


Journal ArticleDOI
01 Sep 2010
TL;DR: This survey reviews and classify geometric flow visualization literature according to the most important challenges when considering such a visualization, a central theme being the seeding algorithm upon which they are based.
Abstract: Flow visualization is a fascinating sub-branch of scientific visualization. With ever increasing computing power, it is possible to process ever more complex fluid simulations. However, a gap between data set sizes and our ability to visualize them remains. This is especially true for the field of flow visualization which deals with large, timedependent, multivariate simulation datasets. In this paper, geometry based flow visualization techniques form the focus of discussion. Geometric flow visualization methods place discrete objects in the vector field whose characteristics reflect the underlying properties of the flow. A great amount of progress has been made in this field over the last two decades. However, a number of challenges remain, including placement, speed of computation, and perception. In this survey, we review and classify geometric flow visualization literature according to the most important challenges when considering such a visualization, a central theme being the seeding object upon which they are based. This paper details our investigation into these techniques with discussions on their applicability and their relative merits and drawbacks. The result is an up-to-date overview of the current state-of-the-art that highlights both solved and unsolved problems in this rapidly evolving branch of research. It also serves as a concise introduction to the field of flow visualization research.

281 citations


"A sketch-based interface for classi..." refers background in this paper

  • ...A key issue that affects the quality of streamlines representation is the seeding strategy and streamlines placement [11] because straightforward solutions would easily lead to clutter....

    [...]


Book
08 Sep 2011
TL;DR: Two algorithms to find the longest common subcurve of two 2D curves are presented, based on conversion of the curves into shape signature strings and application of string matching techniques to find long matching substrings, followed by direct curve matching of the corresponding candidate subcurves to finding the longest matching subCurve.
Abstract: Two algorithms to find the longest common subcurve of two 2D curves are presented. These algorithms are based on conversion of the curves into shape signature strings and application of string matching techniques to find long matching substrings, followed by direct curve matching of the corresponding candidate subcurves to find the longest matching subcurve. The first algorithm is of complexity O(n), where n is the number of sample points on the curves. The second one, while being theoretically somewhat less efficient, proved to be robust and efficient in practical applications. Both algorithms solve the problem of general curves without being dependent on some set of special points on the curves. The algorithms have industrial applications to problems of object assembly and object recognition. Experimental results are included. The algorithms can be easily extended to the 3D case. >

240 citations


"A sketch-based interface for classi..." refers methods in this paper

  • ...For field line clustering, our approach includes two steps: 2D curve selection [22, 2] and similar 3D field lines clustering [14]....

    [...]


Book ChapterDOI
26 Sep 2004
TL;DR: A simple and yet effective method for pairwise comparison of fiber traces is presented which in combination with the N cut criterion is shown to produce plausible segmentations of both synthetic and real fiber trace data.
Abstract: In this paper we present a framework for unsupervised segmentation of white matter fiber traces obtained from diffusion weighted MRI data. Fiber traces are compared pairwise to create a weighted undirected graph which is partitioned into coherent sets using the normalized cut (Ncut) criterion. A simple and yet effective method for pairwise comparison of fiber traces is presented which in combination with the Ncut criterion is shown to produce plausible segmentations of both synthetic and real fiber trace data. Segmentations are visualized as colored stream-tubes or transformed to a segmentation of voxel space, revealing structures in a way that looks promising for future explorative studies of diffusion weighted MRI data.

222 citations


"A sketch-based interface for classi..." refers methods in this paper

  • ...[1] compared pairwise fiber traces in dimension-reduced Euclidean feature space to create a weighted, undirected graph which is partitioned into coherent sets using the normalized cut....

    [...]


Frequently Asked Questions (2)
Q1. What are the contributions in "A sketch-based interface for classifying and visualizing vector fields" ?

In their work, the authors advocate a user-centric approach to exploring 3D vector fields. Furthermore, the authors employ an automatic clustering method to generate field-line templates for the user to locate subfields of interest. This semi-automatic process leverages the user ’ s knowledge about the flow field through intuitive user interaction, resulting in a promising alternative to existing flow visualization solutions. 

For further work, the authors will involve scientists in the evaluation of their technique. To support real-world applications, the technique must be extended to handle time-varying vector fields, that is to extract and track complex flow features over time. The authors will also develop advanced interfaces and interaction techniques for such a user centric approach to flow visualization. In particular, sketching and brushing may be done creatively and quite naturally through touch and stereoscopic interfaces.