Color management question

@Jossie which version of RT are you using? There was a bug fixed in the last few weeks related to this.

@Morgan_Hardwood I am using version 4.2.1291 on a Windows10 64bit system.

Hermann-Josef

4 posts were split to a new topic: Showing color space info in IrfanView

@Jossie try http://rawtherapee.com/releases_head/windows/RawTherapee_WinVista_64_Gtk3_Release_4.2.1375.zip

@Morgan_Hardwood
I have tried the new version and it shows the same behaviour.

@toze3

Be careful with IrfanView and its colour management enabled. If you make any changes to the image (e.g. crop) and save this, IrfanView incorporates the monitor ICC-profile into the output file. So your colours will be damaged!

Hermann-Josef

I split the hijack comments into a new topic, @Jossie if you like you could re-post your reply to toze3 in the new topic.

May I come back to this topic because it is not really solved from my point of view.

I use RT to process images from my scanner. I use the socalled “raw-format” for the scanner data, which only means that they are not gamma-corrected, i.e. linear data. Thus they should appear dark on the screen if an ICC-Profile is embedded, which was derived from gamma-corrected data. So far so good.

Now, if I switch to “no profile” in the colour management tab for such an image the image on the screen becomes bright and very saturated. This I do not understand. What is happening here? In Rawpedia it is stated that for “no profile” setting

including no gamma correction, which means they will look bright.

First of all, why is my linear image getting brighter if I turn off the embedded profile?
Second: I think the statement in RawPedia is not correct in general. An image without gamma-correction will appear dark in the screen not bright.

Hermann-Josef

@Jossie Herman-Josef …
the correct terminology for non-linearly exported data is “encoding” i.e. a sRGB image is “gamma encoded”… “gamma correction” is the inverse proccess which converts gamma encoded data to linear.

Gamma encoding increases the values … so without gamma correction they are displayed brighter.

If you want to display correctly your linear data use a gamma=1 icc profile (like RTsRGBg10.icc) as input profile.

In RT, by using “no profile” not only the gamma is not corrected, but all color management is absent. You see oversaturated colors because of color management absense in combination with the use of ProphotoRGB space as working space … use sRGB for working space and the oversaturation becomes undersaturation … (BTW … both are wrong)

1 Like

@ilias_giarimis

Thank you very much for your reply. Probably I did not ask in the correct way. Let me try again:

The data in my image are linear, i.e. no gamma-encoding and have an embedded profile which was derived from gamma-encoded scans. Such an image looks dark if displayed, both in RT and other software.

My question was, why the image turns into bright, if I select “no profile” in RT. Here are screenshots from RT on an sRGB-monitor (profile set to “neutral”).

The high saturation only is visible on my EIZO with Adobe RGB gamut. So please ignore that for a moment. The main issue for me is to understand, why the image turns bright if I turn off the profile (and colour management altogether) in RT. I would conclude that some gamma-encoding is taking place, since the image without profile looks “rather normal”. But why??

Hermann-Josef

No gamma correction = brighter image than the image with gamma correction applied …
The same brightness you will take if you use a gamma=1 icc profile as input profile (or embedde it in your file) except that the colors will be more faithfull … this last is the correct rendering for your linear data …

The image is linear but it has assigned a wrong gamma-encoded profile (trc>1) ?
or the icc profile assigned has trc=1 (linear)?

If I display a linear image on the monitor without gamma-correction / encoding, the image appears dark. If I display such an image with gamma-encoding applied, the image appears bright, which is the correct appearance, since the CRT reduces the image brightness which is compensated by the gamma-correction. This is the initial purpose of gamma-correction (Poynton, 2010, page 319). However, as Ponyton writes:

If gamma correction had not already been necessary for physical reasons at the CRT, we would have had to invent it for perceptual reasons.

Still I do not understand why in RT the image becomes brigher if I turn off the ICC-profile.

Hermann-Josef

I made a test by deleting the ICC-profile in the image. Same result, if I switch from “use embedded profile” to “no profile”, which I find very strange since this behaviour obviously has nothing to do with the ICC-profile.

I don’t think this is true.

In a icc color managed system the linear image with the correct profile and the gamma-encoded image with the correct profile look identical, they are both bright.

I guess you have tagged incorrectly your scanned image.

