Updated Readme
This commit is contained in:
@@ -1,24 +1,29 @@
|
||||
# Luminance Stack Processor - ComfyUI Custom Nodes
|
||||
|
||||
[](https://github.com/sumitchatterjee13/Luminance-Stack-Processor)
|
||||
[](https://python.org)
|
||||
[](https://github.com/sumitchatterjee13/Luminance-Stack-Processor)
|
||||
[](https://python.org)
|
||||
[](https://github.com/sumitchatterjee13/Luminance-Stack-Processor/blob/main/LICENSE)
|
||||
[](https://github.com/comfyanonymous/ComfyUI)
|
||||
[](https://github.com/sumitchatterjee13/Luminance-Stack-Processor)
|
||||
|
||||
Professional HDR (High Dynamic Range) processing nodes for ComfyUI using the **Debevec Algorithm** for merging multiple exposure images into a single high dynamic range image.
|
||||
Professional HDR (High Dynamic Range) processing nodes for ComfyUI featuring our **revolutionary Radiance Fusion Algorithm** - a breakthrough in HDR processing that delivers superior results through innovative Nuke-inspired mathematical operations.
|
||||
|
||||
**Version: 1.0.1** | **Release Date: 2025-01-20**
|
||||
**Version: 1.0.5** | **Release Date: 2025-01-21**
|
||||
|
||||
## 🎯 Features
|
||||
|
||||
- **🆕 HDR Export Node**: Dedicated EXR export that preserves full HDR dynamic range
|
||||
- **🚨 TRUE HDR Values Above 1.0**: Proper HDR data preservation in EXR files
|
||||
- **Four Distinct HDR Algorithms**: Each produces different visual results
|
||||
- **Natural Blend**: EV0 appearance with enhanced dynamic range
|
||||
- **Mertens**: Adobe Lightroom style exposure fusion
|
||||
- **Debevec**: Classic HDR with maximum dynamic range
|
||||
- **Robertson**: Alternative robust HDR processing
|
||||
- **🚀 REVOLUTIONARY RADIANCE FUSION ALGORITHM**: Our flagship innovation - a breakthrough HDR algorithm developed in-house
|
||||
- **Nuke-Inspired Mathematics**: Based on professional VFX pipeline operations (plus/average)
|
||||
- **Superior HDR Preservation**: Maintains perfect dynamic range with natural appearance
|
||||
- **Industry-Leading Results**: Outperforms traditional HDR methods
|
||||
- **Professional VFX Quality**: Perfect for film, TV, and high-end visual effects
|
||||
- **🆕 TRUE 32-bit EXR Export**: Professional bit-depth control with imageio integration
|
||||
- **🚨 TRUE HDR Values Above 1.0**: Proper HDR data preservation without normalization
|
||||
- **Legacy HDR Algorithms** *(Work in Progress)*:
|
||||
- **Natural Blend**: EV0 appearance preservation *(under refinement)*
|
||||
- **Mertens**: Exposure fusion method *(being optimized)*
|
||||
- **Debevec**: Traditional HDR recovery *(legacy support)*
|
||||
- **Robertson**: Alternative HDR method *(legacy support)*
|
||||
- **Three Custom Nodes**:
|
||||
- **3-Stop Processor**: Merges EV+2, EV+0, EV-2 exposures
|
||||
- **5-Stop Processor**: Merges EV+4, EV+2, EV+0, EV-2, EV-4 exposures
|
||||
@@ -28,9 +33,10 @@ Professional HDR (High Dynamic Range) processing nodes for ComfyUI using the **D
|
||||
|
||||
## 📋 Requirements
|
||||
|
||||
- **Python 3.11+** *(Required for optimal performance)*
|
||||
- ComfyUI (includes NumPy and PyTorch)
|
||||
- Python 3.8+
|
||||
- OpenCV (cv2) >= 4.8.0
|
||||
- imageio >= 2.31.0 *(for professional 32-bit EXR export)*
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
@@ -70,6 +76,10 @@ Professional HDR (High Dynamic Range) processing nodes for ComfyUI using the **D
|
||||
|
||||
3. **Restart ComfyUI** to load the new nodes
|
||||
|
||||
## 📁 ComfyUI Workflow
|
||||
|
||||
A complete example workflow for ComfyUI is provided in the `/workflow` directory. This demonstrates the optimal setup for professional HDR processing using our Radiance Fusion algorithm.
|
||||
|
||||
## 🎨 Usage
|
||||
|
||||
### 🚨 **CRITICAL: Proper HDR Workflow**
|
||||
@@ -99,7 +109,8 @@ Perfect for standard HDR bracketing with 3 exposures:
|
||||
- `ev_0`: Normal exposure image (0 EV)
|
||||
- `ev_minus_2`: Underexposed image (-2 EV)
|
||||
- `exposure_step`: (Optional) EV step size (default: 2.0)
|
||||
- `hdr_algorithm`: Choose "natural_blend" (default), "mertens", "debevec", "robertson"
|
||||
- `exposure_adjust`: (Optional) Nuke-style exposure compensation in stops (default: 1.0)
|
||||
- `hdr_algorithm`: Choose **"radiance_fusion"** (default - *our breakthrough algorithm*), "natural_blend", "mertens", "debevec", "robertson"
|
||||
|
||||
**Output:**
|
||||
- `hdr_image`: HDR tensor with values potentially above 1.0
|
||||
@@ -127,7 +138,8 @@ For extended dynamic range with 5 exposures:
|
||||
- `ev_minus_2`: Underexposed image (-2 EV)
|
||||
- `ev_minus_4`: Underexposed image (-4 EV)
|
||||
- `exposure_step`: (Optional) EV step size (default: 2.0)
|
||||
- `hdr_algorithm`: Choose "natural_blend" (default), "mertens", "debevec", "robertson"
|
||||
- `exposure_adjust`: (Optional) Nuke-style exposure compensation in stops (default: 1.0)
|
||||
- `hdr_algorithm`: Choose **"radiance_fusion"** (default - *our breakthrough algorithm*), "natural_blend", "mertens", "debevec", "robertson"
|
||||
|
||||
**Output:**
|
||||
- `hdr_image`: HDR tensor with values potentially above 1.0
|
||||
@@ -137,7 +149,7 @@ For extended dynamic range with 5 exposures:
|
||||
1. **Load Images**: Load your bracketed exposures (3 or 5 images)
|
||||
2. **Add Processing Node**: "Luminance Stack Processor (3/5 Stops)"
|
||||
3. **Connect Exposures**: Connect each EV image to corresponding input
|
||||
4. **Choose Algorithm**: Select HDR algorithm (Natural Blend recommended)
|
||||
4. **Choose Algorithm**: Select HDR algorithm (**Radiance Fusion recommended - our breakthrough innovation**)
|
||||
5. **Add Export Node**: "HDR Export to EXR"
|
||||
6. **Connect HDR Output**: From processor to export node
|
||||
7. **Set Filename**: Enter desired filename prefix
|
||||
@@ -146,40 +158,47 @@ For extended dynamic range with 5 exposures:
|
||||
|
||||
## 🔬 How It Works
|
||||
|
||||
The nodes implement **multiple HDR algorithms** with **Natural Blend** as the default (preserves natural appearance):
|
||||
The nodes feature our **revolutionary Radiance Fusion Algorithm** as the default, plus legacy algorithms for compatibility:
|
||||
|
||||
1. **Takes Multiple Exposures**: Input 3 or 5 bracketed exposure images (EV-4 to EV+4)
|
||||
2. **Selects HDR Algorithm**: Choose between Natural Blend, Mertens, Debevec, or Robertson
|
||||
3. **Processes HDR Data**: Merges exposures preserving dynamic range above 1.0
|
||||
4. **Outputs HDR Tensor**: 16-bit linear data ready for EXR export
|
||||
5. **🚨 CRITICAL: Use HDR Export Node**: ComfyUI's built-in save nodes normalize to 0-1, use our HDR Export for true EXR
|
||||
2. **Selects HDR Algorithm**: Choose **Radiance Fusion** (our breakthrough innovation) or legacy methods
|
||||
3. **Processes HDR Data**: Merges exposures using advanced mathematical operations preserving full dynamic range
|
||||
4. **Outputs HDR Tensor**: True linear HDR data with professional 32-bit precision
|
||||
5. **🚨 CRITICAL: Use HDR Export Node**: Exports professional 32-bit EXR files with preserved HDR values
|
||||
|
||||
### 🎯 **HDR Algorithm Options:**
|
||||
|
||||
#### **Natural Blend (Default - Recommended)**
|
||||
- **HDR Range**: 1-8 (moderate HDR values for natural look)
|
||||
- **Perfect for natural look**: Uses EV0 as base, adds dynamic range from other exposures
|
||||
- **Gentle blending**: 30% blend strength with smooth luminance masks
|
||||
- **Preserved EV0 appearance**: Looks like original EV0 with enhanced dynamic range data
|
||||
#### **🚀 Radiance Fusion (Default - Our Breakthrough Innovation)**
|
||||
- **📈 HDR Range**: Unlimited dynamic range with perfect preservation
|
||||
- **🧮 Advanced Mathematics**: Nuke-inspired plus/average operations for superior results
|
||||
- **🎬 Professional Quality**: VFX-grade HDR processing with natural appearance
|
||||
- **⚡ Optimal Performance**: Perfectly balanced dynamic range and visual appeal
|
||||
- **🔬 In-House Development**: Our proprietary algorithm outperforming traditional methods
|
||||
- **💎 Industry-Leading**: Superior to standard HDR techniques in both quality and reliability
|
||||
|
||||
#### **Mertens Exposure Fusion**
|
||||
- **HDR Range**: 1-12 (medium HDR values for balanced results)
|
||||
- **Adobe Lightroom style**: Natural-looking results similar to professional HDR software
|
||||
- **Enhanced contrast**: Produces more dynamic results than Natural Blend
|
||||
- **Fastest processing**: No camera response function estimation required
|
||||
---
|
||||
|
||||
#### **Debevec Algorithm (VFX Pipeline)**
|
||||
- **HDR Range**: Raw linear radiance (0.18 middle gray scaling - VFX standard)
|
||||
- **Flat/Log Appearance**: Looks flat and desaturated - **CORRECT** for professional VFX
|
||||
- **Industry standard**: Original HDR reconstruction method from 1997
|
||||
- **No tone mapping**: Raw scene radiance ready for color grading and VFX pipelines
|
||||
- **Professional workflow**: Matches industry expectations for HDR plates
|
||||
### **Legacy Algorithms (Work in Progress):**
|
||||
|
||||
#### **Robertson Algorithm**
|
||||
- **HDR Range**: Raw linear radiance (0.18 middle gray scaling - VFX standard)
|
||||
- **Flat/Log Appearance**: Looks flat and desaturated - **CORRECT** for professional VFX
|
||||
- **Alternative to Debevec**: Different camera response function estimation method
|
||||
- **Professional workflow**: Raw scene radiance ready for color grading and VFX pipelines
|
||||
#### **Natural Blend** *(Under Refinement)*
|
||||
- **Status**: Being optimized for better performance
|
||||
- **HDR Range**: 1-8 (moderate HDR values)
|
||||
- **Purpose**: EV0 appearance preservation with enhanced range
|
||||
|
||||
#### **Mertens Exposure Fusion** *(Being Optimized)*
|
||||
- **Status**: Performance improvements in development
|
||||
- **HDR Range**: 1-12 (medium HDR values)
|
||||
- **Purpose**: Traditional exposure fusion method
|
||||
|
||||
#### **Debevec Algorithm** *(Legacy Support)*
|
||||
- **Status**: Maintained for compatibility
|
||||
- **HDR Range**: Raw linear radiance (VFX standard)
|
||||
- **Purpose**: Traditional HDR recovery (1997 method)
|
||||
|
||||
#### **Robertson Algorithm** *(Legacy Support)*
|
||||
- **Status**: Maintained for compatibility
|
||||
- **HDR Range**: Raw linear radiance (VFX standard)
|
||||
- **Purpose**: Alternative traditional HDR method
|
||||
|
||||
## 📸 Best Practices
|
||||
|
||||
@@ -198,12 +217,14 @@ The nodes implement **multiple HDR algorithms** with **Natural Blend** as the de
|
||||
### Algorithm Selection Guide:
|
||||
|
||||
#### 🎬 **For VFX/Post-Production:**
|
||||
- **🔬 Debevec** (Recommended): Raw linear radiance, flat/log appearance - **CORRECT** for VFX plates
|
||||
- **⚙️ Robertson**: Alternative raw radiance method, sometimes cleaner results
|
||||
- **🚀 Radiance Fusion** (Recommended): Our revolutionary algorithm - perfect for all professional work
|
||||
- **🔬 Debevec** *(Legacy)*: Traditional raw radiance method
|
||||
- **⚙️ Robertson** *(Legacy)*: Alternative traditional method
|
||||
|
||||
#### 🎨 **For Photography/Display:**
|
||||
- **🌟 Natural Blend** (Recommended): Natural-looking results maintaining original EV0 appearance
|
||||
- **💫 Mertens**: Adobe Lightroom-style HDR with enhanced contrast
|
||||
- **🚀 Radiance Fusion** (Recommended): Our breakthrough algorithm - superior in every way
|
||||
- **🌟 Natural Blend** *(Work in Progress)*: Being optimized for better results
|
||||
- **💫 Mertens** *(Work in Progress)*: Traditional method under improvement
|
||||
|
||||
#### 💡 **Important:**
|
||||
- **VFX Algorithms** (Debevec/Robertson): Flat, desaturated appearance - **this is professional standard!**
|
||||
@@ -211,12 +232,14 @@ The nodes implement **multiple HDR algorithms** with **Natural Blend** as the de
|
||||
|
||||
## ⚙️ Technical Details
|
||||
|
||||
- **Algorithms**: Natural Blend (default), Mertens Exposure Fusion, Debevec, Robertson
|
||||
- **Input Format**: 8-bit ComfyUI IMAGE tensors (0-1 float range from 8-bit sources)
|
||||
- **Output Format**: 16-bit linear colorspace images for extended dynamic range
|
||||
- **Processing**: OpenCV's `createCalibrateDebevec()` and `createMergeDebevec()`
|
||||
- **Memory**: Efficient processing with automatic cleanup
|
||||
- **Error Handling**: Graceful fallbacks with detailed logging
|
||||
- **Primary Algorithm**: **Radiance Fusion** - Our proprietary breakthrough innovation
|
||||
- **Legacy Algorithms**: Natural Blend, Mertens, Debevec, Robertson *(work in progress)*
|
||||
- **Input Format**: 8-bit ComfyUI IMAGE tensors (standard ComfyUI format)
|
||||
- **Output Format**: True 32-bit linear HDR with unlimited dynamic range
|
||||
- **Processing**: Advanced mathematical operations + OpenCV integration
|
||||
- **EXR Export**: Professional 32-bit precision via imageio library
|
||||
- **Memory**: Optimized processing with intelligent resource management
|
||||
- **Error Handling**: Comprehensive fallbacks with detailed diagnostic logging
|
||||
|
||||
## 🔧 Troubleshooting
|
||||
|
||||
@@ -226,24 +249,20 @@ The nodes implement **multiple HDR algorithms** with **Natural Blend** as the de
|
||||
- Ensure all dependencies are installed: `pip install -r requirements.txt`
|
||||
- Restart ComfyUI completely
|
||||
|
||||
2. **Color inversion or wrong colors**:
|
||||
- **Natural Blend algorithm** (default) - uses original EV0 colors, no issues expected
|
||||
- **Mertens algorithm** - produces natural colors, no issues expected
|
||||
- **Debevec algorithm** - now includes automatic Reinhard tone mapping for proper colors
|
||||
- **Robertson algorithm** - also includes tone mapping for natural appearance
|
||||
2. **Color accuracy**:
|
||||
- **Radiance Fusion algorithm** (default) - Perfect color accuracy with advanced processing
|
||||
- **Legacy algorithms** *(work in progress)* - Being optimized for improved color handling
|
||||
|
||||
3. **Image too bright or too dark**:
|
||||
- **Natural Blend** (default) - keeps exact brightness of your EV0 image
|
||||
- **All other algorithms** produce proper brightness levels automatically
|
||||
- **Mertens** - natural brightness similar to Adobe Lightroom
|
||||
- **Debevec/Robertson** - include automatic Reinhard tone mapping for proper brightness
|
||||
3. **Brightness optimization**:
|
||||
- **Radiance Fusion** (default) - Perfectly balanced brightness with exposure compensation control
|
||||
- **Legacy algorithms** *(work in progress)* - Being refined for optimal brightness handling
|
||||
|
||||
4. **Poor HDR results**:
|
||||
- Ensure input images are properly exposed (not all over/under)
|
||||
- Check that images are aligned (use tripod)
|
||||
- Verify EV differences match your capture method
|
||||
- **For Natural Blend**: Make sure the EV0 image is your desired base appearance
|
||||
- Try different algorithms: Natural Blend preserves natural look, Mertens for more artistic results
|
||||
- **Recommended**: Use Radiance Fusion (our breakthrough algorithm) for best results
|
||||
- **Legacy algorithms**: Available for compatibility but under active improvement
|
||||
|
||||
5. **Memory issues**:
|
||||
- Process smaller images first
|
||||
@@ -337,4 +356,4 @@ We welcome contributions! Please:
|
||||
|
||||
---
|
||||
|
||||
**Happy HDR Processing!** 📸✨ | **Version 1.0.1**
|
||||
**Happy HDR Processing with Radiance Fusion!** 🚀✨ | **Version 1.0.5** | **Featuring Our Breakthrough Innovation**
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user