RethinkRAW: a RAW photo editor built around Adobe DNG Converter

Hi!

I’m the creator of RethinkRAW, a free RAW photo editor that I’m (slowly) building mostly for fun.
It’s on GitHub: GitHub - ncruces/RethinkRAW: RethinkRAW is a RAW photo editor for those who would otherwise shoot JPEG

It builds on Adobe’s DNG Converter, which means it integrates nicely with Adobe’s stuff (edits are loaded from, and saved to, Adobe compatible XMP sidecars and DNGs).

It’s available for Windows and macOS, but I’d really appreciate a hand in packaging it for Linux (it’d need to use Wine to run DNG Converter) if anyone’s interested.

It’s really bare-bones, but it’s useful to me, and I thought I’d share (and solicit feedback) in the hope that it might be useful to others. I promise not to spam the board if no one finds it interesting.

Thanks for reading!

5 Likes

I’d imagine its going to be a problem redistributing adobe dng converter. Have you looked into the license?

It was a nice little interface and gave pretty good results. I found the zoom a bit awkward, no way I could find to preview changes other than set it back and with the lag it was hard to assess the quality of the adjustment, ie compare to original and it would be nice to allow to reset the sliders with a double click or insert a way to toggle them on and off to gauge the impact. Holding space bar to see the original and then release to see the state of the edit would be nice…scroll wheel to zoom in out might be better you have nice big sliders so a click and hold would be a way to check the adjustment …just a few very random thoughts

1 Like

Currently, I ask people to install DNG Converter on their own (for macOS, Windows).
That’s obviously more problematic on Linux, if that’s what you mean?

To be honest, I don’t know if it’s even possible (not really a Linux expert), but this is how I see it working (maybe). RethinkRAW is distributed as a snap. That includes everything the other versions do: rethinkraw, dcraw, exiftool, perl (maybe?), and wine. Then I ask people to download the DNG Converter Windows installer, and use wine to run it silently.

Thanks for trying, and for your thoughts!

Yeah, zoom is a bit awkward. It’s also very slow (esp. on high megapixel cameras) which is why I’ve resisted zoomed in edits so far.

Holding space is a nice idea. What do you think it should revert to? No edits at all, or to the previously saved change? I’d like to avoid a full checkpointing, undo/redo logic.

The Adobe DNG converter works fine with WINE. I think for me a bigger problem is your license. It is open source but not free software. :frowning:

Yes, that is what I meant.

Ouch, I didn’t catch that.

I appreciate that. To be honest, I personally don’t care what anyone does with my code or software, so the license could just as easily be MIT. I frequently shift anything that might be useful to others to MIT licensed repositories.

However, the software, as it is, relies heavily on Adobe’s software: Adobe DNG Converter, which is free as in gratis, but not libre. Adobe DNG Converter not only converts RAW files to DNG, it also renders full-resolution previews in the process, respecting all settings from XMP sidecar files, and ships calibration profiles for hundreds of cameras. All that, is what enables RethinkRAW to do what it does.

Regardless of what anyone thinks about Adobe and their licensing practices, the effort they put into photography, into the DNG/DCP/XMP standards, and camera calibration, is IMO laudable.

So. I’ll eventually put this “in writing” in the project’s wiki, but here it goes. My “big” restriction is towards comercial uses of RethinkRAW. And for those users, my view is as follows.

If you’re making money from photography, and find my software useful in your endeavours, you should really license some Adobe photography software yourself. If you hold a valid license to Photoshop/Lightroom/Elements you’re free to use my comparatively small contribution however you want, including commercially. Additionally, you should also seriously consider donating to Dcraw and ExifTool development, as per their author’s requests.

I’m not at all interested in making money from this, or taking away your freedom. But I’m also not at all interested in creating something that only exists to take money away from those who did the real work.

I know this is not an OSI approved license, but I hope this makes my views clear, and that they might be respected. I actually have no way to enforce that either.

