It is my pleasure to have the chance to join this forum.
I am far from being an expert in colour management, but I am aware of its importance and struggle quite frequently with setting the right colours of my pictures. I have Colorvision Spider 2 Pro and Huey (plus Printfix Pro but this is irrelevant for the issue raised below). However, I am still not sure of having a good enough colour reproduction.
I have a Nikon D300 (which will be replaced with a D700 soon) and an Eizo 997 monitor.
My question is the following: Is there any way of calibrating the colour reproduction of the whole chain of camera/row converter/monitor in the following way:
Calibrating the monitor in the usual way for the given light environment of the dark room.
Taking pictures of a colour checker chart lit by light sources of different colour temperatures, with the camera.
Opening the pictures in the raw converter, preferably with the built-in (camera-specific but generic) camera profile switched off and all parameters are set to neutral. If the camera profile cannot be switched off, a kind of differential profile will be the result.
Measuring the colours of the chart on the screen, one-by-one (similarly to the measurement of printed charts), for each picture (taken at different colour temperatures).
Let the camera profile editor process all the values read from the screen to generate a custom camera profile.
At the end of the day, I would like to see the same colours on the screen that have been shot.
Is it possible to set of such a calibration work flow, and with what calibration tools?
this is what I do as a service for professional photographers.
The workflow you mention is in principle correct.
I am using thea Eye-One Pro spectrophotometer. I always check the lights spectrum before calibrating the camera, because some customer uses “cold” lights that are actually filtered fluorescent lights with a very peaky spectrum. In that case the camera profile is useful only when used for photos shooted with that lights. If you use"black-body" like lights, i.e. lights you can approximate with a kelvin value, AND pay full attention to the white balance, then you can use the profile you obtain even with other light temperatures (always provided that these lights are “balck-body” like).
I have a D300 that is profiled in this way and it works fine. The customers are happy to have to deal witha fewer number of camera profile.
At the end of the day the camera profile is all about “normalizing” or “fixing” the behaviour of the sensor, indipendently from the light (I know I am starting a discussion now…).
The other stuff, monitor and printer profiles, is much easier and standard to profile.
I obtain exactly what you need, the original colours match the printed oneswithin VERY few deltaE (<4).
Becareful with the monitor: it could happen the monitor’s gamut doesn’t allow to see colours that are actually in the picture you shooted!
Thanks for the description of your way of making the camera profile. I more or less understand how to make different profiles. I have not made camera profile yet, but quite a few times generated monitor and printer profiles.
My problem is how to consider the colour impacts of the raw converter. If you open the same raw file with different raw converters, the resulting colours will vary on a wide scale. Most probably because the camera profile used and the way of processing the raw data by these raw converters is different.
I hope there is a calibration method that counts with the whole processing of the raw picture until its appearance on the monitor. I guess the calibration of the monitor can be handled separately, because (in my understanding that may be totally wrong) it focuses on presenting known “ideal colours” in a given lighting environment so that the viewer can see the colours correctly.
If this assumption is true, the main question is the colour-correct processing of the raw picture. I do not know anything about the “soul” of raw converters. Most probably they need a baseline generic camera profile for the interpretation of the colours. But if the calibrated monitor shows colours that are different from those of the colour checker chart, there something is wrong and needs correction - this is why I have in mind a kind of “differential camera profile” that could correct the “mistakes” of the baseline generic camera profile used by the raw converter.
If there a way to use a raw converter without a baseline profile, then the described calibration method would generate the complete camera profile, not a differential one.
the RAW converter, that includes at leastthe demosaicing process, the gamma and the white balance (white point), IS part of the profiling process and different converters end with different profiles.
Once you compute e profile based on reference images obtained with a specific RAW converter, then you always have to use the same converter (with the same parameters) if you want to apply that profile. It has to become part of your workflow.
I am working on a pre-demosaicing profile computation, that implies extracting separately the Red, Green and Blue pixels, but I am stillat an early stage. I am convinced that the closer you get to the sensor data when you make the profile, the better and more universally applicableit is, cause I think the sensor itself doesn’t change when you change the lights or the RAW converter, so it should need only one calibration/profile.
A profile is a “dictionary” that translates the RGB values, that are device dependent, into colorimetric values, i.e. a universal way of identifying a colour, in a colorimetric space (the Lab or XYZ space) often addressed as PCS (Profile Connection Space).
If you have both the camera and monitor profiles, the camera profile changes the camera RGB values into colorimetric values, and the monitor profile changes the obtained colorimetric values into monitor RGB values. Camera and monitor RGB values are device dependent and they don’t match because each device has its own characteristics. The proflies let the monitor reproduce (with its specific RGB values) exactly the colours the camera saw. In other words profiles change the device dependent RGB values to let the devices to see and reproduce the same absolute colours.
All the same applies to the printing process too. In that case, if you use a ink-jet printer for example, the profile “translates” colorimetric values into the right CMYK values needed to obtain on the paper exactly (or almost exactly) the original colours.
Notalldevices have the same colour range extension (the gamut), and often it needs to “scale” colours to fit into the destination gamut. This process is called “rendering intent” and is done by colour management engine in four or five different ways, that you choose from.
Write me if you want more details or clarifications. I’ll be happy to help you:
Thanks a lot for your detailed and patient explanation - I have learned a lot from it. I will contact you directly, but before doing that perhaps it is better to stay a bit further here because others may also be interested.
I understand that both camera profiles and monitor profiles are device-specific. It also goes without saying that raw converters are unique in terms of their colour processing.
What I have in mind is to have a “feedback loop based” calibration. If the monitor is good enough and its calibration is “perfect”, when measuring a colour on the screen the associated “internal colour” (produced by the raw converter) can be calculated on the basis of the monitor profile. If we compare this calculated “internal colour” to the relevant area of the colour checker chart, we get the “degree of identicalness”. Most probably there will be a difference. If this difference is negligible, we are okay. If not, theoretically we have two options:
To acknowledge the difference with a certain amount of sadness.
To have a method of amending the camera profile in order to diminish (in and ideal case: to eliminate) the colour difference.
This is what I am looking for, if such a testing tool is available for reasonable price.
Developers of raw converters say that users do not have to worry about colour management - they simply have to calibrate their monitors. This sounds good but then why do different raw converters produce different colours on the same monitor?
All I want is to check the real colours produced by my raw converter, if it is possible. I am waiting for suggestions regarding the calibration tool that would be required to conduct such checks.
let’s go through “divide et impera” approach of the problems and issues you mention.
The colours you perceive depends on the nature of the surfaces AND the nature of the light.
The registered spectrum is the product of the light’s spectrum by the reflective spectrum of the surface, at each wavelenght.
The absolutecolours (spectrum) emitted by an object change with the light. If you want to know the original reflective spectrum (object specific) you have to measure the light’s spectrum and divide (at each wavelenght) the object reflected spectrum (light dependent) by the light’s spectrum.
On the monitor the colours are rendered “as” the object where hitted by a light of 6500 kelvin (or the kelvin the monitor has been calibrated on), so if you measure the screen witha a colorimeter then you have to “convert” the measure to the light temperature at which you observe the object (tipically D50 or daylight or 5500 kelvin or whatever). You cannot compare figures directly.
A profile translate the device specific representation of the colours (RGB or CMYK) into values that are decvice AND light indipendent. If you had to compute direct device-to-device profiles (that you can always do with the ICC standard, and are called device link) you should compute n*(n-1)/2 separate profiles to let n devices to exchange images. This would bring to a complexity order of n-square.
The concept of ICC profile is, instead, to have ALL the devices converted to a common place, i.e. to a PCS or Profile Common Space, so that for n devices you need only n profiles.
Unless I didn’t understand your point, the “feedback loop based” approach you propose will suffer of two problems: 1) it would implie a sort of device-link approach, 2) it doesn’t take into account the fact that different devices have different gamut. What if the camera is able to record a colour that the monitor is not able to reproduce? And actually this happens every day.
My advice is:
a) use one of the monitor calibration devices and software (Datacolor Spider, Eye-one Display, Eye-one Pro, Colormunki, are among the more common) and keep your monitor calibrated.
b) if you shoot in studio, build or have someone to build a camera profile specific for 1. the light set you use, 2. the RAW canverter and 3. the conversion parameters you use. There are many hardware and software for this. My personal experience is with Eye-One Pro spectrophotometer and Eye-One Match 3 software, but there are other solutions from other HW and SW manufacturers.
c) if you shoot with variable lights conditions (in-house, outside, etc.), buildthree camera profiles for three lights type(daylight, incandescent and flash). When you shoot pay attention to the white balanceand apply to the your pictures theclosest profile depending on the light conditions you shooted.
Thanks a lot for your very detailed explanation. I hope I got the essence of it. Your practical advices are very clear and useful.
Meanwhile I realised that some (or many?) raw converters have a built-in colour reader - if I move the cursor to a point, the RGB values are read. So, if I take a picture of the colour checker chart lit by a light of particular temperature, before generating any camera profile I can check the colour reproduced by the camera and the raw converter. In other words, if I interpret things correctly, there is no need for on-screen measurement and calculation. This information may help in deciding whether it would make sense to generate a custom profile. (It is another question that it would be good to know how much is the “colour reproduction error” when replacement of the raw converter’s “factory profile” is worth considering.)
One more question: Is there any way of generating such a profile, which would be based on the pictures of the colour checker taken at different lights - as you explained - but a kind of “interpolation” would be used to calculate the actual profile values between the coolest and warmest pictures, and the profile would “automatically set itself” according to the actual white balance value?
about the second (“one more question”):
this is the way Camera Raw (from Adobe) works. For each camera model it has a couple of “profiles” (i.e. parameter settings) and depending on the wb temperature it applies an interpolated set of parameters. The way Camera Raw works has nothing to do with ICC profiles.
What you suggest implies to compute an intermediate profile based on two measured profiles. As far as I know there isn’t any software that allowes it.
It could work, one should try it, but my idea is to have a camera profile that is indipendent from the light temperature. When you set the white balance parameter in the camera (or in the raw converter), the rgb values are individually streched to the point that neutral areas have equal RGB components.
The first one:
almost all image viewers or image processing sw have a tool that read the rgb values of individual pixels, while is not given for grant that the raw converter has it. Into the raw data, each pixel has only one value, that could refer to the R, G, or B component depending on the specific Bayer filter position. Only after the demosaicization process each pixel is associated the complete RGB values.
To build a profile starting from the camera RGB values and the colorimetric values of the colorchecker, it definitely needs to use a dedicated software. The job is double: 1. to build the characterization table, the transformation matrix, and some other numeric bit of the profile, 2. to fit all those to the ICC format. I did the first part on myself at the beginning, just to understand all the detailed computation steps, but I never faced the second one.
If you are curious of how a Color Management System works, and how it treats the numbers, you could have a look at LittleCMS, and open source system. Good luck.
Thank you very much for your detailed explanation. I tried to do my best to understand it and I hope the essence was got. Of course this whole topic is too much complex for someone like me. You have been very patient!