rawproc 0.9 Is Released, and rawproc2 is Contemplated...

Good. I’m learning from your experience, by the way. I’ve been my only customer to date, and I’m rather tolerant of myself… :grin:

First, I think I forgot a key property to make all this color stuff work, cms.profilepath. This property needs to point to the directory where you’ll store all of your ICC profiles - camera, working, or output. Anytime rawproc needs a profile, it looks for it in this directory. When I downloaded @Elle’s excellent profiles, I just set mine to that directory and I added to it my display and camera profiles as I created them. So, set up that directory somewhere and set cms.profilepath to point to it before you do anything else…

Nothing other than the display image pane. File output is indeed separate, and I’ll discuss that below…

Ah, now I need to describe what to do with making file renditions, e.g., JPEGs. Assigning a camera space was only half the requirement for display, and the same thing applies to file output. Need to specify an output profile for export to files, same as we do for display. To do that, set the property output.jpeg.cms.profile=some_sRGB_profile.icc. With that file, rawproc will, if the internal image has an assigned profile, will convert the image from the assigned profile’s colorspace to the colorspace (and tone, will get to that in a bit) of the output.jpeg.cms.profile before saving the image to the JPEG file.

To handle this, my recommendation is to let the output profile do the work. @Elle’s profiles all come with different versions based on the tone curve, or TRC in ICC-speak. For instance, “sRGB-elle-V2-g22.icc” has a gamma 2.2 tone curve, and when used as an output profile will compel the transform change the image to that gamma. The key thing with making rendition files of your images is to insure the file contains a profile that accurately represents the image colorspace and tone. That way:

  • color-managed viewer software knows what to do with it.
  • Using sRGB profile helps non-color-managed viewer software ‘do the least harm’ as it just blats the image to the screen.
  • Oh, and using a V2 (ICC Version 2) profile for JPEGs is a good idea presently, as not all color-managed viewers handle V4 profiles. rawproc, due to the excellent LittleCMS library it uses, handles both.

You might want to queue this in your reading list:

I wrote it last year to generically describe the mechanics of color management in raw image processing. It follows our discussion here pretty well.

I know this is a lot to deal with, but once it’s set up it’s all pretty straightforward to use. More importantly, doing all this by-hand provides a crucial experience with how raw processing works end-to-end, with as few abstractions as possible to cloud your understanding. Even dcraw was doing things for you, with rawproc 0.9, you can become personally responsible for every single step… :grin: