Visualization Resources

For full documentation, please check the Visualization section in Alliance’s technical wiki.

Table of Contents:   “Command-line image processing with ImageMagick”“Text analysis in 3D”“Image-based approach to large-scale visualization”“Launching 2023 Visualize This contest”“Data visualization in Julia with the Makie ecosystem”“In-situ visualization with ParaView Catalyst2”“Highlights from the 2021 SciVis Contest”“Remote visualization on Compute Canada clusters”“Scientific visualization on NVIDIA GPUs”“Workflows with Programmable Filter / Source in ParaView”“The Topology ToolKit (TTK)”“Intermediate VMD topics: trajectories, movies, scripting”“Web-based 3D scientific visualization”“Scientific graphics with gnuplot”“Photorealistic rendering with ParaView and OSPRay”“Batch visualization on Compute Canada clusters”“Molecular visualization with VMD”“Using YT for analysis and visualization of volumetric data”“Working with data objects in YT”“Scientific visualization with Plotly”“Novel Visualization Techniques from the 2017 Visualize This Challenge”“Data Visualization on Compute Canada’s Supercomputers”“Using ParaViewWeb for 3D Visualization and Data Analysis in a Web Browser”“Scripting and other advanced topics in VisIt visualization”“CPU-based rendering with OSPRay”“3D graphs with NetworkX, VTK, and ParaView”“Graph visualization with Gephi”

“Command-line image processing with ImageMagick”

Webinar (2024-Jan-09) by Alex Razoumov

ImageMagick is an open-source tool for manipulating images. You can use it to convert images between different formats, including JPEG, PNG, PDF, AVIF, TIFF and many others. ImageMagick can also resize, rotate, crop, and transform images, adjust colours, apply special effects, and draw basic shapes. First released in 1990, ImageMagick has grown to include hundreds of features. It runs on Linux, Mac, Windows, and is also available on the Alliance clusters. In this webinar I will try to help you navigate ImageMagick’s myriad of functions by showing some command-line workflows most common in scientific research.

“Text analysis in 3D”

Webinar (2023-Nov-28) by Alex Razoumov

3D visualization is surprisingly little used to visualize data and connections in digital humanities, despite the fact that the 3rd dimension can provide many benefits, from decluttering your plot to encoding one of the variables. In this webinar I present a workflow to analyze a text corpus consisting of works from multiple authors, and visualize the differences between their vocabularies in 3D. I complement this visualization with 3D graphs to link similar texts. Throughout this webinar I am using only open-source tools – Python and several 3rd-party Python libraries, ParaView, and VTK, and show 3D visualizations that can easily scale to millions of texts and can work for any input language.

“Image-based approach to large-scale visualization”

Webinar (2023-Oct-17) by Alex Razoumov

Cinema is an interactive image-based approach to data analysis and visualization targeting very large datasets that are difficult to visualize interactively due to their size. In Cinema you can store your visualization as a prerecorded database of images created, for instance, by a script that you run as a batch job on an HPC cluster. Once this database is built, you can import it into a Cinema-enabled environment to explore the visualization interactively as if you were rendering it live. The technique works equally well for simulation and experimental data. It potentially reduces data movement and storage since you don’t store the original multidimensional datasets, but only the 2D images that you want to see. Optionally, you can use Cinema with ParaView Catalyst to render the images in-situ, right in your simulation software.

“Launching 2023 *Visualize This contest”*

Webinar (2023-Sep-19) by Alex Razoumov

This fall we are running a Canada-wide scientific visualization Contest. The contest is targeting early-career researchers from Canadian universities, but anyone can participate irrespective of their affiliation or career stage. Participants can work on one of two geospatial datasets, one from a simulation of a storm in Eastern Canada, and the other from a compilation of the normalized difference vegetation index (NDVI) data over BC throughout 2022.

In this webinar I go through both datasets, show how to load them into standalone Python and into ParaView and several possible techniques for visualizing these data, including manipulating variables via the Programmable Filter.

