Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

J. Vis. Commun. Image R.

15 (2004) 548–564
www.elsevier.com/locate/jvci

A visualizing application of line


integral convolution techniques
Hadrian Peter*,1
Division of Math and Computer Science, Lander University, 320 Stanley Ave. Greenwood, SC 29649, USA
Received 3 October 2002; accepted 28 August 2003
Available online 10 February 2004

Abstract

The line integral convolution (LIC) technique, a texture synthesis technique, has served as a
useful method for visualizing vector data. However, a number of shortcomings have been
identified in the LIC technique, not the least of which are that the technique is computation-
ally expensive and adopts a more or less brute force approach. This paper presents a modifi-
cation of the original LIC method which addresses these shortcomings. Our method, although
used for visualizing atmospheric vortical flows, is also applicable to other atmospheric phe-
nomena. In our method we employ a particular colouring scheme to unambiguously identify
the nature of the vortical flows irrespective of the hemisphere in which they occur.
 2004 Published by Elsevier Inc.

IDT: Line integral convolution; Visualization; Texture synthesis; Atmospheric vortical flow; Colouring
scheme.

1. Introduction

In just over a decade or so many methods for artificially generating textures have
been suggested. These methods cover a variety of applications. In the field of scien-
tific visualization, texture-based methods are of special interest and are gaining in-
creasing favour because they allow the display of vector fields in an unrivaled
spatial resolution (Stalling and Hege, 1995). Traditionally, small arrows or other
*
Fax: 1-864-388-8126.
E-mail addresses: hpeter@uwichill.edu.bb, mayagatha@hotmail.com.
1
Present address: Department of Computer Science, Mathematics and Physics, University of the West
Indies, Cave Hill, Barbados.

1047-3203/$ - see front matter  2004 Published by Elsevier Inc.


doi:10.1016/j.jvcir.2003.08.002
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 549

symbols indicating vector magnitude and direction have been used to represent vec-
tor data. This approach is restricted to a rather coarse spatial resolution. More so-
phisticated methods include the display of streamlines (Helman and Hesselink,
1991), stream surfaces (Hultquist, 1992), flow volumes (Max et al., 1993), as well
as various particle tracing techniques (Hin and Post, 1993; Ma and Smith, 1992;
van Wijk, 1993). These methods are well suited for revealing characteristic features
of vector fields. However, they depend strongly on the proper choice of seed points.
Numerous schemes have been developed to ensure a reasonably accurate analysis
of streamlines (Hultquist, 1992; Jobard and Lefer, 1997a; Turk and Banks, 1996;
Ueng et al., 1996). These schemes have all involved the method of placing seed points
within the vector field and computing curves that are tangential everywhere to the
flow direction of the wind. However, as Shen and Kao (1997) pointed out, in order
to capture the subtleties of the flow-field, a large number of streamlines had to be
computed, resulting in the cluttering of the display.
The technique of image convolution is a fairly common one in image processing.
Given an input image, each pixel value in the output image is determined by comput-
ing the weighted-average of a small region of pixel values from the input. The
weighting variable used to multiply the input pixel value is defined by a function
called the convolution kernel. Based on the dimension of the small region covered
by the convolution kernel for each pixel, the operation can then be classified as
one-dimensional, two-dimensional, or three-dimensional convolution. One-dimen-
sional image convolution can be used to create textures of arbitrarily oriented lines.
For two-dimensional vector fields, texture-based methods have become an attrac-
tive option for visualization. These methods depict all parts of the vector field and
thus are not susceptible to missing characteristic data features. van Wijk (1991)
has presented an interesting approach towards a global visualization of flows by uti-
lizing a spot noise technique. He used a random texture which is convolved along a
straight-line segment, and oriented parallel to the local vector direction. Cabral and
Leedom (1993) presented line integral convolution (LIC) by modifying van WijkÕs
method. LIC is a texture synthesis technique that uses an elegant algorithm for visu-
alizing vector fields.
Many authors have embraced the LIC method and have either improved on the
original technique or created applications for its direct implementation. Forsell
(1994) extended LIC to work on the curvilinear type of grid and showed that for
the resulting curvilinear-gridded field, the location of any point in the domain can
be represented by a physical co-ordinate system (in physical space) or by a compu-
tational co-ordinate system (in computational space). He proposed a solution that
stretches the convolution kernel length in computational space for pixels that are
in regions with higher grid density, so that its corresponding length in physical space
becomes the same everywhere.
Although the use of LIC to visualize vector fields has proven to be quite effective,
for large or dense vector fields it is not fast enough to perform real-time data explo-
ration. An extension proposed by Stalling and Hege (1995) has gone a long way to-
wards addressing this problem. Their approach is based on two key observations.
First, a streamline starting from any point in the domain actually passes through
550 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

