Skip to content

Kitware/sc25-trame-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hands-On Creation of Bespoke Scientific Visualization Applications with Trame: HPC-Enabled Web, Jupyter, and Desktop Apps for Simulation, Experiment, and AI Data

Abstract

In this hands-on tutorial, participants will learn to create bespoke scientific visualization applications using Trame, a powerful Python framework for building interactive, web-based visualization frontends. Trame simplifies web-based application development by managing UI layout, state, events, and widgets entirely in Python—abstracting away the need to write HTML, CSS, or JavaScript. Trame wraps popular visualization engines like VTK and ParaView, allowing users to rapidly develop rich applications that run seamlessly across web browsers, Jupyter notebooks, and desktop environments—ideal for HPC-enabled simulations, experimental workflows, and AI-driven data analysis. The tutorial will introduce how to design responsive and modern GUIs using Vuetify through Trame’s declarative Python syntax, enabling sophisticated layouts, widgets, and event handling. We will present how to integrate 3D visualization using VTK and ParaView, showcasing different rendering modalities for the interactive exploration of complex datasets. Together, we will explore integrating Markdown content and common Python plotting libraries—including Matplotlib, Altair, PyVista, and Plotly—into Trame applications to support a broad spectrum of scientific visualization needs. We will cover both intermediate and advanced topics, leveraging modern examples drawn from simulation, experimental science, and AI-driven analysis to ground the material in real-world workflows. By the end, participants will be equipped to build tailored visualization applications that bridge HPC backends with intuitive, interactive frontends, all from within the Python ecosystem.

Duration

The total content will be deliver over 6 hours in 30 minutes chunk with blocks of 1 hour and 30 minutes.

Tutorial Goals

  • Introduce Trame as a modern, Pythonic solution for building interactive scientific visualization applications across web, desktop, and Jupyter environments.
  • Demonstrate integration of rich visualization backends (VTK, ParaView) with GUI elements and plotting libraries.
  • Provide hands-on experience designing custom apps that can handle data from simulations, experiments, and AI workflows—especially in HPC contexts.

For Beginning Attendees

  • Understand the basic architecture of a Trame application.
  • Learn how to launch a simple app in the browser or Jupyter using Python only.
  • Use basic widgets (buttons, sliders, layouts) to control visualization parameters.
  • Integrate interactive 3D visualizations using VTK or ParaView.
  • Understand Trame’s state management system and how to link UI controls with visualization logic.
  • Embed plotting libraries like Matplotlib, Altair, PyVista, and Plotly in multi-panel apps.

For Intermediate Attendees

  • Explore multiple rendering modalities and advanced 3D interaction patterns (e.g., linked views, LOD control, client/server rendering).
  • Customize Vuetify components and extend the UI with advanced interactions.
  • Learn to structure more complex applications with custom layouts and multiple views.

For Advanced Attendees

  • Integrate HPC or AI data pipelines and enable dynamic data loading or streaming.
  • Optimize performance for large datasets and explore strategies for scalability.
  • Deploy Trame applications to the desktop, Jupyter, and cloud.

Releases

No releases published

Packages

No packages published