RT output profiles and soft-proofing

The reason is simple. As long as the file to be converter is in your software, it knows the source color space from which to convert. In many cases if you just send them your file that information may be missing.

Such commercial printers are wrong to do so. Andrew Rodney (otherwise known as Digital Dog) has written an interesting response to this question on the p.net forum. Sorry I cannot find the link at this moment.

Link found: from lula forum
Highly recommended reading.

@RawConvert Thanks! for sharing your experiences with commercial printers. Mine have been a bit different. Of the four or five commercial printing places I’ve looked at, two supplied soft proofing profiles but requested that the image file not be converted to the printer profile, and stated that they only use perceptual intent to make the conversion for printing. The other places were local printers who clearly don’t have much of a clue (well, one didn’t know what AdobeRGB was, so that was the end of that conversation, and the other turned my sample black and white image into shades of purple and white and then said that was “normal” . . . ).

Being able (or rather required) to make the conversion yourself for standard prints that’s nice! it means you can choose the conversion intent, plus of course make whatever corrections you want to make.

I do soft proof most of the images I process to a couple of different printer profiles, just as a check to make sure I’m producing printable colors, and almost always I use relative colorimetric intent. Some day I hope to actually start making prints.

As far as the art papers go, these papers often have a very limited dynamic range with a fairly light black point. I can see why a printing establishment would prefer to make these conversions themselves, just to keep the customer from going nuts dealing with the mismatched black points.

GIMP 2.9 has a very nice framework for soft proofing. Unfortunately there are problems with LCMS soft proofing that might, or might not, affect results depending on the image precision and the TRC of the source color space (and especially if you are using my patched version of GIMP to edit floating point linear gamma images). These LCMS limitations affect all software that uses LCMS for soft proofing, more or less depending on the allowed workflows and whatever compensating workarounds the image editor/raw processor might provide.

From what I can tell through testing, PhotoFlow (the linear gamma branch, I’m not sure about stable) has pretty good workarounds for most of the LCMS limitations. I’m not sure what the RawTherapee processing pipeline really is, so I’m not sure whether RT even allows to replicate the problematic situations that affect some (but not all) workflows using GIMP (the same issues also affect Krita).

Assigning an output profile is not soft-proofing. You can use printer profiles for soft-proofing in RT.

As I understand it (prior to RT-5) the first step in soft-proofing was to select the printer profile under “Color Management>output profile.” If the profile does not appear in the drop-down list options, how does one select it?

With RT-5 it may be different. See my post here:
here

Still awaiting an answer. Today’s revisions to RawPedia do not supply the answer.

Surely it’s now clear! - soft-proofing is done using Preferences | Colour Management. But you have to ensure the profile is in the appropriate folder.
But you can’t go to the next stage and burn the profile into an output file.

@mikesan Could you send me an example of ICC profile and output image saved by P’Shop for printing so I can see what’s up with them ?

See also this FAQ entry : “Why do I get a worse result sending CMYK to my printer than when I send it RGB data?

Hi Hombre.

While we have been carrying on a conversation in another thread, I had forgotten this request.

The procedure in P’shop is simple: Convert the jpg file from working space to the printer profile color space. The image itself and the printer profile are here:

image
profile

Again, many thanks for your time and your help.

PS: If you check the profile you will see it is in RGB color space. I can select it easily in Preferences>Color Management, but there is no way (right now) to select it as the Output Profile.

@mikesan Can’t you build RT yourself ? Are you on Linux ? I could send you a Windows binary if you want.

Thanks Hombre. I am on Win7/64. I am not feeling confident enough to try a build; will wait for the modification to reach the current download. Meanwhile I can still use the printer profile for soft-proofing purposes only even though I will not be able to save the file using that profile for output.

hi @Hombre, I’d be interested in this if it’s not a lot of extra work for you, it would get me started printing. I would do most of the processing on my Ubuntu PC, then output to 16bit TIFF, then over to my old Win7 64bit PC, open in your RT, apply the printer profile (which Elle kindly confirmed was an RGB one), save as an 8bit TIFF (or 16 if the print company will take that) and send the file off.

@RawConvert if you do your processing on an Ubuntu machine, why not compile yourself? It’s a magnitude easier to do than on Windows.
http://rawpedia.rawtherapee.com/Linux
You could also use ImageMagick to convert/assign the color profile.

hi Morgan, I had no idea it might be so easy… do I really need to do just the two 16.10 commands?, i.e.
sudo apt-get update
then
sudo apt-get install etc. etc.

Would I need to first remove my current RT which is done via “ppa:dhor/myway” ?

I tried ImageMagick but on my PC it’s a badly-behaved app prone to crashing, and I’ve removed it. (it also seemed to be installed twice with the same name). Do you know of any other apps, please, which could convert to a printer profile (in case I can’t get the Dev build installed) ?
@Elle, you know loads of apps! Do you know any to do the conversion please? (You mentioned Gimp but I found the associated issues made it too daunting for me)

I’d investigate your installation of ImageMagick, it is a stable application used everywhere there are images on the internet. It is not crash prone nor unstable.

2 Likes

Well, at the command line:

