← All projects

SVImageView

Windows Qt6 image viewer with ROI-based processing and a responsive, threaded UI for machine-vision work.

SVImageView

Overview

SVImageView is a Windows-only Qt6 image viewer and ROI-based processing tool built for machine-vision work. It focuses on smooth pan/zoom/ROI interaction and stays responsive by running heavier processing on background worker threads, updating the GUI through Qt signals.

Highlights

  • Fast viewer built on QGraphicsView / QGraphicsScene with a single pixmap item and a lightweight ROI overlay.
  • Flexible ROIs: rectangle, square, circle and polygon, created with Ctrl + drag (or placed numerically via X/Y/W/H).
  • Two-image compare: open a second image side-by-side with synchronized pan/zoom and a shared LUT / view mode.
  • Preview vs full-res: a full-resolution NumPy image is kept for processing while a capped-size preview keeps display fast.
  • ROI-only pipeline: enable/disable, reorder and tune per-step plugin parameters; results are pasted back into the full image once per run.
  • Histogram + LUT, measurement tools (pixel or physical units), and analysis dialogs with CSV / JSON export.
  • Specialised tools: reticle tilt / focus-gradient analyzer and a reticle Z-stack tilt tool.

Install & run (Windows)

cd SVImage
py -3.12 -m venv .venv
.venv\Scripts\Activate.ps1
pip install .
SVImageView

Example: focus-gradient analysis

The reticle analyzer detects bright dots on a dark reticle, fits a 2D lattice, and computes a per-dot focus score (Tenengrad, Laplacian variance, high-frequency energy). It then fits a plane focus(x, y) = a·x + b·y + c over the dots to estimate the direction of increasing sharpness across the field, overlaying a heatmap and exporting per-dot CSV plus a summary JSON.