Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.67k stars 306 forks source link

Dual Iso on Rawtherapee? #3784

Open pygmalionshell opened 7 years ago

pygmalionshell commented 7 years ago

Hi, On Magic Lantern, a FOSS alternative to Canon camera firmware, the main developer "a1ex" have created a way to get more dynamic range from a single photo, alternating the ISO settings between sensor lines. What you get is a image with strips, that then can be processed using a command line software called cr2dng. You can check this thread for more information: http://www.magiclantern.fm/forum/?topic=7139.0

Would you guys agree to put this software inside rawtherapee? It would be of great help for people processing files using dual iso feature. The code is done, so it would probably be simple to add it to RT tree and then create a just checkbox inside the demosaicing panel: https://bitbucket.org/hudson/magic-lantern/src/tip/modules/dual_iso/cr2hdr.c

Thanks in advance.

heckflosse commented 7 years ago

@pygmalionshell Please excuse that I'm kind of late answering this. There was so much stuff to do for the upcoming 5.1 for me (and other devs too).

I looked at the code. It's almost 3700 lines which also includes a lot of command line processing code (about 400 lines) which I will have to dig into to port it for rt. Not that I don't want to do that (I also ported the libraw code for fuji compressed raw files to rt), but if you could point me to the key functionalities of the code that would save me some time at least.

pygmalionshell commented 7 years ago

Hi @heckflosse thanks for your answer! I'll contact the developers, they may help you on what you need in their free time.

davidmilligan commented 7 years ago

@heckflosse, I ported the cr2hdr code into my app MLVFS. I had to strip out a lot of the unnecessary stuff, made some changes to eliminate the fancy GCC only stuff (so it would compile with clang/llvm), made the code thread safe, and tried to do some general cleanup and organization. You might find that version of the code useful for purposes. The only issue would be any changes made upstream since I ported it are not included. See: https://bitbucket.org/dmilligan/mlvfs/src/24ebdf591dba0a0431cf1fb674b3a8fcd2730b62/mlvfs/hdr.c?at=master

heckflosse commented 7 years ago

@davidmilligan Thank for the pointer. Porting your code (less than 2000 lines) seems much easier than the original code (almost 3700 lines) :+1: Edit: I also appreciate that it compiles with clang/llvm. That will save us some time for mac builds :+1: