CADIP Information Visualization Work: SFA David S. Ebert David S. Ebert Computer Science & Electrical Computer Science & Electrical Engineering Department Engineering Department University of Maryland Baltimore University of Maryland Baltimore County County [email protected][email protected]Christopher D. Shaw Christopher D. Shaw Computer Science Department Computer Science Department University of Regina University of Regina [email protected][email protected]
55
Embed
CADIP Information Visualization Work: SFA David S. Ebert Computer Science & Electrical Engineering Department University of Maryland Baltimore County [email protected].
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CADIP Information Visualization Work: SFA
David S. EbertDavid S. Ebert
Computer Science & Electrical Computer Science & Electrical Engineering Department Engineering Department
University of Maryland Baltimore University of Maryland Baltimore CountyCounty
BackgroundBackgroundVisualization Goals and ChallengesVisualization Goals and ChallengesSFA OverviewSFA OverviewProcedural Shape VisualizationProcedural Shape Visualization• ResultsResults
Recent Work with SFARecent Work with SFA• New FeaturesNew Features• Interactive Lens VisualizationInteractive Lens Visualization
Future DirectionsFuture Directions
BackgroundBackgroundVisualization Goals and ChallengesVisualization Goals and ChallengesSFA OverviewSFA OverviewProcedural Shape VisualizationProcedural Shape Visualization• ResultsResults
Recent Work with SFARecent Work with SFA• New FeaturesNew Features• Interactive Lens VisualizationInteractive Lens Visualization
Future DirectionsFuture Directions
Background & Introduction
Visualization Visualization • Transforms the abstract and symbolic Transforms the abstract and symbolic
into the geometricinto the geometric• Harnesses the human perception Harnesses the human perception
system (visual?)system (visual?)
Glyph-based Volume RenderingGlyph-based Volume Rendering• Advantages of volume renderingAdvantages of volume rendering
• Encodes multidimensional and Encodes multidimensional and multivariate informationmultivariate information
Visualization Visualization • Transforms the abstract and symbolic Transforms the abstract and symbolic
into the geometricinto the geometric• Harnesses the human perception Harnesses the human perception
system (visual?)system (visual?)
Glyph-based Volume RenderingGlyph-based Volume Rendering• Advantages of volume renderingAdvantages of volume rendering
• Encodes multidimensional and Encodes multidimensional and multivariate informationmultivariate information
Visualization Goal & Strategy
Goal:Goal:• Effectively convey information to the userEffectively convey information to the user
• Increase the quantity and clarity of the informationIncrease the quantity and clarity of the information
• Display only as much information as is perceptually Display only as much information as is perceptually understandableunderstandable
Strategy: Strategy:
• Use perceptual cues to aid understanding of Use perceptual cues to aid understanding of multidimensional and multivariate datamultidimensional and multivariate data
Goal:Goal:• Effectively convey information to the userEffectively convey information to the user
• Increase the quantity and clarity of the informationIncrease the quantity and clarity of the information
• Display only as much information as is perceptually Display only as much information as is perceptually understandableunderstandable
Strategy: Strategy:
• Use perceptual cues to aid understanding of Use perceptual cues to aid understanding of multidimensional and multivariate datamultidimensional and multivariate data
Interface Goal & Strategy
Want 3D User Interfaces that are as easy to use as Want 3D User Interfaces that are as easy to use as the WIMP stylethe WIMP style
• Use 3D Input devicesUse 3D Input devices
• Exploit 3D perception with animation & interactionExploit 3D perception with animation & interaction
• Enable fine manipulationEnable fine manipulation
• Avoid user pain and fatigueAvoid user pain and fatigue
Want 3D User Interfaces that are as easy to use as Want 3D User Interfaces that are as easy to use as the WIMP stylethe WIMP style
• Use 3D Input devicesUse 3D Input devices
• Exploit 3D perception with animation & interactionExploit 3D perception with animation & interaction
• Enable fine manipulationEnable fine manipulation
• Avoid user pain and fatigueAvoid user pain and fatigue
Challenge
Rate of Information Increase Greater than Screen Rate of Information Increase Greater than Screen Resolution IncreaseResolution Increase
• Rapid increase in number of information sourcesRapid increase in number of information sources
• Bandwidth of sources increasingBandwidth of sources increasing
More Effective Visualization TechniquesMore Effective Visualization Techniques
Effective Use of Human PerceptionEffective Use of Human Perception• Utilize visual perception characteristics Utilize visual perception characteristics
• Add shading cues & stereopsis to increase pre-attentive 3D Add shading cues & stereopsis to increase pre-attentive 3D perceptionperception
• Utilize proprioception - body’s innate sense of its position in Utilize proprioception - body’s innate sense of its position in spacespace
More Effective Visualization TechniquesMore Effective Visualization Techniques
Effective Use of Human PerceptionEffective Use of Human Perception• Utilize visual perception characteristics Utilize visual perception characteristics
• Add shading cues & stereopsis to increase pre-attentive 3D Add shading cues & stereopsis to increase pre-attentive 3D perceptionperception
• Utilize proprioception - body’s innate sense of its position in Utilize proprioception - body’s innate sense of its position in spacespace
Automatic Generation of Shapes for Data Automatic Generation of Shapes for Data VisualizationVisualization
Map Data Range to the Parameter RangeMap Data Range to the Parameter Range
+ EasyEasy
+ Supports continuous data rangesSupports continuous data ranges
+ Parameterization generates a visual orderParameterization generates a visual order
– May be very slow to generate shapesMay be very slow to generate shapes
Automatic Generation of Shapes for Data Automatic Generation of Shapes for Data VisualizationVisualization
Map Data Range to the Parameter RangeMap Data Range to the Parameter Range
+ EasyEasy
+ Supports continuous data rangesSupports continuous data ranges
+ Parameterization generates a visual orderParameterization generates a visual order
– May be very slow to generate shapesMay be very slow to generate shapes
Parameterized Procedural Shape Visualization
Exploring Three Approaches:Exploring Three Approaches:
•Fractal DetailFractal Detail
• Vary surface roughness from Vary surface roughness from smooth to mountainoussmooth to mountainous
– Data value determines Data value determines amount of fractal amount of fractal perturbation to the surfaceperturbation to the surface
•SuperellipsoidsSuperellipsoids
•Implicit SurfacesImplicit Surfaces
Exploring Three Approaches:Exploring Three Approaches:
•Fractal DetailFractal Detail
• Vary surface roughness from Vary surface roughness from smooth to mountainoussmooth to mountainous
– Data value determines Data value determines amount of fractal amount of fractal perturbation to the surfaceperturbation to the surface
•SuperellipsoidsSuperellipsoids
•Implicit SurfacesImplicit Surfaces
Superquadrics - Superellipsoids
Introduced to Graphics by Barr in 1981Introduced to Graphics by Barr in 1981Extends Quadric Surfaces Extends Quadric Surfaces • With two exponents that control the overall With two exponents that control the overall
““roundness”roundness” or “ or “pointiness”pointiness” of the shape. of the shape.
Introduced to Graphics by Barr in 1981Introduced to Graphics by Barr in 1981Extends Quadric Surfaces Extends Quadric Surfaces • With two exponents that control the overall With two exponents that control the overall
““roundness”roundness” or “ or “pointiness”pointiness” of the shape. of the shape.
infinity2,1,
(1sin
)(2sin(1cos
)(2cos(1cos
< < 0 ,Π ≤ ≤Π−2
Π<Θ<
2
Π−
)Θ=
)Θ=
)Θ=
nn
nzrz
nnyry
nnxrx
β
β
β
Superellipsoids
QuickTime™ and aCompact Video decompressor
are needed to see this picture.
Perception of Superellipsoid Shapes
Just Noticeable Difference Experiment Just Noticeable Difference Experiment Completed Completed (Chris Shaw)(Chris Shaw)
Both Exponents Changed TogetherBoth Exponents Changed Together
InfoViz and Shakespeare’s Richard II and Richard III
Recent Work with SFA
New FeaturesNew Features
• Multi-vector / glyph display Multi-vector / glyph display added (3 data dimensions added (3 data dimensions mapped to each vector direction)mapped to each vector direction)
• Data filtering for each data Data filtering for each data dimensiondimension
• Communication with Fanatic Communication with Fanatic TelltaleTelltale
• Communication with Jackal Communication with Jackal agent completedagent completed
New FeaturesNew Features
• Multi-vector / glyph display Multi-vector / glyph display added (3 data dimensions added (3 data dimensions mapped to each vector direction)mapped to each vector direction)
• Data filtering for each data Data filtering for each data dimensiondimension
• Communication with Fanatic Communication with Fanatic TelltaleTelltale
• Communication with Jackal Communication with Jackal agent completedagent completed
• Standard 2HI techniques now Standard 2HI techniques now overloaded on mouse interface overloaded on mouse interface (subsetting, scale, rotation, (subsetting, scale, rotation, zoom) zoom)
– Only 2HI feature not available in Only 2HI feature not available in mouse interface is the Slice Viewmouse interface is the Slice View
• Standard 2HI techniques now Standard 2HI techniques now overloaded on mouse interface overloaded on mouse interface (subsetting, scale, rotation, (subsetting, scale, rotation, zoom) zoom)
– Only 2HI feature not available in Only 2HI feature not available in mouse interface is the Slice Viewmouse interface is the Slice View
How to Get Update Rates > 10 Updates/sec?How to Get Update Rates > 10 Updates/sec?• Buy a fast graphics computerBuy a fast graphics computer• Separate application from graphicsSeparate application from graphics
How to Get Update Rates > 10 Updates/sec?How to Get Update Rates > 10 Updates/sec?• Buy a fast graphics computerBuy a fast graphics computer• Separate application from graphicsSeparate application from graphics
Lag Is the Time From User Input to Graphics Lag Is the Time From User Input to Graphics ResponseResponseSum of Lags in SystemSum of Lags in System+ Tracker lagTracker lag+ Data transmission lagData transmission lag+ Drawing lagDrawing lag
How to Get Low Lags?How to Get Low Lags?• Predictive filtersPredictive filters• Tuning tracker data timingTuning tracker data timing• Fast update rateFast update rate
Lag Is the Time From User Input to Graphics Lag Is the Time From User Input to Graphics ResponseResponseSum of Lags in SystemSum of Lags in System+ Tracker lagTracker lag+ Data transmission lagData transmission lag+ Drawing lagDrawing lag
How to Get Low Lags?How to Get Low Lags?• Predictive filtersPredictive filters• Tuning tracker data timingTuning tracker data timing• Fast update rateFast update rate
Multi-Threaded Drawing
Another Solution Class:Another Solution Class:
• Draw in multiple frame buffer segments simultaneouslyDraw in multiple frame buffer segments simultaneously
Draw 3D Cursors on Overlay PlanesDraw 3D Cursors on Overlay Planes
• Perform 3D interaction in real timePerform 3D interaction in real time
Draw “Full 3D” Scene in RGB + Z PlanesDraw “Full 3D” Scene in RGB + Z Planes
• Allow different update rates on the screenAllow different update rates on the screen
• Same advantage as mouse cursor + menus on a 2D frame Same advantage as mouse cursor + menus on a 2D frame bufferbuffer
Another Solution Class:Another Solution Class:
• Draw in multiple frame buffer segments simultaneouslyDraw in multiple frame buffer segments simultaneously
Draw 3D Cursors on Overlay PlanesDraw 3D Cursors on Overlay Planes
• Perform 3D interaction in real timePerform 3D interaction in real time
Draw “Full 3D” Scene in RGB + Z PlanesDraw “Full 3D” Scene in RGB + Z Planes
• Allow different update rates on the screenAllow different update rates on the screen
• Same advantage as mouse cursor + menus on a 2D frame Same advantage as mouse cursor + menus on a 2D frame bufferbuffer
Video
Video Shows:Video Shows:
• SFA with multi-threaded 3D trackersSFA with multi-threaded 3D trackers
Video Shows:Video Shows:
• SFA with multi-threaded 3D trackersSFA with multi-threaded 3D trackers
Multi-Thread Advantages
Allows Real-time Update of 3D Tracker CursorsAllows Real-time Update of 3D Tracker Cursors
• Overlay update can do menu interactionOverlay update can do menu interaction
– Interaction with syntactic elementsInteraction with syntactic elements
• RGB update can take as long as it likesRGB update can take as long as it likes
• Limited semantic update is possibleLimited semantic update is possible
– picking on the front-buffer data setpicking on the front-buffer data set
• Both RGB and Overlay threads are separate from any Both RGB and Overlay threads are separate from any “Computation” process or thread“Computation” process or thread
Allows Real-time Update of 3D Tracker CursorsAllows Real-time Update of 3D Tracker Cursors
• Overlay update can do menu interactionOverlay update can do menu interaction
– Interaction with syntactic elementsInteraction with syntactic elements
• RGB update can take as long as it likesRGB update can take as long as it likes
• Limited semantic update is possibleLimited semantic update is possible
– picking on the front-buffer data setpicking on the front-buffer data set
• Both RGB and Overlay threads are separate from any Both RGB and Overlay threads are separate from any “Computation” process or thread“Computation” process or thread
Plans
• Create More Java-based Create More Java-based Tools (e.g., Alpha, Colormap Tools (e.g., Alpha, Colormap Editors)Editors)
• Continue to Develop Version Continue to Develop Version That Communicates With That Communicates With Current Agency ToolsCurrent Agency Tools
• Experiment with Performance Experiment with Performance of Java-based Glyph of Java-based Glyph VisualizationVisualization
• Add Isosurface Rendering for Add Isosurface Rendering for Cluster and Metadata DisplayCluster and Metadata Display
• Explore Metadata Explore Metadata Visualization Techniques and Visualization Techniques and Visualization of LSI ResultsVisualization of LSI Results
• Extend Perceptual Studies to Extend Perceptual Studies to User Studies of SFAUser Studies of SFA
• Add Isosurface Rendering for Add Isosurface Rendering for Cluster and Metadata DisplayCluster and Metadata Display
• Explore Metadata Explore Metadata Visualization Techniques and Visualization Techniques and Visualization of LSI ResultsVisualization of LSI Results
• Extend Perceptual Studies to Extend Perceptual Studies to User Studies of SFAUser Studies of SFA
Conclusion
Glyph Rendering AllowsGlyph Rendering Allows • Comprehensible display of multiple variablesComprehensible display of multiple variables• Spatialization of complex relationshipsSpatialization of complex relationships
Minimally-immersive Visualization AidsMinimally-immersive Visualization Aids • 3D perception and feature detection 3D perception and feature detection
Procedural Shape Generation Procedural Shape Generation • Useful for encoding multiple data dimensions (1-14)Useful for encoding multiple data dimensions (1-14)• Allows visual exploration of information spacesAllows visual exploration of information spaces
More Effective Use of the Human Perceptual More Effective Use of the Human Perceptual System is Essential for VisualizationSystem is Essential for Visualization
Glyph Rendering AllowsGlyph Rendering Allows • Comprehensible display of multiple variablesComprehensible display of multiple variables• Spatialization of complex relationshipsSpatialization of complex relationships
Minimally-immersive Visualization AidsMinimally-immersive Visualization Aids • 3D perception and feature detection 3D perception and feature detection
Procedural Shape Generation Procedural Shape Generation • Useful for encoding multiple data dimensions (1-14)Useful for encoding multiple data dimensions (1-14)• Allows visual exploration of information spacesAllows visual exploration of information spaces
More Effective Use of the Human Perceptual More Effective Use of the Human Perceptual System is Essential for VisualizationSystem is Essential for Visualization
Acknowledgments - Collaborators
UMBC / Baltimore / D.C.UMBC / Baltimore / D.C.
• Randy Rohrer (DoD)Randy Rohrer (DoD)
• Aaron Roberts (NASA)Aaron Roberts (NASA)
• Jim Kukla, Pradyut Panda, Ted Jim Kukla, Pradyut Panda, Ted Bedwell, Amen ZwaBedwell, Amen Zwa
• Chris Morris, Alex Eller, Joe Chris Morris, Alex Eller, Joe Romano, Ian SoboroffRomano, Ian Soboroff
U. Regina / U. WashingtonU. Regina / U. Washington
• James Hall, Dee Jay Randall, James Hall, Dee Jay Randall, Brook Bakay, Christine Blahut, Brook Bakay, Christine Blahut, Ben Korvemaker, Aaron JonesBen Korvemaker, Aaron Jones
U. Regina / U. WashingtonU. Regina / U. Washington
• James Hall, Dee Jay Randall, James Hall, Dee Jay Randall, Brook Bakay, Christine Blahut, Brook Bakay, Christine Blahut, Ben Korvemaker, Aaron JonesBen Korvemaker, Aaron Jones