many pixels. These pixels can share this streamline when computing the convolution,
so redundant numerical integrations can be avoided. The second observation is that
adjacent pixels in the same streamline use very similar pixel sets for the convolution.
Therefore, the LIC value computed for one pixel can be reused by its neighbours,
with small modifications, to accelerate the convolutions.
In order to satisfy the convolution process, Stalling and Hege used a box filter,
which is a constant function k. Using the box filter, the convolution result for pixel
x0 can be expressed as:
X
L
1
Iðx0 Þ ¼ k T ðxi Þ k¼ ; ð1Þ
i¼L
ð2L þ 1Þ
where xi is the pixel at the ith step of the streamline integration
T ðxi Þ is the input image (texture) value at xi
L is the convolution length.
Once Iðxm Þ is known (m ¼ 0 in this case), Iðxmþ1 Þ and Iðxm1 Þ can be computed as:
Iðxmþ1 Þ ¼ Iðxm Þ þ k½T ðxmþ1 þ LÞ  T ðxm  LÞ;

Iðxm1 Þ ¼ Iðxm Þ þ k½T ðxmþ1  LÞ  T ðxm þ LÞ:


The results for Iðxmþ1 Þ and Iðxm1 Þ are stored into pixel xmþ1 and xm1 , respectively.
The convolution then continues one step further in both streamline directions using
the above formula.
In this paper we provide a modification of the LIC technique, different from that
provided by other authors (Charlery, 2000; Interrante and Grosch, 1997; Jobard and
Lefer, 1997b; Shen et al., 1996; Wegenkittl and Groller, 1997; Wegenkittl et al.,
1997). We opted to use LIC as our underlying technique because the technique is well
known, the literature on LIC is extensive, and LIC is able to visualize large and de-
tailed vector fields in a reasonable display area. Also the LIC technique exhibits the
desirable properties of accuracy, locality of calculation, simplicity, controllability,
and generality.

2. Background

2.1. Atmospheric vortical flow

The most important parameter in analyzing the atmosphere is the wind field. The
signatures of all the weather systems such as high and low pressure systems, troughs,
ridges and fronts, are all expressed within the information content of the wind field.
To accurately represent the behaviour of the atmosphere, therefore, it is imperative
that we find a way to visualize the vector field.
The atmosphere is driven by its general circulation. Within this circulation are em-
bedded a number of smaller circulations identified as cyclones and anti-cyclones. Cy-
clones are inflowing vortices while in anti-cyclones the flow is away from the centre
of the circulation. Meteorological analyses involve slicing the atmosphere into layers
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 551

to ascertain the extent of the individual circulations. For some vortical systems to be
maintained, their circulations in the upper part of the atmosphere must correspond
with opposite circulations in the lower atmosphere. For the others, the circulation in
the lower atmosphere must be of the same type as the upper atmosphere. Lest this
treatment of atmospheric vortical flows be deemed to be too simplified, it should
be noted that in the real atmosphere, except for thermally direct circulations, these
circulations are tilted with altitude. All baroclinic atmospheric circulations have this
tilt. This type of relationship determines whether a meteorological phenomenon will
strengthen, weaken or remain unchanged.
Areas of the atmosphere, which are identified as divergent or convergent are as-
sociated with certain phenomena. Cyclones are air mass convergent, whereas anti-cy-
clones are air mass divergent. A region of upper-level divergence situated above a
developing cyclone is an important ingredient for the stormÕs growth and future de-
velopment. Accordingly, meteorologists are interested in locating such regions of di-
vergence on upper-level charts so that developing storms can be accurately predicted.
A region of upper-level convergence above a cyclone, on the other hand, inhibits any
future development of the stormÕs growth.
Identifying cyclonic, anti-cyclonic, and neutral flow within the atmosphere may
not provide a quantitative assessment of the weatherÕs behaviour—for example,
how many millimeters of rainfall will be produced over a time interval—but it does
provide a qualitative assessment, such as a trend in the improvement or deterioration
of weather events. Such qualitative information will help the forecaster to focus on
areas where more attention to detail is required—for example, correctly identifying
wind circulations in the Northern and Southern Hemispheres.

2.2. Adapting LIC to visualize atmospheric vortical flow

