Extensions/ComfyUI-CoCoTools_IO
ComfyUI Extension

ComfyUI-CoCoTools_IO

Advanced image input and output: EXR, 32 bit support and more

By Conor-Collins·Created about a year ago·Updated 5 months ago· 105
Conor-Collins/ComfyUI-CoCoTools_IO
Nodes8
On cloudLocal install
CategoryCOCO Tools/Processing, Image/EXR
Stars105
Updated5 months ago
Readme

CoCoTools_IO

A set of nodes focused on advanced image I/O operations, particularly for EXR file handling.

Features

  • Advanced EXR image input with multilayer support
  • EXR layer extraction and manipulation
  • High-quality image saving with format-specific options
  • Standard image format loading with bit depth awareness

Installation for comfyui portable (tested on 0.3.44)

Manual Installation

  1. Clone the repository into your ComfyUI custom_nodes directory

  2. Install dependencies from the python_embeded/ folder

    python.exe -m pip install -r ./ComfyUI/custom_nodes/ComfyUI-CoCoTools/requirements.txt
    
  3. Restart ComfyUI

Current Nodes

Image I/O

  • Image Loader: Load standard image formats (PNG, JPG, WebP, etc.) with proper bit depth handling
  • Load EXR: Comprehensive EXR file loading with support for multiple layers, channels, and cryptomatte data
  • Load EXR Sequence: Load EXR image sequences with #### frame patterns and batch processing
  • Load EXR Layer by Name: Extract specific layers from EXR files (similar to Nuke's Shuffle node)
  • Cryptomatte Layer: Specialized handling for cryptomatte layers in EXR files (WIP - not fully implemented)
  • Image Saver: Save images in various formats with format-specific options (bit depth, compression, etc.)

Image Processing

  • Colorspace Converter: Convert between various colorspaces (sRGB, Linear, ACEScg, etc.)
  • Z Normalize: Normalize depth maps and other single-channel data

To-Do

IO

  • [x] Implement proper EXR loading
  • [x] Implement EXR sequence loader
  • [x] Implement EXR saver using OpenImageIO
  • [x] Implement multilayer EXR system (render passes, AOVs, embedded images, etc.)
  • [x] Add contextual menus based on selected file type in saver
  • [x] Add support for EXR sequences
  • [ ] Complete cryptomatte layer implementation
  • [ ] Adopt filename parsing for saving files into datestamped folders

Third-Party Libraries and Licensing

This project uses the following third-party libraries:

  • Colour Science for Python: Used for colorspace transformations in the Colorspace Converter node. Licensed under the New BSD License.
  • OpenColorIO: Used for color space transformations. Licensed under the BSD 3-Clause License.

For detailed licensing information, please see the THIRD_PARTY_NOTICES.md file.

This project is licensed under the MIT License. The BSD 3-Clause License used by OpenColorIO and the New BSD License used by colour-science are compatible with the MIT License, allowing us to include and use these components within this MIT-licensed project.