This page will
include summaries of the
lectures and case studies, and links to the slides.
Lectures
Lecture 1 -
Introduction This lecture froms an introduction to
the module. It begins with a definition of visualization from
Card, McKinlay and Scneidermann as 'the use of computer-supported,
interactive, visual representations of data to amplify cognition', and
identifies the two brances of Scientific and Information
Visualization. It looks at a range of applications from
meteorology, to biology, to astronomy, to information networks - all of
which make significant use of visualization.
Visualization is not a new subject -
it pre-dates computing. So we look at early examples of visual
representations from the 10th century onwards, and then focus on four
eras in visualization system development since 1960 - subprogram
libraries; interactive packages; modular visualization environments;
and visualization services.
Lecture 2 - Simple
graphs and charts This lecture looks at some simple
data presentation techniques in the overall context of 'exploratory
data analysis'. It establishes some important terminology to
categorise datatypes, and looks at graphs, bar charts, pie charts,
histograms and several other basic chart types. For further
study, students are asked to think about the relative merits of bar
charts and pie charts, and when each should be used.
Lecture 3 -
Multivariate data exploration (part 1- scatter plots and parallel
coordinates) This lecture looks at the
visualization of data tables, in which the columns are variables and
the rows are measurements or observations. We look at two
particular techniques: the scatter plot matrix, where a grid of 2D
scatter plots is displayed, so that all pairwise combinations are
shown; and parallel coordiantes, where each variable is assigned to an
axis laid out as a set of parallel lines, and an observation is the
polyline connecting the points on each axis corresponding to the values
of the variables. The concept of brushing is introduced as a selection
of observations that lie within prescribed bounds on the variables.
For practical work, we introduce 'xmdvtool', a freely available
and very useful tool for multivariate data visualization.
Lecture 4 -
Multivariate data exploration (part 2 - glyphs and hierarchical
approaches) This lecture looks at the idea of
representing a measurement as a glyph, whose shape reflects the values
of the set of variables. In particular we look at star plots,
Chernoff faces, stick figures, shape coding. In the latter
part of the lecture we reflect on the fact that with large data sets
the picture becomes very cluttered - this is true for any technique
really. Thus we look at ways of reducing the amount that is
displayed, either by clustering observations, or identifying only the
key variables to display.
Lecture 5 - Connections This lecture looks at the situation
where data elements are known to be
connected in some form of graph structure - and we wish to visualize
these connections. This is sometimes called network
visualization. We look at the drawing of large graphs, starting
from the pioneering work of Fruchterman and Reingold in developing a
force-directed placement algorithm. We then look at the drawing
of trees, starting again from the pioneering algorithm of Reingold and
Tilford. The idea of treemaps is then discussed, with reference
to Shneiderman's work and the novel cushio treemaps of van Wijk.
Finally the concept of hyperbolic trees is explained.
Lecture 6 - Document Visualization This lecture looks at approaches to
visualize collections of documents
and relationships amongst them. One of the earliest examples is
Tilebars which shows documents as a bar, with keyword occurrence in
sections of the document depicted as coloured tiles. In general the
approach is in three steps: analyse to get key words and their
occurrence in documents, creating a feature vector for each document;
use an algorithm to represent these feature vectors in a form that is
amenable to visualization, for example using a clustering technique;
and finally visualize. We illustrated this using the idea of
Self-Organising Maps, or Kohonen maps. A case study form NIST
showing how to visualize keyword strengths in documents is described,
and finally the Kartoo visual search engine is mentioned.
Lecture 7 - Interaction This lecture looks at the aded value
we gain from interaction, in being
able to get the picture we want, not what someone else has created for
us. In particular we look at focus and context, and
brushing. The idea of focus and context is to be able to maximize
the use of screen space by enlarging the area of most interest, the
gfocus, while simultaneously retaining the context by shrinking the
surrounding region. Variants are discussed, including distortion
techniques such as bifocal display and fisheye views.
Lecture 8 - Good design - what we can
learn from Tufte Edward Tufte's books are a source of
inspiration and common sense, and we can learn a lot from him about
designing good visualizations, and avoiding bad practice. This
lecture looks at the principles of: maximizing data-ink ratio;
maximizing data density; minimizing the lie factor; and focussing on
data variation rather than design variation.
Lecture 9 - Time: Taxonomy and Techniques Many applications involve data that
evolves over time and so a variety of special techniques have been
developed to cater for this class of data. We begin with a
classification of different types of time and go on to look at
different metaphors which have been proposed. The Themeriver
technique displays data as a 'river' with the time axis aligned with
the flow. The river metaphor has also been used by the 'taglines'
idea, which is used to visualize tags attached to images in
Flickr. van Wijk has used a calendar metaphor very effectively,
and Schumann and colleagues have explored radial representations, such
as timewheels.
Lecture 10 - Cartograms: A different way
of drawing maps This lecture looks at novel space
representations. The idea of a cartogram is to replace the
conventional notion in maps where area on the amp represents area on
the ground. In a c artogram, this area is distorted into an area
which represents the size of some property of the region other than its
area - for example, its population density. Different types of
cartogram are described, including contiguous and non-contiguous
representations, and Dorling cartograms.
Lecture 11 - Scientific Visualization:
Introduction & Scalar 1D Data This lecture aims to introduce the
basic idea of scientific visualization as a pipeline of processes,
turning data into pictures. The first step is to select the data
of interest. A key next step is to create a model of the entity
underlying the data - this step is interpolation, where (in 1D) a curve
is fitted through the given data points. We saw how this has to be done
with care and may involve incorporating knowledge from the
scientist. The third step is mapping the model onto some abstract
geometric representation, using some metaphor for visualizing the
data. The final step is to render the geometry as an image or
sequence of images. This pipeline model underpins many
visualization systems, including IRIS Explorer.
The second part of the lecture looked
in detail at the 1D case, and in particular at interpolation using
nearest neighbour and piecewise linear and cubic polynomials.
Lecture 12 - Scientific Visualization:
Scalar 2D Data This lecture covers the visualization
of 2D data. It begins by looking at bilinear interpolation over
rectangular grids. It then discusses contouring over such grids, noting
the ambiguity problems in simply joining intersections of contour with
grid lines and the need to consider teh behaviour of the bilinear
interpolant within each cell. We then look at scattered data and
show how Delaunay triangulation allows us to form a net of triangles
over the data. Contouring is then easy, as we can fit a linear function
over each triangle (the contours of a linear function being straight
lines). Finally we mention other representations of 2D data,
such as surface views and image views.
Lecture 13 -
Scientific Visualization : Scalar 3D Data - Isosurfacing
This lecture describes the visualization of 3D scalar data using
isosurfacing. This is the analogue of contouring in 2D - a surface of a
specified threshold value is extracted from the 3D volume. The
key technique is Marching Cubes. This examines all possible isosurface
representations for a single cube, depending on the values at the 8
vertices. The dataset is then visualized as a collection of
surfaces extracted from each cube in turn.
Lecture 14 -
Scientific Visualization : Scalar 3D data - Volume Rendering
This lecture looks at an alternative technique for 3D scalar data,
namely volume rendering. This models the data as a
semi-transparent gel - the colour and opacity at any point being
determined by a user-defined transfer function that relates data values
to colour and opacity. Three techniques are described: ray
casting; texture-based volume rendering; and splatting.
Lecture 15 -
Scientific Visualization : Vector Data - Flow Visualization
This lecture covers the problem of visualizing flow, a common
requirement in computational fluid dynamics. We discuss a range
of techniques, many modelled on traditional experimental
techniques. We look at arrows; particle traces and similar
advection based methods; and line integral convolution.
Lecture 16 -
Distributed and Collaborative Visualization
This lecture describes research work here at Leeds in evolving dataflow
visualization systems such as IRIS Explorer, to distributed and
collaborative environments. We show how modules in a pipeline can
be arranged to execute on a remote computer, rather than the
desktop. This is especially useful for computational steering
applications where the simulation can execute remotely, perhaps over a
computational grid. We then discuss collaborative visualization -
using a screen sharing technology such as VNC, or using linked
dataflows as in the COVISA extension of IRIS Explorer.
Case Studies
Case
Study 1 - Napoleon's March to Moscow
This case study looks at the classical visualization by Minard, and
principles of good design in visualization that can be abstracted from
this work (inspired by Tufte).