Easy-to-learn and Extensible Platform for
Scientic Visualization
Herve Sanglard
Computer Science Department
University of Neuch^atel
CH-2007Neuch^atel
A mes deuxrayonsde soleil
VeroniqueetJustin
Cettethesen'auraitpaspuvoirlejoursansl'entourage,lesencouragements
et les idees de ma famille et de mes amis. C'est pourquoi j'aimerais avant
toute chose remercier:
monepouse, Veronique, pourson amouretsacomprehension,
monls,Justin,poursonbeau sourireetsajoiede vivre,
mes parents, qui ont su mepassionner pourles etudes, m'encourager
etm'entourerde leuraection,
monfrere,Arnaud, mafamilleetmabelle-famille,
mesamis, ettoutspecialement LucGirardin,MarcelMaillardet Lau-
rent I,
mondirecteurdethese,Hans-HeinrichNageli,poursonsoutienetson
enthousiame,
mes professeurs,ettoutspecialement Pierre-JeanErard,
lesmembresdujury,JohnMaddocks,FrancoisNyeleretDanielThal-
mann,
leGroupeLimnoceaneetleCentred'Hydrogeologie del'Universite de
Neuch^atel et en particulier Redoine Tahiri, Michael Hauns, Eduard
Zuur,VincentThunus,
legroupe Parallelisme, lesetudiants,doctorantsetchercheursquiont
collabore a l'accomplissement de ce travail, notamment Steve Casera
etAlainConod,
mes collegues de travail de l'Institut d'Informatique et compagnons
d'etude,ettoutspecialementClaudeFuhrer,GianniGasparotto,Robin
Farine, Laurent Vuilleumier,Cedric Perret, YvesSalvade, Emmanuel
WermeilleetJean-DanielScherrer.
1 Introduction 1
1.1 Context . . . 2
1.1.1 The challengeof a generalsolution . . . 2
1.1.2 Genesis ofthe thesis . . . 3
1.1.3 Applicationdomain . . . 3
1.1.4 Technicalpossibilities . . . 4
1.2 Goals and non-goals . . . 5
1.3 Overview . . . 6
2 Limitations of existing systems 9 2.1 Classicationof existing visualizationsystems . . . 9
2.1.1 Specialpurposeapplications. . . 10
2.1.2 Modularvisualizationenvironments . . . 10
2.1.3 Librarieswithtoolkits . . . 11
2.1.4 Other systems . . . 12
2.2 Basic interactivityand diÆculty-of-use . . . 13
2.2.1 Interactivity hassevereimplications . . . 13
2.2.2 Advancesinvirtual environments. . . 14
2.2.3 Collaborative work . . . 14
2.2.4 DiÆcultyof use. . . 15
2.3 Limitedextensibilityandversatility . . . 16
2.3.1 Specialpurposeapplicationsarenotextensible . . . . 16
2.3.2 Extension ofvisualizationsystems requires expertise . 17 2.3.3 Conclusion . . . 18
2.4 IneÆcientdivisionof labor. . . 18
2.5 InsuÆcient reuse . . . 19
2.6 Lowperformance . . . 20
2.6.1 Data management . . . 20
2.6.2 Rendering . . . 22
3 Visualization objects 23 3.1 The visualizationprocess . . . 24
3.1.1 A classicalvisualizationprocess formalization . . . 24
3.1.2 The interactive visualizationprocess . . . 25
3.2 Higherabstraction levels . . . 26
3.2.1 Visualizationmetaphors . . . 26
3.2.2 AVO . . . 27
3.2.3 Sprayrenderingand sparts . . . 27
3.2.4 Glyphsand Glyphmaker . . . 28
3.2.5 ParametrizedGeometricObjects . . . 28
3.2.6 VTKactors . . . 28
3.3 Detailingthe visualizationmapping. . . 29
3.3.1 Deningthetransfer function . . . 29
3.3.2 Mapping thefunctionon parameters . . . 30
3.3.3 The resultsproducedbythemapping . . . 30
3.4 Thevisualization objects formalization . . . 30
3.5 Comparisonwithother abstractions . . . 32
3.5.1 AVO, modulesand visualprogramming . . . 32
3.5.2 Sparts . . . 33
3.5.3 PGOand Glyphmaker'sglyphs . . . 34
3.5.4 Actors . . . 34
3.6 Easy to learnthanksto programmingbyexample. . . 35
3.7 Extensibility,rapidprototypingand reuse . . . 36
3.8 Benetsforadvanced architectures . . . 36
3.8.1 Remoteservice forscientic visualization . . . 37
3.8.2 N-tier architecture . . . 38
3.8.3 Towardscollaborative workand computationalsteering 39 4 A new kind of visualization system 43 4.1 Bridgingthegap . . . 44
4.2 A better divisionoflabor . . . 45
4.3 Requirements . . . 45
4.3.1 User's needs. . . 46
4.3.2 Visioneer's needs . . . 47
4.4 An easy-to-learn interface . . . 48
4.5 Customizationand extension . . . 48
4.6 Ondatamanagement . . . 49
5 ZoomIn 53 5.1 Graphicaluser interface . . . 53
5.2 Generalarchitecture . . . 55
5.2.1 Subsystems . . . 55
5.2.2 Coreapplication . . . 55
5.2.3 Scene controller. . . 56
5.2.4 Selectionassistant . . . 56
5.2.5 VOadministrator . . . 57
5.3 Implementing ... . . 59
5.3.1 Implementinga newvisualizationobject . . . 59
5.3.2 Regions ofinterest . . . 60
5.3.3 An example . . . 61
5.4 Current state ofimplementation . . . 62
5.5 Furtherdevelopments . . . 64
6 Two case studies 65 6.1 Introduction. . . 65
6.2 Oceanography . . . 67
6.2.1 Context . . . 67
6.2.2 Simulation . . . 67
6.2.3 Visualization . . . 68
6.2.4 Water circulation . . . 69
6.2.5 Particles . . . 69
6.3 Hydrogeology . . . 70
6.3.1 Hydrogeologic problemto solve . . . 70
6.3.2 Simulation . . . 71
6.3.3 Visualization . . . 71
6.3.4 Major ow characteristics . . . 72
6.3.5 Tracer transport . . . 73
6.4 Experienceand usersfeedback . . . 73
7 Conclusion 75 7.1 Summary . . . 75
7.2 Contribution . . . 75
7.3 Perspectives . . . 76
A Glossary of visualization techniques 89 A.1 Visualizationtechniques . . . 89
A.1.1 Scalar techniques . . . 89
A.1.2 Vector techniques. . . 90
A.1.3 Other techniques . . . 92
B Sources 95
Introduction
Visualizationcanbedenedasthemappingofdatatoagraphicalrepresen-
tation by means of a computer inorder to analyze them with the purpose
of a better understanding. We all have seen thepretty pictures orthe an-
imations presented daily by the weather forecast team on TV.This is the
archetypeof avisualizationprocess which,inthiscase, representsmeteoro-
logicalinformationwithannotatedpictogramsexpressinghoursofsunshine,
cloud covering orisobariccontourlines.
Usingvisualization,it ispossibleto inferat a glance a relationof cause
andeect,forinstanceofisobariccontourlinesandthewindat agiven mo-
mentandatacertainplace. Thistechniqueispowerfulandhelpsresearchers
to studyphysicalphenomena,forinstance,to understand theeects of hu-
manactivityon theatmosphereand theseas.
More precisely and formally, the purpose of visualization is to make a
quantitativeorqualitativeanalysisofmultivariatedataeasierbyconcentrat-
ingahugevolumeofinformationintoacondensedvisualrepresentation. Vi-
sualizationbreaksthelimitsofbidimensionalclassicaltablesorgraphsand
provides an interactive means of presenting higher dimensional quantities
and eldswithinasingle view.
Visualizationisagenerictermusedinseveraldisciplines;itsmeaningcan
slightlyvaryaccording toitsqualierorthecontextinwhichitisused. Let
us give an example: scientic visualization is sometimes distinguished
from information visualization in that the latter refers mainly to the
visualization of synthetic information, e.g. statistics, produced by human
activities, whereasthe major concern of scientic visualization is to repre-
sent data produced by numerical simulations or measures. But, generally
speaking, even if this rough distinction is commonly accepted, it is not so
easy to draw a strict frontier: does, for instance, the visualization of the
solution of partialderivative equations belong to informationvisualization
orscientic visualization?
Scientic visualization can be related to computer graphics because
techniques developed in this area are the foundations of scientic visual-
ization. But these two disciplineshave quite dierent goals: whereascom-
puter graphics tries to produce realistic pictures and animations, the goal
ofscientic visualizationis to help usersto interpret the dataand to draw
conclusions. This makes a fundamental dierence even if both disciplines
areobviouslyclose.
In thisthesis, we will focus on scientic visualizationand restrict this
notion to the visualization of physical, biological or chemical pro-
cesses,andofproblemsrelatedtoappliedsciencesandengineering. Inthese
domains,theanalysisofresultsproducedbynumericalsimulationorofmea-
sured data becomes more and more important. In order to be successful,
thistaskrequiresthecollaborationbetweendomainspecialistsandcomputer
scientists withskillsin theeld of scientic visualization. Throughoutthis
thesis, we will refer to the latter using the term of \visioneer" in order to
distinguishhimfrom other computer specialists,like numericalanalysts or
systemmanagers.
1.1 Context
1.1.1 The challenge of a general solution
One of the challenges of scientic visualization is to address the numerous
and specic needs of userscoming froma wide rangeof research activities.
Researchers as well as practitioners in disciplines ranging from physics to
biology or from earth sciences to archaeology make demands on this pow-
erfultechnology [9,72 , 122,121]. Obviously,theneedsinall thesedomains
areextremely variedsothat itis notpossibleto provide a generalsolution
adaptedtoall visualizationproblems. Theseusershave verydierentback-
grounds and the tools they use are completely dierent from one activity
to the other. However, it is possibleto formulate themost important and
generalneedsthese communitieshave incommon: theyneedpracticaltools
toanalyzedata. Inthecourseoftheirinvestigations,usersfacethreetypical
situations:
they guess the kind of eects which will happen, but do not know
exactly whereorwhen these eects willtake place;
they would like to know which kind of eects are happening at a
certain locationand at a certain instant;
they do not know which kind of eects they will discover, neither
where and when they will happen: it is the very purpose of the
visualization to reveal it.
Thesesituations imposevery dierent requirementson thevisualizationen-
nite,setof toolsrequiredfortheinvestigationcan solve theproblem. The
detectionofthefeaturescanbedoneinteractivelybyauserorautomatically
bythesoftware.
On the contrary, the last two situations are more complex, because in
these cases, a nite set of tools may not be suÆcient to visualize the phe-
nomena. Often, specic tools have to bedeveloped to succeedin thistask.
Thisiscertainlythemajorproblemofvisualizationanditis,inouropinion,
an open research problemtoday.
1.1.2 Genesis of the thesis
Atthebeginningofthisthesis,weinitiatedacollaborationwithtwogroups
of researchers who can be considered as representative users of our eld of
interest. It was interesting to note that their major and common require-
ment was expressed by the two sentences: \Could you help us to analyze
theresultswithvisualization? But,please,we donotwant toprogramany-
thing." ObviouslytheywereawareofthediÆcultyoftheproblemandcould
notspendtoo muchtimeon buildingthetoolthey needed.
Together with these users, we started to use existing visualization en-
vironments, but, as visioneers, we noticed that users had to be supported
permanently. Indeed, visualization tools were either too complicated for
themto master,ornotwell-suitedfortheirreal work. Thuswequicklycon-
sideredthatthesolutionoeredbytheexistingsystemswasnoteconomical,
eitherforusersnorforvisioneers. It isthereasonwhywedecidedto search
fora better solution.
1.1.3 Application domain
In this thesis, we will address the needs in scientic visualization of one,
rather large, class of users. The main characteristics of these users can be
summarizedasfollows:
they are interested in physical phenomena related to natural science
problems;
theyanalyzethree-dimensional,mostlytime-dependent,dataproduced
bynumerical simulationsorbymeasures.
Asatypical example,we willconsidertheuiddynamicsproblemsthat
ariseinoceanographyorhydrogeology. Inthiskindofproblems,thesimula-
tionof thephysicsproducesdatathatareoften largeand multivariate,like
vectoreldsoreventensorelds,andusuallyvarythroughtime. Satisfying
thecomplexvisualizationrequirementsofthiscategory ofusersconstitutes
perse a solution for these cases where, for instance, time-dependency can
be neglected or where data are simplescalar elds. Thus we shall concen-
the visualizationof data acquired by measures, because all the interesting
problemsariseintheformer case.
1.1.4 Technical possibilities
Numericalsolvershaveforalongtimeproven tobeusefulinunderstanding
or predicting complex physical phenomena like those that play a role in
weather forecasting or more simple problems, like the heating of a piece
of aluminum. Such software passed from academia to industry and made
possible the development and mastery of new technologies and helped to
increaseproductivity.
At the very beginning, results produced by numerical simulationswere
analyzed and compared \by hand", with the help of ad hoc programs for
instance,and thenecessitytohavemore convenientmethodstounderstand
ahuge volumeof informationquicklyarose.
The development of peripherals, like monitors and printers, based on
rasterimagesgavethepossibilitytopresentmoreadequatelytheinformation
elaborated by a computer. Numerous homemade solutions that tried to
represent data graphically appeared. This technology helped to make the
analysisof numerical simulationresults much more eective.
Then, the increasing power of microprocessors contributed to simplify
the user interfaces so that anybody can use a computer without being an
expert. Manytasks whichwerethenconsideredcomplexbytheuserscould
nowbeachievedsimplyandeÆcientlybymovingapointerandplayingwith
icons. It can be claimed that the very takeo of scientic visualization is
dueto these improvements: it startedin themid80's dueto an important
development ofthegraphicalworkstations.
Today,thepriceandperformanceofthesecomputersbringthemontothe
deskof many researchers. These researchers are stimulatedby the conclu-
sionsthey can drawthanksto the expressivenessof thegenerated pictures.
Moreover, multimediacomputersoer even more possibilitiesforanalyzing
the data. Researchers do not limit themselves to classical rendering tech-
niqueslikepicturesormovies,buttry,forinstance,to relate sound[56,62 ]
withdata, andto investigate anytechniquethatcouldbeuseful. Thegame
industrybooststhedevelopmentofdeviceslikegraphicsorsoundcards,and
makes prices decrease. The ever growing powerof processors and graphics
cardsmakespossibleaninteractiveexplorationofthedatausingnavigation
toolslikevirtualcameras. Researchersaredevelopingnewhardware{called
virtualreality peripherals{ to make the user believe thathe is completely
immersed [16 , 50 ] inside the data and can feel virtual objects expressing
them as if they were real. New trends like collaborative and multidisci-
plinary problems require that data have to be exported as virtual objects
andexchangedthroughthe Internet.
sualized. It no longersuÆces to producestatic bidimensionalcutsthrough
data: butitmustbe possibleto visualizedatawith fullyinteractive tools.
1.2 Goals and non-goals
The development of original visualization techniques is an exciting eld of
research. NumerouseÆcient techniques,bothonthequantitative andqual-
itative plane,stillhave tobe imagined. However, wethinkthatitis alsoas
importantandcomplicatedtosearchforgoodwaystobringthesetechniques
onto thedeskof userswho arenotvisioneersthrougheÆcient visualization
systems. For this particular reason, we will not try to develop any new
or original visualization techniques in this thesis, but rather focus on the
relationshipbetween usersof visualization systems and visioneers,who are
responsiblefortool developmentand user support.
As explained previously, the profusion of new hardware and libraries
gives new possibilities to users of scientic visualization. The user com-
munity has become wider, and the problems to which this technique is
applied have become more and more complex. Unfortunately, there is a
price to pay for users of this technology because the diÆculty of master-
ingthree-dimensionalgraphicallibrariesincreaseswiththeirfunctionalities.
However, endusers,even physicistsornumericalanalysts, cannotspendtoo
much time learninggraphical libraries and developing by themselves a set
oftoolsadaptedto theirspecicneeds. Visualizationisbecomingaspecial-
ization of its own. For this reason, users either visualize data with one or
severaldedicatedenvironmentsandacceptrestrictionstotheirfunctionality
or they require help from a visioneer in order to build a specic applica-
tion. In the latter case, users highly depend on visioneers because even
littlecustomizationscan lead to aconsiderabledevelopment eort.
Our primary goals are, rst, to achieve a clear separation between the
dierent actors involved in the process in order to make users less depen-
dentonvisioneers,and,second,toproposenewandconvenientvisualization
paradigmsinorder to make the divisionoflaborbetweenthem more eec-
tive. To meet these goals, it is of primary importance to dene a new,
simple and unique conceptual framework for three-dimensional visualiza-
tiontechniques. Thestandardizationofbidimensionalgraphicaltechniques,
e.g. bitmap, pixmap, color map, coloring systems, and standardization of
operations applied to them, e.g. scaling, smoothing, rotating, led to the
development of powerfuland generalpurpose graphicalsoftware which are
extensivelyusedtoday. It is partof ourthesis thatunicationof visualiza-
tion techniques can be achieved in the context we dened above and that
new kinds of visualization environments can benet from this approach.
Thus we willdemonstrate that a platform based on these concepts can be
provideanadequate levelofextensibilitysoasto beapplicableinseveral
disciplines.
1.3 Overview
We willstart in Chapter 2 (Limitations of existing systems) with a
shortsurvey ofthe majorvisualizationsystems encountered inthe domain
of interest. The limitations of these systems as well as the major concep-
tualproblems andtechnicaldiÆculties theusersand visioneers faceinthis
disciplinewillbe emphasized.
In Chapter 3 (The visualization objects) we, rst, propose a new
formalizationof thevisualizationprocessthat iscloser to theneeds of con-
temporary scientic visualization. Then,legacy visualization metaphorsas
wellasabstractionscommonlyusedinthisdisciplinearediscussedandanew
metaphor,calledavisualizationobject, thatuniesvisualizationtechniques
isintroduced. Afewcomparisonswitholdermetaphorsareundertakenand
benetsofthevisualizationobjectsapproach,forbothusersandvisioneers,
aswellasthenew possibilitiesoeredbythisconcept areemphasized.
In Chapter 4 (A new kind of visualization system) we address
the gap that exists between users and visioneers with regard to the com-
plexity of the tools and propose a solution to make the division of labor
more eective. We then examine more deeply the respective requirements
of both usersand visioneers and enumerate the architectural consequences
thishason thedevelopment of an\ideal" visualizationsystem. Weexplain
howa visualizationplatformcanbenetfrom thevisualizationobjects con-
ceptandhowtheuserinterfacecanbeimproved. Finally,theadvantagesof
thisconcept withregard to theextensibilityof theplatform aswellas the
implicationithas ondata management are considered.
To prove the soundness of those new ideas, a visualization platform,
calledZoomIn,wasbuilt. InChapter5(ZoomIn),itsgeneralarchitecture
issketched,andweexplainhowtheobject-orientedparadigmmadepossible
itsconstructionandprovidedtheversatilityrequiredfortheimplementation
ofmostof its components.
Chapter 6 (Application to case studies) illustrates the usage of
ZoomIn through case studies in oceanography and hydrogeology. A few
results obtained by users thanks to the platform are given and the eort
necessary for the customization of the platform to their real needs is esti-
mated.
ThelastchapterChapter 7 (Conclusion)summarizestheadvantages
and drawbacks of the approach presented in this thesis. The experience
gained and the actual contribution are mentioned as well as unexpected
problems we encountered. We will nally give our opinion about the per-
dictions on tools that will, in thefuture, assist the usersin the analysis of
data.
Limitations of existing
systems
Thischapterwillbeginwithashortsurveyofexistingvisualizationsystems.
Threedierent categoriescoveringthelargevarietyofvisualizationsystems
willbedescribed. Afewcharacteristicexamplesofvisualizationsystemsfor
each category willbe given.
Then, a discussion about the major limitations that the users of these
systems encounter { in the application domain we dened in the previous
chapter{willfollow. Wewillbeinterestedinthespeciclimitationsofeach
category in the relevant domains of interactivity, ease-of-use, extensibility,
divisionof labor,reuse,and performance.
2.1 Classication of existing visualization systems
Numerousvisualizationsystemshave beendevelopedon mostcomputer ar-
chitectures[65 ]. Toprovideacompleteassessmentofallthesesystemswould
beanimpossibletask. Indeed,becauseanassessmentdependsonthepartic-
ularneedsofthepersonwhodoesit, itisverydiÆcultto avoidsubjectivity.
To be exhaustive, it is necessary to take into account numerous criteria
such as performance, ease-of-use, extensibility, scalability, price, support,
documentation, hardware and operating systems supported as well as the
communityusingthetool,theinputand outputdataformats providedand
soon.
Astherearesomanyvisualizationtoolshavingsomanyfeatures,wewill
nottry to givea completesurvey. However itis usefulforthe discussionin
therest of thethesisto group them very roughlyinto three categories :
specialpurposeapplications,
modularvisualizationenvironments, and
librarieswith toolkits.
2.1.1 Special purpose applications
Special purpose applications are dedicated to a particular type of visual-
izationproblem. Theyaresometimes called\turnkey" applications,be-
cause they seem \simple to use" and because complex functionalities re-
quired by the specic discipline are accessible thanks to simple manipula-
tions. Thiskindof applicationhasusuallybeenbuiltinorder tosatisfythe
classical needs of a given user community. They work on special types of
datarelatedto thenodesof a grid. Forinstance,a visualizationsystemfor
oceanographywillworkon scalarelds,liketemperatureorsalinity,andon
vector elds, like velocity,that aredened ina given domain; it allows the
user to obtaindierent representations of these eldsinselected regions of
interest, like planarcuts orisosurfaces of a given scalar eld.
Well-knownand typical examplesareforinstance:
SciAn[80 ,102 ],developedattheFloridaStateUniversity,isrestricted
toscalarandvelocityeldsandprovidesalimitedsetoftools(contour,
mesh, isosurface, arrow,streamline, streamtube).
Fieldview[48 ,47 ],fromIntelligentLightInc.,isacommercialvisual-
izationsoftwarethatisdedicatedtocomputationaluiddynamicsand
providesmainly ve tools (computational surface, isosurface, stream-
line, probe,particles).
Fluent [32 ], from Fluent Inc., is a commercial numerical solver for
CFD thatprovidesvisualizationtools. Usually,solvers integratetheir
own visualizationenvironment.
To be more exhaustive, systems like EarthVision [29 ], Ensight [46 ],
FAST [66 ], Geomview [104], HIGHEND [74 , 97 ], Plot3D [67 ], Tecplot [3],
UFAT [68], Vis5D [98 ], Visual3 [28], VolVis [117 ] can be classied in this
category.
2.1.2 Modular visualization environments
These environments, also called application builders, are founded on the
dataowandvisualprogrammingparadigms[38 ]: theyprovideanumberof
predenedmodules each categorized aslter, map or render. Roughly,
lters deal with data management and conversion, maps transform data
togeometriesandrendersdisplaygeometriesontothescreen. Theoutputs
and inputs channels of these modules have to be connected by the user.
Hence the user sets up a network visually by drag and drop. The data
traveling throughthis network are subject to various transformations and
Figure 2.1: Modulesnetwork ina dataow system
If there is a lack of functionality, the visioneer has the possibility to
programa module and to add it to the environment. A particular usage
ofthiskindofvisualizationsystemsconsistsinusingthemasaprogramming
library to builda special purpose application. Well-known commercial
systemslikeAVS/Express orAVS5fromAdvancedVisualSystems[113 ,
2],DataExplorerfromIBM[49 ]andIrisExplorerfromSiliconGraphics
and NAG[96 , 105 ] belong to thiscategory.
2.1.3 Libraries with toolkits
Inthelastyears,numerouslibrarieshavebeendevelopedinordertoprovide
multipurposeandstandardtoolsforvisualizationand computergraphicsin
general. They are often provided together with toolkits that ease their
use. Typicalexamples areSiliconGraphics'OpenGL andOpenInventor
libraries[69 , 119 ,120 ].
Based on a higher level of abstraction, the Visualization Toolkit
(VTK)[93 ] wasdeveloped recently. It isa portable object-oriented library
forvisioneerswhowant toquicklybuildapplicationsorprototypesfortheir
users. The model supported bythis libraryis the visualization pipeline
jectstorepresentdata(dataobjects)andobjectstooperateondata(process
objects). This is very similar to the dataow paradigm of modular vi-
sualization environments described previously, except that, in the case of
the visualization pipeline, the execution is controlled implicitly (a process
objectexecutesonlyifitslocalinputorparameterschange). Whereasinthe
dataow paradigm, execution is controlledexplicitly byan executive com-
ponent trackingthechangestothenetworkand controllingtheexecutionof
theprocess objects.
Figure2.2: Exampleof avisualizationnetwork inVTK
2.1.4 Other systems
Ofcourse,certainsystemsliebetweentwoofthosecategories. Forinstance,
dierent attempts have been made to make special purpose applications
moreexible. TheexampleofSpray[76 , 21 ]seemstobeexemplaryinthis
respect. Inthisenvironment,thedataarerepresentedusingthemetaphorof
asprayactingonaportionofspace. It sprayssparts(smartparticles)that
react with thedata they encounter according to a behaviordescribed bya
programwritten ina simplelanguagethat thespartsinterpret. The exi-
bilityis thusprovided bythe possibilityof implementing variousfunctions
2.2 Basic interactivity and diÆculty-of-use
Interactivity as well as ease-of-use play an increasing role, because more
and more users who are not experts in visualization want to take prot
of this technology. Generally speaking, it can be stated that the major-
ity of today's visualization systems oer modest interactive functionalities
compared to other applications such as, forinstance, the entertainment or
desktopapplicationsused dailybymillionsof people.
Among the major and particular diÆculties encountered by visioneers
inorderto buildeÆcient visualizationsystems arethecomplexityof trans-
forming data into comprehensiblevisual information and the technical re-
quirementsimposedbythemanagement ofdatasets.
2.2.1 Interactivity has severe implications
Due to the volume of data and the complexity of physical phenomena to
visualize, the need of interactive systems oering an intuitive and natural
\explorationofdatasets"isofparamountimportance[31 ]. Byintuitive,we
mean that the interface seems familarand easy-to-learn to the users, and,
bynatural, that itoperates in such a waythat a human ideally needs no
instruction.
\The amountand ease inwhich insightisgained from thedatasetisan
indicationof thesuccess of thevisualization process. Equally asimportant
asthedevelopment ofpowerfulvisualizationmethodsisthedevelopment of
techniques and interface methods that make these powerful tools available
totheusers..."[75 ]Certainly,oneofthebestsolutionsistoprovidetheusers
withvisualizationsystemsthatallowdirectmanipulationsoftoolstheusers
arefamilarwith. \Thetoolsshouldbemadeaccessibleinanunencumbered,
direct,andnaturalway{rsttogainacceptancefromtheusers,andsecond
to promote unimpeded investigation of theirdata without havingto think
about the visualization methods... The interface should be so natural to
use that it is almost invisibleto the users. In thiscase, the measure of an
interface's success is its apparent absence from the user's thought process
whileinvestigating theirdataset."[75]
This easinessis usually oeredbyspecial purpose applicationsbutthis
isneitherthecasewithmodularvisualizationenvironments,wheretheuser
manipulatesthemodulesnetworktoactindirectlyonthegraphicalobjects,
norwithprogramminglibraries. Inbothsystems theuserhastodevelopan
ad hoc graphicaluser interface{ which requires skillsinprogramming{ in
order to reach a satisfactorylevelof interactivity.
Interactivityhassevereconsequencesondatamanagement. Becausethe
userswanttoexplore datasetsandto concentrate on regionsofspacewhere
phenomena are expected, it shouldbe possibleto restrict thevisualization
systemsoperate ona grid{ oramesh{and arenotableto honour neither
\local" accessnor interpolateddata betweenthe nodes of thegrid. This is
certainly one of the main problems to solve in order to successfully build
interactive visualizationsystems providing:
interactive selection: theabilityforauserto selecttheregionsofpartic-
ular interest in the datasets, and, if needed to be able to re-run the
simulationfora subsetof thespace-time domain;
computationalsteering: theabilityto change parametersof thesimula-
tion while the simulation is progressing: for instance, to change the
direction and intensityof thewindinan oceanographicsimulation.
Suchinteractiveselectionorcomputationalsteeringenvironments
are becoming a mandatory requirement for large data sets, simply due to
thevolume of datato be analyzed [30 ], butthe fewprototypeshavingthis
capabilityarestillunder development [116].
2.2.2 Advances in virtual environments
Reaching a satisfactory level of interactivity imposes an eective naviga-
tion in 3D space as wellas an intuitive manipulation of graphical objects.
Indeed, many problems encountered by users are dueto the fact that the
projectionofthree-dimensionalgraphicalobjectsontobidimensionalscreens
causesambiguities and distortions.
Modernvisualizationsystems have to accomodate theuseof virtual re-
alityperipherals{ such as aspaceball, stereoglasses, helmetsordatagloves
{ in order to help users to visualize three-dimensionaldatasets. A few vi-
sualizationsystems proposeimmersiveenvironments[50 , 95 ,100 ]thanksto
virtualrealityperipherals.
At the moment, these peripherals are rare, very specic, cumbersome,
expensiveandhavetobeusedinpowerfulnearreal-timeinteractivesystems.
The next task of engineers will be to improve their accuracy as well as to
diminishthe size of these devices. Furthermore, research is still needed in
ordertondappropriatemethaphorsofgesture[75]tointeractdirectlywith
thevirtualobjectsortoinvokecommandsinsidetheimmersiveenvironments
because there is nomore classicalgraphicaluser interface.
2.2.3 Collaborative work
The increasing performance of local area networks (LAN) and wide area
networks (WAN) oer new perspectivesfor collaborative work. Except for
a few systems [77], most visualization systems are engineered to be used
in single-user mode and do not integrate the possibility to collaborate on
visualizationsessionsfrommanycomputers,eitherlocally{inthesamesite
Collaboration between researchers or practioners dispersed all around
the world is becominga requirement. Although thiscapabilityis desirable
for many teams, integrating collaborative work into visualization systems
is not straightforward. It has signicant implications on software design
becauseofthefunctionalitiesthathavetobeaddedtotheuserinterfaceand
because of thetechnical problemsimposedbythenetworked architectures,
such as:
accesscontrolovergraphicalobjects,
privateand sharedviews,
synchronousand asynchronouscollaborationmodes,
dataaccess, and
softwareportabilityand data formatover heterogeneousnetworks.
2.2.4 DiÆculty of use
Will Schroeder, Ken Martin and Bill Lorensen [93 ] wrote: \Visualization
systemsarebytheirverynaturedesignedforhumaninteraction. Asaresult
theymustbeeasytouse." Proclaimingthatacertainvisualizationsystemis
easytouseandthatanotherisnot,isrisky. Thisqualitydependsveryoften
on the user's level of expertise and on the specic functionalities that the
systemoers. Butitissurethat,fornon-specialistsandforcasualusers,the
necessityofreadingandunderstandinghundredspagesofdocumentationor
thousandsof linesof code before obtaining anyresult is discouraging.
In thepast, visualizationsystems were reserved forresearchers of disci-
plinesclosetocomputerscience. Theyhad,andwereable,tospendthetime
necessaryto understand indetail andto master thevisualizationpackages.
But now, environments have to become easier to use in order to provide
eÆcient solutions for users from other disciplines, e.g. for natural science
researchers.
Today, certainly the best solution is oered by special purpose appli-
cations and the worst one by libraries with toolkits. Modular visualiza-
tion environments (MVE) lie between these two extremes thanks to the
visualprogramming paradigm. However, as pointedout byEarnshaw and
Jern [30 ],largemodulesuites are diÆcultto manage. Althoughtheirmain
advantage is their generality and their extensibility { which explains their
popularity{theirdrawbacksappearquicklywhenusersfacetheproblemof
usingthem. It isdueto manyreasons:
They are not tailored to an application and extensive programming,
albeit visual,isrequiredto setup anapplication. \Thisis anobvious
Because strongdatatype isusuallyrequiredbetweenmodules,apro-
fusionofmoduleswithalmost identicalfunctionalityhave tobeintro-
duced, whichdiscourages thenovice.
Because almosteachmodulehasits ownparametersto tune,eachone
has its own interface widget; this leads quickly to a fragmented and
incoherent graphical user interface. The complexity of maintaining
all these elements grows rapidly 1
with the number of interconnected
modules.
The graphical user interface is not uniform between the applications
and thefunctionalitiesarereducedbecauseitis oftennecessaryto re-
develop them for each problem dueto the lack of abstraction at the
application level.
2.3 Limited extensibility and versatility
Just as for other kinds of software, extending a visualization system with
functionalitiesfor which it was notdesigned is very diÆcult, if not impos-
sible. Unfortunately, theneed to extend a visualization system is common
duetotheinnityofimaginabletechniquesforthevisualizationofdataand
due to the unpredictability of the way the interesting phenomena will be
discovered. Thisimposesahighdegreeofversatilitytogeneralvisualization
systems.
Ideally,it shouldbe possibleto extenda visualization systemwithnew
visualizationprimitives,deviceand dataset drivers. Butthe realityis com-
pletely dierent because of the technical implications it has. In fact it is
notsimpleto extenda visualization systemor to customize it to a specic
problem: it is usually reserved to visioneers or advanced users who have
extensive experienceinprogramming.
2.3.1 Special purpose applications are not extensible
Atrstglance,specialpurpose applicationsseemidealforusersbecause
theyallegedly areeasy to useand well-suitedfortheirspecicneeds. From
thebeginning,theuserfeelscomfortablebecause,thankstoaneasytolearn
userinterface,hedoesnotneedtoprogramanything. Thisisthecasewhen
the visualization package is fully integrated with the numerical simulator,
because theuser doesnotevenneedto careaboutdatamanagement. How-
ever, these environmentsshowtheirlimitationsrathersoon asthey usually
arediÆcultto extend. Theuser has to be satisedwith thefunctionalities
1
Asdepictedinthe simpleexampleofFigure2.1, theuserhasto control 6modules,
eachhavingitsowncontrolpanel,and7linksinordertoproduceonly1graphicalobject
they oer and to adapt hisway ofthinkingand workingto thelogicof the
application. Thisis especiallythe case forvisualization systems integrated
with numerical simulators where only the manufacturer is able to release
new orcustomizedvisualizationtools.
Inpractice,however,theuserisoftenforcedtouseseveral environments
inorder to performhis analysis. Thisleads to painfuland time-consuming
technical problemslikedata conversion fromone formatto another, notto
speakofthe diÆcultyof mergingtheresultsproducedbydierentsystems.
As isthecase forSpray[76 ],a scripting languagerepresentsa powerful
means of extending such a system. However, it is not always accessible to
thecasualuser,who therefore remainsdependent on avisioneer.
2.3.2 Extension of visualization systems requires expertise
Generallyspeaking,extendingavisualizationsystemwithadhocvisualiza-
tion techniquesalwaysrequires expertise. Andbecause problemsfor which
visualization is useful are varied, the need of extending systems appears
rather quickly. It is not suÆcient to master basic programming, e.g. to
know a language like C/C++ : several software technical diÆculties have
to betackled:
accessto thedata;
understandingof the3Dgraphicalsystemand primitives,and
designand implementationofa userinterface.
Thiskindof knowledgeisfaroutsidethereachofmanyusers, especially
those we consider, because they are not programmers and do not want to
develop anything.
Certainly today's best solution for users is oered by modular visual-
ization environments when used as application builders: the very last ver-
sionsofmodularvisualizationenvironments,suchasAVSExpressprovide
front-end and rapid application development wizards in order to minimize
the work of programmers. These components provide an additional layer
thathelpstoquicklybuildaprototypeofthegraphicaluserinterface. This
consists in implementing a specic graphicaluser interface hiding the net-
work with a centralized command panel allowing direct manipulations of
graphicalobjects. Thus,onecandevelopaspecialpurposeapplicationfrom
scratch orbyadaptingexistingmodules.
Unfortunatelythese components shifttheproblem. Rapiddevelopment
tools that generate code automatically certainly save time for tedious de-
velopment such as, for instance, the design of dialog boxes and of pop-up
a great experience is required, as soon as one wants to undertake the de-
velopment of prototypesorcustomizethesamplesproducedbythewizards
that are provided by these tools. \Visual programming is too limited for
detailed control, so construction of complex low-level algorithms and user
interfacesisnotfeasible."[93 ]anditisthemainreasonwhy\modularvisu-
alizationenvironmentsrequirea considerableeort from users"[100 ] to be
customizedto theirreal needs.
2.3.3 Conclusion
To summarize briey this section, we come to the conclusion that in our
eldof interestand forthe userswe consider:
eithervisualizationenvironmentsorlibrariesareextensiblebutrequire
animportantdevelopmentorsupporteortfromthevisioneerinorder
to be usablebytheuser;
or theapplicationis easy to usebutits extensibilityis limited.
2.4 IneÆcient division of labor
Astheproblemsunderstudybecome more andmore complex, a particular
division of labor is taking place. All actors involved in the visualization
and analysis process have to be specialists of their own domain in order
to take up challenges and to achieve a good level of productivity. End
userscannotspendtoomuchtimeontoolingproblemsbecausetheyhaveto
concentrate on theirmainactivity. Thissituation imposes a new challenge
to visualizationsystems.
The division of labor was not the primary concern of the people that
developed generalvisualizationsystems because :
the users were at the same time applied mathematicians, visioneers
and endusers, and
thedevelopmentofqualitativeandadhocvisualizationtechniqueswas
the primarystep.
Becausetheproblemisemergingandbecausewedidnotndanythingin
theliteratureaboutit,wewilltrytogivearoughevaluationofthesituation
basedon ourexperienceswithusers.
The three graphs in Figure 2.3 depict the amount of eort invested
through time in the customization of each category of existing visualiza-
tionsystem foratypical problem.
Inthecaseof specialpurposeapplications,thevisioneerintervenesonly
at the beginning of the investigation inorder to convert the data orsetup
Figure2.3: Programmingand user supporteort
usually does not need any further help from a visioneer because no cus-
tomization oftheapplication ispossible.
Because of the complexity of modular visualization environments, the
visioneerhasto givethe userintensive supportduringthewhole process of
dataexploration,modifyingthenetwork orprogrammingnewvisualization
modules(case 2). Both thesetup of a specic environment and its mainte-
nancerequiresanimportantinvestment. Theuserisfullydependentonthe
visioneer from the beginning to the end of his investigations. This case is
illustratedwith thesecond graphinFigure 2.3.
As illustrated with the third graph in Figure 2.3 , our experience has
shown thatit requires more orlessthe same eortto develop astandalone
application withaMVE { used asan applicationbuilder{as ittakes with
agood visualizationlibrary(case 3).
It is interesting to notice that there are two signicant dierences be-
tween case 2) and 3). The rst dierence resides in the fact that the vi-
sioneer'seortincase 3) ismore important{ because almost every compo-
nent have to be developped from scratch {, butlimited in time { because,
once theapplication is running, userssupportis mimimumdueto thefact
that the application is customized to their particular needs. Moreover, in
case3),theapplicationisgenerallynoteasilyextensible, justasforcase1).
Thusitappearsthatnoneofthese three situationsprovideagoodsolu-
tion interms of divisionof labor. A visualization systemproviding a large
autonomyforusersandminimizingthecustomization andsupporteortof
thevisioneerhasstillto befound.
2.5 InsuÆcient reuse
The \recent" analysis and design methods [36 , 12 , 118 ] as well as object-
oriented technology had an important impact on the development of soft-
oers once and for all, as is the case for special purpose applications, but
alsoon its genericity,on thepossibilitiesof reuse,on itscustomizabilityfor
awidecommunityandadaptabilitytonewproblemsandnewkindsofdata.
In order to increase productivity,reuse has become a major issue in every
new development. Object-oriented analysis and design methods are eÆ-
cient andcan beappliedsuccessfullyto scienticvisualizationsystems [15 ].
Abstracting information and organizing it into class hierarchiesas well as
managingobjects abstractly usingpolymorphismare powerfulmechanisms
thatcan drasticallyincreasereuseinthisdiscipline.
Several visualizationsystems such asPlot3D, UFAT and FAST [67 , 53 ,
66 ]were notdesigned with reusein mind, because, rst, eÆciency was the
primary concern{ they were developed around algorithms optimized fora
specic task { and, second, they were engineered before the emergence of
object-orientedtechnology.
Theresult isthatmuch work isinvestedinimplementinga setof appli-
cationsthat usuallycannot be reusedbyother teams because they are not
designedwithasuÆcientlevelofabstraction. Therearenumerousexamples
of powerful visualization techniques that were implemented in some pack-
age, butleft unused because they could neither be convenientlyintegrated
into existing applicationsnorlinked togetherwithina general environment
accessible to the user. This is not very productive and rather frustrating
bothforthe scienticvisualization community andforusers.
2.6 Low performance
2.6.1 Data management
Certainlyone ofthemajorcriticismoftoday'svisualizationsystemsistheir
inabilityto handle large datasets. It can be stated that in the particular
disciplineof scientic visualization, the increaseof computingperformance
isanorderofmagnitudebelowtheneedsofthecommunity. Onthissubject
Steve Bryson commented[100]:
\The problems addressed in real-time scientic visualization will, how-
ever, far outstrip the advances in technology. Increased computational
capability will be used to perform simulations that produce far larger
data sets, and contain far more phenomena. There are several ways in
which this will occur: the spatial and temporal resolution will increase
for enhanced accuracy, increasing the number of points and timesteps;
and multi-disciplinary simulations will be performed, including many
phenomena in a single data set. Thus the size of data sets will increase
Becausedatatransferfrommassstoragetomemoryremainsabottleneck
for many computers, datasets produced by number crunchers have to be
organized and processed adequately. Even for middle sized datasets that
currentlyreachmanyhundredsofmegabytes,itisnotpossibletoloadthem
entirelyinto thememory ofa classic workstation and to expecta good job
from itsvirtual memorymanager.
Manyexistingvisualizationsystems[80 , 48,76 ,98 ]loadalltimestepsof
datasetsinto memoryeveniftheuserisinterested invisualizingdatainthe
neighborhoodofaspecicpointandonlyforagivenrangeoftime. Thissit-
uationiscertainlyduetothefactthattoday'ssystemsaresimpleextensions
ofrst generationvisualizationsystems thatwerethoughtto workinbatch
mode, without any interactivity. At minimum, existing systems should be
re-engineeredinorder toaccomodatethevolumeofcontemporarydatasets.
Other visualizationsystems [113,96 , 93 ] useanother datamodel called
dataow . As explained previously, the mechanism is the following : the
data aretravelingthroughmodulesthat successivelyconvert, transformor
select portions of the original data. Finally, the data are mapped into a
graphical primitive and rendered onto the screen. Because most lters do
not accept every kind of data structure as input, some specic lters are
insertedalongthepathinordertoconvertthedataadequately. Forinstance,
a lter can interpolate data from a nite element dataset to a rectilinear
grid in order to be accepted by the next lter. Basic implementations of
the dataow model pass a copy of the data. This leadsto doubleor triple
thevolume of informationto manage even if avancedmechanismsavoiding
copying of the data are added. Although such optimizations undoubtedly
accelerate the response of systems, the performance is still insuÆcient for
interactivevisualizations:
\Any change to the data set necessitates reading it in once more and
repeating the process. Thus interaction rates depend principally on the
speed with which the dataow pipeline can process the data, severely
limitingthespeedofinteractionwith largedatasets".[84].
\Because dataow systems transform the entire data set, they are
not well suited to the near-real-time visualization of time-varying data
becauseoftheverylargeamountsof datainvolved".[17]
Asmentionedbyseveralauthors[30 ,84 ,109 ],theincreasingvolumeand
varietyofdata,andtheneedofinteractivevisualizationsystems,requirethe
development of anew modelsfordata management providing among other
things:
scalability;
the distributionof dataover a LANand/ora WAN;
a goodcompromisebetweenextensibilityand performance,
a common interfaceto accessto disparatedata objects,and
the computationof derived dataon they.
2.6.2 Rendering
Another bottleneck for interactive visualization systems appears when a
largequantityof non-trivialgraphicalobjects have to be renderedat a suf-
cient frame rate. The computations needed to render these objects are
intensive. The stages of thegraphicalpipeline{ such asface culling,levels
ofdetails, shading, z-buering { areaccomplished by software or hardware
andrequire millionsofoatingpoint operations.
Althoughspectacularprogressweremadeinthelastfewyears,thelimits
are easily reached when numerous objects have to be rendered simultane-
ously at a sustained rate of 24 frames per second in order to create the
illusionof dynamics. This causesdelaysand latenciesthat disturbtheuser
duringhismanipulations. Moreover,becausemanyvisualizationsystemsdo
notallow a necontrol over the graphicalobjects and the region of user's
interest, visualclutter is quickly reached as well asthe latencies accompa-
nyingit.
Addressing this particular problem is out of the scope of this thesis.
However, it is obvious that concepts allowing the development of ad hoc
userinterfaceabletoimprovethecontrolofgraphicalobjectsareusefuland
Visualization objects
Inthischapteranewmodelforthevisualizationprocess,calledinteractive
visualization process,willbeintroduced. Ittakesaccountoftheneedsof
interactivity imposed by the ever growing community of people who want
to take prot of scientic visualization.
Then, we will point out one of the key problems end-users encounter
in scientic visualization: the low abstraction level and the lack of conve-
nient metaphors provided to users at the application level. We will try to
explain why it is essential to remedy this problem. Nevertheless, a set of
metaphorsthatweresuccessfullyusedinexistingvisualizationsystemswill
bepresented.
The next section will propose the central idea of this thesis : a new
conceptual framework unifying most visualization techniques. It
consistsinahierarchyof objects dedicatedto scientic visualization,called
thevisualization objects,forwhichwe willgivean in-depth,semi-formal
description. These objects will be compared to the metaphors described
previously: thedierencesandbenetsofthisnewapproachwillbeempha-
sized.
Then, we will explain how this approach brings solutions to the main
limitationsofexisting visualizationsystems thatweredescribedinthe pre-
vious chapter. In particular, how a visualization platform satisfying both
the requirements of ease-of-learning and of extensibility can be built
thanksto thisconceptual framework.
Finally,thebenetsintermsof rapid prototyping and reusewillbe
emphasized and thenew perspectivesoered by theconcept inthe eld of
a client-server achitecture, collaborative work and computational
steeringin scienticvisualization willbe investigated.
Figure 3.1: Thevisualizationprocess
3.1 The visualization process
3.1.1 A classical visualization process formalization
Scientic visualization isusually viewed as a multi-stage process beginning
from simulation resultsand endingat a displayable image. Since theearly
days of scientic visualization, several visioneers [39 , 93 , 8 ] proposed more
orlessdetailedformalizationsofthisprocess. Haberand McNabb[38 ]gave
theirownformalizationofthevisualizationprocessthatwaslargelyaccepted
andreused bythevisioneercommunity.
AsdepictedinFigure3.1, thisprocessiscomposedoffourstages(A{D)
andthree transformations(1{3):
1) Data enrichment and enhancement: This rst transformation op-
erates on the raw data (A) provided by the simulation and modies
it inoneormore waysto derivedata(B) forsubsequentvisualization
operations.
2) Visualization mapping: Thesecondtransformationconstructsanimag-
inaryobjectcalledan\abstract visualizationobject"(AVO)(C)from
the derived data produced by enhancement and enrichment. Typi-
cally, this involves mapping the simulation data into the attributes
eldsthat describetheAVO.
3) Rendering: The last transformation operates on the AVO to produce
a displayableimage (D).
The sequence of these stages and transformations forms what Haber
and McNabb [38 ] name a visualization idiom by analogy with a verbal
idiomofalanguage. \JustasalistenerhasdiÆcultyunderstandingaverbal
Figure 3.2: Theinteractive visualizationprocess
displayscientically without an explicit understanding of the steps in the
visualizationidiomused to generateit."
This formalization and the idea of encapsulatingeach kindof transfor-
mation into a specic module type as well as the possibility for users to
interconnect them interactively with visual programming techniques gave
birthto themodularvisualizationenvironmentsparadigm.
However, when applied to ourparticular classof problems, thisformal-
ization isincomplete: rst, itdoesnotconsidertheuser intheprocess and
does not include the problem of interactivity. The visualization process
is viewed as a batch orientedprocess in postprocessing mode and the user
doesnothavetheabilitytousetheAVOtointeractivelyexplorethedataset.
Second,itreducestheresultsofthevisualizationprocesstoanultimateim-
age that does not seem to oer any solution for interactive selection nor
computationalsteering.
Because, our work aims at providing a solutionfor the requirements of
interactivityallowingexplorationofthedatasets,weproposeanewmodelby
integratingtheuserintotheprocessandbyconsideringthatuserinteraction
{withthegraphicalobjectsproduced{canfeedagainthe\pipeline".Called
theinteractive visualization process, thisnew model willbe described
inthenext section.
3.1.2 The interactive visualization process
Figure3.2illustrateswhatwedeneastheinteractivevisualization pro-
cess. In thisdenition,the visualizationprocess is no longerdepictedas a
\pipelinedprocess", butit is representedbya ring of processesthat are
driven bytheuser.
The linking of processes starts with the simulation (1) according to
the simulation parameters (A) that are given either statically or inter-
actively bythe user. The simulation generates simulation data (B) that
Then, derived data are queried (3) in order to produce the visualiza-
tionobjects (D).Theuserinteractswiththevisualizationobjectsinorder
to visualize the data by interactive exploration or to control the sim-
ulation (4) by updating the simulation parameters { either through the
visualizationobjectsrepresentingthemgraphically,ordirectly,forinstance,
throughanothercomponent of thegraphicaluser interface.
By integrating the simulation parameters and the simulation into
the whole process, we close the loop between the production of numerical
data and the visualization system. This is the only means of tackling the
problemof the production of huge data sets and of taking prot from the
fact that only a small part of them is useful and really interesting during
a particular interactive exploration. Thus, the visualization process is no
more merelyapostprocessor butisintegrated withthesimulation.
Notice that, in this process, derived data, which can be visualized at
theirturn,can result either from thevisualizationobjects creation orfrom
theuser interaction { see the bidirectionalarrows in 3). The displayable
imagestage aswellastherenderingand visualization mapping trans-
formationsoftheclassicmodelareabsentfromthisnewmodel. Theywillbe
considered asa subprocess that produces the visualization objects (D).
This point will be described more precisely in the 'Detailing visualization
mapping'and'Thevisualizationobjectsformalization'sectionsofthischap-
ter.
3.2 Higher abstraction levels
A suÆcient abstraction level is decisive for a visualization system able to
providea largevariety ofvisualization techniquesthroughan easy-to-learn
user interface. Indeed, as pointed out by Haber and McNabb [38 ], \most
scientistsforegovisualizationaltogetherunlessprovidedwithhigh-leveltools
thatkeeptheir energiesfocused ontheir science.".
For these users, abstractions at the application level is of paramount
importance: thisisperfectlyillustratedbythepopularityreachedbymodern
software,forinstancewordprocessing ,spreadsheetsanddatabases,due
to theabstraction levelthey provideinthe applicationlayer. Without any
doubt,thanksto expressivemetaphorslikestyles,cellsorqueries,these
software oer ahigh levelof genericityand ease-of-use.
Inthefollowingsection,wewillexaminerepresentativeexamplesamong
themostinterestingmetaphors thatwereimagined intheeld of scientic
visualization.
3.2.1 Visualization metaphors
Merriam-Webster'sdictionary[61 ] denesmetaphoras\a gureofspeech
inplaceofanothertosuggestalikenessoranalogybetweenthem". Applied
to scienticvisualization,we proposeto deneavisualization metaphor
as \an idea abstracting the visualization mapping and allowing the users
to investigate their data without having to think about the visualization
methods".
Fundamentalworkhasbeenachievedbyotherteamsinordertoprovide
well-suited metaphors for the visualization of datasets. This gave birthto
several usefulmetaphorsthatwillbedescribed more preciselyhereafter.
3.2.2 AVO
In their conceptual model [38 ], Haber and McNabb introduced the term
AVO,anacronymforAbstract VisualizationObject, as\animaginaryob-
ject with some extent in space and time", whose \attribute elds might
includegeometry,time,color,transparency,luminosity,reectance,andsur-
face texture". An AVO isthe result of the visualizationmapping stage of
the visualization process seen above, i.e. the transformation mapping the
derived data to the AVO elds according to a given transfer function.
\The time and geometry eldsin the AVO neednot correspond to similar
quantities in the simulation domain. For example, we can map the simu-
lation z coordinate to time in theAVO model to producean animation of
sequential, horizontalslicesthroughavolumetricdomain[...] No fool-proof
method exists to derive eective transfer functions, so interactive systems
for real-time modications of the transfer functions are eective tools for
exploringcomputationaldata sets."
3.2.3 Spray rendering and sparts
\Spray rendering uses the metaphor of spray cans to paint and visualize
datasets. Conceptually, visualization users grab and aim spray cans into
their datasets. Depending on the type of paint in the can, dierent data
featuresarehighlightedandrendered. Thepaintparticlesarereferredtoas
sparts, which standsforsmart particles. Theycombinethe power of both
particlessystemsandbehavioralanimationtoseekoutandhighlightfeatures
ofinterestinthedataset"[76 ,78 ,77 ]. Thesespartshaveaspecicbehavior
{whichcanbedescribedinteractivelythanksto asimplescriptinglanguage
{andproduceacollectionoflocalgraphicalshape,whoseattributesdepend
onthevalueof thedatatheyencounter. Whatisparticularlyinterestingin
thisattemptisthefactthatthetechniquesofsurface,volumeandow
visualization are generalizedand thatsprayrenderingallows selective
progressive renement, i.e. the abilityfor a user to concentrate on the
3.2.4 Glyphs and Glyphmaker
\Glyphs are graphical objects whose attributes { position, size, shape,
color,orientation,etc. {areboundtodata. Theseobjectscanbeeectivein
depictingdiscrete data such as macromolecular structureand interactions,
butthey have alsoproved theirusefulnessinrepresenting variablessuch as
windspeedanddirectioninatmosphericdynamicssimulationsandobserva-
tions. Glyphsowetheireectivenesstohumaneye-brain system'sabilityto
discern nely resolved spatial relationshipsand dierences in shape. They
allowtheusertodisplayandcorrelateseveralvariablesatonce. Aresearcher
can,for example,distinguishtwovariablesbybinding themto thevisually
orthogonalrepresentations forshape distortion and pseudocoloring"[83 ].
Glyphmaker allowsnon-expertusersto customizetheirowngraphical
representations using a simple glyph editor and a point-and-click bind-
ing editor named glyph binder. In particular, users can create and then
alter bindings to visual representations, bring in new data or glyphs with
associatedbindings,changerangesforbounddata, anddo theseoperations
interactively.
3.2.5 Parametrized Geometric Objects
Inspiredbytheglyphmetaphordescribedabove,MulderandvanWijk[115,
64 ] imagined a similar object called Parametrized Geometric Object
(PGO).Theybuiltalsoan interactive toolnamed3D PGO editor,which
is part of their Computational Steering Environment (CSE). In this
environment,usersbind graphicalobjects { like sphere,cubesorcylinder{
tovariablesbyparametrizingthegeometryandattributesoftheirshapewith
databymeansofthePGOeditor. Becausethegoalofauthorsisto provide
a general environment for computational steering, they have implemented
atwo-waycommunicationbetweengraphicalobjectsanddatasothatusers
mayalso drive thesimulation byinteractingwithgraphicalobjects.
3.2.6 VTK actors
In VTK [93 ], Schroeder, Martin and Lorensen dened actors in order to
represent abstractly any entity in a renderingscene. Used at the ultimate
stage ofthe pipeline, an actor maintainsa reference to therenderingprop-
ertiesandthedeninggeometry,thatisgivenasinputbyamapperobject
convertingdatato graphicalprimitives. At theend,all actors arecollected
and put into an actors collection which is given in input to a general
3.3 Detailing the visualization mapping
By carefully examining the denition of the metaphors described above,
one notices two things. First, the authors of these metaphors systemati-
cally referred to the notion of object and, second, they introduced their
own solutionforthe bindingof dataand graphicalobjects with highlevel
mechanism,i.e. withouthavingrecourseto heavyprogrammingtechniques.
Undoubtedly,this kindof approach supercedes the classic notion of image
and hardcoded image processing techniques that were the foundations of
mostoldervisualization systems. Certainly themainreason forthat isthe
factthatrecentvisualizationsystemshavetointegrateadvancedinteractive
meansinorder to beaccessible forcasualusers. Thus, graphicalprimitives
aregroupedintoentitiessothattheuserscanmanagewell-identiedobjects.
In order to provide well-suited methaphors usable for a wide range of
applications,itisessentialto examineingreaterdetailthenotionofvisual-
izationmapping. HaberandMcNabbconsideredthevisualizationmapping
asan atomic operation that maps thederived data to graphical primitives
by means of a transfer function. However, it can be more interesting to
rene this denition and to decompose the visualization mapping in three
distinctsteps:
1. thedenitionofthe transferfunction,
2. theresult oftheapplication of thefunctionto given parameters,and
3. theresultsproducedbythemapping.
As we will see in the following sections, separating the function from its
applicationon parameters andfrom theresultsproducedallowsto imagine
usefulmetaphorsand abstractionsforeach ofthethree distinct steps.
3.3.1 Dening the transfer function
AsexplainedinSection3.1.2,thetransferfunctionisthemappingofderived
data onto a graphical representation. Forinstance, a transfer fonctioncan
be the mapping of the magnitude of the velocity at a given instant and
positiononto theheightofaconerepresentingalso thevelocitydirectionby
therotation anglearound its gravitycenter.
For manyvisualization techniques,the transfer functionis denedonce
and for all, but it is essential that the function can be adapted to fullll
the particular needs of users. Ideally, it should be possible to dene this
function interactively { as it is the case in Spray, Glyphmaker and CSE.
Butpractically,because mostmappingsarenon-trivial,onlytheexpression
3.3.2 Mapping the function on parameters
After the denition of the function and the set of parameters, the second
stageconsistsinapplyingthefunctionto theinstantiatedparameters. This
stepcorrespondstothevisualizationmappingtransformationoftheclassical
visualizationprocess (seeSection3.1.1). Itisgenerallyachieved bytheuser
orautomaticallybythesystem. Fourtypesof parameterscanbeidentied:
1. spatialparameters,
2. temporal parameters,
3. a sourceof data, forinstance,thedataset andeld of interest, and
4. renderingparameterssuchas,forinstance,acolormapforpseudocol-
oring.
Theparameterscanbeintroducedusingseveralinputdevicesasforinstance
keyboard, microphone, mouseorVR peripherals.
3.3.3 The results produced by the mapping
Then, theapplication of the functionto the parameters produces a result.
It mainly consists in a virtual object that is displayed onto the screen {
by taking into account the rendering parameters { as a graphical object.
Contrary to the classicvisualization process (see Section 3.1.1), the result
of the mapping is a virtual object existing in the mental representation of
the user. This object is no longer reduced to a displayable image but the
user is able to interact withit: this object is an indivisibleentity that the
usercan controldirectly.
The mappingcan also generate derived data: for example, thecreation
ofan isosurfaceusuallygenerates aclosed surfacewhose volume can bean
interestingquantityto visualize. Convenientmetaphorswillbe proposedin
thenextsectionsothattheuserscanhaveaccesstosuchconceptualobjects
inadirect and naturalway.
3.4 The visualization objects formalization
Theconceptofvisualization objectsthatwillbeproposedinthissection,
willdenethreesimplemetaphors{whoserolecanbeeasilyunderstood
bytheuserandwhichgeneralizemostvisualizationtechniques{correspond-
ingto thethree stepsdescribedin theprevioussection.
WeproposetorenetheconceptofHaberandMcNabb'sAVO[38 ],with
aslightlydierentmeaning,usingahierarchycomposedofthreeabstraction
Figure 3.3: Visualizationobjecthierarchy
An AVO (AbstractVisualizationObject) isa function that maps a
set of parameters onto a geometric object with certain properties.
Threeof themcan beidentiedbecause theyplayaparticular rolein
thecreation ofthe geometricobject:
{ thesource: thedataon which theAVOacts;
{ thetime: thetimeat whichtheAVO acts;
{ theregion of interest: theplace wheretheAVOacts.
The cutting plane is an example of such an AVO, thesource being a
scalar eld, the region of interest being a plane, and the color map
beingan additionalparameter.
A CVO (ConcreteVisualization Object) is a 3D object which exists
onlyinthe conceptual world of the user. The \semi-transparent cut-
ting plane of the temperature eld in the plane x = 7 and at time
t= 22" (with thecorresponding color, reectance and texture) is an
example of a CVO. A CVO thus encompasses attributes including
color,transparency,and soon. More formally:
CVO=AVO (parameters)
whereparameters =fsource, time, region of interest,...g
In the example we mentioned, the source is the temperature eld,
the timeis t=22, the region of interest is theplane x= 7, the rst