Skip to main content

GPU-accelerated movie renderer for Euclid MER TIFF images

Project description

eumovie

GPU-accelerated movie renderer for Euclid MER TIFF images.

Renders cinematic zoom/pan/rotate movies from very large (up to 20000×20000 pixel) astronomical TIFF images produced by the Euclid space telescope. Supports flat (rectilinear) and fulldome (azimuthal equidistant fisheye) output.

Requirements

The following must be installed manually — they require a CUDA toolkit and/or custom builds not available on PyPI:

  • NVIDIA GPU with CUDA 12+
  • CuPypip install cupy-cuda12x (match your CUDA version)
  • OpenCV with CUDA support — must be built from source
  • ffmpeg — system install with h264_nvenc / hevc_nvenc support

Standard dependencies (numpy, scipy, tifffile) are installed automatically by pip.

Installation

pip install eumovie

Usage

# Flat output, default 1920×1080
eumovie --input TILE.tif

# Flat output, 4K
eumovie --input TILE.tif --resolution 4k

# Custom resolution
eumovie --input TILE.tif --resolution 2560x1440

# ProRes 4444 master (flat)
eumovie --input TILE.tif --resolution 4k --prores

# Fulldome 4K (azimuthal equidistant fisheye)
eumovie --input TILE.tif --fulldome 4k --fps 30

# Fulldome 8K, ProRes master
eumovie --input TILE.tif --fulldome 8k --prores --fps 30

Camera keyframes

Camera paths are defined per tile in a user-editable keyframes.py file. A default file can be generated with

eumovie --generate-keyframes

which places two copies in

./keyframes.py
~/.config/eumovie/keyframes.py

The file in the current working directory takes precedence. Edit this file to add or modify camera paths for your tiles. Each tile is identified by its filename (without extension), e.g. TILE102029855.tif maps to the key TILE102029855.

See the comments at the top of ./keyframes.py for the keyframe format and camera coordinate system definition.

Output formats

Flag Format Encoder Notes
(default) MP4 H.264 h264_nvenc GPU, NLE-compatible
--fulldome 4k/8k MP4 H.265 hevc_nvenc GPU, fulldome standard
--prores MOV ProRes 4444 prores_ks CPU, 10-bit 4:4:4, delivery master

License

MIT — see LICENSE.

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

eumovie-1.0.1.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

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

eumovie-1.0.1-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file eumovie-1.0.1.tar.gz.

File metadata

  • Download URL: eumovie-1.0.1.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eumovie-1.0.1.tar.gz
Algorithm Hash digest
SHA256 cfba971dc2a3fd119cc4ce7c37ba4bd4bb7f9e6850d79c65957e4f92d0bc6cd0
MD5 4439443e02ba256a042c2bfcec8d0df8
BLAKE2b-256 b2dbf43e6c99f321734685723b9623d574c034d8f107daa4c45b2ab354ac5a37

See more details on using hashes here.

Provenance

The following attestation bundles were made for eumovie-1.0.1.tar.gz:

Publisher: publish.yml on schirmermischa/eumovie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eumovie-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: eumovie-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 26.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eumovie-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6264a44368a25ee3f448edd5f43a7f8f75d5d22e5fd3952ab5916d688e10d565
MD5 f64cf3e008140d149a769190d04e63ca
BLAKE2b-256 add725a638747718c9c303fb2219bb50e655796d2f34635212efb4ed37c55a4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eumovie-1.0.1-py3-none-any.whl:

Publisher: publish.yml on schirmermischa/eumovie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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