This paper is restricted to examining the atmospheric flow along a fixed horizontal
level. The domain of reference is a vector field defined by a map
v ¼ R2 ! R2 ; x ! vðxÞ: ð2Þ
The directional structure of v can be graphically depicted by its integral curves or
streamlines. An integral curve is a path rðuÞ whose tangent vectors coincide with the
vector field:
d
rðuÞ ¼ vðrðuÞÞ: ð3Þ
dt
Like any path, rðuÞ can be re-parameterized by a continuous, strictly increasing
function without changing its shape and orientation. For our purpose it is conve-
nient to use arc length s. Noting that ds=du ¼ jvðrðuÞÞj we have:
d dr du v
rðsÞ ¼ ¼ ¼ f ðrðsÞÞ: ð4Þ
ds du ds jvj
Of course, this re-parameterization is only valid in regions of non-vanishing jvj,
that is, for non-degenerate curves r. To find a streamline through x, the ordinary
552 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

differential Eq. (3) has to be solved with the initial condition rð0Þ ¼ x. It can be
proved that there is a unique solution if the right-hand side f locally obeys a Lips-
chitz-condition. In particular this condition is fulfilled for any function with contin-
uous first derivative. Otherwise, there may exist multiple solutions at a single point x,
that is, multiple streamlines may start at that point. Numerical integrators used in
LIC have to be robust enough to handle such cases. Besides isolated singularities,
‘‘discontinuities’’ also occur quite often in vector fields. It must be noted, though,
that discontinuities in 2-dimensional analyses of atmospheric flow are not true dis-
continuities, as the flow is in the third spatial direction only. For example, in the
equatorial intertropical convergence zone, the horizontally-convergent flow is forced
upwards in thunderstorms.
Given a streamline r, line integral convolution consists of calculating the intensity
for a pixel located at x0 ¼ rðs0 Þ by
Z s0 þL
Iðx0 Þ ¼ kðs  s0 ÞT ðrðsÞÞ ds: ð5Þ
s0 L

Here T denotes an input texture, usually some sort of random image like white noise.
The filter kernel k is assumed to be normalized to unity. Stalling and Hege (1995)
show that the convolution operation causes pixel intensities to be highly correlated
along individual streamlines, but independent in directions perpendicular to them. In
the resulting images the directional structure of the vector field becomes clearly
visible. Cabral and Leedom (1993) found that good results are usually obtained by
choosing filter length 2L to be 1/10th of the image width. It is possible to simulta-
neously visualize field strength jvj by applying a variation of colour shades to the
images.
In CabralÕs approach, the algorithm required the vector field V to be defined on
the same uniform grid as the input image T . Consequently, for each pixel p of the
input image, both an intensity Ip as well as a vector fp are stored. Both the intensity
and vector field are assumed to be constant within a pixel. LIC intensities are com-
puted separately for all pixels. Starting from the centre of a pixel, streamlines rðsÞ are
followed up to a distance L in the positive and negative direction. Each curve rðsÞ is
decomposed into a number of straight-line segments of length Dsi .
This algorithm is conceptually simple and requires each pixel to be processed sep-
arately. However, the algorithm is computationally expensive and results in a large
amount of unnecessary work. To minimize such computation, intensity coherences
along a field line are exploited by using a simple box filter.

3. Methods

3.1. Controlling LIC

The primary deficiency in the original LIC method, as applied to visualizing at-
mospheric flow, is in the algorithmÕs method of handling the circulation centres.
All the available published research adopt one of two approaches. In (Cabral
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 553

and Leedom, 1993) the convolution equation is applied to one pixel at a time or, in
(Stalling and Hege, 1995) the convolution equation is applied to the entire length
of the streamline connecting the starting pixel. In either case, the centre of a circu-
lation (or singularity) within the vector field becomes a termination point for the
convolution integration. Since the streamline, rðsÞ, simply and blindly follows
the orientation of the individual vector within the data field, there is therefore
no control over the nature of the critical points. As a result, although the output
image will identify the existence of singularities within the data field, the nature of
the nodes being displayed may or may not reflect the behaviour of the atmospheric
flow.
To counter this problem we treat the singularities not as termination points within
the convolution algorithm, but as originating points for the convolution engine. In
order to achieve this, this paper proposes a method which involves some pre-process-
ing to identify the singularities, followed by a modified LIC algorithm to ensure that
the nature of the individual nodes is maintained over a specified spatial resolution,
before finally applying the fast LIC algorithm to the remaining data field. Using this
method allows us to have total control over inflowing and outflowing singularities
without sacrificing the benefit of computational speed.
A vector field f defined on an open set E of Euclidean space Rn can be regarded as
a mapping f ðxÞ : E ! Rn . This mapping assigns each point of E a directional quan-
tity or velocity vector. This paper is restricted to the case n ¼ 2, since this space is
very amenable to visualization of atmospheric flow in both a customary and intuitive
way. In addition to the stationary fields f ðxÞ, the time dependent fields
f ðx; tÞ : E  J ! Rn , where J is some time interval a 6 t 6 b, may also be considered.
A comprehensive mathematical analysis of normed linear spaces and time dependent
fields such as f ðx; tÞ : E  J ! Rn is provided by (Axler, 1997; Helman and Hesse-
link, 1991; Stalling and Hege, 1995; Theisel, 1997).

