{"name":"napari-atlas-stitch","display_name":"Atlas Stitch","visibility":"public","icon":"","categories":["Image Processing","Utilities"],"schema_version":"0.2.1","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-atlas-stitch.atlas_stitch_widget","title":"Atlas Stitch","python_name":"atlas_stitch.widget:atlas_stitch_widget","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-atlas-stitch.atlas_stitch_widget","display_name":"Atlas Stitch","autogenerate":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.4","name":"napari-atlas-stitch","version":"1.2.0","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"Atlas stitching widget for ZEISS Volutome and JEOL EM atlas tile workflows in napari","description":"# napari-atlas-stitch\n\nStandalone napari widget for stitching atlas tile exports from ZEISS Volutome and JEOL EM workflows.\n\nVersion: `1.2.0`\n\n`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.\n\n## Development Status\n\nThis 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.\n\n## Alignment Refinement\n\nVersion `1.2.0` adds additional overlap-registration options and safety controls for EM tile mosaics.\n\nAtlas 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.\n\nAvailable registration modes:\n\n- **Light translation registration** — fast phase-correlation-based translation estimation.\n- **Robust translation registration** — tests multiple overlap-strip widths and selects the most reliable translation estimate.\n- **Robust translation with residual-based outlier rejection** — removes pairwise constraints that disagree with the solved global layout.\n- **Feature-based registration** — uses local image features from overlapping regions when intensity correlation is unreliable.\n- **ECC intensity-based registration** — uses enhanced correlation coefficient optimization for translation alignment.\n- **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.\n\nAdditional safeguards:\n\n- **Maximum correction** — rejects translation corrections larger than the configured pixel limit.\n- **Minimum confidence** — rejects weak pairwise registrations before global optimization.\n\nRecommended EM starting settings:\n\n```text\nRegistration mode: Robust translation with residual-based outlier rejection\nTile overlap: 10–20%\nMaximum correction: 50 px\nMinimum confidence: 0.20\n```\n\nVersion: `1.1.0`\n\nnapari-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.\n\n\nVersion: `1.0.1`\n\n`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.\n\n## Development Status\n\nThis 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.\n\n## Supported Sources\n\n- ZEISS Volutome atlas XML sources\n- JEOL EM VE-MIF atlas sources\n- 2D tile image files referenced by those atlas sources\n- Saved `.json` atlas project files produced by this widget\n\n## Install\n\nFrom a local checkout:\n\n```bash\ngit clone https://github.com/wulinteousa2-hash/napari-atlas-stitch\ncd napari-atlas-stitch\npython -m pip install -e .\n```\n\nFor development and tests:\n\n```bash\npython -m pip install -e \".[test]\"\n```\n\n## Open In Napari\n\nStart napari and open:\n\n```text\nPlugins > Atlas Stitch > Atlas Stitch\n```\n\n## Main Workflow\n\n1. Select an atlas XML or VE-MIF source.\n2. Optionally choose a tile-root override if image paths moved after acquisition.\n3. Load the atlas project and inspect missing or resolved tiles.\n4. Preview the nominal placement.\n5. Estimate refined alignment from overlaps when the atlas has usable neighboring tiles.\n6. Save manual tile positions or repair seams when needed.\n7. Export the selected placement as OME-Zarr.\n\n## Outputs\n\n- Stitched OME-Zarr mosaics\n- Optional multiscale pyramids\n- Saved atlas project JSON files\n- Repaired tile outputs and repair metadata when seam repair is used\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for release notes and feature details.\n\n\n## Tests\n\n```bash\npython -m pytest\n```\n\nOME-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.\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":"Wulin Teo","author_email":null,"maintainer":null,"maintainer_email":null,"license":null,"classifier":["Development Status :: 3 - Alpha","Framework :: napari","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.9","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["napari","numpy","ome-zarr>=0.11","qtpy","scikit-image","scipy","tifffile","zarr>=3","pytest; extra == \"test\""],"requires_python":">=3.9","requires_external":null,"project_url":["Homepage, https://github.com/wulinteousa2-hash/napari-atlas-stitch","Repository, https://github.com/wulinteousa2-hash/napari-atlas-stitch","Issues, https://github.com/wulinteousa2-hash/napari-atlas-stitch/issues"],"provides_extra":["test"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}