Does assigning an ICC profile after RAW conversion differ from using it during RAW processing?

Asked 3/26/2021

8 views

2 answers

0

I’m confused about ICC profiles in a RAW workflow. What is the difference between choosing a camera/custom ICC profile inside a RAW processor such as Lightroom or Capture One versus first converting the RAW file to a 16-bit TIFF and then assigning/applying an ICC profile afterward in separate software?

For example:

  • Workflow 1: import RAW into Capture One, select my custom ICC/camera profile, then export TIFF.
  • Workflow 2: convert RAW to TIFF with dcraw/LibRaw, then use LittleCMS to assign/apply an ICC profile to that TIFF.

Does the first method correct color at the RAW stage while the second only changes already-processed pixel data? Also, what does it mean when a RAW converter offers TIFF output in “raw” color space?

Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0

Photography Stack Exchange contributor

5y ago

2 Answers

3

I fear there is a misunderstanding of the processes involved: color correction vs color conversion vs "applying/assigning an ICC". (The latter are usually understood as two different things; to avoid ambiguity, it's better to say about assigning a profile).

As others have mentioned, you can't really avoid color conversion when processing raw images. Raw images by definition carry sensor-specific information, and only the conversion software knows about it. It has to convert it to something that everyone else can understand.

To clear things up, let's consider a simple numeric example. (I will make the numbers up). Imagine our image is a single grayscale pixel.

Your camera takes a picture and reads 86% from the sensor. 86% of what? Of this specific sensor capabilities. A typical raw file will record this number as is (86%) and will be tagged with the camera/sensor model. The processing software (raw converter) will then need to have a large database of all sensors to interpret this file correctly. It's a big effort to collect and maintain such a database. Some more advanced "raw" files such as DNG embed the physical interpretation of the data (say, 100% = 1000 lux for our grayscale example), so that the file could be interpreted independently.

Now, no matter which raw converter you use, it will do some conversion in order to produce a valid output. All of them have a selection of the output color profile.

If you select ProPhoto, it might come up with, say, 82% ProPhoto. The attached "ProPhoto" part is as important as the number itself. It's like a physical unit.

If you select sRGB, it may produce 105% sRGB. Oops! We can't store more than 100%, so we'll have to clip and lose data. (I just threw that problem in for fun.) The output file will be: 100% sRGB.

If you select AdobeRGB, it could be 98% AdobeRGB.1 Fine.

If you select, as you do, "raw" - what will it be? I don't know. It doesn't make much sense. Perhaps, it will retain the original number 86%, but this is meaningless without knowing the reference, which is the sensor capabilities in this case. Perhaps the software could compile and attach a special color profile that describes the sensor, but I doubt it is the case, and it would be a large and non-standard profile.

From here, your second step is a bit confusing.

To "assign" a color profile (ICC) is to set the profile without converting the image. It's a technically trivial task like adding an email attachment. But it will likely produce an invalid result unless you know exactly what you are doing.

Say, if you take your converted file "82% ProPhoto" and assign it sRGB, you will get "82% sRGB". Physically, this is a very different thing, like 82 m vs 82 ft.

If you take your dubious converted "raw" "86%", you'll get "86% sRGB" - again a wrong result. (Remember "in truth" it's more than 100% sRGB!).

The only correct thing is to convert the file. Conversion happens from one color profile to another: it necessarily involves two profiles, input and output.

You can convert 82% ProPhoto --> 98% AdobeRGB, for example. Note this involves recalculation of each pixel of the file, and it is not as trivial as this one number. Naturally, when we work with limited resolution (read color depth), we want to minimise the number of conversions, and do them in the "smart" order, so your question is valid on a fundamental level.

If we take our "raw" "86%" file, how can we convert it to something? It may have the most accurate original "number", but we probably don't have the input profile! The file may still be tagged that it was taken by such-and-such camera (carried over from the original raw), but it's a non-trivial task to convert from sensor-specific colors to anything; for one, normal editing software don't have the database of all cameras. This is a job for the specialised raw converters.

So. I suggest there are two typical workflows, depending on the amount of post-raw editing.

  • For minimal editing or converting straight to final, select your desired final ICC right as the raw converter output. This will typically be one of the most common ones such as sRGB or AdobeRGB.

  • For more extensive editing, and particularly for images that contain saturated colors that may not fit in the "lowest common denominator" sRGB, use a reasonably wide ICC as the raw output.

    • One approach here is to use a compromise that is "ought to be enough for everyone" - AdobeRGB. It is wide enough to cover what can actually be displayed on modern monitors, and is convenient as a working profile: for example, it presents a reasonable histogram. And it is still OK for 8-bit depth.
    • Another approach is to use a super-wide profile such as ProPhoto. This will require at least 16-bit color depth.

    After converting to this intermediate profile from raw, do all the editing (necessarily with the properly color-managed software), and then convert to the final common profile. This is usually recommended as the last step before saving the final file. But if you don't do editing and just convert from raw, there is no point in such two-step process.


1 Of course, real sRGB and AdobeRGB have the same gray curve. It's just a made-up example to demonstrate the process. Consider it the green channel if you like.

Originally by user74236. Source · Licensed CC BY-SA 4.0

user74236

5y ago

0

AI Answer

Generated from our catalog & community — verify before relying on it.

Yes—these are different steps, and the key distinction is between RAW interpretation, color conversion, and profile assignment.

A RAW file cannot be viewed or exported without being interpreted first. The RAW converter must use a camera/profile transform and map the sensor data into a real color space. So in workflow 1, the profile choice affects how the RAW data is rendered during conversion.

With workflow 2, once dcraw/LibRaw has already converted the RAW to TIFF, the sensor data has been rendered into some output color space. After that, assigning a profile to the TIFF does not recreate a better RAW conversion; it only tells color-managed software how to interpret the TIFF numbers. If you assign the wrong profile, colors will look wrong. Converting from one profile to another is different from merely assigning one.

So: you cannot really have a meaningful “uncorrected” TIFF from RAW. A conversion has already happened. The best place to use the camera/custom profile is in the RAW processor before export.

A TIFF labeled “raw” color space from a converter usually does not mean it is still true RAW data; it just means minimally processed or in a very device-specific/unusual space.

UniqueBot

AI

5y ago

Your Answer