Dither-Pro is a high-performance image dithering toolkit designed for digital artists, game developers, and retro aesthetic enthusiasts. Built with a responsive PySide6 interface and accelerated by Numba's JIT compilation, it provides real-time processing of advanced error-diffusion and ordered dithering algorithms.
Dither-Pro goes beyond standard image converters by offering granular control over pixel distribution, palette quantization, and post-processing, allowing you to easily achieve precise, high-fidelity vintage effects.
- Error Diffusion: Includes Floyd-Steinberg, Atkinson, Jarvis-Judice-Ninke (JJN), and Stucki algorithms.
- Ordered Dithering: Supports structured patterns like Bayer Matrix (8x8) and Clustered Dot Halftoning.
- Stochastic Dithering: Uses controlled randomness to minimize banding and generate organic textures.
- Variable Strength: Blend original and dithered images for precise intensity control.
- Smart Quantization: Auto-generate optimized color palettes directly from source images while preserving fidelity.
- Retro Presets: Built-in classic palettes including Game Boy, PICO-8, and CGA.
- Color Control: Fine-tune outputs with adjustable color counts (ranging from 2 to 256 colors) and dedicated grayscale support.
- HSV Tuning: Non-destructive adjustments to Hue, Saturation, and Value directly on the dithered output.
- LUT Support: Apply Look-Up Tables (LUTs) for sophisticated, immediate color grading.
- Optimized Pipeline: Instant visual feedback powered by vectorized NumPy operations and Numba acceleration.
- Python 3.8+
pip
-
Clone the Repository
git clone https://github.com/dovvnloading/Dither-Pro.git cd Dither-Pro -
Create and Activate a Virtual Environment
# Windows python -m venv venv .\venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install Dependencies
pip install -r requirements.txt
-
Run the Application
python Dither_app/Dither_app/Dither_app.py
The UI is divided into three primary panels for efficient image manipulation:
- Dithering Workspace: The core hub. Select your preferred algorithm, set the dithering strength, dictate the color count, and apply either smart-generated or preset palettes.
- Color Adjustment Panel: Fine-tune your result using real-time sliders to globally shift Hue, adjust Saturation levels, and control overall Value (brightness/contrast).
- Grading Suite: Load and apply LUTs to completely transform the mood and stylistic aesthetic of your final image with a single click.
Dither-Pro is built with a focus on non-blocking performance and maintainability:
- UI Layer: Built with
PySide6for a native, cross-platform graphical user interface. - Concurrency: Utilizes
QThreadworkers to offload computationally heavy processing from the main UI thread, ensuring the interface never freezes. - High-Performance Computation: Core dithering algorithms (located in
algorithms.py) are strictly optimized withnumba(JIT) and vectorizedNumPyoperations, achieving near-C speeds for high-resolution asset processing.
This project is licensed under the MIT License. See the LICENSE file for details.