For incorporating color management in rawproc, I selected Little CMS, downloaded and compiled it successfully, and have established it in the MinGW side of my Makefile. Now, to figure out how to use it…
I’ve been studying the color management literature of the internet, and I think I have a rudimentary understanding of what to implement. If I may, I have a couple of question for this august group of software developers (while it’s still August…):
The FreeImage library I’m using uses libraw for raw processing, delivering a native FIBITMAP image of the result. The libraw conversion is wrapped dcraw, so all of dcraw processing is available including output colorspace, selecteable like this: [0-5] Output colorspace (raw, sRGB, Adobe, Wide, ProPhoto, XYZ). So, am I correct in assuming that, if for example I select libraw output colorspace = 4 to open my raw image with libraw, the FIBITMAP will come delivered in the ProPhoto working space and I don’t have to use LittleCMS to transform it?
Accordingly, using ProPhoto as the working colorspace in the following questions…
If my thinking in #1 holds, I should create a ProPhoto-to-deviceICC transform at open time, and use that every time I update the display image? I’m displaying a wxWidgets wxImage conversion of the FIBITMAP, and I’d do the colorspace transform to the FIBITMAP before down-converting the 16-bit RGB to 8-bit and loading it into the wxImage for display.
Image save (TIFF, JPEG, or PNG) would include a radio box selection of a suitable ProPhoto-to-outputICC transform, with a corresponding load of the ICC profile in the FIBITMAP before saving.
I’m going to hard-code this first to see how it “transforms” (or, mangles) my images, then write the user interfaces. If you have some experience applying this library, your insight is very much appreciated.
Thanks very much for the confirmations and the caching suggestion. After reviewing various code, actually incorporating Little CMS looks to be fairly straightforward. Right now, my main challenge is to decide how to manage a patched FreeImage to support the color space selection, as the 3.17 release doesn’t expose it.