Skip to content

SETI/rms-nav

Repository files navigation

RMS-NAV

GitHub release; latest by date GitHub Release Date Test Status Documentation Status Code coverage
PyPI - Version PyPI - Format PyPI - Downloads PyPI - Python Version
GitHub commits since latest release GitHub commit activity GitHub last commit
Number of GitHub open issues Number of GitHub closed issues Number of GitHub open pull requests Number of GitHub closed pull requests
GitHub License Number of GitHub stars GitHub forks

RMS-NAV is a comprehensive navigation system designed for spacecraft imagery processing. It provides tools to analyze images from various space missions (Cassini, Voyager, Galileo, New Horizons) and determine precise positional offsets by comparing observed images with theoretical models of celestial bodies.

Features

  • Multi-mission support: Works with Cassini, Voyager, Galileo, and New Horizons imagery
  • Multiple navigation techniques: Star-based, body-based, and rings-based navigation
  • Automated offset calculation: Determines precise pointing corrections
  • Visualization tools: Creates annotated images with identified features
  • Configurable processing: Customizable parameters for different scenarios
  • PDS4 bundle generation: Creates PDS4-compliant bundles with labels, metadata, and browse products
  • Backplane generation: Computes per-pixel geometry products (longitude, latitude, angles, etc.)

Installation

Prerequisites

  • Python 3.10 or higher
  • SPICE toolkit and kernels for planetary data
  • Dependencies listed in requirements.txt

Setup

  1. Clone the repository:

    git clone https://github.com/SETI/rms-nav.git
    cd rms-nav
  2. Create and activate a virtual environment (recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install the required packages:

    pip install -r requirements.txt
  4. Set up SPICE kernels:

    • Download the required SPICE kernels for your mission

    • Set the SPICE_PATH environment variable to point to your kernels directory:

      export SPICE_PATH=/path/to/your/spice/kernels

Note: To fix mypy operability with editable pip installs:

export SETUPTOOLS_ENABLE_FEATURES="legacy-editable"

Quick Start

Process a single Cassini image using the installed CLI script:

nav_offset coiss N1234567890 \
  --pds3-holdings-root /path/to/pds3 \
  --nav-results-root /path/to/nav_results

Process all Voyager images within a single PDS3 volume:

nav_offset vgiss \
  --volumes VGISS_5101 \
  --pds3-holdings-root /path/to/pds3 \
  --nav-results-root /path/to/nav_results

Generate backplanes for processed images:

nav_backplanes coiss_saturn \
  --nav-results-root /path/to/nav_results \
  --backplane-results-root /path/to/backplane_results \
  --volumes COISS_2001

Generate PDS4 bundle files:

nav_create_bundle labels coiss_saturn \
  --nav-results-root /path/to/nav_results \
  --backplane-results-root /path/to/backplane_results \
  --bundle-results-root /path/to/bundle_results \
  --volumes COISS_2001

Documentation

Comprehensive documentation is available in the docs directory.

To build the documentation:

cd docs
make html

The built documentation will be available in docs/_build/html.

Contributing

Information on contributing to this package can be found in the Contributing Guide.

Licensing

This code is licensed under the Apache License v2.0.

About

Image navigation

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages