2011 2011 - - 1 1 - - 5 5 1 1 Scientific Visualization Scientific Visualization Spring 2011 Spring 2011
20112011--11--55 11
Scientific VisualizationScientific Visualization
Spring 2011Spring 2011
20112011--11--55 22
InstructorInstructor
Xiaoqiang WangXiaoqiang WangOffice: DSL 495Office: DSL 495Webpage: Webpage: –– http://people.sc.fsu.edu/~xwang/http://people.sc.fsu.edu/~xwang/Email: Email: [email protected]@.fsu.eduCourse Time: MWF 10:10am Course Time: MWF 10:10am –– 11:00 am11:00 amOffice Hour: MWF 11:00am Office Hour: MWF 11:00am –– 12:00 am12:00 am–– AppointmentAppointment
20112011--11--55 33
PrerequisitesPrerequisites
You will be writing programsYou will be writing programsEgEg. CGS 3406 . CGS 3406 –– OO PROGRAM IN C++ OO PROGRAM IN C++
An ability to learn a programming library An ability to learn a programming library on your ownon your own
OpenGLOpenGL
Comfortable with matrix algebra and Comfortable with matrix algebra and calculuscalculus
Basic linear algebra usedBasic linear algebra used
20112011--11--55 44
Course materialsCourse materialsNo textbook requiredNo textbook required–– Computer Graphics by Hearn and BakerComputer Graphics by Hearn and Baker–– Visualization HandbookVisualization Handbook
Lecture notesLecture notes
Research papersResearch papers–– Distributed/referred in classDistributed/referred in class
Web sourcesWeb sources
20112011--11--55 55
WorkWork
HomeworkHomework–– Programming assignments (60%)Programming assignments (60%)–– A paper and presentation (15%)A paper and presentation (15%)
Projects (25%)Projects (25%)–– Final projectFinal project
Late submission will be punished. Late submission will be punished. Academic dishonesty will be treated seriouslyAcademic dishonesty will be treated seriously–– Do not share code with another student or debug Do not share code with another student or debug
togethertogether
20112011--11--55 66
OutlineOutline
Course ContentCourse ContentWhatWhat’’s Visualization?s Visualization?Why we need Visualization?Why we need Visualization?Types of Visualization?Types of Visualization?Applications of Visualization?Applications of Visualization?History of Visualization History of Visualization -- The four phases The four phases of visualization.of visualization.The challenges of visualization.The challenges of visualization.
20112011--11--55 77
Computer Graphics for VisualizationComputer Graphics for VisualizationOpenGLOpenGLDrawing geometric objectsDrawing geometric objectsViewingViewingInterception and Culling Interception and Culling Lighting and ShadingLighting and ShadingSpecial topicsSpecial topics
20112011--11--55 88
Scientific VisualizationScientific Visualization
IsosurfaceIsosurface renderingrenderingVolume renderingVolume rendering–– SplattingSplatting–– RaycastingRaycastingVector and tensor visualizationVector and tensor visualizationSelected topicsSelected topics
20112011--11--55 99
What is Visualization?What is Visualization?
““A picture says more than a thousand A picture says more than a thousand wordswords”” (Chinese proverb)(Chinese proverb)““A picture says more than a thousand A picture says more than a thousand numbersnumbers”” (Slight variation of the Chinese (Slight variation of the Chinese proverb)proverb)
20112011--11--55 1010
What is Visualization?What is Visualization?Process of making a computer image or Process of making a computer image or graph for giving an insight on graph for giving an insight on data/informationdata/information–– Transforming abstract, physical Transforming abstract, physical
data/information to a form that can be seendata/information to a form that can be seen–– Interpreting in visual terms or putting into Interpreting in visual terms or putting into
visual forms (i.e., into pictures)visual forms (i.e., into pictures)Cognitive processCognitive process–– Form a mental image of somethingForm a mental image of something–– Internalize an understandingInternalize an understanding
20112011--11--55 1111
Visualization ProcessVisualization Process
Computation:-simulation/modeling
Measured/ScannedData:
-CT, MRI, ultrasound Financial data:-transactions per day
Data
Transform Map Display
20112011--11--55 1212
Viz vs. Graphics vs.. ImagingViz vs. Graphics vs.. Imaging
ImagingImaging -- Enhance, analyze, manipulate Enhance, analyze, manipulate images images GraphicsGraphics -- Make pictures! geometric Make pictures! geometric data is stored in the computer for the data is stored in the computer for the purposes of performing calculations and purposes of performing calculations and rendering 2D imagesrendering 2D imagesVisualizationVisualization -- Exploration, Exploration, transformation, viewing data as imagestransformation, viewing data as images
20112011--11--55 1313
Relation To Other FieldsRelation To Other Fields
Visualization
Vision
Signal/Image Processing
Illumination Engineering Optics
Computational Geometry
Applied Mathematics
Hardware User Interfaces
Psychology Cognition
20112011--11--55 1414
Extends our visionExtends our vision–– Removes limits of human vision in space, Removes limits of human vision in space,
time, frequency and complexitytime, frequency and complexity–– Creates images or pictures of things that Creates images or pictures of things that
otherwise can not be seenotherwise can not be seenSee an objectSee an object’’s internal structure (visible man)s internal structure (visible man)See things that are far away or slow in See things that are far away or slow in evolution (stars and nebulas)evolution (stars and nebulas)See microscopic world (crystal structure)See microscopic world (crystal structure)See things that move very fast (molecular See things that move very fast (molecular dynamics)dynamics)
Why?Why?
20112011--11--55 1515
Human Inner OrgansHuman Inner OrgansVisible (voxel) manVisible (voxel) man–– Reconstruction of Reconstruction of
human body from human body from tomographic datasets tomographic datasets of dissected real of dissected real bodybody
www.uke.uni-hamburg.de
20112011--11--55 1616
Stars and Emission NebulasStars and Emission NebulasVisualizing Visualizing Orion Orion Nebula:Nebula:
Nadeau et al., Computer Graphs Forum, 20: 27 (2001)
20112011--11--55 1717
Crystal StructureCrystal Structure
MgSiO3 MgSiO3 perovskiteperovskite
An orthorhombic An orthorhombic unit cellunit cell
Atomic Atomic coordination coordination
20112011--11--55 1818
Types of VisualizationTypes of VisualizationScientific VisualizationScientific Visualization–– Scientific dataScientific data
Information VisualizationInformation Visualization–– abstract data has no inherent spatial structure abstract data has no inherent spatial structure
thus it does not allow for a straightforward thus it does not allow for a straightforward mapping to any geometry with arbitrary mapping to any geometry with arbitrary relationshiprelationship
Data VisualizationData Visualization–– A more general term A more general term –– data sources beyond science such as financial, data sources beyond science such as financial,
marketing, or business datamarketing, or business data–– Broad enough to encompass both scientific and Broad enough to encompass both scientific and
information visualizationinformation visualization
20112011--11--55 1919
VisualizationVisualizationScientific Scientific VisualizationVisualization–– Visualization of Visualization of
physicalphysical datadata
Information Information VisualizationVisualization–– Visualization of Visualization of
abstractabstract datadata
Ozone layer around earthAutomobile web site- visualizing links
20112011--11--55 2020
Scientific VisualizationScientific VisualizationRelates to and represents something Relates to and represents something physical or geometricphysical or geometric–– Images of human brainImages of human brain–– Air flow over a wingAir flow over a wing
Data come from scientific computing Data come from scientific computing and measurementsand measurements
20112011--11--55 2121
Scientific ComputingScientific ComputingReal materials simulation/modelingReal materials simulation/modeling–– Electronic calculations Electronic calculations –– Atomistic MD (molecular dynamics) Atomistic MD (molecular dynamics)
modelingmodeling–– Finite element (continuum) modelingFinite element (continuum) modelingSolving differential equationsSolving differential equations–– Computational fluid dynamicsComputational fluid dynamics–– Temperature distribution Temperature distribution –– Electromagnetic fieldElectromagnetic field
20112011--11--55 2222
Applications Applications -- MeteorologyMeteorology
Pressure at levelsin atmosphere- illustrated by contour lines in aslice plane
Generated bythe Vis5D systemfrom University ofWisconsin (nowVis5d+) Vis5d: http://www.ssec.wisc.edu/~billh/vis5d.html
Vis5d+ : http://vis5d.sourceforge.net
20112011--11--55 2323
Applications Applications -- MedicineMedicine
From scanner data, we canvisualize 3D picturesof human anatomy, usingvolume rendering
Generated by Anatomy.TVused by medical studentsto learn anatomy
Look under Anatomy.TV in Library electronic resources
20112011--11--55 2424
Applications Applications –– Climate PredictionClimate Prediction
Simulation of 21Simulation of 21stst century climate evolution century climate evolution RealReal--time display of resultstime display of results
–– temperature, cloud, precipitation, etctemperature, cloud, precipitation, etcMassive ensemble of runs : distributed Massive ensemble of runs : distributed publicpublic--resource computing projectresource computing project
–– see see www.climateprediction.netwww.climateprediction.net to to participate!participate!
20112011--11--55 2525
Applications Applications –– Computational Computational Fluid DynamicsFluid Dynamics
Interface between Interface between immiscible fluidsimmiscible fluids–– e.g. oil / watere.g. oil / water
Loops and fingers Loops and fingers arise when mixing arise when mixing startsstarts–– RayleighRayleigh--Taylor Taylor
instabilityinstabilitySimulated on ASCII Simulated on ASCII Blue Pacific (Cook & Blue Pacific (Cook & DimotakisDimotakis, 2001), 2001)Interface visualized Interface visualized using a density using a density isosurfaceisosurface
20112011--11--55 2626
Applications Applications –– Computational Computational Fluid DynamicsFluid Dynamics
Flow of air around Flow of air around a cara car–– Vectors and Vectors and
particle paths particle paths illustrate flowillustrate flow
–– Coloured slice Coloured slice indicates indicates pressurepressure
20112011--11--55 2727
Applications Applications –– Integrative Integrative BiologyBiology
A large eA large e--science project on science project on Integrative BiologyIntegrative Biology
This involves modelling This involves modelling behaviour of human heart, and behaviour of human heart, and of cancer tumoursof cancer tumours
Visualization is of electrical Visualization is of electrical activity in heart, showing the activity in heart, showing the spiral wave pattern that is a spiral wave pattern that is a precursor to fibrillationprecursor to fibrillation
20112011--11--55 2828
Applications Applications -- AstronomyAstronomyThe The AstrogridAstrogrid project is project is building a virtual building a virtual observatoryobservatory
http://www.astrogrid.orghttp://www.astrogrid.org
http://www.eurovotech.orghttp://www.eurovotech.org
Visualization is a Visualization is a fundamental tool in fundamental tool in presenting star maps presenting star maps and in understanding and in understanding relationships between relationships between observationsobservations
20112011--11--55 2929
Imagination or visualization, and in particular the use of diagrImagination or visualization, and in particular the use of diagrams, ams, has a crucial part to play in scientific investigation.has a crucial part to play in scientific investigation.–– Who said this? When?Who said this? When?
There are many examples of the use of visualization Before There are many examples of the use of visualization Before Computers (BC)Computers (BC)–– graph plots in 10th centurygraph plots in 10th century–– business graphics in 18th century (business graphics in 18th century (PlayfairPlayfair))–– contour plots in 18th century (Halley)contour plots in 18th century (Halley)
Visualization BCVisualization BC
Answer: Rene Descartes, 1637
20112011--11--55 3030
The First VisualizationThe First Visualization
This and following two pictures are taken from BrianCollins ‘Data Visualization - Has it all been seen before?’in ‘Animation and Scientific Visualization’, Academic Press
20112011--11--55 3131
The First Business GraphicsThe First Business Graphics
20112011--11--55 3232
The First Contour MapThe First Contour Map
20112011--11--55 3333
From early days of computing, scientists From early days of computing, scientists have carried out numerical simulation have carried out numerical simulation -- and looked to visualization to help and looked to visualization to help understand the results.understand the results.Visualization systems have evolved in four Visualization systems have evolved in four different styles different styles -- all still in use today (so all still in use today (so not really history!)not really history!)
Early Computer VisualizationEarly Computer Visualization
20112011--11--55 3434
Subprogram LibrariesSubprogram Libraries1960 onwards1960 onwardsLibraries of subprograms to Libraries of subprograms to draw graphs, contour plots draw graphs, contour plots ……Scientists include calls to Scientists include calls to library routines from within library routines from within their own codetheir own codeLeading examples from 1970Leading examples from 1970-- 1985 era were:1985 era were:–– GHOST (UKAEA GHOST (UKAEA CulhamCulham))–– NAG Graphics LibraryNAG Graphics Library
20112011--11--55 3535
Subprogram LibrariesSubprogram LibrariesThis style continues This style continues todaytoday–– NAG Graphics Library NAG Graphics Library
still availablestill available–– vtkvtk C++ classes C++ classes
provide modern provide modern version of this styleversion of this style
Great flexibility Great flexibility –– but but need to programneed to programApplication Application Programming Programming InterfaceInterface
vtk : www.visualizationtoolkit.org
20112011--11--55 3636
From late 1970 onwardsFrom late 1970 onwardsSpecialist packages Specialist packages allowing data to be allowing data to be visualized using special visualized using special purpose scripting languagepurpose scripting languageExample:Example:–– gnuplotgnuplotwww.gnuplot.infowww.gnuplot.info
Less flexible, but simpler Less flexible, but simpler (provided commands are (provided commands are easy to learn!)easy to learn!)
gnuplot
Interactive PackagesInteractive Packages
20112011--11--55 3737
Interactive PackagesInteractive Packages
MatlabMatlab is a powerful is a powerful system for computation system for computation and visualizationand visualization–– Has its own CHas its own C--like like
languagelanguagewww.mathworks.comwww.mathworks.com
20112011--11--55 3838
Interactive PackagesInteractive Packages
This style continues This style continues todaytoday……R is a powerful R is a powerful interactive interactive environment for environment for statistical computation statistical computation and visualizationand visualizationFreely available Freely available –– for for both both linuxlinux and and WindowsWindows
20112011--11--55 3939
Interactive PackagesInteractive PackagesThe popularity of The popularity of spreadsheets has spreadsheets has brought a requirement to brought a requirement to provide visualization provide visualization chartscharts……Excel has a chart wizard Excel has a chart wizard to guide construction of a to guide construction of a variety of chart typesvariety of chart types……
20112011--11--55 4040
Recent surge of interest in scientific Recent surge of interest in scientific visualization was sparked by an NSF visualization was sparked by an NSF report: report: Visualization in Scientific ComputingVisualization in Scientific Computing–– McCormick, de McCormick, de FantiFanti and Brown and Brown --
19871987
Argued that investment in high Argued that investment in high performance computing in US was performance computing in US was wasted unless there was wasted unless there was corresponding investment in corresponding investment in visualizationvisualization
This motivated a third style of This motivated a third style of visualization system...visualization system...
Scientific VisualizationScientific Visualization
20112011--11--55 4141
From late 1980s onwardsFrom late 1980s onwardsScientific visualization seen as a sequence of simple Scientific visualization seen as a sequence of simple processing steps: processing steps: egeg contouringcontouring–– read in dataread in data–– create contour linescreate contour lines–– draw contour linesdraw contour lines
Systems provide modules implementing simple steps Systems provide modules implementing simple steps in a visualization pipelinein a visualization pipelineScientist uses Scientist uses ‘‘visual programmingvisual programming’’ to connect to connect modules together modules together
Visual Programming SystemsVisual Programming Systems
20112011--11--55 4242
Visual Programming Visual Programming -- IRIS IRIS ExplorerExplorer
20112011--11--55 4343
Visual programming allows easy experimentation which Visual programming allows easy experimentation which is what one needs in visualizationis what one needs in visualizationExamples are:Examples are:–– AmiraAmira
www.amira.comwww.amira.com–– IRIS ExplorerIRIS Explorer
www.nag.co.ukwww.nag.co.uk–– AVS AVS
www.avs.comwww.avs.com–– OpenDXOpenDX (grown from IBM Visualization Data (grown from IBM Visualization Data
Explorer)Explorer)www.opendx.orgwww.opendx.org
Visual Programming SystemsVisual Programming Systems
20112011--11--55 4444
ServiceService--based Visualizationbased Visualization
The Internet era has The Internet era has introduced a fourth introduced a fourth style of system style of system –– where a visualization where a visualization ‘‘serviceservice’’ is delivered is delivered over the internet over the internet using Web using Web technologiestechnologiesClientClient--side with Java side with Java appletsapplets……..
www.sdsc.edu/vizwiz
20112011--11--55 4545
ServiceService--based Visualizationbased Visualization
…… or server sideor server sideHere a form on a web Here a form on a web page is used to make a page is used to make a visualization visualization ‘‘requestrequest’’Processed by a Processed by a visualization system on visualization system on server and returned to server and returned to client as VRML client as VRML –– the Web the Web standard for 3D graphicsstandard for 3D graphics
20112011--11--55 4646
Service Based VisualizationService Based Visualization
KartooKartoo allows you to allows you to visualize results of visualize results of web searches..web searches..See:See:
www.kartoo.comwww.kartoo.com
Search for ‘Scientific Visualization’
20112011--11--55 4747
These four phases correlate with four phases in computing These four phases correlate with four phases in computing generallygenerallySubprogram librariesSubprogram libraries–– begun in era of batch computingbegun in era of batch computing
Interactive packagesInteractive packages–– begun in era of interactive computing, with terminals connected begun in era of interactive computing, with terminals connected
to hostto hostVisual programming systemsVisual programming systems–– begun in era of workstation computing, with graphical user begun in era of workstation computing, with graphical user
interfacesinterfacesServiceService--based visualizationbased visualization–– begun in era of internet computingbegun in era of internet computing
The Four Phases of Visualization The Four Phases of Visualization SystemsSystems
20112011--11--55 4848
Challenges?Challenges?ScaleScaleDimensionalityDimensionalityData typesData typesPresentationPresentationInteractivityInteractivity
20112011--11--55 4949
Data ExplosionData ExplosionHow to make sense out of the datasets How to make sense out of the datasets when they become very largewhen they become very large
Scientific dataScientific data–– A millionA million--atom simulation: 7 GB/stepatom simulation: 7 GB/step–– Satellite or space station: TB/daySatellite or space station: TB/day–– MRI dataset: 2563 = 16 MB/sliceMRI dataset: 2563 = 16 MB/slice–– Laser scanning: 2 million points/minuteLaser scanning: 2 million points/minute
20112011--11--55 5050
DimensionalityDimensionalityThree dimension (trivariate data)Three dimension (trivariate data)–– We are in 3D worldWe are in 3D world–– Volume visualization (mapping 3D data to Volume visualization (mapping 3D data to
2D screen)2D screen)MultidimensionMultidimension (hypervariate data)(hypervariate data)–– Car attributes: Make, model, year, miles Car attributes: Make, model, year, miles
per gallon, cost, no. of cylinders, size, per gallon, cost, no. of cylinders, size, weight weight
–– How to display relationships between many How to display relationships between many variablesvariables
20112011--11--55 5151
Data TypesData TypesStructured versus unstructured dataStructured versus unstructured data–– Unstructured (irregular) data are less compact and Unstructured (irregular) data are less compact and
efficientefficient–– Preprocessing of data Preprocessing of data
Scalar, vector and tensor dataScalar, vector and tensor data–– Density, temperature Density, temperature –– Data from flow dynamicsData from flow dynamics–– StressStress--strain datastrain data
NonNon--numerical datanumerical data–– Ordinal: days of the weekOrdinal: days of the week–– Categorical data: names of animalsCategorical data: names of animals
20112011--11--55 5252
Presentation ProblemPresentation ProblemDisplay without ambiguityDisplay without ambiguity–– Colors, lighting, translucent, animation, Colors, lighting, translucent, animation,
texture mappingtexture mappingToo much data for too little display area Too much data for too little display area (screen)(screen)–– Too many casesToo many cases–– Too many variablesToo many variablesNeed to highlight particular cases or Need to highlight particular cases or variablesvariables
20112011--11--55 5353
InteractivityInteractivityVisualization is naturally interactiveVisualization is naturally interactive–– RealReal--time interactions, time interactions, i.ei.e, virtual , virtual
environments environments –– Show multiple different perspectives on the Show multiple different perspectives on the
datadata
20112011--11--55 5454
ReviewReview
WhatWhat’’s Visualization?s Visualization?Why we need Visualization?Why we need Visualization?Types of Visualization?Types of Visualization?Applications of Visualization?Applications of Visualization?History of Visualization History of Visualization -- The four phases The four phases of visualization.of visualization.The challenges of visualization.The challenges of visualization.