3.2. Locating the singularities

The integral curves of a linear vector field can be found analytically. Analyzing
the shape of these curves gives, in general, an excellent summary about the possible
topological configurations of the vector field. In fact, in many cases the solution of a
non-linear system around a critical point is topologically equivalent to the solution
of the corresponding linearized system at that point (Stalling and Hege, 1995; Thei-
sel, 1997).
An important operation is the subdivision of R2 into stable, unstable, and centre
subspaces of the linear system. Stable subspaces are spanned by generalized eigen-
vectors corresponding to real negative eigenvalues. In these subspaces the solution
decays exponentially and approaches the origin. Unstable subspaces are spanned
by generalized eigenvectors corresponding to real positive eigenvalues, while centre
subspaces are spanned by generalized eigenvectors corresponding to complex eigen-
values. This is the conclusion reached by most researchers in texture-based vector vi-
sualization (Cabral and Leedom, 1993; Okada and Lane, 1996; Shen and Kao, 1997;
Stalling and Hege, 1995).
554 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

In a homogeneous linear stationary vector field, this conclusion is generally suffi-


cient to correctly map out the flow field. However, the orientation of atmospheric
flow is also dependent on hemispheric location and the curvature of the flow itself
is dependent on the controlling source or sink. Hence the solution to such methods
will provide the locations of the singularities within the atmospheric vector field, but
not necessarily the nature of the nodes. More work on flow visualization is discussed
in (Jobard et al., 2000; van Wijk, 2002).

3.3. Differentiating circulation systems

An important objective of this paper is to provide a mechanism for immediately


and unambiguously identifying the nature of the vortical systems and the extent of
their impact on the atmospheric flow within the visualization scheme. For example,
cyclones and anti-cyclones should be immediately apparent to the viewers irrespec-
tive of the hemisphere where they are located. In a similar fashion, ridges and
troughs should be just as apparent.
The method being presented to accomplish this is a relatively simple one but de-
picts the overall signatures of the vortices and their surroundings. The colours red,
blue, and green are used to identify outflow, inflow, and neutral flow respectively.
The LIC flow textures are coloured based on the orientation of the segment of the
streamlines passing through the pixels. This is achieved by simply colouring the flow
textures based on the curvature of the streamlinesÕ segment. The local streamlines
computed in LIC are used to show the actual flow direction.
The method proceeds as follows. For each pixel in the vector field, the orientation
of the flow is classified as either clockwise, anti-clockwise or neutral. The direction of
orientation can be determined by the curl of the local vector V . For V ¼ ðu; v; wÞ, the
curl is:
     
dw dv du dw dv du
Curl V ¼  ;  ;  : ð6Þ
dy dz dz dx dx dy
The curl of V represents the axis of rotation and the amount of rotation. For two-
dimensional vector fields,
  
dv du
Curl V ¼ 0; 0; 
dx dy
and it represents a vector perpendicular to the XY plane. (For simplicity, the z-
component of the curl of V will be referred to as Vc ðzÞ).
At a pixel location, if Vc ðzÞ > 0 then the flow through that pixel is rotating in an
anti-clockwise direction. Conversely, if Vc ðzÞ < 0 then the flow is rotating in a clock-
wise direction. Vc ðzÞ ¼ 0 implies that the flow is neutral.
By using colour input noise, where the R, G, and B primary colours are convolved
individually, the texture colour at each pixel is set according to Vc ðzÞ. For Vc ðzÞ > 0 in
the Northern Hemisphere and Vc ðzÞ < 0 in the Southern Hemisphere the G primary
colour is set to zero; thus the texture would be coloured in some variation of reddish
hues. For Vc ðzÞ < 0 in the Northern Hemisphere and Vc ðzÞ > 0 in the Southern Hemi-
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 555

sphere the R primary colour is set to zero to create a bluish flow texture. Otherwise
when Vc ðzÞ ¼ 0, then R and G are both set to zero, thus reducing the flow texture to
some shades of green.
This selection results in a LIC image which is coloured according to the curvature
of the flow. Consequently, inflowing and outflowing vortices with their respective
troughs and ridges are clearly and uniformly delineated, irrespective of the hemi-
spheres where they are located. The zones where the flow is neutral are similarly well
defined.