There’s tificc from LCMS. This can handle 8- and 16-bit integer and also 32-bit floating point tiffs, and also V2 and V4 profiles. To see the available options, just type “tificc”. It’s easier to use if you put the source and destination profiles in the same folder as the image file (makes typing the paths to the profiles easier).

The basic usage is:

tificc list-of-conversion-options-to-use -i input-profile.icc -o output-profile.icc input-image.tif output-image.tif

So if:

  1. you want to use relative colorimetric intent (-t1)
  2. you want to use black point compensation (-b)
  3. you want 16-bit integer output (-w16)
  4. you want to embed the printer profile in the converted image (-e)
  5. the input image profile is “ClayRGB-elle-V2-g22.icc” (-i)
  6. the output image profile is “DC-Colour-labs-Frontier-Glossy.icc” (-o)
  7. the input image is “two-apples.tif”
  8. the output image is “two-apples-frontier-glossy-using-tificc.tif”

Then here is the tificc command:

tificc -t1 -b -w16 -e -i ClayRGB-elle-V4-g22.icc -o DC-Colour-labs-Frontier-Glossy.icc two-apples.tif two-apples-frontier-glossy-using-tificc.tif

LCMS also provides a jpeg version of tificc, but I forget what it’s called.

Also there are “-c” switches that govern the quality of the output. These switches used to be important, but right now I’d have to do some experimenting to confirm. On the LCMS mailing list Marti made a comment that indicated that the switches shouldn’t be used, but the context was matrix profile conversions and the comment possibly doesn’t apply in the latest version of tificc (I’m using LCMS 2.8).

So if you want to experiment, for maximum quality add “-c0” somewhere in the list of conversion options (the exact order doesn’t matter for any of the options, except the input and output tiffs must be at the end). The other options are “-c1”, “-c2”, and “-c3”. I don’t remember what the default is, but it’s not “-c0”.

Here is a sample ImageMagick command:

convert two-apples.tif -profile ClayRGB-elle-V4-g22.icc -profile DC-Colour-labs-Frontier-Glossy.icc two-apples-frontier-glossy-using-im.tif

Does anyone know of any additional options for using IM to convert from one ICC profile to another?

There was a time when IM was hard-coded to use one of the “less precise” -C# options provided by LCMS (confirmed by checking the source code), but I don’t know if that is still the case. Presumably there are switches to use or not use black point compensation and to specify the conversion intent, but I don’t use IM for converting images from one ICC profile to another (I do sometimes use IM, but not for this).

Here is a sample ArgyllCMS cctiff command (cctiff):

cctiff -v -ir -p -k ClayRGB-elle-V2-g22.icc -ir DC-Colour-labs-Frontier-Glossy.icc -e DC-Colour-labs-Frontier-Glossy.icc two-apples.tif two-apples-frontier-glossy-cctiff.tif

Here is what the cctiff options mean:

-v Be verbose (spit out a lot of information about the profiles and such)
-ir (must be repeated for each profile) Use relative colorimetric intent. See the documentation for specifying a different intent
-p Use slow accurate conversion routines
-k Calculate the difference in accuracy between using the slow accurate routines vs using the default routines
“-e DC-Colour-labs-Frontier-Glossy.icc” Do embed the final profile (or other profile of your choice) in the output image (by default no profile is embedded in the output image)

A couple of years ago I did some rather extensive comparisons of the accuracy of ICC profile conversions using round-trip convesions of 16-bit integer images - that in theory should be completely lossless conversions because both profiles had color gamuts that completely encompassed all the image colors - and cctiff provided the most accuracy.

cctiff requires V2 profiles and can work with jpegs and tiffs, including 16-bit integer tiffs, but afaik it doesn’t work with floating point tiffs.

cctiff can be used to chain together a sequence of conversions.

2 Likes

hi @Morgan_Hardwood, so I didn’t read the page properly! :flushed:
I’ve now compiled a Dev build and it all seemed to work ok, leading to RT launching, except for one glitch. On doing “~/rt/rawtherapee” I got this error message six times in quick succession in the Terminal window -

(rawtherapee:15448): Gtk-CRITICAL **: gtk_box_gadget_distribute: assertion ‘size >= 0’ failed in GtkScrollbar

Do I need to worry about this please?

hi, I re-installed it via the “Ubuntu Software” app but it was no better. However I should say I didn’t know it was mainly a command-line app, whereas I was using it gui-style, e.g. right click file, open with IM. Perhaps I’ll have another go sometime. Thanks.

Many thanks @Elle, that’s a fantastic amount of info!
I downloaded LCMS and had a quick look, however it looked a bit tricky! e.g. C code needing compiling, so I’m going to pass on that for now. I will try the latest RT which I built (well my PC built) earlier. But thanks again, you’re a star.

It is indeed a CLI application.

You can ignore the gtk errors, gtk spews them everywhere.

Hmm, I’m confused. If you have RT installed, or just about any other free/libre image editing application, then you should already have LCMS installed, unless maybe you are using an RT AppImage (or something similar) that tosses LCMS into the build.

But just about every desktop Linux OS in the world should already have LCMS installed.

Did you try typing “tificc” at the command line?

Nope, it’s normal.