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.0.tar.gz (25.8 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.0-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eumovie-1.0.0.tar.gz
  • Upload date:
  • Size: 25.8 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.0.tar.gz
Algorithm Hash digest
SHA256 03be627571b67aafdfaa29d9e02bec8940ed31961d1f2481c1223fa539201c5e
MD5 8ab5802e6eb4fee932acc9ca518c602a
BLAKE2b-256 fd4b96c496af63e53f785a063af4a3b9c847f3a67ec9667df637a12591a73110

See more details on using hashes here.

Provenance

The following attestation bundles were made for eumovie-1.0.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: eumovie-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 26.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32ffc8f0ae5604f594cd2421b736d827456b6cf0246c2fb63792fde754447763
MD5 4247f59f7e551462fa0b7dcf6c4cf532
BLAKE2b-256 65dc55eda6823ad0052e532dd8035ff8cec404c38c36fc7eda74c094126e041f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eumovie-1.0.0-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