Python-based review tools for ISIS3 coregistration workflows
Project description
format: html: theme: solar
isistools
Python-based review tools for ISIS3 coregistration workflows. Replaces Qmos and Qnet with modern, interactive visualization using HoloViews, Panel, and datashader.
Why?
ISIS's Qmos and Qnet have several pain points:
- Qmos requires level-1 unprojected images but displays footprints in map projection (confusing), and renders image content very slowly.
- Qnet requires level-2 map-projected images but displays them flipped in detector readout order (makes comparison difficult).
- Both use a color scheme where registered control points are nearly invisible while unregistered points are prominent — the opposite of what you want during review.
isistools fixes all of these by building on the Python geospatial stack.
Features
- Footprint map: Interactive map of image footprints using geopandas + hvplot, with hover info and click-to-select.
- Image viewer: Fast rasterized image display via rioxarray + datashader. Images always shown in correct (north-up) orientation.
- Control network overlay: Tie points with sensible colors (registered = bright green, unregistered = red, ignored = gray). Residual vectors. Point detail on click.
- Dual interface: Same code works in Jupyter notebooks and as standalone Panel apps in the browser.
- CLI:
isistools mosaic,isistools tiepoints,isistools footprintscommands that launch Panel apps. - Static PNG export:
isistools footprints --pnggenerates publication-ready footprint overview images. - Batch footprintinit:
isistools footprintinitruns ISISfootprintinitin parallel on all cubes in a list file.
Installation
pip install -e .
Usage
CLI
# Mosaic review (Qmos replacement)
isistools mosaic cubes.lis --cnet control.net
# Tiepoint review (Qnet replacement)
isistools tiepoints cubes.lis control.net
# Quick footprint map
isistools footprints cubes.lis
# Export footprint overview as PNG (default: footprints_overview.png)
isistools footprints cubes.lis --png
isistools footprints cubes.lis --png-path my_overview.png --title "MC-13E Gap" --dpi 200
# Batch footprintinit (parallel, 8 workers)
isistools footprintinit cubes.lis -j 8
# Control network summary stats
isistools cnet-info control.net
Notebook
from isistools.apps.mosaic_review import MosaicReview
app = MosaicReview("cubes.lis", cnet_path="control.net")
app.panel() # renders inline
from isistools.apps.tiepoint_review import TiepointReview
app = TiepointReview("cubes.lis", "control.net")
app.panel()
Low-level API
from isistools.io.footprints import load_footprints
from isistools.io.controlnet import load_cnet
from isistools.io.cubes import load_cube
from isistools.plotting.footprint_map import footprint_map
from isistools.plotting.image_viewer import image_plot, image_with_cnet
from isistools.plotting.cnet_overlay import cnet_to_geodataframe
# Load data
gdf = load_footprints("cubes.lis")
cnet = load_cnet("control.net")
da = load_cube("image.cub")
# Plot footprints
footprint_map(gdf)
# Plot image with control points
image_with_cnet(da, cnet, serial_number="MRO/HIRISE/...")
# Convert cnet to GeoDataFrame for map overlay
cnet_gdf = cnet_to_geodataframe(cnet)
Requirements
- Cubes must have
footprintinitalready run for footprint display - Control networks in ISIS3 binary format (compatible with jigsaw)
- GDAL with ISIS3 driver support (for reading .cub files via rioxarray)
Dependencies
Core: geopandas, hvplot, holoviews, datashader, panel, rioxarray, plio, pvl, typer
License
MIT
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 isistools-0.5.0.tar.gz.
File metadata
- Download URL: isistools-0.5.0.tar.gz
- Upload date:
- Size: 789.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80310ea9f0c14a01536e2c9c357b595b091bca6ba1f09ea5646e7390241f7bd4
|
|
| MD5 |
498b8d56c5bf23cc4d6943d667afd216
|
|
| BLAKE2b-256 |
17498377acccd89e98fdf4e9d3504f9b931af1395700b26215102e765a56776b
|
File details
Details for the file isistools-0.5.0-py3-none-any.whl.
File metadata
- Download URL: isistools-0.5.0-py3-none-any.whl
- Upload date:
- Size: 34.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56d3e98de962295c4ddad46ffc293589e1428afa78ba06ae41ab84a845dda951
|
|
| MD5 |
4be10f6c186fbdd4479f776b7fb54b27
|
|
| BLAKE2b-256 |
c99c37e4d2163c7e2d85c79b7a3b17d24cf436773a3207aae560fe702cc70af5
|