tools for converting HDR images between different formats
Project description
HDR Format Conversion Tool
Important Note: In alpha stage, API may change frequently. Currently, color conversion may be incorrect. This project is still in a very early stage, please submit issues or contact the author directly if you encounter any problems.
API Reference: https://jackchou00.github.io/hdr-conversion
Project Overview
This project provides Python-based research on HDR format parsing and writing, supporting parsing, writing, and conversion of multiple formats including UltraHDR, Adaptive Gainmap (ISO 21496-1), and pure PQ/HLG formats (ISO 22028-5).
Note: This project is for research and learning purposes only and does not aim for production readiness.
Getting Started
To install, using uv (recommended):
uv add hdr-conversion
or use pip:
pip install hdr-conversion
or install directly from the develop branch:
uv add git+https://github.com/Jackchou00/hdr-conversion.git --branch develop
Or use pip
pip install git+https://github.com/Jackchou00/hdr-conversion.git@develop
The package can be imported as follows:
import hdrconv
Features
Parsing
For UltraHDR and Adaptive Gainmap (ISO 21496-1) formats, supports structured extraction of:
- Main image data
- Gainmap image data
- Gainmap metadata
For pure PQ/HLG HEIF/AVIF formats (ISO 22028-5), supports extraction of image data and related metadata.
Experimental support for iOS 26 HDR screenshot parsing.
Experimental support for HEIF from iPhone camera using Apple Headroom.
Writing
Writes image data and structured metadata into corresponding formats.
UltraHDR and Adaptive Gainmap JPEG formats are implemented through manual byte stream editing.
pure PQ/HLG AVIF formats are implemented through imagecodecs.
Conversion
Calculates alternate images based on metadata to enable conversion between Gainmap and pure HDR formats.
Experimental support for ICC profile-based color conversion.
Reference Standards
- UltraHDR: Version 1.1 released in April 2025
- ISO 21496-1
- ISO 22028-5
License
MIT. Please refer to the respective LICENSE files for specific format and dependency details.
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 hdr_conversion-0.1.5.tar.gz.
File metadata
- Download URL: hdr_conversion-0.1.5.tar.gz
- Upload date:
- Size: 102.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcd59b5e6d6d60d8783349d06f70d56d63cc93ff29a4958eb442cb78ed138ec1
|
|
| MD5 |
a01f1292b245ddc212e756f67cd4c51c
|
|
| BLAKE2b-256 |
aa1357cbd14bd06bb0e8a798c527cf15a36961c051b170ff8888e0ffd5510e49
|
File details
Details for the file hdr_conversion-0.1.5-py3-none-any.whl.
File metadata
- Download URL: hdr_conversion-0.1.5-py3-none-any.whl
- Upload date:
- Size: 43.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47bb13dabe3cd419cfef89a46f4ac7a606f317583f68c4a07cd9893dfb3528fc
|
|
| MD5 |
764b2b57ecadbff354ab2712157dd178
|
|
| BLAKE2b-256 |
8ad0080a57d24bb7cc94ec7b41967f619b67da34b4859b5bb03342012885c776
|