4. Algorithms

In this paper we have utilized a vector field with data points given at discrete
locations on a uniform grid. Vector values at intermediate locations have been com-
puted by bilinear interpolation. For streamline integration we used a Runge–Kutta
integrator, which requires four evaluations to proceed from some point x to some
other point x0 located a step size h ahead on the same streamline.
Our implementation of the algorithm (hereinafter referred to as MetLIC), in-
volves a modification of the algorithm presented in (Stalling and Hege, 1995).
Two variables, numHits[p] and accumInt[p], for each pixel p are maintained. These
variables are referred to as the hit counter and accumulation buffers respectively.
The singularities within the field are firstly identified and streamlines are processed
within a limited spatial resolution (typically of radius h) around the singularities be-
fore any further processing is initiated.

4.1. Algorithm for MetLIC

The MetLIC algorithm is described by the following pseudocode:

allocate buffers numHits and accumInt


locate singularities and place on stack
process singularities
choose non-singularity pixels p
if numHits ðpÞ < minNumHits then
initiate field line computation with x0 ¼ centre of p
compute convolution Iðx0 Þ
add result to pixel p
set i ¼ 1
while i < some limit Ns
update convolution to obtain Iðxi Þ and Iðxi Þ
determine pixels pi and pi that contain xi and xi
add result to accumIntðpi Þ and accumInt(pi )
increment numHitsðpi Þ and numHitsðpi Þ
set i ¼ i þ 1
until each pixel has been hit at least minNumHits times
556 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

for each pixel p


normalize accumulated intensity accumInt(p) according to numHits(p)

4.2. Algorithm for processing singularities

set maxDistance to some suitable length


choose singularity pixel p
if neighbouring pixels indicate rotation ¼ clockwise in Northern Hemisphere
ðY P 0Þ or rotation ¼ anti-clockwise in Southern Hemisphere ðY < 0Þ
then initiate outflow spiral from p
else if (neighbouring pixels indicate rotation ¼ clockwise in Southern Hemi-
sphere ðY < 0Þ or rotation ¼ anti-clockwise in Northern Hemisphere ðY P 0Þ)
then initiate inflow spiral to p
initiate field line computation with x0 ¼ centre of p
compute convolution Iðx0 Þ
add result to pixel p
set i ¼ 1
set streamlength ¼ 1
while i < some limit Ns
update convolution to obtain Iðxi Þ and Iðxi Þ
determine pixels pi and pi that contain xi and xi
add result to accumInt(pi ) and accumInt(pi )
increment numHits(pi ) and numHits(pi )
set i ¼ i þ 1
set streamlength ¼ streamlength +, 1
until streamlength ¼ maxDistance
By simply temporarily reversing the vectorsÕ direction within the radius of max-
Distance and applying the regular outflow spiral routine allows us to create the
streamlines of the inflow spiral.

5. Implementation and evaluation

5.1. Example

The methodology employed by the algorithm can be illustrated using the follow-
ing example. Consider the vector data field as indicated by Fig. 1. For simplicity the
magnitude of the vectors in all the grid cells, apart from those labeled A, B, C, D, E,
F, G, and H, are equal and non-zero. In the labeled cells the vectors are all zero. The
data area is expressed in two-dimensional Cartesian coordinates and divided equally
between the Northern and Southern hemispheres. The x-axis and y-axis represent
longitude and latitude, respectively.
The pre-processing of the vector field will identify cells A, B, C, D, E, F, G, and H
as locations of singularities. The location of each singularity is expressed as an (x; y)
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 557

Fig. 1. Sample vector data field.

coordinate. Once identified, the coordinates of all the locations of singularities are
then placed on a stack. At the completion of the pre-processing, each location, which
was placed on the stack (that is, A, B, C, D, E, F, G, and H), is revisited.

5.2. Cell A

The neighbouring vectors of this cell indicate an anti-clockwise flow around the
point A(x; y). Since y > 0 (Northern Hemisphere), then A(x; y) represents the singu-
larity of an inflow vortex. An inflowing spiral stream is then initiated in the output
image from the pixel representing A(x; y). A streamline rðsÞ, is then computed for a
specified distance L, from A(x; y). The curvature of rðsÞ (that is, the k-component of
the vector field along S for distance L) is positive (anti-clockwise); therefore, a blue
shading is used on the pixels of the output image dictated by rðsÞ. The numHits and
accumInt buffers are then updated accordingly.

5.3. Cells B and D

