Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo Nicholas Del Rio CyberShARE Center University of Texas at El.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

VisKo: Enabling Visualization Generation Over the Web Nicholas Del Rio – UTEP Paulo Pinheiro - PNNL 1
Configuration management
Configuration management
ParaView Tutorial Greg Johnson, Karla Vega. Before we begin… Make sure you have ParaView installed so you can follow along in the lab section –
SPICE! An Ontology Based Web Application By Angela Maduko and Felicia Jones Final Presentation For CSCI8350: Enterprise Integration.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Surfing the Service Web Sudhir Agarwal, Siegfried Handschuh, and Steffen Staab Presenter: Yihong Ding.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo University of Texas at El Paso Computer Science.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Ontology-derived Activity Components for Composing Travel Web Services Matthias Flügge Diana Tourtchaninova
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
AIRNow-International The future of the United States real-time air quality reporting and forecasting program and GEOSS participation John E. White U.S.
Configurable User Interface Framework for Cross-Disciplinary and Citizen Science Presented by: Peter Fox Authors: Eric Rozell, Han Wang, Patrick West,
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
VTK: The Visualization Toolkit Part I: Overview and object models March 28, 2001.
Free Open-Source, Open- Platform System for Information Mash-Up and Exploration in Earth Science Tawan Banchuen, Will Smart, Brandon Whitehead, Mark Gahegan,
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Introduction to MDA (Model Driven Architecture) CYT.
Development of Front End Tools for Semantic Grid Services Dr.S.Thamarai Selvi, Professor & Head, Dept. of Information Technology, Madras Institute of Technology,
GCMD/IDN STATUS AND PLANS Stephen Wharton CWIC Meeting February19, 2015.
GMT: The Generic Mapping Tools Paul Wessel, Walter H.F. Smith and the GMT team.
1 Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011.
Configuration Management (CM)
A Query Translation Scheme for Rapid Implementation of Wrappers Presented By Preetham Swaminathan 03/22/2007 Yannis Papakonstantinou, Ashish Gupta, Hector.
The Generic Gaming Engine Andrew Burke Advisor: Prof. Aaron Cass Abstract Games have long been a source of fascination. Their inherent complexity has challenged.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Eurostat Expression language (EL) in Eurostat SDMX - TWG Luxembourg, 5 Jun 2013 Adam Wroński.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
VTK. VTK Online Resources On-line Resources VTK –Manual: –Examples:
Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo Paulo Pinheiro da Silva and Nicholas Del Rio CyberShARE Center.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
©Ferenc Vajda 1 Semantic Grid Ferenc Vajda Computer and Automation Research Institute Hungarian Academy of Sciences.
GEON Cyberinfrastructure Workshop Beijing, China, July 21-23, 2006 Workflow-Driven Ontologies for the Geosciences Leonardo Salayandía The University of.
NA-MIC, 2008 June Workshop, IHK Akademie Westerham VTK
VTK: The Visualization Toolkit Qaiser Chaudry Georgia Institute of Technology June 28, 2006.
Semantic Technologies and Application to Climate Data M. Benno Blumenthal IRI/Columbia University CDW /04-01.
GEON2 and OpenEarth Framework (OEF) Bradley Wallet School of Geology and Geophysics, University of Oklahoma
WDO-It! 102 Workshop: Using an abstraction of a process to capture provenance UTEP’s Trust Laboratory NDR HP MP.
A Logical Framework for Web Service Discovery The Third International Semantic Web Conference Hiroshima, Japan, Michael Kifer 1, Rubén Lara.
Preliminary Ocean Project Page 1 WGISS SG May 15, C. Caspar G. Tandurella P. Goncalves G. Fallourd I. Petiteville Preliminary Ocean Project Phase.
Supported in part by the National Science Foundation under Grant No. HRD Any opinions, findings, and conclusions or recommendations expressed.
Visualization Knowledge Query Language (VKQL) Workshop Nicholas Del Rio University of Texas at El Paso Computer Science.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Geoinformatics 2006 University of Texas at El Paso Evaluating BDI Agents to Integrate Resources Over Cyberinfrastructure Leonardo Salayandía The University.
ESIP Semantic Web Products and Services ‘triples’ “tutorial” aka sausage making ESIP SW Cluster, Jan ed.
Visualization with ParaView. Before we begin… Make sure you have ParaView 3.14 installed so you can follow along in the lab section –
NeuroLOG ANR-06-TLOG-024 Software technologies for integration of process and data in medical imaging A transitional.
Distributed Data Analysis & Dissemination System (D-DADS ) Special Interest Group on Data Integration June 2000.
CHAPTER 4 THE VISUALIZATION PIPELINE. CONTENTS The focus is on presenting the structure of a complete visualization application, both from a conceptual.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Supported in part by the National Science Foundation under Grant No. HRD Any opinions, findings, and conclusions or recommendations expressed.
A Declarative Domain-Free Approach for Querying and Generating Visualizations Nicholas Del Rio 1 1 Committee Chair:Dr. Paulo Pinheiro 1 Dr. Vladik Kreinovich.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
OSSIM Technology Overview Mark Lucas. “Awesome” Open Source Software Image Map (OSSIM)
VisKo: Enabling Visualization Generation Over the Web Nicholas Del Rio – UTEP Paulo Pinheiro - PNNL 1
Data Format Description Language (DFDL) WG Martin Westhead EPCC, University of Edinburgh
Distribution and components
Web Ontology Language for Service (OWL-S)
Multi-agent system for web services
Chapter 2 Database Environment.
Service-centric Software Engineering
Presentation transcript:

Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo Nicholas Del Rio CyberShARE Center University of Texas at El Paso

