# ICRS (Interactive Color Range Analyzer) ICRS is a small Tkinter tool for analysing colour ranges in images. You load a picture, pick or click a reference colour, adjust hue/saturation/value sliders, and the app marks matching pixels while showing quick stats. ## Features - Two synced previews (original + overlay) - Hue/Sat/Value sliders with presets and image colour picker - Exclusion rectangles to ignore regions - Theme toggle (light/dark) with rounded toolbar buttons - Folder support with previous/next navigation - Quick overlay export (PNG) and optional defaults via `config.toml` ## Requirements - Python 3.11+ (3.10 works with `tomli`) - [uv](https://github.com/astral-sh/uv) for dependency management - Tkinter (install separately on some Linux distros) ## Setup with uv ```bash git clone https://git.lukasmahler.de/lm/ICRS.git cd ICRS uv venv source .venv/bin/activate # Windows: .venv\Scripts\activate uv pip install . # install ICRS and dependencies uv run icrs # launches the GUI ``` To include the optional ttkbootstrap theme pack: ```bash uv pip install '.[ui]' ``` ## Workflow 1. Load an image (`📂`) or a folder (`📁`). 2. Pick a colour (`🎨` dialog, `🖱️` image click, or preset swatch). 3. Fine‑tune sliders; watch the overlay update on the right. 4. Move through folder images with `⬅️` / `➡️`. 5. Draw exclusions with right drag; reset or save when ready. ## Config Defaults Optional `config.toml`: ```toml [defaults] hue_min = 250.0 hue_max = 310.0 sat_min = 15.0 val_min = 15.0 val_max = 100.0 alpha = 120 ``` ## Project Layout ``` app/ app.py # main app assembly gui/ # UI, theme, picker mixins logic/ # image ops, defaults, reset config.toml # optional defaults main.py # entry point ``` ## Development - Quick check: `uv run python -m compileall app main.py` - Contributions welcome; include screenshots for UI tweaks.