“Data visualization in Julia with the Makie ecosystem”

Webinar (2022-Oct-26) by Marie-Hélène Burle

There are several popular data visualization libraries for the Julia programming language, e.g. Plots, Gadfly, VegaLite, Makie. They vary in their precompilation time, time to first plot, layout capabilities, ability to handle 3D data, ease of use, and syntax style. In this landscape, Makie focuses on high performance, fancy layouts, and extensibility. Makie comes with multiple backends. In this workshop, we cover GLMakie (ideal for interactive 2D and 3D plotting), WGLMakie (an equivalent that runs within browsers), and CairoMakie (best for high-quality vector graphics). We also show how to run Makie in the Alliance clusters.

“In-situ visualization with ParaView Catalyst2”

Webinar (2022-Sep-28) by Alex Razoumov

Catalyst lets you perform analysis and visualization of your simulation data while your simulation is running, using familiar ParaView visualization pipelines. In this webinar I focus on Catalyst2 which is a significant rewrite of the original Catalyst framework. Catalyst2 provides an API for describing and passing data arrays — computational meshes and fields — from your simulation to the Catalyst2 library which in turn converts these arrays into appropriate VTK data objects, without you having to know the VTK data model (unlike with the original Catalyst), and without duplicating these data arrays in memory. Catalyst2 framework can scale to very large datasets and thousands of CPU cores via MPI.

I show examples of instrumenting a C simulation code with Catalyst2 and applying various Catalyst Python scripts to generate data and images on the fly while the simulation is running. These Catalyst Python scripts in turn can be easily generated with Extractors which have been part of ParaView since version 5.9. I also demo ParaView Live connecting from the ParaView GUI to a live simulation to modify an existing visualization pipeline while the simulation is running. This lets you interactively explore large datasets in memory without having to write them to disk. Even though I demo Catalyst2 with C codes, it can be used from C, C++, Fortran, Python, and has also been demonstrated to work well with Julia simulation codes.

“Highlights from the 2021 SciVis Contest”

Webinar (2021-Nov-10) by Alex Razoumov

The 2021 SciVis Contest organized jointly by IEEE and Compute Canada wrapped up on October 28th, with the official announcement of awards at the IEEE Vis conference. This Contest dataset was a numerical simulation of convection in the Earth’s mantle containing 251 timesteps covering 500 Myr of geological time, data courtesy of the Pysklywec Lab (Russell Pysklywec and Hosein Shahnas) at the University of Toronto. The simulation was conducted using Compute Canada’s Niagara cluster. The Contest challenge was to identify various flow features and visualize them clearly as they evolve in time. We saw many good submissions and a ton of innovative visualization ideas. In this webinar we talked about some of the ideas suggested in the submissions.

Please note that the short clips shared in the webinar were not recorded smoothly by Zoom, so it is best to watch these animations inside the presentations linked from the Contest website.

“Remote visualization on Compute Canada clusters”

Webinar (2021-Sep-29) by Alex Razoumov

“Scientific visualization on NVIDIA GPUs”

Webinar (2021-Apr-28) by Nick Leaf (NVIDIA)

“Workflows with Programmable Filter / Source in ParaView”

Webinar (2021-Jan-20) by Alex Razoumov

“The Topology ToolKit (TTK)”

Webinar (2020-Nov-25) by Alex Razoumov

“Intermediate VMD topics: trajectories, movies, scripting”

Webinar (2020-Oct-28) by Olivier Fisette

“Web-based 3D scientific visualization”

Webinar (2020-Apr-29) by Alex Razoumov

“Scientific graphics with gnuplot”

Webinar (2020-Apr-01) by Dmitri Rozmanov

“Photorealistic rendering with ParaView and OSPRay”

Webinar (2020-Jan-15) by Alex Razoumov

  • ZIP file with slides and other materials

“Batch visualization on Compute Canada clusters”

