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/QGraphicsScenewith 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.