Overview 1.A Visualization Example 2.Toolkits and Visualization Pipelines 3.Visualization Query 4.Automated Generation of Visualization pipelines 5.Ontological Description of Visualization Pipelines 6.Conclusions

Velocity Model Visualization A set of isosurfaces – Visualization derived from a seismic velocity model – Covers a region in southern New Mexico 8 km/s 3 km/s Depth

Visualizing the Velocity Model Visualization generated by custom Java application – relied on Visualization Toolkit (VTK) for rendering – VTK is a toolkit for rendering 3D visualizations – VTK is supported by Sandia, Los Alamos, ARL, and others Writing a custom visualization application in general: – rely on third party package to support rendering – may perform transformations on input dataset to comply to third party rendering software

Program For Velocity Visualization vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100);

What Information is Needed? Regarding visualization, users need to know: – Views that suits the data (e.g., contours, map, surfaces) – Properties the view should exhibit (e.g., orientation, projection, color, size) Regarding datasets, users may need to know: – Format data is encoded in (e.g., netCDF, ESRI) – Semantic type of the data (e.g., gravity, velocity)

What Information is Needed? Regarding third party rendering software: – Views it can generate – Data format it ingests – Any Performance claims (e.g., parallel computations) – Interfacing language (e.g., Java, C++, C-Shell) – Dependent packages that must be installed

Writing the Program Once you understand your dataset and visualization toolkit capabilities, you can develop your vis. app. Some portion of the code will transform input datasets into formats that can be rendered The rest of the code will: – Gather suitable arguments for the rendering (from configuration files or user input) – Invoke the renderer with the arguments

Velocity Model Visualization Program The program that generated the velocity model visualization: – Relies on VTK for rendering – Renders the data as isosurfaces – Ingests data in format binaryFloatArray – transforms binaryFloatArray to VTKImageData – Ingests data of type 3DVelocityModel – Is not ready for parallel execution – Is written in Java

Overview 1.A Visualization Example 2.Toolkits and Visualization Pipelines 3.Visualization Query 4.Automated Generation of Visualization pipelines 5.Ontological Description of Visualization Pipelines 6.Conclusions