The neighbouring vectors of these cells indicate a clockwise flow around the point
B(x; y) and D(x; y), respectively. Since y > 0 (Northern Hemisphere), then both
B(x; y) and D(x; y) represent the singularities of outflow vortices. An outflowing spir-
al stream is then initiated in the output image from the pixel representing B(x; y) and
D(x; y), respectively. rðsÞ is then computed for the specified distance L from both
558 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

B(x; y) and D(x; y). The curvature of rðsÞ around both cells is negative (clockwise);
therefore, a red shading is used on the pixels of the output image dictated by rðsÞ
for B(x; y) and D(x; y). The numHits and accumInt buffers are updated accordingly.

5.4. Cells C and F

The neighbouring vectors of these cells indicate that the points C(x; y) and F(x; y)
are saddle points. Therefore those cells are ignored for the time being.

5.5. Cells E and G

The neighbouring vectors of these cells indicate an anti-clockwise flow around the
point E(x; y) and G(x; y). Since y < 0 (Southern Hemisphere), then both E(x; y) and
G(x; y) represent the singularities of outflow vortices. An outflowing spiral stream
is then initiated in the output image from the pixel representing E(x; y) and G(x; y),
respectively. rðsÞ is then computed for the specified distance L from both E(x; y)
and G(x; y). The curvature of rðsÞ around both cells is positive (anti-clockwise); there-
fore, a red shading is used on the pixels of the output image dictated by rðuÞ for E(x; y)
and G(x; y). The numHits and accumInt buffers are then updated accordingly.

5.6. Cell H

The neighbouring vectors of this cell indicate an anti-clockwise flow around the
point H(x,y). Since y < 0 (Southern Hemisphere), then H(x; y) represents the singu-
larity of an inflow vortex. An inflowing spiral stream is then initiated in the output
image from the pixel representing H(x; y). rðsÞ is then computed for the specified dis-
tance L, from H(x; y). The curvature of rðsÞ is negative (clockwise); therefore, a blue
shading is used on the pixels of the output image dictated by rðsÞ. The numHits and
accumInt buffers are then updated accordingly. Fig. 2A represents the state of the
output image at the completion of this stage.

Fig. 2. Output image of sample data at (A) the first stage of MetLIC processing and (B) final stage of pro-
cessing. Vectors have been superimposed on (B).
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 559

Once all the vortices within the vector field have been addressed, the fast LIC pro-
cedure is applied to the remaining data field. The parts of the output image which
have already been generated will not be altered but become joined smoothly to
the remaining parts of the image. Fig. 2B represents the final output image with
the superimposed vector data on it. Note that the saddle points at cells C and F have
been created correctly and two zones of neutral flow (green sections) have also been
identified. The convergence zones (rows 6 and 7) have also been handled correctly.

5.7. Evaluation

In order to evaluate the functional capabilities of the algorithm presented, it is im-


portant that we examine just how the algorithm handles the fundamental compo-
nents of the atmospheric vector field. In particular we examine how the output
image reflects adherence to the rules which have been specified, and how relevant
is the output image in displaying the integral components of the atmospheric flow
system such as:
• inflows
• outflows
• saddle points
• zones of convergence or divergence
• complex flows (wave patterns)

5.7.1. Simple flows


Fig. 3 represents simple data fields, which reflect neutral points within their cen-
tres. To simplify the tests, the magnitudes of the vectors are all equal and greater
than zero around the centre cells—labelled A, B, and C—while, within those centre
cells, the vectorsÕ magnitudes are all zero. The arrows in the surrounding cells repre-
sent the vectorsÕ direction.

Fig. 3. Simple flow centres within the atmosphere.


560 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

5.7.2. Complex flows


The atmospheric vector field is typically a very complex one with numerous vor-
tices, saddle points, wave patterns, and zones of convergence and divergence existing
at any given time. We will now examine how the algorithm handles those features.
Once again, inspite of their complexities, simple vector fields are used to capture
those features.
A vector field, such as that depicted in the upper part of Fig. 4, indicates a change
of flow orientation from left to right. The left half of the vector field suggests an anti-
clockwise flow while the right half is suggesting a clockwise flow with a zone of tran-

Fig. 4. Complex flow patterns within the atmosphere with corresponding MetLIC image.
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 561

sition between those characteristics. In the Northern Hemisphere, such a pattern is


indicative of an inflow trough on the left side of the vector field and an outflow ridge
on the right side. The converse applies in the Southern Hemisphere. The images gen-
erated for the two hemispheres reflect these characteristics. In the lower half of
Fig. 4, the flow pattern for inflow and outflow vortices and vortices with saddle
points are just as accurately captured in the processed image for the two hemispheres
as their simple flow counterparts.

5.7.3. Comparative analysis


