Start Date: February 26, 2025
Time: 9:00 – 13:00 (CET)
Course Schedule: four lessons (4 hours each)
Venue: Online
The H2IOSC project is promoting a training focused on open-source graphic visualization. Organized by CNR IAC and conducted by PragmaTips, this training is open to the wider H2IOSC community as well as external participants.
Kitware Visualization Toolkit (VTK) is the open-source graphical visualization library developed by Kitware and the community, with the main aim of 3D rendering of objects, and exposing data of scientific interest. The VTK library, mostly written in C++, forms the basis for various programming and visualization tools with specific functionalities:
- Python VTK: an API or wrapper available in Python to perform advanced data import, export data, editing, and 3D object rendering.
- Paraview: a 3D data visualization software, based on VTK, which simplifies many functions available at a lower level in VTK via a user-friendly interface. It also allows users to create and save process pipeline specifications for future use.
- VTK.js: a JavaScript library, largely compatible with TypeScript, conceptually and structurally similar to the VTK C++ library but designed for visualizing objects in customizable web contexts.
- Glance: HTML and JavaScript code for stand-alone, browser-based visualization of 3D objects. It can be exported directly from Paraview and is usable as a website.
- Trame: a Python framework, based on VTK and VTK.js for delivering interactive 3D scenes via the web, allowing for server-side and client-side rendering without requiring the developer to delve into various web programming languages.
The course aims to provide a comprehensive understanding of the VTK ecosystem, highlighting the key features of each tool, their use cases, and how to apply them effectively.
Course Schedule
The course will consist of four lessons each lasting 4 hours, scheduled as follows:
- Wednesday, 26 February
- Friday, 28 February
- Monday, 3 March
- Thursday, 6 March

Prerequisites
The course will cover both theoretical aspects and technical and operational topics, such as installing software in a Linux environment, the use of Paraview, elements of Python programming, JavaScript, and systems aspects.
To fully comprehend the topics covered, the following prerequisites are recommended:
- Knowledge of Python
- Experience with Linux systems (Ubuntu)
- Basic understanding of web architecture
- Fundamental skills in JavaScript and HTML
- Basic concepts of 3D graphics
At the end of the course, students will be invited to discuss potential scenarios for applying what they have learned. Based on this discussion, a final workshop (date to be announced) will be held in Rome at CNR IAC headquarters (Via dei Taurini 19, Ground Floor room) to allow students to put their acquired knowledge into practice and consolidate their skills.
To attend the course a registration request needs to be sent to the following email address: gabriella.bretti@cnr.it.