rawproc 0.8.2 is posted

I thought this would be a simple release, posted months ago. Best-laid plans, and all that…

Only two new tools, whitebalance and demosaic.

whitebalance seemed straightforward, I was just going to provide a multiplier-based interface because I really don’t get using color temperature once the image is recorded. So, you can mess with image patches, ‘gray world’ automatic, the camera multipliers extracted from the metadata, and manual manipulation of the individual multipliers. Seems simple, but the logic for selection and recording of the alternatives took a while longer to divine; if anyone has problems with it, let me know soonest.

demosaic is just a 15-minute hack of ‘half’; I’m now going to finish my raw processing tutorial and build a supporting custom AppImage that will support it, hence the need for a demosaic tool in addition to the internal stuff Libraw/dcraw does. However, I think I’m going to start using it for my proof processing; the destination image size is 800x600, so cutting the image size in half with half-demosaic is just a step in that direction. Others have pointed out that half produces its own artifacts, but for proof processing I think it’ll be fine. At any rate, I will engage in some pixel inspection to see how that actually plays out.

Implementing both of these tools led to significant learning on my part, culminating with the discourse in the GIMP 2.10.6 out-of-range RGB values from .CR2 file - #203 by Elle thread. I now know a lot more about the role of the reference white in the camera profile, to the extent that I’m now going to evaluate using the profile to capture all camera performance and eliminate (well, probably greatly reduce) the need for the whitebalance tool I spent all that quality time figuring out. Shameless plug, I think rawproc is now an excellent tool for producing TIFFs for camera profiling: you can easily open a raw file with no processing, and very deliberately apply only the processing you want to not account for in producing the camera profile. The property

input.raw.libraw.rawdata=clip 

will put the raw data directly in the toolchain, unmodified except for a conversion from 16-bit integer to three-channel monochrome float, RGGB quads where R=G=B in each quadrant. demosaic and whitebalance know the difference between that and a ‘regular’ RGB image when applying their transforms. Set rawdata=clip, turn off cms (input.cms=0, probably not necessary but made me feel comfortable with what I was looking at), open the raw, apply demosaic, and save to TIFF.

The discussions here are greatly influencing my development, thanks to all, and I do mean all of you for contributing in this regard. Even @chroma_ghost, jeje… :stuck_out_tongue:

For 0.9, I’m going to investigate and probably implement:

  • LUT tool
  • A more insightful histogram and image statistics capability
  • DCP profiles, and possibly workflow to make them easy to use ‘per session’
  • Log transform (after all the discussion, I’d be remiss…)
  • Reinhart tone mapping

Keeps me out of the bars…

3 Likes

Awesome @ggbutcher! Congrats. Good to see progress being made!

I have high hopes for this, given the authorship. Is it “too soon” to ask about scene referred? :stuck_out_tongue:

Well, since you can stack the operators any way you want, you can do all the manipulation before anything looking like a display transform is applied. So, I’d say on one level I’m already there… :smile:

Pragmatically, I’m missing a few things: 1) I’m still using the villified ICC profiles; 2) it’s hard to use a normal curve tool on data still in the camera space, and 3) a LUT tool might help in that regard.

BTW, I’ve been messing with it and my new favorite camera profile, and it would seem I’ve somewhere screwed up rotation normalization for rawdata. Expect 0.8.1 sometime soon…

1 Like

Re: high hopes

rawproc would be themed after trains, complete with logo, foley, 8-bit game and t-shirt. Of course, that wouldn’t satisfy the masses, who yearn for machine learning. Personally, I would throw in a vectorcope, CLAHE, G’MIC and all of the image processing papers that I have linked or referred to in the past. That would be awesome. Thanks in advance.

0.8.1:

Read the release page for my travails with image orientation. This is my Alzheimers test: if I can sort through the transforms needed for EXIF.Orientation 2-8, I’m nowhere near dementia…

Geesh.

0.8.2 cleans up the image orientation thing as best I can, also has sundry fixes described on the github release page. I’m going to branch this tag to a maintenance branch, an start work toward 0.9 on master, for folk who are keeping up with such.

Particularly interested hearing from others regarding how the AppImage does/doesn’t work. I’m starting my own AppImage ‘zoo’, got GIMP set up this morning, RT, dt and Pf are next…

1 Like

Looks like my attempt at humour failed. :sweat_smile:

I will give it a spin when I have more time.

Apologies; I’ve been piece-mealing my forum visits. You have prompted me in one way, rawproc needs an icon, and i think it’ll be a train…

The unwritten rule of FOSS raw processors dictates that it must be a colorful aperture :smile:

Speaking of trains…