The visualization scheme used most extensively by atmospheric scientists to
view atmospheric flow is that of streamlines. In this section we present a few ex-
amples of real atmospheric vector data generated by the USA National Weather
ServicesÕ Medium Range Forecast (MRF) model. The dataset is for the mid-at-
mosphere at 500 millibars (mb) on March 9th, 2000 at 0000 U.T.C. The data cov-
erage is from the North Pole to the South Pole and between 110W and 40E at
1.25 (latitude–longitude) uniform grid. To show the authenticity of the images
generated by our MetLIC method we provide, for comparison, images generated
by other methods—namely, ‘‘sparse’’ vector plot, streamlines analysis, and LIC.
The graphics package PcGrADS, was used to generate the vector plots and
streamlines images.
Fig. 5 (all 3 ÔrowsÕ) is extremely useful and effective at demonstrating the value of
the paper. The figure is actually an applied version of the complex flow patterns dis-
played in Fig. 4. It shows the complex nature of the atmospheric vector field with its
numerous vortices, saddle points, wave patterns, and zones of convergence and di-
vergence existing in the hemispheres at any given time. The first two ÔrowsÕ of
Fig. 5 display images in the southern hemisphere for the data indicated, while the
third ÔrowÕ displays the images for the combined hemispheres for the data indicated.
Similar images could be displayed for the northern hemisphere, however, because of
space constraints we have not shown them. Fig. 5, unlike Fig. 4, utilizes real atmo-
spheric data.
By using our colour coding scheme—where red is used for outflowing systems,
blue for inflowing systems, and green for neutral flow—Fig. 5 shows that, irrespec-
tive of the hemisphere where the flow systems are located, the images generated by
our method are consistent with expectation.

5.7.4. Users response


We now provide anecdotal evidence of usersÕ response to our research. A group of
4 independent users—a climatologist, a mathematician, and 2 computer scien-
tists—were exposed to a tutorial on using the application software that generated
the images in the paper. The general response of all the users was that the results
of the research were impressive. Two of the responses are worth reporting further:
The (senior) computer scientist thought that the effort was a very good example
for applied research in computer science. The climatologistÕs response was that the
sample of images in Fig. 5 ‘‘are extremely useful and effective at demonstrating
the value of the research’’.
562 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

Fig. 5. Comparative vector visualization for 500 mb level over the area from (A) 45S to the South Pole
and between 60W and 10W—southern hemisphere. (B) 45S to the Equator and between 110W and
60W—southern hemisphere. (C) 45S to 45N between 160W and 60W—combined hemispheres. In
each of the 3 sets of diagrams the images are, in order, as follows: vector plot, streamlines, LIC image
and MetLIC image.

6. Conclusion

The primary objective of this paper was to present a visualization scheme which
portrays the vortical flow within the atmosphere by using LIC techniques. This was
achieved by implementing a modification to the LIC methods, called MetLIC, using
vector field data. Another objective was to provide a mechanism for identifying the
nature of the vortical systems and how they impact the atmospheric flow within the
visualization scheme. We achieved this objective by using a colour scheme to identify
the differing flows—red is used for outflowing systems, blue for inflowing systems,
and green for neutral flows. Our third objective was to make the visualization scheme
H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564 563

sufficiently general so that it can be applied to areas other than atmospheric appli-
cations. This was achieved by modularizing the modified algorithm and keeping
the external control mechanism out of the main LIC process.
We have shown that simply analyzing the vector values within the data field, as
proposed by all the other LIC methods, can lead to very misleading conclusions
on the actual state or future behaviour of the atmosphere. We have implemented
a method which combines the physical laws governing the atmospheric flow with
the vector data values to produce an image of the flow field which is consistent with
observation. This new method also capitalizes on the performance speed of the fast-
LIC algorithm (Stalling and Hege, 1995) which performs at an order of magnitude
faster than previous methods.
Although the paper focused on atmospheric flow and its hemispheric and curva-
ture peculiarities, the techniques developed are quite general and we believe that they
can be easily transported into other systems, for example terrain, where the external
forces could be different.
The following are possible areas for future research. One is to couple a technique
such as MetLIC, with more dynamic external control factors. What has been pre-
sented is a system where the LIC process is controlled by only two non-varying con-
trolling features—geographic hemisphere and flow curvature. Subjecting the LIC
process to a varying phenomenon such as terrain or even turbulence, is an interesting
extension of the research.
Finally, the application of our method to the visualization of three-dimensional
atmospheric flows would be of considerable value. With such an extension other at-
mospheric derivatives such as thermal winds and vertical circulations can be imple-
mented within the MetLIC algorithm to generate a more complete picture of the
atmospheric flow.

