TomoGUI Documentation

TomoGUI is a comprehensive PyQt5 GUI for tomographic reconstruction at APS beamline 32-ID. It drives TomoCuPy for CPU/GPU reconstruction, integrates TomoLog for automated reporting, and ships a DINOv2-based AI center-of-rotation (COR) finder that can run across multiple GPUs.

TomoGUI main window

The TomoGUI main window with a dataset loaded and a reconstructed slice on the right-hand preview.

Python Version License

Overview

TomoGUI provides an intuitive interface for:

  • Interactive reconstruction (Try / Full) on a single dataset

  • Batch processing of hundreds of datasets with parallel GPU execution

  • AI Reco — DINOv2-based automatic COR discovery, single-file and batch, with a 3-phase pipeline (Try → multi-GPU Inference → Full)

  • Fix COR Outliers — detects and corrects bad CORs within filename-based series using median + MAD, capped by a user-configurable max delta

  • Series-aware batch operations — visual series tinting in the table, auto-skip of undersized files, Shift-click range selection

  • TomoLog integration — automatic PDF reporting with per-file 5–95 % percentile auto-contrast

  • Multi-machine support via SSH to remote reconstruction nodes

  • Persistent layout & per-dataset reconstruction parameters

  • Bright / Dark theme support

TomoGUI top tab bar

Top tab bar: Main, Batch, HDF5 Viewer, Advanced Config, and auxiliary tools.

Quick Start

Installation

cd /path/to/tomogui
pip install -e . --config-settings editable_mode=compat

Usage

Launch TomoGUI:

tomogui

Or as a Python module:

from tomogui import TomoGUI
from PyQt5.QtWidgets import QApplication
import sys

app = QApplication(sys.argv)
gui = TomoGUI()
gui.show()
sys.exit(app.exec_())

What’s new

Recent additions (see the User Guide and Features sections for detail):

  • Batch AI Reco with a 3-phase pipeline and true multi-GPU inference (Phase B spawns one worker per GPU, each pinned via CUDA_VISIBLE_DEVICES).

  • Fix COR Outliers groups rows by filename series (^(.*?)[._-]*(\d+)$) and flags any COR that deviates from the series median by more than a user-set threshold (default 50 px).

  • Series color tinting — rows belonging to the same filename series share a background tint so they are visually grouped.

  • Auto-skip small files — within a series, any file with noticeably smaller HDF5 data than its peers is skipped automatically.

  • Shift-click range selection in the batch table.

  • TomoLog auto-contrast — leaving Min/Max blank in the TomoLog dialog triggers a 5–95 % percentile auto-contrast per file.

  • Per-file streaming status in Phase B — each row’s status updates as its file finishes inference, and the progress bar reflects true completion rather than 100 % from the start.

Table of Contents

Indices and tables