Webinar (2019-Sep-18) by Alex Razoumov

“Molecular visualization with VMD”

Webinar (2019-Mar-06) by Dmitri Rozmanov

“Using YT for analysis and visualization of volumetric data” - YT webinar Part 1

Webinar (2018-Nov-21) by Alex Razoumov

In this webinar we take a look at YT, a python package for analyzing multi-resolution volumetric and particle data. Initially written for working with astrophysical simulation data, YT is now widely used across many disciplines dealing with 3D simulation or observational/experimental data.

“Working with data objects in YT” - YT webinar Part 2

Webinar (2019-Jan-23) by Alex Razoumov

In Part 2 we learn how to use YT for data analysis and manipulation, including creating isosurfaces and streamlines, exporting 3D scenes to interactive viewers such as ParaView and MeshLab, and subsetting data in many different ways.

“Scientific visualization with Plotly”

Webinar (2018-Mar-28) by Alex Razoumov

“Novel Visualization Techniques from the 2017 Visualize This Challenge”

Webinar (2018-Jan-31)

In this webinar we review the visualization techniques found in 2017 WestGrid’s Visualize This! contest submissions:

  • toy conceptual animation created entirely in ParaView, along with the use of programmable sources,
  • using Stream Tracer With Custom Source filter to animate streamlines in a stationary flow,
  • using integration time contours to animate the grids of dots moving along streamlines,
  • animating many properties simultaneously in a single Animation View timeline,
  • colour selection for volumetric and semi-transparent plots to highlight specific regions,
  • camera animations,
  • using Blender game engine to let a user walk through the ParaView-created scene and toggle the visibility of the various physical components, and
  • coupling visualization with the SuperCollider server to produce on-the-fly audio from selected Q-criterion.

  • PDF slides

“Data Visualization on Compute Canada’s Supercomputers”

Webinar (2017-Oct-03) by Alex Razoumov

“Using ParaViewWeb for 3D Visualization and Data Analysis in a Web Browser”

Webinar (2017-Mar-29) by Alex Razoumov

ParaViewWeb is a lightweight API for writing HTML5 web applications that utilize a remote ParaView server for running a visualization in a web browser. This talk gave an introduction to ParaViewWeb, shared an overview ofJavaScript Web Visualizer’s main features, and explained how to build simple ParaViewWeb apps from scratch.

“Scripting and other advanced topics in VisIt visualization”

Webinar (2016-Nov-02) by Alex Razoumov

This webinar looks at the Python interface in VisIt, one of several popular open-source, general-purpose visualization packages. We demonstrate the different ways to launch scripts and use them for a number of rendering tasks including processing time-dependent datasets and creating animations. We also take a look at several other interesting topics in VisIt workflows such as visualizing the terrain in 3D and rendering molecules.

“CPU-based rendering with OSPRay”

Webinar (2016-Sep-28) by Alex Razoumov

OSPRay, Intel’s scalable open-source library, can provide very fast rendering on systems that don’t have GPUs, making it possible to produce high-fidelity visualizations on the same general CPU nodes you use for running your simulations. In this session, we take a look at OSPRay inside ParaView both on a laptop and on a GPU-less cluster node, discuss benchmarks and compare the resulting images built with and without the OSPRay engine.

“3D graphs with NetworkX, VTK, and ParaView”

Webinar (2016-May-24) by Alex Razoumov

Options for 3D graph visualization and analysis are very limited, confined primarily to short-lived research projects or legacy tools that can still be downloaded but are no longer maintained and updated. The reason for this is the popularity of 2D tools such as Gephi and Cytoscape and the expectation that in 3D complex networks will look messy, with some structures occluding others. On the other hand, in 3D layouts we can encode three independent attributes and visualize some unique connection topologies that will be lost in 2D.

  • ZIP file with PDF slides and Python scripts

“Graph visualization with Gephi”

Webinar (2016-Mar-22) by Alex Razoumov