A professional-grade software tool for analyzing images and videos to extract perceptually accurate color palettes, evaluate color coherence across multiple assets, and present results in a blueprint-style, node-based visual interface.
Color Cohesion Analyzer is not a simple palette extractor. It's a comprehensive color analysis tool designed to answer:
"Do these images and sequences speak the same visual language?"
Designed for filmmakers and visual artists working with cinematic imagery, video sequences, and visual references.
- Perceptual Color Processing: Uses OKLab/CIELAB color spaces for film-aware analysis
- Three-Center Model:
- Global Average Palette (mathematical average)
- Consensus Palette (perceptually consistent colors across assets)
- Outlier Detection (divergent colors and assets)
- Shot/scene detection
- Per-shot palette extraction
- Configurable frame sampling (Draft/Balanced/Accurate)
- Timeline palette visualization
- DeltaE-based distance calculations
- Palette entropy (color complexity)
- Warm/cool balance analysis
- Saturation distribution
- Cohesion scores per asset
- Conflict mapping
- Node-based layout with pan/zoom (Radial & Grid views)
- Professional dark mode UI
- Visual connections showing color relationships
- Filters for outliers, videos, references
- Multi-language support (English / TΓΌrkΓ§e)
- PNG palette swatches
- JSON/CSV reports
- ASE (Adobe Swatch Exchange) files
- Experimental creative LUTs (.cube)
Drag and drop your images and videos to start analysis.
Visualize color relationships with the consensus palette at center.
Compare all palettes side by side in an organized grid.
- Python 3.9 or higher
- pip package manager
- Clone or download the project
- Install dependencies:
cd color_cohesion_analyzer
pip install -r requirements.txt- Run the application:
python main.pyFor CUDA-accelerated clustering (NVIDIA GPUs):
pip install cupy-cuda12x # For CUDA 12.x
# or
pip install cupy-cuda11x # For CUDA 11.x- Launch the application:
python main.py - Add files: Drag & drop images/videos or use File > Open
- Start analysis: Click "βΆ Start Scan" or press Ctrl+Enter
- Explore: Use the node graph to visualize relationships
- Export: File > Export > Export All
Click the "π New" button or press Ctrl+N to clear current analysis and start fresh.
Click the "TR/EN" button to switch between English and Turkish interface.
Images: JPG, JPEG, PNG, TIFF, TIF, BMP, WebP, EXR
Videos: MP4, MOV, AVI, MKV, WebM, MXF, ProRes
| Key | Action |
|---|---|
| Ctrl+O | Open files |
| Ctrl+N | New analysis |
| Ctrl+Enter | Start analysis |
| F | Fit view to content |
| Home | Reset view |
| +/- | Zoom in/out |
| Middle Mouse | Pan |
| Scroll | Zoom |
Settings can be adjusted in config.py:
# Color analysis
ANALYSIS_CONFIG.palette_size = 8
ANALYSIS_CONFIG.color_space = ColorSpace.OKLAB
ANALYSIS_CONFIG.deltaE_threshold = 10.0
# Video sampling
ANALYSIS_CONFIG.sampling_mode = SamplingMode.BALANCED
ANALYSIS_CONFIG.shot_detection_threshold = 30.0
# Performance
ANALYSIS_CONFIG.use_gpu = False
ANALYSIS_CONFIG.cache_enabled = Truecolor_cohesion_analyzer/
βββ main.py # Application entry point
βββ config.py # Configuration settings
βββ requirements.txt # Python dependencies
βββ screenshots/ # Application screenshots
β
βββ core/ # Analysis engine
β βββ color_space.py # Color conversions (OKLab, CIELAB)
β βββ palette_extraction.py# Clustering and palette extraction
β βββ video_processor.py # Video/shot analysis
β βββ metrics.py # Cohesion metrics
β
βββ ui/ # User interface
β βββ main_window.py # Main application window
β βββ node_graph.py # Node-based visualization
β βββ panels.py # Sidebar panels
β βββ translations.py # Multi-language support (EN/TR)
β βββ theme.py # Blueprint styling
β
βββ export/ # Export functionality
β βββ exporter.py # PNG, JSON, ASE, LUT export
β
βββ utils/ # Utilities
βββ cache.py # Caching and GPU management
Input β Decode β Downscale β Sample β
Convert to OKLab β Cluster (K-Means) β
Compute Metrics β Cache β UI
Uses Mini-Batch K-Means clustering in perceptual color space (OKLab by default) for efficient and accurate palette extraction. Each color includes:
- Hex code
- RGB values
- Lab values
- Dominance percentage
- Shot Detection: Frame difference analysis with configurable threshold
- Frame Sampling: Configurable density (Draft/Balanced/Accurate)
- Per-Shot Palettes: Independent color analysis per detected shot
- Timeline Generation: Color evolution visualization
- Cohesion Score: 0-1 measure of alignment with consensus
- Distance to Consensus: DeltaE-based perceptual distance
- Palette Entropy: Color complexity/dispersion measure
- Warm/Cool Balance: -1 (cool) to +1 (warm)
- Saturation Distribution: Statistical analysis of chroma values
The application supports English and Turkish languages. Click the language toggle button in the toolbar to switch between languages instantly
Contributions are welcome! Please read the development guidelines before submitting PRs.
Color Cohesion Analyzer - Empowering visual storytellers with color intelligence.


