Skip to main content

Scientific desktop application for lunar rover traversal planning and terrain analysis.

Project description

Cynthium

A scientific desktop application for lunar rover traversal planning and terrain analysis, focused on the lunar south pole.

Overview

Cynthium enables loading high-resolution lunar elevation data, defining rover traversal paths, and computing terrain statistics along those paths. It is designed for scientific use cases where map resolution, numerical accuracy, and reproducibility are critical.

Features

  • Multi-dimensional Visualization: 2D map views and 3D terrain visualization using GeoTIFF data (LOLA/LRO).
  • Advanced Pathfinding: Optimal path routing using the Theta* algorithm, considering distance and terrain slope.
  • Rover Simulation: Physics-based traversal simulation including energy consumption, velocity, and slope-based hazards.
  • Illumination Analysis: Sun position calculation and shadow mapping for specific lunar dates and times.
  • Site Management: Automated handling of lunar site rasters and data products.
  • Data Export: Export of traversal statistics and simulation results for further scientific analysis.

Project Structure

  • src/cynthium/app/engine: Core logic for pathfinding (Theta*), illumination (sun position, shadows), and simulation (rover dynamics).
  • src/cynthium/app/ui: PySide6-based graphical user interface, including map viewers and control panels.
  • src/cynthium/app/rendering: Map and terrain rendering engines using pyqtgraph and PyVista.
  • src/cynthium/app/services: High-level services for site data and simulation management.

Installation

Prerequisites

  • Python 3.12 or newer.

pip Installation

Run the following command to install Cynthium from PyPI:

pip install cynthium

Setup

Clone the repository:

git clone https://github.com/osh3276/cynthium.git
cd cynthium
pip install -e .

Key dependencies include: PySide6, numpy, numba, rasterio, pyqtgraph, PyVista, and spiceypy.

Usage

You can launch Cynthium using the provided entry point:

cynthium

Or via Python:

python -m cynthium

Quick Start

  1. Load a Site: Use the Sidebar to select a lunar site GeoTIFF.
  2. Plan a Path: Use the planning panel to define start and end points for traversal.
  3. Run Simulation: Configure rover settings and run a simulation to analyze energy and hazards.
  4. View 3D: Switch to the 3D terrain view to inspect the topography in detail.

Related Work

SEXTANT is a MATLAB-based tool with similar capabilities. Cynthium aims to provide an open-source Python alternative with a focus on extensibility, high performance (via Numba), and modern GIS compatibility.

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

cynthium-1.0.0b2.tar.gz (55.3 kB view details)

Uploaded Source

Built Distribution

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

cynthium-1.0.0b2-py3-none-any.whl (71.6 kB view details)

Uploaded Python 3

File details

Details for the file cynthium-1.0.0b2.tar.gz.

File metadata

  • Download URL: cynthium-1.0.0b2.tar.gz
  • Upload date:
  • Size: 55.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cynthium-1.0.0b2.tar.gz
Algorithm Hash digest
SHA256 b354e991607d0b28d6e7908f70d088509fead689cce19c633160d511489a4d7a
MD5 63462b5380c770579a7acb24ebf66de4
BLAKE2b-256 f0907b2aa5d3357610911f9a26ae13b82abb9fb07b2d4f6081308904b3ced882

See more details on using hashes here.

File details

Details for the file cynthium-1.0.0b2-py3-none-any.whl.

File metadata

  • Download URL: cynthium-1.0.0b2-py3-none-any.whl
  • Upload date:
  • Size: 71.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cynthium-1.0.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 c10087434f017ffc17ab14d82087d26abd3e0058bae2b6090087d4a788faa926
MD5 9f51b24a12e7b8975ab2879a73201e7f
BLAKE2b-256 49ffec8fcb4b674559e2fc88589d566ab27cef5d8a64e7cd52f1dc9cbb58cead

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