References

Axler, S. Linear Algebra Done Right, second ed. Springer-Verlag, New York.
Cabral, B., Leedom, C. Imaging vector fields using line integral convolution. In: Computer Graphics
Proceedings, ACM-SIGGRAPH. Addison Wesley, Reading MA, pp. 263–270.
Charlery, J., 2000. Visualizing Atmospheric Vortical Flow Using Line Integral Convolution Techniques,
Ph.D. Dissertation, University of the West Indies, Barbados, 2000.
Forsell, L.K. Visualizing flow over curvilinear grid surfaces using line integral convolution. In:
Visualization Õ94. IEEE Computer Society Press, pp. 240–247.
Helman, J.L., Hesselink, L. Visualizing vector field topology in fluid flows. IEEE Computer Graphics and
Applications 11 (3), 36–46.
Hin, A.J.S., Post, F.H. Visualization of turbulent flow with particles. In: Proceeding of Visualization Õ93.
IEEE Computer Society Press, pp. 46–52.
Hultquist, J.P.M. Constructing stream surfaces in steady 3-D vector fields. In: Visualization Õ92. IEEE
Computer Society Press, pp. 171–178.
Interrante, V., Grosch, C., 1997. Strategies for effectively visualizing 3D flow with volume LIC. In:
Proceedings of Visualization Õ97 pp. 421–424.
Jobard, B., Lefer, W. Creating evenly-spaced streamlines of arbitrary density. Visualization in Scientific
Computing, 43–55.
564 H. Peter / J. Vis. Commun. Image R. 15 (2004) 548–564

Jobard, B., Lefer, W., 1997. The motion map: efficient computation of steady flow animations. In: Yagel,
R., Hagen, H. (Eds.), Proceedings of the 8th Annual IEEE Conference on Visualization (VISU-97) Los
Alamitos, CA, pp. 323–328.
Jobard, B., Erlebacher, G., Hussaini, M., 2000. Hardware-accelerated advection for unsteady flow
visualization. In: Proceedings IEEE Visualization 2000 pp. 155–162.
Ma, K.-L., Smith, P.J. Virtual smoke: An interactive 3D flow visualization technique. In: Visualization
Õ92. IEEE Computer Society Press, pp. 46–53.
Max, N., Becker, B., Crawfis, R., 1993. Flow volumes for interactive vector field visualization. In: Nielson,
G.M., Bergeron, D. (Eds.), Proceedings of the Visualization Õ93 Conference, 19–24, San Jose, CA.
Okada, A., Lane, D., 1996. Enhanced line integral convolution with flow feature detection, NAS Technical
Reports, NAS-96-007.
Shen, H.-W., Johnson, C.R., Ma, K.-L. Visualizing vector fields using line integral convolution and dye
advection. In: Volume Visualization Symposium. IEEE Computer Society Press, pp. 63–70.
Shen, H.-W., Kao, D.L., 1997. UFLIC: A line integral convolution algorithm for visualizing unsteady
flows. In: Proceedings of Visualization pp. 317–322.
Stalling, D., Hege, H.-C. Fast and resolution independent line integral convolution. In: Computer
Graphics Proceedings, Annual Conference Series, ACM-SIGGRAPH. Addison Wesley, Reading MA,
pp. 249–256.
Theisel, H. Geometric conditions for G3 continuity of surfaces. Computer Aided Geometric Design 14,
719–729.
Turk, G., Banks, D., 1996. Image-guided streamline placement, SIGGRAPH 96 Conference Proceeding
pp. 453–460.
Ueng, S., Sikorski, K., Ma, K.-L. Efficient streamline, streamribbon, and streamtube constructions on
unstructured grids. IEEE transaction on visualization and computer graphics 2 (2), 100–110.
van Wijk, J.J., 1991. Spot noise-texture synthesis for data visualization. Computer Graphics (SIGGRAPH
Õ91 Proceedings) 25, pp. 309–318.
van Wijk, J.J. Flow visualization with surface particles. IEEE Computer Graphics and Applications 13 (4),
18–24.
van Wijk, J.J., 2002. Image based flow visualization, ACM transactions on graphics, special issue,
Proceedings ACM SIGGRAPH, San Antonio, Texas.
Wegenkittl, R., Groller, E., Purgathofer, W., 1997. Animating flowfields: Rendering of oriented line
integral convolution. In Computer Animation Õ97 pp. 15–21.
Wegenkittl, R., Groller, E., 1997. Fast oriented line integral convolution for vector field visualization via
the internet. Proceedings of IEEE Visualization Õ97 pp. 119–125.

You might also like