Skip to main content

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 footprints commands that launch Panel apps.

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

# 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 footprintinit already 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isistools-0.4.0.tar.gz (29.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isistools-0.4.0-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file isistools-0.4.0.tar.gz.

File metadata

  • Download URL: isistools-0.4.0.tar.gz
  • Upload date:
  • Size: 29.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for isistools-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e22493b98e628b9f26f30e6c892fbdfd4d9461b67570c908e983b99f0c872468
MD5 1015756794f64edac0a6b5ef8388c390
BLAKE2b-256 79e29c11dc5e85c54a065ea437c64f781aa7586a1eac7018604db1fc4eb26429

See more details on using hashes here.

File details

Details for the file isistools-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: isistools-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for isistools-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1c533aa7efbfdef811c26d81eb14d5d13d00d96a2170fd4b487aaabca321576
MD5 7a5c716f270b2a2e69b25d08a4acd007
BLAKE2b-256 9e2e840b26da61125b6d4d9b7a89c3e709806f1debfc74f30b7ecc1d91f72a6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page