Visualization Toolkits VTK is a toolkit that provides functions such as: – Filtering – Gridding/interpolating – Mapping (i.e., transform data into views like isosurfaces) – Rendering Functions are referred to as operators – Generic mapping tools (GMT): 60 operators – VTK: hundreds of operators

Visualization Pipeline Model VTK requires that users write pipelines – the output of an operator feeds into the operator next in the pipeline sequence – first operator in pipeline is usually data reader The Java program that visualizes the velocity model can be seen as a pipeline of VTK operators It is up to the users to write these pipelines…

VTK Java Pipeline For Velocity Model vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100);

Pipeline of Visualization Operators vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100); Op 1 Op 2 Op 3 Op 5 Op 6 Op 7 Op 8

Different Types of Operators vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100); Op 1 Op 2 Op 3 Op 5 Op 6 Op 7 Op 8 Data Reader View Mapper Renderer Transformer

Operators are Parameterized vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100); Op 1 Op 2 Op 3 Op 5 Op 6 Op 7 Op 8 P1 P2 P5 P6 P7 P8 P9 P3 P4

What Kind of Skills are Currently required by a user? Knows about different views Knows what toolkits support a particular view Knows what toolkits operate on a particular data Knows how to install a visualization toolkit Knows what language the toolkit is built on Knows what operators need to compose a pipeline Knows suitable arguments for the operators Knows how to develop software

Overview 1.A Visualization Example 2.Toolkits and Visualization Pipelines 3.Visualization Query 4.Automated Generation of Visualization pipelines 5.Ontological Description of Visualization Pipelines 6.Conclusions

Declarative Requests Many user skills needed to visualize data A large part of the problem is engineering (i.e., software development) Most software, including visualization, are developed using imperative language such as C++ and Java. Can we provide a means for users to generate visualizations declaratively (i.e., specify what visualization they want without having to code)?

Visualization Query The velocity model visualization was actually a result of a visualization query: SELECT visko:isosurfaces IN-VIEWER visko:firefox FROM FORMAT formats:BINARYFLOATARRAY TYPE types:d2 WHEREparams:xRotation = 104AND params:contourMin = 0AND params:contourMin = View & Viewer Data URL, Format & Type Parameter Bindings

Visualization Queries and SQL Visualization queries mirror SQL queries – SQL query request is specified declaratively – SQL request is then translated into a query plan – query plan computes the result requested by the SQL query Information specified in visualization queries is used to derive pipelines rather than query plans The pipeline in turn generates the visualization requested in the query

Visualization Query Challenges What kind of knowledge is needed to generate pipelines that answer visualization queries? What infrastructure can leverage the knowledge to support the generation and execution of the pipelines?

VisKo Project Claims VisKo supplements user skills with visualization knowledge to compose pipelines VisKo is a framework for: – Encoding user skills into visualization knowledge – Managing visualization knowledge – Automatically generating pipelines from visualization knowledge – Automatically generateingvisualizations by executing pipelines

vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100); Imperative Code vs. VisKo Queries SELECT visko:isosurfaces IN-VIEWER visko:firefox FROM FORMAT formats:BINARYFLOATARRAY TYPE types:d2 WHEREparams:xRotation = 104AND params:contourMin = 0AND params:contourMin = SELECT visko:isosurfaces IN-VIEWER visko:firefox FROM FORMAT formats:BINARYFLOATARRAY TYPE types:d2 WHEREparams:xRotation = 104AND params:contourMin = 0AND params:contourMin =

Overview 1.A Visualization Example 2.Toolkits and Visualization Pipelines 3.Visualization Query 4.Automated Generation of Visualization pipelines 5.Ontological Description of Visualization Pipelines 6.Conclusions

A Pipeline Synthesized by VisKo data flow operators parameters

VisKo Pipeline Composition The query contains information about: – the input format of the data to be visualized – the target view the data should be transformed to From target view: – Identify operator that generates view (i.e. view mapper) From view mapper operator: – identify format it operates on (i.e., target format) Find sequence of operators that transforms the input format (and type) to target format (and type)

