Introduction

Tomviz is an open-source application for reconstructing, analyzing and visualizing electron and X-ray tomography data. These pages document the desktop application; the main site is tomviz.org, and installers are on the downloads page.

A PtCu nanoparticle split into slabs with the exploded view, new in Tomviz 3.1

What’s New in 3.1

  • Animation - New Animation menu and Animation Helper: camera paths that also animate visualization settings, orbits, captions, property sweeps and MP4 export. See Animation.

  • Volume rendering - Lighting presets, shadows, cut-out and exploded views, region auto contrast, opacity presets, and several volumes in one view. See Volume Rendering and Several volumes in one view.

  • Live data - Python sources re-run on a timer to follow a running experiment; try Sample Data -> Simulated Live Acquisition. See Live Data and Periodic Execution.

  • Segmentation and label maps - Thresholding, connected components and morphology run on NumPy and SciPy. The new Label Map visualization colors each label, and Remove Labels removes the ones hidden there. See Label Map.

  • Slices - Linked slices across datasets, and a 2D image viewer. See Slice and 2D image viewer.

  • Pipelines outside the application - Run saved pipelines from the command line with the tomviz-pipeline package. See External Pipelines.

  • Fourier-space filtering - FFT, Fourier Filter, Fourier Peak Mask and Fourier Mask, plus Image Math and Combine Datasets. See Fourier-Space Filtering.

  • Custom transforms - Create and edit your own transforms from the Custom Transforms menu. See Custom Transforms.

  • Linux packages - RPM (RHEL 8 and 9) and Flatpak. See Installation.

  • Volume manipulation - Manual Manipulation and Registration are back, and Rotate can keep the original size. See Volume Manipulation.

  • Saving - Save Data can save any output that holds data. See Save data.

Installation

Installers are on the downloads page. On Windows, the .msi installer is simplest; the .zip file runs from anywhere without administrator privileges. The macOS .dmg can be installed anywhere. Linux has three packages of the same build:

  • .tar.gz - extract it anywhere; the Tomviz executable is in the bin directory.

  • .rpm (RHEL 8 and 9) - installs to /opt/tomviz and adds tomviz to the path and the desktop menu:

    sudo dnf install ./Tomviz-<version>.x86_64.rpm
    

    To install somewhere else, use sudo rpm -i --prefix=/path/to/tomviz Tomviz-<version>.x86_64.rpm.

  • .flatpak - a single-file bundle. Its runtime comes from Flathub:

    flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    flatpak install --user Tomviz-<version>.flatpak
    flatpak run org.tomviz.Tomviz
    

Tomviz is also on conda-forge:

conda install -c conda-forge tomviz

The 3.1 installers ship Python 3.14 and ParaView 6.1.1 with Qt 6; the conda-forge package is built for Python 3.11 to 3.14.

The RPM and Flatpak build files are in the tomviz-packaging repository.

First Steps

The installers bundle a star nanoparticle dataset, offer to load its reconstruction when Tomviz opens, and add its reconstruction and tilt series to the Sample Data menu. That menu also has Simulated Live Acquisition, a scan that updates as projections arrive, generators for simulated data, and a link to more open TEM tomography datasets.

Getting Started

Tomviz covers each step of a tomography workflow:

For XRF and ptychography data from NSLS-II, start with the PyXRF and Ptycho sources.

Below, one dataset is shown as a volume rendering and as an isosurface. The histogram, color map and opacity editor is at the top right, and the pipeline is at the top left.

The Tomviz application

Tutorials and Documentation

Tutorial videos for 3.1 are on these pages:

The Gallery shows renderings made with these features.

Other tutorials and guides:

If you know of other material we should list, please let us know.

What’s New in 3.0

Tomviz 3.0 overhauled the pipeline architecture and user interface:

  • New pipeline model - A node-based graph of sources, transforms and visualizations connected by typed ports and links, shown in a new vertical strip widget.

  • Terminology updates - “Modules” are now “Visualizations” and “Workflows” are now “Sources”.

  • Reorganized menus - The Data Transforms, Segmentation and Tomography menus are grouped into subcategories, each with a search dialog.

  • New reconstruction methods - SIRT, ART and TV, plus GPU acceleration for SIRT and MLEM via TomoPy.

  • New data formats - Enhanced DICOM, .npy and .mat reading, plus DICOM and MRC writing.

  • Drag-and-drop - Drop data or state files onto the window to load them.

  • Cylindrical crop - An interactive 3D cylindrical crop.

  • Data generators - Sources that generate constant datasets, random particles and electron beam shapes.

  • Pipeline controls - Pause, stop and resume execution, with live progress.

  • Per-node Python environments - Transforms can run in separate conda environments.

About

The Tomviz project was founded by Marcus D. Hanwell and Utkarsh Ayachit at Kitware, David A. Muller at Cornell University, and Robert Hovden at the University of Michigan under DOE Office of Science contract DE-SC0011385. If you use it in your research, please cite tomviz.org. A large community of developers, collaborators and users works on it, and contributions are welcome on the GitHub project page, which also has the full list of contributors, older releases and the issue tracker.

Tomviz is developed primarily in C++, with a data pipeline that offers Python or C++ transforms. The GUI is Qt-based, and the code is distributed under the 3-clause BSD license.