Information may be data, processes, relations, or concepts.
Early days it is just limited to smaller scope. With the development of technology this scope became wider and wider.
Provide initial data inputs – data can be input as raw data using scripts.Filters – Modify/Process data to convert to desired formsConvert data – data is converted into vectors, scalars,etc.Adjust visible properties – Set colors, textures of the objects.Renderer & Windows – Renderer is responsible for representing data suited to human perception.UI controls allow to visualize intermediate steps of the pipeline process.Parallel computing – allows to gain maximum performance in high-performance or multi-core environments.Libraries presentCommoncore VTK classes, Filtering,Renderingrendering,VolumeRenderin, Graphics3D geometry ,GenericFiltering, Imaging, HybridclassesWidgets,IO, Infovis, Parallel, Wrapping Question: Imbalance among pipeline stagesPipeline overhead
Vis Trails is a similar sort of Visualization frameworkIt gives much flexibility for the user.
Builder – user interface where users create and edit data flows Repository – Vistrails specifications are savedServer – Users may also interact with saved vistrails by invoking them through the Vistrail Server(Web interface)Visualization Spreadsheet – cell in the spreadsheet represents a view that corresponds to a dataflow instance; users can modify the parameters of a dataflow as well as synchronize parameters across different cellsCache Manager – Control data flow execution. Keeps track of operations that are invoked and their respective parameters.Player –executes the operations by invoking the appropriate functions from the Visualization and Script APIsOptimizer – analyzes and optimizes the dataflow specificationsLog – log of the dataflow execution is keptAnd a question for Sajini – Can you tell me what if local copy of vistrais get deleted, is there a way to recover?
When comparing two architectures, we found significant differences in non-functional requirements of the two.The changes were mainly on These 3 areas, Usability, Performance and Reliability.
VisTrailsHave a series of operations and user interfaces whichsimplify workflow design and use.Allows multiple visualizations from different versions of a workflow to be viewed and compared simultaneously.Users can manually specify all the parameters including module shapes, colors using the Graphical User Interface.APIs increases usability.VTKUnderstanding to work with the software takes time for a newbie.Have to interact with the software mainly through scripts. - disadvantage
VTKEfficient Garbage CollectorUse reference counter – counts the number of references made inside the application.Data-array usage - Makes communication, serialization easier and fasterVisTrailsIntermediate data storedCan be used again and again in different computationsIn exploratory tasksless repetition happens. Workflows usually share common sub-structure. Takes measures to improve the efficiency of workflow execution.VisTrails captures and maintains a detailed history of the steps followed and data derived in the course of an exploratory task. Uploading -Though it’s output has no important effect, we have to wait.Optimization Infrastructure – VisTrailsNewly added database layer – common data management (versioning schemas, maintain E-R)provenance infrastructure, maintain steps followed and intermediate results.
Lack of history management in VTK. It maintains only one instance of dataflow. If the dataflow changes it might cause a negative impact on the data.If parameters of the dataflow are modified, certain data is destroyed. (VTK)VisTrails contains cache and log management components whereas VTK lacks a separate components to caching and logging.History management and caching is important to recover data from application crashes.Repository residing on the server allows redundancy can be used for disaster recovery.
Although having a repository on server increases reliability, it reduces performance of the application due to data communication between the server and local computer.
Vistrails and VTK Comparison
VTK & VistrailsFor Data Visualization 090092L - L.Y.S.G. De Silva 090150N - K.M.T.V. Ganegedara 090534V - L.C. Vidana Pathiranage
What is Data Visualization?• Graphical presentation of information, with the goal of providing the viewer with a qualitative understanding of the information contents.
Early days…• Pie charts• Tables• Histograms• Bar charts
What is Now?• There are much better, profound, creative and absolutely fascinating ways to visualize data.
How it is achieved ? VisTrails Visualization Toolkit (VTK)• An open-source system that • A widely used software system for supports data exploration and data processing and visualization. visualization.• It includes and substantially • It is used in scientific computing, extends useful features of scientific medical image analysis, workflow and visualization systems. computational geometry, rendering, image processing and informatics.
Functionality - VTK• Data processing & visualization – 3D visualization of scientific data – Transferring data to sensory inputs• Create data-flow pipelines – Inject, process, represent and render• Toolkit – Components can be put together to suit the customer’s need.
High-level Architecture - VTK Parallel Processing UI & Controls Renderer &Sources Filters Mappers Actors Windows Provide Modify / Convert Adjust Representsinitial data Process data into visible the viewport, rendered input data tangible properties objects are objects displayed
Functionality - VisTrails• Can provide inputs to the software as raw data• Allows drag-and-drop of components of the dataflow• Can create data-flows, which allows to create data visualizations.• Maintain different versions of a single data-flow.• Steps of a data-flow can be repeated• Visualizations can be represented in the player or in a spreadsheet.
Non Functional Requirements• Usability• Performance• Reliability
Usability VTK Vistrails• UIs are not user • Simple easy-to- friendly understand UI• Low interactivity • Well documented• Lack of comparative User Guide. visualization • Caters to a broader• Supports various data set of users. forms • User can add custom functionality
Performance VTK Vistrails• Separate library for • The intermediate data is parallel processing cached• Use data arrays • In exploratory tasks,• Efficient garbage similar workflows are collection often executed in close• Data parallelism & Task succession. pipelining • Uploading file to a remote• Lack of optimization server might slow down infrastructure the software
Reliability VTK Vistrails• Do not capture • Provenance provenance data information can be• Lack of history easily captured management • VisTrails repository• Several system resides in the server crashes have been reported in their bug tracker
Conclusion• Main Non-functional requirements elicited from the architectures are usability, performance and reliability.• It is apparent that VisTrails has a sound usability where VTK has a less competitive user interface.• Performance-wise VTK appears to be better than VisTrails due to its parallel computing capabilities.• VisTrails enforces more redundancy than VTK by keeping the repository on a server.• It is obvious that there is a trade-off between reliability and performance.