[!!!WORK IN PROGRESS!!!]Easy and fast low-level vision for everyone
[!!!WORK IN PROGRESS!!!]Next-generation Open Source toolkit for low-level vision. Engineered for state-of-the-art performance in image and video pixel2pixel tasks, including Super-Resolution, Denoising, Deblurring, and more.
If you find ClarityCore useful, please consider giving it a star ⭐ and Join Discord!
Latest News 🚀
- I am very busy at my current position. I want to continue this project in ~January
- [2025/11] Major refactoring: unified dataset, preset system, Rich CLI
- [2025/10] Project start
🚀 Quick Start
Installation
pip install claritycore
Or install from source:
git clone https://github.com/Bezdarnost/claritycore.git
cd claritycore
pip install -e .
Training
Train a 4x super-resolution model with one command:
# List available presets
claritycore list
# Train with a preset
claritycore train rrdbnetx4
# Train with custom settings
claritycore train rrdbnetx4 --steps 100000 --batch-size 8
Python API
from claritycore import AutoConfig, AutoModel, Trainer
from claritycore.data import Pixel2PixelDataset, DatasetConfig
# Create model
config = AutoConfig.from_name("rrdbnet", scale=4)
model = AutoModel.from_config(config)
# Create dataset
data_config = DatasetConfig(target_dir="data/HR", scale=4)
dataset = Pixel2PixelDataset(data_config)
# Train
trainer = Trainer(model, train_loader, optimizer, training_config)
trainer.train()
📦 Available Models
| Model | Task | Parameters | Scales |
|---|---|---|---|
| RRDBNet | Super-Resolution | 16.7M (full) / 1M (lite) | 2×, 3×, 4×, 8× |
See docs/models.md for detailed documentation.
📁 Dataset Structure
ClarityCore expects datasets in this structure:
datasets/DIV2K/
├── hr/ # Target (high-resolution) images
├── x2/ # Input images for 2x SR
├── x3/ # Input images for 3x SR
└── x4/ # Input images for 4x SR
The Pixel2PixelDataset automatically:
- Detects filename suffix patterns (e.g.,
0001x4.png) - Generates input images on-the-fly if no input directory exists
- Supports flexible normalization ([0,1], [-1,1], or custom)
🛠️ CLI Reference
# Show help
claritycore --help
# List available training presets
claritycore list
# Train with preset
claritycore train <preset> [options]
# Examples
claritycore train rrdbnetx4 # Full RRDBNet, 4x SR
claritycore train rrdbnet-litex4 # Lightweight variant
claritycore train rrdbnetx4 --steps 50000 # Custom steps
claritycore train rrdbnetx4 --batch-size 8 # Custom batch size
# Advanced training (full control)
claritycore train --model rrdbnet --scale 4 --data path/to/data
📊 Presets
| Preset | Model | Scale | Config | Steps |
|---|---|---|---|---|
rrdbnetx2 |
RRDBNet | 2× | 64 feat, 23 blocks | 400K |
rrdbnetx4 |
RRDBNet | 4× | 64 feat, 23 blocks | 400K |
rrdbnet-litex4 |
RRDBNet | 4× | 32 feat, 6 blocks | 200K |
Run claritycore list for all available presets.
📖 Citation
If you use ClarityCore in your research, please cite:
@software{ClarityCore_2025,
author = {Urumbekov, Aman},
license = {Apache-2.0},
title = {{ClarityCore}},
url = {https://github.com/Bezdarnost/claritycore},
year = {2025}
}
Urumbekov, A. (2025). ClarityCore: A toolkit for low-level vision. GitHub. https://github.com/bezdarnost/claritycore
⭐ Star History
📄 License
Apache License 2.0. See LICENSE.
Metadata
Release files for claritycore 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claritycore-0.0.5.tar.gz | 394.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claritycore-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 447.1 kB
Release files / claritycore-0.0.5.tar.gz
| Download URL | claritycore-0.0.5.tar.gz |
|---|---|
| Size | 394.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d09ad6f9dccd9dcf7f918ed4c64e5aea7d014c8efbbdfbad4480131735209954
|
|
BLAKE2b-256 checksum How to use checksums |
8a4a8e8ca8a7ebbf530ba6fbfae7e73d600359f8d2a8c82cebd06ff3d919c294
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 30, 2025.
Transparency logRelease files / claritycore-0.0.5-py3-none-any.whl
| Download URL | claritycore-0.0.5-py3-none-any.whl |
|---|---|
| Size | 52.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
70a683103c8e7eeafb888b1501e59329254f3e61e9fad4654d15da1178ad1a76
|
|
BLAKE2b-256 checksum How to use checksums |
28f7cfb1101f0e84f97ebfb7dd21790c125c37a26ee45c028574f951b502df6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 30, 2025.
Transparency log