Can you elaborate on this a bit? Which are the ones, who did the real work?

Adobe, which created Adobe DNG Converter, the DNG and XMP standards, and offers calibration profiles for 875 cameras and 2325 lenses, etc.

Phil Harvey which created ExifTool, that reads, writes and edits metadata in hundreds of formats.

Dave Coffin which created DCraw, that decodes RAW files from many, many cameras.

Those are the main ones. And compared to those, my contribution is fairly small. Adobe DNG Converter is gratis but not libre. The other two are free and open source, but certainly deserve donations if used commercially.

I agree, that without his work, the world of raw processors would be much smaller.

3 Likes

Kind of off-topic, but I’ve been curious for some time — does Adobe give financial or other practical support to the developers of SQLite? The Lightroom database is SQLite.

Please note I have no idea of what the SQLite developers need or want! I’m just curious what Adobe gives to them in exchange for using their code.

1 Like

I like your attempt really much. It is like having ACR without Photoshop, minus a few functions. Will it be enhanced, e.g. bei details and contrast sliders in sharpening and denoising? And perhaps a scroll bar in the overview tab?
What I couldn’t find out is how the zoom function works. I can zoom in but I have to zoom out again to make changes in the pictures and zoom in again afterwards?

1 Like

Yes, that’s the goal! I wish Adobe just did the same thing and spared me the trouble! But thanks!

Anything that’s deemed important and the UI is simple enough (a slider, a checkbox, a combobox), I can add. Would those be your priorities?

Not sure I know what you mean?

It’s totally not built for that, yes. Just to inspect the photo when not editing. On high resolution photos the full size preview takes at least a couple of seconds to generate, which would make the experience pretty terrible anyway. But I understand how this is bad, especially for the detail settings.

1 Like

Doesn’t just about everything, proprietary or not, use SQLite?

It’s public domain so anyone, of any size, can use it for anything, for free.

You just get priority support if you pay.

1 Like

I would just have it show the unedited by something like hitting space bar. Maybe allow double click or something to reset the sliders to zero …I pulled in a couple of DNG from my Pixel and they developed really nicely…its a bit slow right now but its early days so that is to be expected…

Yes, I agree, Adobe should have released something like that.

Concerning sharpening etc.: In ACR there are some more sliders that controll the sharpening and the denoising. They are helpfull (together with “Alt”-key on windows) to find the right amount of sharpening etc. Here is a screenshot (unfortunately in German):

image

It would be great to have them in RethinkRAW as well as saving to 32-bit Tiff.

Concerning the scrollbar, I obviously made a mistake, it is there. Forget it. ;-).

Concerning the zoom function. Even it would take some time, having the possibility to use sharpening and denoising in 100% zoom would be great.

I don’t know what is possible with DNG Converter, but having the previews inside dng updatet in full size after editing would also really fine.

And I realized that keywords are not taken over from DNG to Jpeg. If possible, that would be fine as well. A lot of wishes ;-).

Really astonishing work. I wasn’t aware that DNG Converter contains such possibilitier. Together with @CarVac’s Filmulator the best attempt to me. They perhaps would complement each other quite well.

New beta!
Fixes a bug were XMP files were not being updated on save (if they already existed).

As for requests, I’ll have to cool down a bit on big new features.
This is a hobby, so it might be a week, a month, or…
Having said that…

Space bar to before/after is interesting. A shortcut to reset a slider, as well. Some (limited) form of undo, as well.

I’ll also look into the additional sharpening and noise reduction settings. Although, without coming up with a solution for zoom, it might be overkill to have so many settings (which is why I kept it to the very basics).

Saving 32-bit TIFFs is impossible, I’m afraid. The reason for this is that I’m simply extracting the full size previews that DNG Converter embeds inside DNGs. Those are 8-bit sRGB JPEGs, no chroma subsampling, quality 8 (“High”, or 86%). So I really can’t do 16/32-bit, or Adobe RGB.