Information From Query hasView Binary Float Array hasFormat Dataset Information from Query Isosurfaces view

Knowledge about Toolkit Operators vtk Contour Filter vtk Poly Data input format Output format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view

The Knowledge is Linked vtk Contour Filter vtk Poly Data in format out format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view Both query and operator reference “isosurfaces”

Format Transformation? vtk Contour Filter vtk Poly Data in format out format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view

Required Pipeline vtk Contour Filter vtk Poly Data in format out format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view

Multiple Results Example Visualization Query No view specified! Wildcard * Input format is ESRI Gridded Data is of type Gravity Data (i.e., d19) This is an explorative query and can be used when users want to browse the different kinds of visualizations possible for their data

Multiple Results Example Visualization ResultsResponsible Pipeline VisKo was able to generate twenty seven different pipelines and thus twenty seven visualizations, given the query and visualization knowledge currently loaded

Multiple Visualizations Example GMT:Raster NCL:Raster GMT:Contours GMT:2D Points

Composition by Rules Pipeline composition is actually derived through application of rules – For example, every pipeline must have mapper operator (i.e., geometry extractor) – Output format of operator must match input format of next operator in pipeline sequence But what statements are these rules applied to? – VisKo relies on a visualization knowledge base that is a composition of statements describing toolkits

Overview 1.A Visualization Example 2.Toolkits and Visualization Pipelines 3.Visualization Query 4.Automated Generation of Visualization pipelines 5.Ontological Description of Visualization Pipelines 6.Conclusions

VisKo Visualization Language VisKo provides a language to describe operators and how they can be composed into pipelines The language’s expressivity is focused on describing: – Views and view properties – Different operator types – Parameters associated with operators The language is defined by ontologies encoded in Ontology Web Language (OWL)Ontology Web Language (OWL)

VisKo Language Layers The VisKo language encompasses three different ontologies to describe toolkit operators from different perspectives Visko-Service (services, parameters, and types) Visko-Operator (operator function + composition rules) Visko-Views (views and properties) Execution Visualization Spectrum

Encoding Velocity Model View Velocity model is visualized as a set of isosurfaces, so we need to describe what an isosurface is We need to describe this resource isosurfaces in terms of the ontology: Isosurfaces isa Surfaces Isosurfaces isa Geometry Isosurfaces isa AtomicView Isosurfaces isa View Isosurfaces description Note: VisKo relies on Resource Document Framework (RDF) for encoding statementsResource Document Framework (RDF)

Encoding Velocity Model Operator A contouring operator generated the isosurfaces The contouring operator – operated on data in format 3DImageData – generated the view isosurfaces – output plot in format PolyData contouringOperator isa Mapper contouringOperator operatesOn 3DImageData contouringOperator transformsTo PolyData contouringOperator mapsTo isosurfaces vtkContourFilter description Note: contouring operator is conceptual and cannot be executed

Encoding Velocity Model Service The contouring operator is implemented by the VTKContourFilter service vtkContourFilter isa Service vtkContourFilter implements contouring vtkContourFilter supportedBy VTK vtkContourFilter hasInput contourSpacing vtkContourFilter hasInput numberOfContours vtkContourFilter hasGrounding wsdlGrounding vtkContourFilter description VisKo-Service OWL-S Describes how to execute service Executable VisKo service implements operator contouring

Overview 1.A Visualization Example 2.Toolkits and Visualization Pipelines 3.Visualization Query 4.Automated Generation of Visualization pipelines 5.Ontological Description of Visualization Pipelines 6.Conclusions

Conclusions VisKo demonstrates that visualization pipelines can be specified declaratively through the use of visualization queries VisKo is a systematic way of reusing knowledge about visualization toolkits VisKo has been in use for projects in the area of Earth sciences and environmental sciences VisKo currently has knowledge about the use of GMT, VTK, NCL, ImageJ