Introducing a new FOSS raw image denoiser, RawRefinery, and seeking testers.

Oh, no, I broke pip :sweat_smile:. I’ll fix that and move new features to a dev branch from now on lol

1 Like

I also created a Github issue, so you do not forget :wink:

1 Like

Thanks, issues are great. I’m trying to keep good notes on everything, but issues make it easy to remember.

On that note, v 1.3.4 on pip has the working code (but not the grain blending update yet).

You can respond to everyone in the same comment. Just select the relevant part and click quote (not copy quote), like this:

image

It keeps the context and they also get a notification. And I don’t think there are any real limitations on number of quotes.

@RawRefinery Welcome to the forum!

This may have nothing to do with the denoiser, but just in case:

@Donatzsky

Understood, I thought I could only reply to two. Either way, I think my account has fewer restrictions now!

@jandren @Popanz @kofa

To all, which of these two images with grain added back in do you prefer?


@afre

Thanks for linking, I left a comment there. I do think some of those may be a result of the training, and thus can be improved in future versions.

2 Likes

My preference is the second photo - _denoised_asinh_100

2 Likes

Uhuh, this looks sweeeeet. I am currently using Topaz for RAW denoising. The noise removal is very good, but I am not fond of anything else about it. I would be soooooo happy to ditch it in favor of a FOSS alternative. Looking forward to having the time to give it a try.

Thanks for doing this, Ryan!

EDIT: I downloaded the macOS binary and gave it a try. First impressions, mostly UX/UI related (I could not get to the juicy part - that is, denoising - yet):

  • When you start the application nothing happens for a while. There should be some indication that something is going on. It took like ~30 seconds to show up the main UI on an M4 Pro.
  • Model download happened silently as far as I can tell. Maybe this is why it took so long to show the UI the first time? But then it took a while to load it also the second time, even though the model had (I believe) been downloaded already.
  • UI cannot be resized vertically. The thumbnail looks giant on my screen and the window doesn’t fit vertically in the screen. As macOS does not let me move the title bar past the top of the screen, I cannot see what there is on the bottom of the window :slight_smile:
  • But most importantly, it appears that Canon’s CR3 is not supported :frowning: @RawRefinery please tell me that it’s on the roadmap :face_holding_back_tears:
  • Beause of the above limitation I could not really test it on noisy images (I have a lot of CR2s but I was less brave with high ISOs at that time, so they are not good test cases).
  • It would be great to have a CLI option to automate denoising. Topaz Photo used to have it and I was very pissed when the “new and improved” Topaz Photo AI (same product, but renamed for the modern day) ditched it.

Regardless, I am super excited about this :slight_smile:

I personally don’t like these two images where grain has been added back. I preferred the smoother images from your earlier post.

Probably the second “asinh” where shadows are less noisy keeping the contrast up. Maybe to clean at black? I guess you are modulating the noise “gain” with the intensity of the underlying pixel?

If I have to choose I would decide for the second. But, I have to say that there is a moiree pattern in both which I don’t like and it’s a bit too much grain. This one looks much better:

1 Like

Of these, 20_01 is my favourite.

I’d go with asinh_100 (but between 20_01 and asinh_100, I’d pick 20_01).

yeah the pattern is also the most distracting part

I am not sure why the dmg has that loading behavior, I’d recommend the pip version for now until I figure out how to improve that behavior.

UI cannot be resized vertically. The thumbnail looks giant on my screen and the window doesn’t fit vertically in the screen. As macOS does not let me move the title bar past the top of the screen, I cannot see what there is on the bottom of the window :slight_smile:

That is unexpected. I’m guessing the minimum window size was too big?

  • But most importantly, it appears that Canon’s CR3 is not supported :frowning: @RawRefineryplease tell me that it’s on the roadmap :face_holding_back_tears:

I just tested a CR3. The model worked, but the dng writer failed to save the color change matrix for some reason? I’m not sure what happened. I have noted the bug. CR3s will certainly be supported.

  • It would be great to have a CLI option to automate denoising. Topaz Photo used to have it and I was very pissed when the “new and improved” Topaz Photo AI (same product, but renamed for the modern day) ditched it.

CLI is one of the first features I will be adding in a new version, besides bug fixes.

Thank you for testing and reporting these bugs! I have noted them down.

1 Like

Thanks for the discussion all. I don’t know the origin of the pattern. My local image does not seem to show it? Or perhaps, it just isn’t as noticeable.

@jandren

Not quite, but both have the effect of reducing the visible noise in the dark areas, increasing contrast… Rather, I am feeding the scale change of the magnitude through a arcsinh function to limit the largest size of the noise. arcsinh is linear near 0, and then grows much more slowly, so it “squishes” the tails of the gaussian.

OK, I installed RawRefinery now and did some testing. As AMD GPU is not yet supported, I’m running it on CPU. It still runs quite nice on my admittedly fast Ryzen 9950X3D. I had one crash so far and EXIFs are unfortunately lost on it’s way to the DNG. Output is this:

File format not recognized.
Could not save EXIF

While I sounded probably quite critical, when I saw some results, I have to say the results are indeed pretty good - a bit depending on the subject.

I have as well PureRaw2 in a VM running and I prefer most of the time the output of RawRefinery (I most of the time chose a ISO value lower than the real one).

Great work. I’m looking forward to see and test the further development.
:heart_eyes:

Hello, can’t open RawRefinery on an iMac (2019) with macOS Sequoia 15.7.2 on Intel.

I’ll try the Linux version later.

First off, thanks for trying it! And thank you for your compliments.

Don’t worry about being critical, I want feedback to improve the app.

Quick question, are you in linux or windows? If linux, you might try to install a ROCm compatible torch and try it on AMD. The latest change theoretically might allow for ROCm.

It still will not work on windows however, as torch does not supply a ROCm backend on windows. I’m looking in to ONNX run times to solve that.

1 Like

Hi Paul,

Did you try to install via the dmg, pip, or git clone?

I’m on Linux and running RustiCL. So I’m not sure if the ROCm compatible torch would run with RustiCL. I couldn’t get ROCm to run with my GPU (RX9070XT) when I build my system. That was abouth 3 months ago, haven’t tried since that but prefer anyway free drivers.