marsimage


Namemarsimage JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryPython package for processing and analyzing images from the NASA Mars rovers.
upload_time2025-02-07 11:03:39
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords image mars nasa pds
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MarsImage

<img src="https://marsimage.readthedocs.io/0.1.1/_static/logo.svg" align="right" hspace="30" vspace="0" height="200" alt="MarsImage logo">

[![CI status](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/badges/main/pipeline.svg)](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/-/pipelines/latest)
[![Docs status](https://readthedocs.org/projects/marsimage/badge/)](https://app.readthedocs.org/projects/marsimage)
[![Docs](https://img.shields.io/badge/docs-marsimage.readthedocs.io-orange
)](https://marsimage.readthedocs.io)
[![PyPI - Version](https://img.shields.io/pypi/v/marsimage.svg)](https://pypi.org/project/marsimage)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/marsimage.svg)](https://pypi.org/project/marsimage)

-----

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

The full documentation can be found in: [marsimage.readthedocs.io](https://marsimage.readthedocs.io)

## Features

- efficiently download rover images from the [NASA Planetary Data System](https://pds-imaging.jpl.nasa.gov/volumes/)
- 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](https://pypi.org/project/marsimage) (Python Package Index).
To install it you need to run the following command:

```bash
pip install marsimage
```

## How to contribute

If you want to contribute to this project, you need to install [`hatch`](https://hatch.pypa.io/latest/install/) on your system, then clone the depot and install the default env:

```bash
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:

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

To test the module:

```bash
hatch -e tests run tests
```

To build the docs:

```bash
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`](https://github.com/schoolpost/PiDNG)
developed by [schoolpost](https://github.com/schoolpost)
and available on [PyPI](https://pypi.org/project/pidng/).
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](src/marsimage/lib/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`](https://exiftool.org/) 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](https://www.rawtherapee.com/),
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ß](https://fosstodon.org/@stim3on) during his internship
funded by [Osuna](https://osuna.univ-nantes.fr) and under the supervision of
[Stéphane Le Mouélic](https://lpg-umr6112.fr/member/le-mouelic-stephane/) ([LPG](https://lpg-umr6112.fr))
and [Benoît Seignovert ](https://benoit.seignovert.fr) ([Osuna](https://osuna.univ-nantes.fr)).
It is still under active development.
The source code is available in
[Nantes Université Gitlab](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/) and distributed under a
[GPLv3](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/-/blob/main/LICENSE.txt) public license.

![Logos OSUNA / LPG / CNRS / Nantes Université](https://marsimage.readthedocs.io/0.1.1/_images/logos.png)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "marsimage",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Simeon Schmau\u00df <simeon.schmauss@gmail.com>, Beno\u00eet Seignovert <benoit.seignovert@univ-nantes.fr>",
    "keywords": "image, mars, nasa, pds",
    "author": null,
    "author_email": "Simeon Schmau\u00df <simeon.schmauss@gmail.com>, Beno\u00eet Seignovert <benoit.seignovert@univ-nantes.fr>",
    "download_url": "https://files.pythonhosted.org/packages/d4/92/6c80732ee77577a37598afdc346385e40920acd590609f41dcd13dc08137/marsimage-0.1.1.tar.gz",
    "platform": null,
    "description": "# MarsImage\n\n<img src=\"https://marsimage.readthedocs.io/0.1.1/_static/logo.svg\" align=\"right\" hspace=\"30\" vspace=\"0\" height=\"200\" alt=\"MarsImage logo\">\n\n[![CI status](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/badges/main/pipeline.svg)](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/-/pipelines/latest)\n[![Docs status](https://readthedocs.org/projects/marsimage/badge/)](https://app.readthedocs.org/projects/marsimage)\n[![Docs](https://img.shields.io/badge/docs-marsimage.readthedocs.io-orange\n)](https://marsimage.readthedocs.io)\n[![PyPI - Version](https://img.shields.io/pypi/v/marsimage.svg)](https://pypi.org/project/marsimage)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/marsimage.svg)](https://pypi.org/project/marsimage)\n\n-----\n\nMarsImage is a python package to process Mars rover images hosted on the PDS.\n\nThe full documentation can be found in: [marsimage.readthedocs.io](https://marsimage.readthedocs.io)\n\n## Features\n\n- efficiently download rover images from the [NASA Planetary Data System](https://pds-imaging.jpl.nasa.gov/volumes/)\n- open PDS images and access their metadata (including rover localizations and CAHVORE camera model parsing)\n- convert PDS images to `.DNG` or `.TIFF` format with rich exif metadata\n- color calibrate rover images to approximate what the human eye would see on Mars\n- preprocess images for panorama or photogrammetry workflows\n\n## Supported Missions and instruments\n\n| Mission                 | Supported Instruments                 | Supported Product types |\n|-------------------------|---------------------------------------|-------------------------|\n| Curiosity (MSL)         | Mastcam, Mahli, Mardi, Navcam, Hazcam | `DRXX`, `RAD_`, `MXY_`  |\n| Perseverance (Mars2020) | *planned for future release*          | -                       |\n\n## Installation\n\nMarsImage is available on [PyPI](https://pypi.org/project/marsimage) (Python Package Index).\nTo install it you need to run the following command:\n\n```bash\npip install marsimage\n```\n\n## How to contribute\n\nIf you want to contribute to this project, you need to install [`hatch`](https://hatch.pypa.io/latest/install/) on your system, then clone the depot and install the default env:\n\n```bash\ngit clone https://gitlab.univ-nantes.fr/mars-rovers/marsimage.git\ncd marsimage\n\n# Install dev dependencies\nhatch env create\n```\n\nTo lint and format the source code:\n\n```bash\n# preview the formatting changes\nhatch fmt --diff\nhatch fmt\n```\n\nTo test the module:\n\n```bash\nhatch -e tests run tests\n```\n\nTo build the docs:\n\n```bash\nhatch -e docs run build\n```\n\n## External libraries disclaimer\n\nThis package requires a few externals dependencies:\n- `PiDNG`\n- `ExifTool`\n- `Raw Therapee`\n\nCredits, issues and change requests to these libraries should be reported to their original developers.\n\n__Note:__ Only `Raw Therapee` needs to be installed manually by the user (see below).\n\n### PiDNG\n\nThis sub-module is mainly copy-pasted from [`PiDNG`](https://github.com/schoolpost/PiDNG)\ndeveloped by [schoolpost](https://github.com/schoolpost)\nand available on [PyPI](https://pypi.org/project/pidng/).\nHere, it was patched to fix missing tags and remove `LJ92` compression library (which requires a C compiler).\n\nDetails of the patch can be found in:\n[pidng/0001-Fix-missing-tags-and-remove-LJ92-compression.patch](src/marsimage/lib/pidng/0001-Fix-missing-tags-and-remove-LJ92-compression.patch)\n\n- Version patched: `4.0.9`\n- License: `MIT`\n\n### ExifTool\n\nTo simplify the install for the user, [`exiftool`](https://exiftool.org/) is bundled\nwith `MarsImage` and should work out-of-the box on windows, linux and macos.\n\n__Note:__ A locally installation of `perl` is required on linux and macOS.\n\n- Currently version bundled: `13.17`\n- License: `GPLv3`\n\n### Raw Therapee\n\nTo allow automatic TIFF conversion of the DNG images via `MarsImage.rawtherapee_convert()`\nyou will need to install Raw Therapee locally.\nThe install procedure is available on [their website](https://www.rawtherapee.com/),\nthen it should be automatically detected by `MarsImage`.\n\nThe expected location of `rawtherapee-cli` should be :\n- `C:\\Program Files\\RawTherapee\\X.Y\\` on Windows\n- `/usr/local/bin/` on macOS (and `RawTherapee.app` in `/Applications`)\n- Anywhere in the `$PATH` on Linux\n\nIf you don't install it to its default location, you can provide a `$RAWTHERAPEE_CLI`\nenvironment variable to specify the location of the `rawtherapee-cli` entrypoint.\n\n- Tested version: `5.11`\n- License: `GPLv3`\n\n## About this project\n\nThis project was developed by [Simeon Schmau\u00df](https://fosstodon.org/@stim3on) during his internship\nfunded by [Osuna](https://osuna.univ-nantes.fr) and under the supervision of\n[St\u00e9phane Le Mou\u00e9lic](https://lpg-umr6112.fr/member/le-mouelic-stephane/) ([LPG](https://lpg-umr6112.fr))\nand [Beno\u00eet Seignovert ](https://benoit.seignovert.fr) ([Osuna](https://osuna.univ-nantes.fr)).\nIt is still under active development.\nThe source code is available in\n[Nantes Universit\u00e9 Gitlab](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/) and distributed under a\n[GPLv3](https://gitlab.univ-nantes.fr/mars-rovers/marsimage/-/blob/main/LICENSE.txt) public license.\n\n![Logos OSUNA / LPG / CNRS / Nantes Universit\u00e9](https://marsimage.readthedocs.io/0.1.1/_images/logos.png)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python package for processing and analyzing images from the NASA Mars rovers.",
    "version": "0.1.1",
    "project_urls": {
        "Documentation": "https://marsimage.readthedocs.io/",
        "Source": "https://gitlab.univ-nantes.fr/mars-rovers/marsimage/"
    },
    "split_keywords": [
        "image",
        " mars",
        " nasa",
        " pds"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fc523c669a0e6b5af0d2b460a1a75323630c5fc6ca2c38f45a7ade381f5caeab",
                "md5": "adffdace1298704d3fc5991c37de9c04",
                "sha256": "58acfbc90e618e15651e1caeb6f9e1bd813324b6d849f7da6b27f3f5bd0e2382"
            },
            "downloads": -1,
            "filename": "marsimage-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "adffdace1298704d3fc5991c37de9c04",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 16093915,
            "upload_time": "2025-02-07T11:03:43",
            "upload_time_iso_8601": "2025-02-07T11:03:43.365059Z",
            "url": "https://files.pythonhosted.org/packages/fc/52/3c669a0e6b5af0d2b460a1a75323630c5fc6ca2c38f45a7ade381f5caeab/marsimage-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d4926c80732ee77577a37598afdc346385e40920acd590609f41dcd13dc08137",
                "md5": "50f70e26ab3c64386739453a4d130514",
                "sha256": "5bed022dfc89687487ab3cc514465dd35dba04a7dab466c7ea81f0379a60efb6"
            },
            "downloads": -1,
            "filename": "marsimage-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "50f70e26ab3c64386739453a4d130514",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 67582,
            "upload_time": "2025-02-07T11:03:39",
            "upload_time_iso_8601": "2025-02-07T11:03:39.790439Z",
            "url": "https://files.pythonhosted.org/packages/d4/92/6c80732ee77577a37598afdc346385e40920acd590609f41dcd13dc08137/marsimage-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-07 11:03:39",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "marsimage"
}
        
Elapsed time: 0.46810s