This is a comparison of various features available and not available on Vistrails and VTK. A thorough comparison has been made between to Data visualization softwares
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Vistrails and VTK Comparison
1. VTK & Vistrails
For Data Visualization
090092L - L.Y.S.G. De Silva
090150N - K.M.T.V. Ganegedara
090534V - L.C. Vidana Pathiranage
2. What is Data Visualization?
• Graphical presentation of information, with
the goal of providing the viewer with a
qualitative understanding of the
information contents.
3. Early days…
• Pie charts
• Tables
• Histograms
• Bar charts
4. What is Now?
• There are much better, profound,
creative and absolutely fascinating
ways to visualize data.
5. 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.
6. 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.
7. High-level Architecture - VTK
Parallel Processing
UI & Controls
Renderer &
Sources Filters Mappers Actors
Windows
Provide Modify / Convert Adjust Represents
initial data Process data into visible the viewport,
rendered
input data tangible properties objects are
objects displayed
8. 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.
11. 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
12. 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
13. 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
14. 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.
Hinweis der Redaktion
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.