Updating previews inside DNGs should work. If they don’t update then either: 1. they did update and you need to refresh your view; 2. DNGs are straight from a camera that uses DNG as a format; 3. it is a bug. Rational for 2 is that I don’t want to risk screwing straight from camera files, so those DNGs are treated exactly like other RAW files (XMP is saved to sidecar, no previews). Are your DNGs saved by Adobe tools? If so, previews should be updated on save.

Can you post an example DNG with such keywords, so I can find out which tags I need to tell ExifTool to carry over? I’m doing my best to save everything.

Performance is a tough nut to crack. Most of the time is spent inside DNG Converter.

Thanks all for the useful feedback. It’s encouraging!

Ok, this is the dng file:
2020-12-16-170548.dng (16.4 MB)

It is a rw2 file, converted by CameraRaw and edited in RethinkRaw. It contains tags as well.

Editing and exporting to jpg delivers the following:

That is less than 1MB and I would doubt that it is 90% quality. Those 90% jpg with 20Mpix usually have several MB. Even if I export with option quality 12 and 20Mpix, the file has only 1,89MB. And: No exif informations are transferred, neither camera etc. nor keywords.

I just tested with original ACR, saving in quality 10 fullsize:

Editing and saving produces a xmp-file:
2020-12-16-170548.xmp (4.9 KB)

The preview of the dng isn’t updated, as you can see, nor is the xmp embeded in the dng. That happens only when I export to dng. Is that the intended behaviour or is someting wrong?

Thank you for answering the other questions so quickly. I guess, the most important question is, how do we get a full size full quality picture out of RethinkRAW, besides saving as dng again,

There are 4 functions here: Save, Export JPEG, Export for web/print, and Export DNG.

Let’s start with Save. If you’re editing a RAW file, changes are saved to an XMP sidecar. If you’re editing a DNG however, changes can either be saved to the DNG itself or to a sidecar. The decision is automatic. If a sidecar already exists for the DNG, I use the sidecar. If the DNG came from directly from a camera that shoots DNGs, I use a sidecar. Otherwise, I’m supposed to update the DNG itself, embedding the XMP, and updating the preview. This is what I intended to do, but I may have messed it up. For instance, if you have the RW2, the DNG, a JPG and an XMP all in the same folder, I may not know if the XMP is a sidecar for the RW2, the DNG (or even the JPG).

Export JPEG is the highest quality output you’ll get. It’s an 8-bit sRGB JPEGs, no chroma subsampling, quality 8 (“High”, or 86%). I erroneously reported it as quality 10, it’s closer to 8 after further investigation. I can’t do better than that, sorry. It’s all I have to work with. It should, however, include all relevant metadata, and if it doesn’t, that’s a bug, and I can probably fix it.

Export for web/print is always lower quality than the above, because the source is the JPEG file above. Yes the file size can end up being higher, the same way as if you open a JPEG in Photoshop, resize it, and save it at an higher quality the file can grow (but you gain no quality in the process). This is meant to take a 20MP image, and downsample it for the web, or a 10x15 print. These JPEGs always have 4:2:2 chroma subsampling, and no metadata. I can improve this, but given the purpose, I’m not sure if it’s worth the trouble.

Export DNG exports a DNG from RAW, embedding the XMP, and updating the preview, and doing its best to preserve all metadata (even some stuff DNG Converter destroys).

This is the intended behavior, but there might be bugs, obviously.

The output quality is sufficient for me, but all I do is upload the JPEGs to Google Photos, enjoy them on my 4K TV, and (very rarely) order a 10x15 or 15x20. This means I can do a few basic edits, save some otherwise dull photos, and if it gets hard (or if I want to print big), I hand the DNG/XMP to the experts (my wife, or the store, they actually print DNGs).

I love photography, cameras, lenses, rendering… editing is my least favourite part of it. I’m obviously not going to dethrone Adobe with this attitude, eh?

1 Like