HDR Conversion
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.
This project provides Python-based tools for parsing, writing, and converting between various HDR image formats.
This library enables research and experimentation with HDR formats:
- UltraHDR - JPEG gainmap (MPF + XMP)
- ISO 21496-1 - Adaptive gainmap standard
- ISO 22028-5 - Pure PQ/HLG formats
- Apple HEIC - iOS HDR format
- iOS HDR Screenshot - iOS screenshot HEIC with tile-based encoding
Quick Start
Install using uv (recommended):
Install using pip:
Some features may require ffmpeg, exiftool or gpac, please ensure they are installed and available in your system PATH.
Install from Develop Branch
To try the latest unreleased features, install directly from the develop branch:
Import the package:
Module Overview
Core Types (hdrconv.core)
Data structures for HDR representation:
GainmapImage- Baseline + gainmap + metadataGainmapMetadata- ISO 21496-1 parametersHDRImage- Linear RGB + metadataAppleHeicData- Apple format data
Conversion (hdrconv.convert)
Format transformation algorithms:
gainmap_to_hdr()/hdr_to_gainmap()apple_heic_to_hdr()
Experimental support for ICC profile-based color conversion (hdrconv.icc).
I/O (hdrconv.io)
Reading and writing functions:
read_21496()(JPEG, HEIF, AVIF) /write_21496()(JPEG)read_ultrahdr()/write_ultrahdr()read_22028_pq()/write_22028_pq()read_apple_heic()(Experimental)read_ios_hdr_screenshot()(Experimental)
Identification (hdrconv.identify)
Format detection utilities:
Check for gainmap presence, only for Apple HEIC
has_gain_map()
Documentation Sections
- API Reference - API documentation
- Examples - Practical use cases
Use Cases
Research & Learning
- Understand HDR format internals
- Experiment with conversion algorithms
- Analyze metadata structures
Format Conversion
- Convert UltraHDR to broadcast formats
- Extract HDR data from Apple HEIC
- Create gainmaps from linear HDR
Quality Analysis
- Inspect gainmap metadata
- Compare format implementations
- Validate color conversions
Limitations
Important:
- Not production-ready
- Color conversion may be inaccurate
- Edge cases may not be handled
- Performance not optimized
- API stability not guaranteed
License
MIT License. See LICENSE for details.