Probably in RT
Use embedded profile: use the embedded profile, without a profile RT assume it is srgb (gamma-encoded)

No profile: RT assume the image is linear , so in this case you see the correct brightness, and it use the same color primaries as the working profile (?)

Linear image:

grafik

Image “gamma encoded” according to v = 65535*pow(v/65535,0.4545):

grafik

Hermann-Josef

1 Like

the first image with the srgb-linear profile assigned
linear-assigned-linear-profile

the second image with the srgb gamma 2.2 profile assigned
gamma-encoded-assigned-gamma-profile

I downloaded each image from the thread, neither has an embedded profile. I then opened each in rawproc, and assigned various profiles to see what the display transform would do. My display is roughly sRGB in color and tone, so that’s what it expects from the image to render ‘normal’.

The linear image without an embedded proflie rendered dark, because there was no assigned profile to use in the display transform, pixels straight to the hardware. When I assigned a linear sRGB profile, the image was transformed to display and rendered ‘normal’. When I assigned a gamma 2.2 sRGB profile. the image was transformed to display and rendered dark.

The gamma 2.2 image without an embedded profile rendered ‘normal’, with no display transform. When I assigned a linear sRGB profile, the image was transformed to display and rendered ‘bright’. When I assigned a gamma 2.2 sRGB profile, the image was transformed to display and rendered ‘normal’

The above behavior makes sense to me because what’s important is for the image to have a profile assigned that represents its colorspace and linearity. The transform depends on this as input information to make the right transform using the output (display) profile. If one takes a linear image and assigns a sRGB gamma 2.2 profile to it, the display transform believes it is a gamma 2.2 image and transforms it accordingly, linear-dark.

Don’t know if this helps, was a bit of fun while I watched my mom frost brownies… :stuck_out_tongue:

2 Likes

Thanks for all the replies, but unfortunately they do not address my issue!

I am familiar with ICC-profiles and how to use and embed them. This is not the issue and my question does not address ICC-profiles.

I just want to understand why RT displays a linear image as bright, if I switch to “no profile”. This is all I want to understand. Obviously somehow a gamma encoding seems to take place, but why ?? This happens with and without ICC-profile embedded, so I conclude it has nothing to do with profiles but what RT thinks should be done internally.

Hermann-Josef

The code that handles the input profile for non-RAW images is here: RawTherapee/stdimagesource.cc at 5bf4da1a84c33c85c5a26041315d58568ed8ff6a · Beep6581/RawTherapee · GitHub

If you selected the “Use embedded” profile and there is no actual embedded profile, embedded is a nullptr and an sRGB profile is assumed. If you selected “No profile” everything here is skipped. The input data can only be assumed to have linear profile.
If you your data is encoded linearly and you assume a linear profile, this should give you a picture that looks okay. If your data is encoded linearly and you assume an sRGB profile, it ‘undoes’ the implied TRC making large input values appear much darker.

1 Like

@Jossie You can test this btw.

  1. Use RT’s internal ICC profile creator to make ProPhoto profile with a linear TRC. Export this to iccprofiles\output folder of RT.
  2. Restart RT to update the Output Profile list.
  3. Take any picture you like, set the Working Profile to ProPhoto and Output Profile to your linear profile. Export as 16 bit TIFF.
  4. Load the exported TIFF. Switching between “No profile” and “Use embedded profile, if possible” should not change anything visually.
  5. Load a custom profile and pick RTv4_sRGB.icc from the iccprofiles\output folder. Voila, a dark picture.
1 Like

@Jossie

  • I generated an output image with a standard sRGB output profile

view in ART with embedded profile

view in ART with no profile

-I generated the same image with a linear profile with sRGB primaries
view in ART with embedded profile


view in ART with no profile

  • R1 : when using embedded profile the displays are quasi identical. very small differences are due to the coding (linear/log)

  • R2: when using a no profile on a TRC coded image it is much brighter, thats normal

  • R3: when using a no profile on a linear coded image, there is mainly a difference in saturation but not in luminance. the difference is pehaps due to primaries definition.

-R4 : I should say that unless knowing exactly what you are doing, no profile is a no option

It’s the same result with RT.

I should say it is difficult to speak about colour management with exemples without embedded profiles. It seems a contradiction for me.

photo credit: @2N3055