Skip to main content

Python package for processing and analyzing images from the NASA Mars rovers.

Project description

MarsImage

MarsImage logo

CI status Docs status Docs PyPI - Version PyPI - Python Version


MarsImage is a python package to process Mars rover images hosted on the PDS.

The full documentation can be found in: marsimage.readthedocs.io

Features

  • efficiently download rover images from the NASA Planetary Data System
  • open PDS images and access their metadata (including rover localizations and CAHVORE camera model parsing)
  • convert PDS images to .DNG or .TIFF format with rich exif metadata
  • color calibrate rover images to approximate what the human eye would see on Mars
  • preprocess images for panorama or photogrammetry workflows

Supported Missions and instruments

Mission Supported Instruments Supported Product types
Curiosity (MSL) Mastcam, Mahli, Mardi, Navcam, Hazcam DRXX, RAD_, MXY_
Perseverance (Mars2020) planned for future release -

Installation

MarsImage is available on PyPI (Python Package Index). To install it you need to run the following command:

pip install marsimage

How to contribute

If you want to contribute to this project, you need to install hatch on your system, then clone the depot and install the default env:

git clone https://gitlab.univ-nantes.fr/mars-rovers/marsimage.git
cd marsimage

# Install dev dependencies
hatch env create

To lint and format the source code:

# preview the formatting changes
hatch fmt --diff
hatch fmt

To test the module:

hatch -e tests run tests

To build the docs:

hatch -e docs run build

External libraries disclaimer

This package requires a few externals dependencies:

  • PiDNG
  • ExifTool
  • Raw Therapee

Credits, issues and change requests to these libraries should be reported to their original developers.

Note: Only Raw Therapee needs to be installed manually by the user (see below).

PiDNG

This sub-module is mainly copy-pasted from PiDNG developed by schoolpost and available on PyPI. Here, it was patched to fix missing tags and remove LJ92 compression library (which requires a C compiler).

Details of the patch can be found in: pidng/0001-Fix-missing-tags-and-remove-LJ92-compression.patch

  • Version patched: 4.0.9
  • License: MIT

ExifTool

To simplify the install for the user, exiftool is bundled with MarsImage and should work out-of-the box on windows, linux and macos.

Note: A locally installation of perl is required on linux and macOS.

  • Currently version bundled: 13.17
  • License: GPLv3

Raw Therapee

To allow automatic TIFF conversion of the DNG images via MarsImage.rawtherapee_convert() you will need to install Raw Therapee locally. The install procedure is available on their website, then it should be automatically detected by MarsImage.

The expected location of rawtherapee-cli should be :

  • C:\Program Files\RawTherapee\X.Y\ on Windows
  • /usr/local/bin/ on macOS (and RawTherapee.app in /Applications)
  • Anywhere in the $PATH on Linux

If you don't install it to its default location, you can provide a $RAWTHERAPEE_CLI environment variable to specify the location of the rawtherapee-cli entrypoint.

  • Tested version: 5.11
  • License: GPLv3

About this project

This project was developed by Simeon Schmauß during his internship funded by Osuna and under the supervision of Stéphane Le Mouélic (LPG) and Benoît Seignovert (Osuna). It is still under active development. The source code is available in Nantes Université Gitlab and distributed under a GPLv3 public license.

Logos OSUNA / LPG / CNRS / Nantes Université

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

marsimage-0.1.0.tar.gz (66.5 kB view details)

Uploaded Source

Built Distribution

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

marsimage-0.1.0-py3-none-any.whl (16.1 MB view details)

Uploaded Python 3

File details

Details for the file marsimage-0.1.0.tar.gz.

File metadata

  • Download URL: marsimage-0.1.0.tar.gz
  • Upload date:
  • Size: 66.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for marsimage-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c24a5bc024e8513e3da7166219e8f79d5ed60a4dfed29c1a1272756c28c53ccc
MD5 b9fa663597d107802cd4ca1e6c6e3ba1
BLAKE2b-256 6c4c13d74e35e810db64d1062849d09db112b7989c05c14262ec8cfbcd8c535c

See more details on using hashes here.

File details

Details for the file marsimage-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: marsimage-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for marsimage-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 532815924e024960da53ba9a236337e73462402adce71d911047e79ecbacdca9
MD5 29811f36214940696c53caddfb1b6e83
BLAKE2b-256 b596494254a9dbb0f6003a54e3f8b5cd0e03ad82b907685f80c7c48ccd242248

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