Atlas stitching widget for ZEISS Volutome and JEOL EM atlas tile workflows in napari
Project description
napari-atlas-stitch
Standalone napari widget for stitching atlas tile exports from ZEISS Volutome and JEOL EM workflows.
Version: 1.2.0
napari-atlas-stitch parses atlas metadata, checks tile availability, previews nominal, refined, and manual tile layouts in napari, estimates refined tile positions from overlapping neighboring tiles, supports optional donor-based seam repair, and exports stitched atlas mosaics as OME-Zarr.
Development Status
This plugin is under active development. Alignment refinement, seam repair, and export settings should be treated as experimental until validated on your own ZEISS Volutome or JEOL EM acquisition workflow.
Alignment Refinement
Version 1.2.0 adds additional overlap-registration options and safety controls for EM tile mosaics.
Atlas Stitch estimates translations between neighboring overlapping tiles, then solves a global layout from the accepted pairwise constraints. This helps prevent one local adjustment from disrupting the whole mosaic.
Available registration modes:
- Light translation registration — fast phase-correlation-based translation estimation.
- Robust translation registration — tests multiple overlap-strip widths and selects the most reliable translation estimate.
- Robust translation with residual-based outlier rejection — removes pairwise constraints that disagree with the solved global layout.
- Feature-based registration — uses local image features from overlapping regions when intensity correlation is unreliable.
- ECC intensity-based registration — uses enhanced correlation coefficient optimization for translation alignment.
- Center-out seeded registration — starts near the center of the tile grid and expands outward using clockwise or counterclockwise neighbor priority. This is useful when weak outer-tile matches distort the global layout.
Additional safeguards:
- Maximum correction — rejects translation corrections larger than the configured pixel limit.
- Minimum confidence — rejects weak pairwise registrations before global optimization.
Recommended EM starting settings:
Registration mode: Robust translation with residual-based outlier rejection
Tile overlap: 10–20%
Maximum correction: 50 px
Minimum confidence: 0.20
Version: 1.1.0
napari-atlas-stitch parses atlas metadata, checks tile availability, previews nominal/refined/manual tile layouts in napari, estimates refined tile positions from overlapping neighboring tiles, supports optional donor-based seam repair, and exports stitched atlas mosaics as OME-Zarr.
Version: 1.0.1
napari-atlas-stitch parses atlas metadata, checks tile availability, previews nominal/refined/manual tile layouts in napari, estimates refined tile positions from overlaps, supports donor-based seam repair, and exports stitched atlas mosaics as OME-Zarr.
Development Status
This plugin is under active development. The core workflow has been split into a standalone napari package, but many functions still need broader testing on real ZEISS Volutome and JEOL EM datasets. Treat alignment refinement, seam repair, and export settings as experimental until validated on your acquisition workflow.
Supported Sources
- ZEISS Volutome atlas XML sources
- JEOL EM VE-MIF atlas sources
- 2D tile image files referenced by those atlas sources
- Saved
.jsonatlas project files produced by this widget
Install
From a local checkout:
git clone https://github.com/wulinteousa2-hash/napari-atlas-stitch
cd napari-atlas-stitch
python -m pip install -e .
For development and tests:
python -m pip install -e ".[test]"
Open In Napari
Start napari and open:
Plugins > Atlas Stitch > Atlas Stitch
Main Workflow
- Select an atlas XML or VE-MIF source.
- Optionally choose a tile-root override if image paths moved after acquisition.
- Load the atlas project and inspect missing or resolved tiles.
- Preview the nominal placement.
- Estimate refined alignment from overlaps when the atlas has usable neighboring tiles.
- Save manual tile positions or repair seams when needed.
- Export the selected placement as OME-Zarr.
Outputs
- Stitched OME-Zarr mosaics
- Optional multiscale pyramids
- Saved atlas project JSON files
- Repaired tile outputs and repair metadata when seam repair is used
Changelog
See CHANGELOG.md for release notes and feature details.
Tests
python -m pytest
OME-Zarr export uses ome-zarr>=0.11 with zarr>=3. If tests fail while importing ome_zarr, reinstall the package in a clean or updated environment so pip can resolve those versions together.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file napari_atlas_stitch-1.2.0.tar.gz.
File metadata
- Download URL: napari_atlas_stitch-1.2.0.tar.gz
- Upload date:
- Size: 64.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5deee8a3ac6fe9a9b59f55f6c486ea2ae44c1fb794c99f2ed6ffdcc152b6173d
|
|
| MD5 |
1b814a3212ad4078e8cf972137c3c660
|
|
| BLAKE2b-256 |
83ceb12d40c27ace06b8156d4e9da89107a8c4b86dd53e3ee8ae20d0608386b8
|
File details
Details for the file napari_atlas_stitch-1.2.0-py3-none-any.whl.
File metadata
- Download URL: napari_atlas_stitch-1.2.0-py3-none-any.whl
- Upload date:
- Size: 60.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66a44d8771e239bb00aee108ef824b563766e2bd10a9a9fb44bde57838c8693e
|
|
| MD5 |
e0f4df80f74eef01066bad818dd7e3e1
|
|
| BLAKE2b-256 |
4d33435c7be3a9acc7056fdf3a6f25b54823c6a590fe119834dde2b8b1ed6e4c
|