Skip to main content

A demosaicing, denoising, and refining application for raw images.

Project description

RawRefinery

PyPI version License: MIT Python version

RawRefinery is an open-source application for raw image quality refinement and denoising.

Currently in alpha release, RawRefinery provides a high-quality raw image denoising tool that works directly on most Bayer image formats, including those from Canon, Nikon, and Sony cameras.


Example: Denoising Performance

Before and after image denoising + deblurring performance for an ISO 102400(!) photo taken with an A7RII. This image is not included in any training set and represents real world performance. Click for to see larger versions of either image.


Overview

RawRefinery main window

RawRefinery lets you visually explore and refine your raw files through a simple, intuitive interface. It uses a deep learning–based denoising model designed to preserve fine image detail while removing noise, even at very high ISO values.


Installation

Install via PyPI (All OS):

RawRefinery is now on PyPI!

https://pypi.org/project/rawrefinery/1.3.0/

You can install with pip as follows with python 3.11+:

Setting up the enviroment

Example instructions for setting up the enviroment in an apt based linux OS.

1. Set up Python
sudo apt update
sudo apt install python3 python3-pip python3-venv build-essential python3-dev libxcb-cursor0

python3 -m venv .venv
source .venv/bin/activate
2. Set up Torch

CUDA support depends on your GPU model.
Before installing RawRefinery, install a compatible version of PyTorch.

You can find the correct PyTorch install command for your system here: https://pytorch.org/get-started/locally/

e.g. For a 10XX GPU with CUDA 12.6, you may want:

pip install torch==2.6.0  --index-url https://download.pytorch.org/whl/test/cu126

For CPU usage, torch 2.8 is tested:

pip install torch~=2.8
3. Install via PyPI
python -m pip install rawrefinery
4. Run the application!

And run in bash:

rawrefinery

Build from source from git (linux):

https://github.com/rymuelle/RawRefinery/tree/main/linux

Build from source from git (MacOS):

Pending

Download installer

Download the macOS build here.


Usage

  1. First launch: On first run, the app will download the denoising model (~500 MB).

  2. Selecting files: Choose a directory containing your raw files. Selecting a file from the left panel displays:

    • A thumbnail (left)
    • A 100% preview (right)

    Clicking on the thumbnail updates the preview region.

  3. Adjusting settings: Two sliders are available below the preview:

    • ISO conditioning: Adjusts model sensitivity to match the image ISO. It defaults to the detected ISO but can be fine-tuned.
    • Blend: Mixes a portion of the original image back into the result to recover subtle high-frequency details.

    After changing either slider, click “Preview Denoise” to re-render the preview.

  4. Saving results: When satisfied, click “Save Denoised Image” to export a denoised .DNG. Processing may take up to a minute and use several GB of memory (RAM or VRAM depending on the backend). Supported backends: CUDA, MPS, and CPU.


Model Architecture and Training

The model training code is currently being documented and refactored here:

https://github.com/rymuelle/Restorer/tree/feature/mps

The feature/mps branch contains the base model architecture and the training code, however, it is a current work in progress.


Development Status

RawRefinery is currently in pre-release alpha, and testing is ongoing. Bug reports and feedback on denoising performance are greatly appreciated.

Current priorities:

  1. Add Windows and Linux support
  2. Integrate newer denoising models
  3. Improve user experience — progress bars, threading, and real-time responsiveness

Feature requests and community contributions are welcome!


Feedback

If you encounter issues or have suggestions, please open an issue on GitHub. You can also share before/after results or performance feedback to help guide model improvements.


Acknowledgments

With thanks to:

Brummer, Benoit; De Vleeschouwer, Christophe. (2025). Raw Natural Image Noise Dataset. https://doi.org/10.14428/DVN/DEQCIM, Open Data @ UCLouvain, V1.

Chen, Liangyu; Chu, Xiaojie; Zhang, Xiangyu; Chen, Jianhao. (2022). NAFNet: Simple Baselines for Image Restoration. https://doi.org/10.48550/arXiv.2208.04677, arXiv, V1.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rawrefinery-1.3.4.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rawrefinery-1.3.4-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file rawrefinery-1.3.4.tar.gz.

File metadata

  • Download URL: rawrefinery-1.3.4.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for rawrefinery-1.3.4.tar.gz
Algorithm Hash digest
SHA256 4358f92d0dbf7ce44364909221a4543f58422e737af266da916a57130354b2ad
MD5 295f0c9b550e0f36c88426cbad1d8929
BLAKE2b-256 1ea512d0fd597d6e7202149e5b0e780b0f9595b6ffce9ba7b5a94e554ed36a7a

See more details on using hashes here.

File details

Details for the file rawrefinery-1.3.4-py3-none-any.whl.

File metadata

  • Download URL: rawrefinery-1.3.4-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for rawrefinery-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 621228d1aacf71a58e7421764ac0c5403e20a713e165e496f471a509de0922cd
MD5 dd7746f0ae405a3ee3db2e546600fba6
BLAKE2b-256 76453545f30e1f88b77b9bf2a3933e7d2a3440ed657ff3ee843d449530d21dd1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page