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 usingpyqtgraphandPyVista.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
- Load a Site: Use the Sidebar to select a lunar site GeoTIFF.
- Plan a Path: Use the planning panel to define start and end points for traversal.
- Run Simulation: Configure rover settings and run a simulation to analyze energy and hazards.
- 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
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 cynthium-0.0a1.tar.gz.
File metadata
- Download URL: cynthium-0.0a1.tar.gz
- Upload date:
- Size: 63.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fffbb1bbb9ef0bf8c2347bbcde0ae953b2e2b53eb2dcde72fa6d314b0fca4e99
|
|
| MD5 |
c0dc8e123769c40643fdbf677990c2e5
|
|
| BLAKE2b-256 |
1cf9dd386a7304f7d8a8e95e98c9003d6b2f85af7d9dc8b49e2686693d04c534
|
File details
Details for the file cynthium-0.0a1-py3-none-any.whl.
File metadata
- Download URL: cynthium-0.0a1-py3-none-any.whl
- Upload date:
- Size: 79.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef115a725248eeadf5a2f792cc806adff5522618fdf8f7ecfbac8e55b2178a82
|
|
| MD5 |
016c691b6d036a8c67f30a05f2026387
|
|
| BLAKE2b-256 |
b0c3df49418b7264f8db92b9c695620f5643ccd5568cfa2097cb8851757e403a
|