50% Gray in RGB, Lab ang Gray-gamma 2.2: why are different?

Started Jan 15, 2013 | Discussions
NeroMetalliko
Regular MemberPosts: 220
Like?
50% Gray in RGB, Lab ang Gray-gamma 2.2: why are different?
Jan 15, 2013

Hello,

not sure if this is the most proper forum for this question but my question has a lot to do with printed colors, feel free to redirect me to a most appropriate forum in any case.

I have bought a ColorMunki Photo and started playing with B&W tones using spot readings.

I'm genereating some gray patches and measuring it.

Doing so I have noticed something that I'm not really able to figure out by myself and:

- If I create a new white sRGB image in Photoshop (working space sRGB IEC61966-2.1), select a square and perform Edit - > Fill using 50% Gray in the Content Use drop down menu (blending mode normal and opacity 100%) I get a gray patch of R 128 G128 B128 values. And that's Ok for me.

- Now, if go to Image -> Mode -> Lab Color, and look at the info panel for the L value of the above patch I see L:54 (and not L:50)

- If I select another square and fill with 50% Gray (same procedure as above) I get a L:50 value for this new one.

- Then, if I go to Image -> Mode - Grayscale (using a Gray Gamma 2.2 profile as working space in the preferences) and and look at the info panel for the K value of the above two patches I see K:50% for the first and K:53% for the second

- if I make a third patch now filled with 50% Gray I get a K:50% value

- finally if I go to Image -> Mode -> RGB Color (working space still sRGB IEC61966-2.1) and look at the info panel for the RGB values of the above 3 patches I see 128,128,128 for the first, 119,119,119 for the second and 129,129,129 for the latest one!

Now, If I print this file I get 3 different Grays (CMYK values are different too obviously), but what is really puzzling me is that all these 3 gray patches were namely created using Fill and 50% Gray.

Who is the "real" official reference 50% Gray one of these 3?

Please, can someone explain this mismatch and/or point me towards some learning references online?

Many thanks in advance for the attention.

Ciao

Canon PowerShot G12
If you believe there are incorrect tags, please send us this post using our feedback form.
technoid
Senior MemberPosts: 1,295
Like?
Here's Why
In reply to NeroMetalliko, Jan 19, 2013

The basic problem is that the idea of 50% gray is one of perception. It is not objective. For intance, the so-called 18% Gray card has a Lab L=50. That is approximately percieved as being a middle gray but only 18 photons out of every 100 are reflected which is where the 18% comes from.  If you look at a Gray patch that reflects 50% of the light hitting it it looks like an extremely bright gray and appears much closer to white than black even though it is technically right in the middle.

The sRGB value that corresponds to a patch that reflects half the light hitting it is (288,288,288). The purpose of the Gamma curve is to approximate the human perception of light which is highly compressed.

The relatively small variations that occur between sRGB, Gamma 2.2 (which isn't the same as the sRGB tone curve), and the more complex Lab are in large part because there is no precise way to measure human perception of brightness. They are all approximations.

Reply   Reply with quote   Complain
Vernon D Rainwater
Forum ProPosts: 12,006
Like?
Re: Here's Why
In reply to technoid, Jan 19, 2013

technoid wrote:

The basic problem is that the idea of 50% gray is one of perception. It is not objective. For intance, the so-called 18% Gray card has a Lab L=50. That is approximately percieved as being a middle gray but only 18 photons out of every 100 are reflected which is where the 18% comes from. If you look at a Gray patch that reflects 50% of the light hitting it it looks like an extremely bright gray and appears much closer to white than black even though it is technically right in the middle.

The sRGB value that corresponds to a patch that reflects half the light hitting it is (288,288,288). The purpose of the Gamma curve is to approximate the human perception of light which is highly compressed.

The relatively small variations that occur between sRGB, Gamma 2.2 (which isn't the same as the sRGB tone curve), and the more complex Lab are in large part because there is no precise way to measure human perception of brightness. They are all approximations.

I really should not post in this thread due to my limited level of understanding the details.

The OP evidently has listed RGB Values as reported by a Photo Editing software such as Photoshop -- However, you have discussed Human perceptions of brightness. The RGB readings listed (some being different and of course three sets of RGB Values are listed but how are the measurements being different related to your mentioned "human perception of brightness" since the differences are the above measured values rather than opinions of one's vision of these three.

Also, I don't see any mention of the OP using an 18% Gray Card to create these different patches so are you effectively indicating the Patches that were created as explained by the OP can (or do) only reflect 18% out of a possible reflection of 100 %.

-- hide signature --

Vernon...

Reply   Reply with quote   Complain
technoid
Senior MemberPosts: 1,295
Like?
Re: Here's Why
In reply to Vernon D Rainwater, Jan 19, 2013

Vernon D Rainwater wrote:

technoid wrote:

The basic problem is that the idea of 50% gray is one of perception. It is not objective. For intance, the so-called 18% Gray card has a Lab L=50. That is approximately percieved as being a middle gray but only 18 photons out of every 100 are reflected which is where the 18% comes from. If you look at a Gray patch that reflects 50% of the light hitting it it looks like an extremely bright gray and appears much closer to white than black even though it is technically right in the middle.

The sRGB value that corresponds to a patch that reflects half the light hitting it is (288,288,288). The purpose of the Gamma curve is to approximate the human perception of light which is highly compressed.

The relatively small variations that occur between sRGB, Gamma 2.2 (which isn't the same as the sRGB tone curve), and the more complex Lab are in large part because there is no precise way to measure human perception of brightness. They are all approximations.

I really should not post in this thread due to my limited level of understanding the details.

The OP evidently has listed RGB Values as reported by a Photo Editing software such as Photoshop -- However, you have discussed Human perceptions of brightness. The RGB readings listed (some being different and of course three sets of RGB Values are listed but how are the measurements being different related to your mentioned "human perception of brightness" since the differences are the above measured values rather than opinions of one's vision of these three.

Also, I don't see any mention of the OP using an 18% Gray Card to create these different patches so are you effectively indicating the Patches that were created as explained by the OP can (or do) only reflect 18% out of a possible reflection of 100 %.

-- hide signature --

Vernon...

The 50% Gray fill used by the OP simply sets the luminosity at 50% of max in the current colorspace. Since the tone curves for his three examples are different the 50% point on each of these tone curves will produce differing amounts of light. Similarly, any given patch of 50% gray will yield different results when converted to a colorspace with a different Gamma.

Since there is no technically valid way of exactly specifying how much reflectance represents half way between black and white, as percieved, the commonly accepted method is to simply set the value at whatever the colorspace's tone curve produces at half of maximum.  For Lab colors, that happens to be 18% reflectance at L=50. For  sRGB it's around 20% reflectance. For ProPhoto RGB, easily the furthest from the pack, it's about 25% reflectance.

An 18% Gray card has an L value of 50 and is approximately the grayness of other "50%" gray patch surfaces which is the OP's topic.  The point is that unlike measuring light magnitude, where it is just a question of engineering precision as to how accurate something can be measured, the percentage of reflected light that corresponds to what people percieve as 50% gray is not. Some may call a card with 22% reflectance middle gray while others might say the same for 15% or 25%. Because of this variation there is no one tone curve or Gamma that exactly matches human perception. The non-linear tone curve, like the Gamma=2.2 that aRGB uses, that sRGB approximates, and Lab deviates somewhat more from, all have slightly different luminosities at the "50%" gray settings.

Reply   Reply with quote   Complain
Vernon D Rainwater
Forum ProPosts: 12,006
Like?
Re: Here's Why
In reply to technoid, Jan 19, 2013

technoid wrote:

Vernon D Rainwater wrote:

technoid wrote:

The basic problem is that the idea of 50% gray is one of perception. It is not objective. For intance, the so-called 18% Gray card has a Lab L=50. That is approximately percieved as being a middle gray but only 18 photons out of every 100 are reflected which is where the 18% comes from. If you look at a Gray patch that reflects 50% of the light hitting it it looks like an extremely bright gray and appears much closer to white than black even though it is technically right in the middle.

The sRGB value that corresponds to a patch that reflects half the light hitting it is (288,288,288). The purpose of the Gamma curve is to approximate the human perception of light which is highly compressed.

The relatively small variations that occur between sRGB, Gamma 2.2 (which isn't the same as the sRGB tone curve), and the more complex Lab are in large part because there is no precise way to measure human perception of brightness. They are all approximations.

I really should not post in this thread due to my limited level of understanding the details.

The OP evidently has listed RGB Values as reported by a Photo Editing software such as Photoshop -- However, you have discussed Human perceptions of brightness. The RGB readings listed (some being different and of course three sets of RGB Values are listed but how are the measurements being different related to your mentioned "human perception of brightness" since the differences are the above measured values rather than opinions of one's vision of these three.

Also, I don't see any mention of the OP using an 18% Gray Card to create these different patches so are you effectively indicating the Patches that were created as explained by the OP can (or do) only reflect 18% out of a possible reflection of 100 %.

-- hide signature --

Vernon...

The 50% Gray fill used by the OP simply sets the luminosity at 50% of max in the current colorspace. Since the tone curves for his three examples are different the 50% point on each of these tone curves will produce differing amounts of light.

Similarly, any given patch of 50% gray will yield different results when converted to a colorspace with a different Gamma.

Thanks for your additional comments:

Also, there are many colors that change the RGB values when changed from one color space to another -- such as changing between Pro Photo, sRGB, etc.  So, the discussed change you mention evidently is not limited to the discussed Gray patches.

There have been recent threads discussing this.  Also, I started one several weeks ago regarding the mentioned RGB changes for selected colors.

Since there is no technically valid way of exactly specifying how much reflectance represents half way between black and white, as percieved, the commonly accepted method is to simply set the value at whatever the colorspace's tone curve produces at half of maximum. For Lab colors, that happens to be 18% reflectance at L=50. For sRGB it's around 20% reflectance. For ProPhoto RGB, easily the furthest from the pack, it's about 25% reflectance.

An 18% Gray card has an L value of 50 and is approximately the grayness of other "50%" gray patch surfaces which is the OP's topic. The point is that unlike measuring light magnitude, where it is just a question of engineering precision as to how accurate something can be measured, the percentage of reflected light that corresponds to what people percieve as 50% gray is not. Some may call a card with 22% reflectance middle gray while others might say the same for 15% or 25%. Because of this variation there is no one tone curve or Gamma that exactly matches human perception. The non-linear tone curve, like the Gamma=2.2 that aRGB uses, that sRGB approximates, and Lab deviates somewhat more from, all have slightly different luminosities at the "50%" gray settings.

-- hide signature --

Vernon...

Reply   Reply with quote   Complain
technoid
Senior MemberPosts: 1,295
Like?
Re: Here's Why
In reply to Vernon D Rainwater, Jan 20, 2013

Vernon D Rainwater wrote:

Thanks for your additional comments:

Also, there are many colors that change the RGB values when changed from one color space to another -- such as changing between Pro Photo, sRGB, etc. So, the discussed change you mention evidently is not limited to the discussed Gray patches.

There have been recent threads discussing this. Also, I started one several weeks ago regarding the mentioned RGB changes for selected colors

Vernon...

Yep, interesting threads. Different colorspaces do have very different mappings. Especially ProPhoto.

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
Re: Here's Why
In reply to technoid, Jan 20, 2013

technoid wrote:

Vernon D Rainwater wrote:

technoid wrote:

The basic problem is that the idea of 50% gray is one of perception. It is not objective. For intance, the so-called 18% Gray card has a Lab L=50. That is approximately percieved as being a middle gray but only 18 photons out of every 100 are reflected which is where the 18% comes from. If you look at a Gray patch that reflects 50% of the light hitting it it looks like an extremely bright gray and appears much closer to white than black even though it is technically right in the middle.

The sRGB value that corresponds to a patch that reflects half the light hitting it is (288,288,288). The purpose of the Gamma curve is to approximate the human perception of light which is highly compressed.

The relatively small variations that occur between sRGB, Gamma 2.2 (which isn't the same as the sRGB tone curve), and the more complex Lab are in large part because there is no precise way to measure human perception of brightness. They are all approximations.

I really should not post in this thread due to my limited level of understanding the details.

The OP evidently has listed RGB Values as reported by a Photo Editing software such as Photoshop -- However, you have discussed Human perceptions of brightness. The RGB readings listed (some being different and of course three sets of RGB Values are listed but how are the measurements being different related to your mentioned "human perception of brightness" since the differences are the above measured values rather than opinions of one's vision of these three.

Also, I don't see any mention of the OP using an 18% Gray Card to create these different patches so are you effectively indicating the Patches that were created as explained by the OP can (or do) only reflect 18% out of a possible reflection of 100 %.

-- hide signature --

Vernon...

The 50% Gray fill used by the OP simply sets the luminosity at 50% of max in the current colorspace. Since the tone curves for his three examples are different the 50% point on each of these tone curves will produce differing amounts of light. Similarly, any given patch of 50% gray will yield different results when converted to a colorspace with a different Gamma.

Since there is no technically valid way of exactly specifying how much reflectance represents half way between black and white, as percieved, the commonly accepted method is to simply set the value at whatever the colorspace's tone curve produces at half of maximum. For Lab colors, that happens to be 18% reflectance at L=50. For sRGB it's around 20% reflectance. For ProPhoto RGB, easily the furthest from the pack, it's about 25% reflectance.

An 18% Gray card has an L value of 50 and is approximately the grayness of other "50%" gray patch surfaces which is the OP's topic. The point is that unlike measuring light magnitude, where it is just a question of engineering precision as to how accurate something can be measured, the percentage of reflected light that corresponds to what people percieve as 50% gray is not. Some may call a card with 22% reflectance middle gray while others might say the same for 15% or 25%. Because of this variation there is no one tone curve or Gamma that exactly matches human perception. The non-linear tone curve, like the Gamma=2.2 that aRGB uses, that sRGB approximates, and Lab deviates somewhat more from, all have slightly different luminosities at the "50%" gray settings.

Ok, many thanks for the perfect explanation, it was really appreciated.

Frankly, I was suspecting that this aspect was in some way related to the different gamma of the color spaces involved but your answer regarding the 50% gray command settling on the middle of the active color space black-white range was definitely enlightning and all it makes perfect sense now.

Patch n. 22 of the X-rite Colorchecker is nominally rated as "neutral 5" with sRGB R:122 G:122 B:121 and L:50.867 a:-0.153 b:0.27.

A gray patch created on screen with the command fill 50% Gray using sRGB as working/viewing space gives the following results:

created in sRGB is R=G=B:128, created in Adobe 1998 is R=G=B:129, created in Gray gamma 2.2 is R=G=B:129, and created in Lab mode is R=G=B:119.

So, it is confirmed that Adobe 1998 and Gray gamma 2.2 values are matching, and the X-Rite patch n.22 is slighlty different from all of these, near to the Lab one.

The K:50% patch has L:54; the L:50 patch has K:54%. The X-Rite patch n.22 has a K:53 (and L near 51 as seen).

So, for my convenience I think that a good choice could be to stick with Adobe 1998 + Gray gamma 2.2 as working spaces, mainly because they share the same gamma curve (sRGB is not perfectly matching the gamma 2.2 with some difference in the deep shadows). This choice at least allows me to easily translate the Gray R=G=B values to equivalent K values without errors.

But the CIE L*a*b* has a different gamma from what I see, and I'm still a little bit confused regarding the exact relationship existing between the K (Gray %) and the L of L* a* b*.

It is not really an easy L=100-K equivalence, it is a slighly "S" shaped curve...

The Colormunki measures the L value of a gray patch.

Now, assuming the Colormunki is perfect, if I generate a Gray step wedge using equally spaced K values in Gray gamma 2.2, print the wedge, measure the L values and plot them in a graph I was expecting (in fully ideal theoretical conditions) to see a perfect decreasing 45° straight line from ideal white to ideal black.

But now I realize that this is not the case, due to the slight differences in the gamma between Gray gamma 2.2 and CIE L*a*b*, this line should NOT be perfectly straight, should be a little bit "S" shaped with deviations reaching +4 (L) in the K35%-K55% zone and reaching -4 (L) in the K90%-K95% zone. A perfect matching (L=100-K) is occurring only near K80% = L20 (and for pure black and pure white of course).

So, to better understand, if my goal is to create, for example, a simple B&W correction curve to apply to a given printer settings-paper setup (leaving the icc profiles out of the task), the optimal linearization should NOT be calculated basing over an equally spaced K% step wedge, but creating an L equally spaced step wedge and then expecting the Colormunki readings of the printed/measured wedge to be a perfect decreasing straight line.

Is this correct or I still miss something?

Many thanks in advance for the attention.

Ciao

Reply   Reply with quote   Complain
ronzie
Senior MemberPosts: 1,285
Like?
Re: Here's Why
In reply to Vernon D Rainwater, Jan 20, 2013

FWIW:

Kodak in its description of the current gray card R-27 mentions it uses the Munsell Lab/Gretag-MacBeth color checker standards for Middle Gray.

http://motion.kodak.com/motion/Products/Lab_And_Post_Production/Gray_Card/index.htm#graycard

http://www.wallkillcolor.com/index2.htm

offers free .csv format (Excel or database) tables and a .jpg of the chart and data comprising it in several coordinate color space values.

The Color Checker data table gives the values for the color checker chart. The Munsell Conversion table are cross references in color space coordinates for I think all of the defined Munsell color references in their full catalog but it is a handy conversion chart across color spaces. Munsell has their own set of coordinates in addition to CIE and LAB, and they include RGB. Patch names are their own and ISCC/NBS ("white" is white, "medium gray" is "neutral 5") same standards bodies with old names.

With regard to the Color Checker Cart data, patch 22 is defined as medium gray as described on the physical version I have. Patch 19 is defined as white. Medium gray has a Munsell luminance value of 5, L* of 51.57. White has a luminance value of 9.5, L* of 96 which is close to the 90% reflectance claimed for the white side of the Kodak Gray Card. White RGB is defined as 243, 243, 242. Medium Gray is defined as 122, 122, 121 allowing for rounding half og the white RGB values. These are measured values from their laboratory standard patches under "Illuminant C 2 degree observer  H. Van Aken  March 12 2002".

I requested a description of the illuminant C 2 and I got way back a very pleasant e-mail from a Munsell scientist describing it as I recall an illumination falling on the target at noon local time, summer solstice, clear sky, with the target facing north. I forgot the latitude used. I no longer have that e-mail application so I do not have the text to quote.

Also in the description of the physical chart it mentions the chips are adjusted to reflect all colors of the visible spectrum. An example is given as looking at a photograph of the chart and the chart itself under the same illumination for comparison. That's what I did back in my film days looking at a photograph of the chart taken almost at the described date and time for the illumination standard printed to Fuji Crystal Archive Paper on a Fuji wet process system (with no operator intervention), the chart itself, and an ink jet printed chart after I digitized the negative, Fuji Superia color negative ASA 400 35mm. The wet process print was very close for hue and I could make my inkjet print very close as well.

If you stayed with this long winded response, congratulations, but I thought I would get into the standard and the numbers across color spaces.

-- hide signature --

Ron Ginsberg
Minneapolis, MN
Land of 10,000 Puddles

Reply   Reply with quote   Complain
technoid
Senior MemberPosts: 1,295
Like?
Re: Here's Why
In reply to NeroMetalliko, Jan 20, 2013

NeroMetalliko wrote:

technoid wrote:

Vernon D Rainwater wrote:

technoid wrote:

The basic problem is that the idea of 50% gray is one of perception. It is not objective. For intance, the so-called 18% Gray card has a Lab L=50. That is approximately percieved as being a middle gray but only 18 photons out of every 100 are reflected which is where the 18% comes from. If you look at a Gray patch that reflects 50% of the light hitting it it looks like an extremely bright gray and appears much closer to white than black even though it is technically right in the middle.

The sRGB value that corresponds to a patch that reflects half the light hitting it is (288,288,288). The purpose of the Gamma curve is to approximate the human perception of light which is highly compressed.

The relatively small variations that occur between sRGB, Gamma 2.2 (which isn't the same as the sRGB tone curve), and the more complex Lab are in large part because there is no precise way to measure human perception of brightness. They are all approximations.

I really should not post in this thread due to my limited level of understanding the details.

The OP evidently has listed RGB Values as reported by a Photo Editing software such as Photoshop -- However, you have discussed Human perceptions of brightness. The RGB readings listed (some being different and of course three sets of RGB Values are listed but how are the measurements being different related to your mentioned "human perception of brightness" since the differences are the above measured values rather than opinions of one's vision of these three.

Also, I don't see any mention of the OP using an 18% Gray Card to create these different patches so are you effectively indicating the Patches that were created as explained by the OP can (or do) only reflect 18% out of a possible reflection of 100 %.

-- hide signature --

Vernon...

The 50% Gray fill used by the OP simply sets the luminosity at 50% of max in the current colorspace. Since the tone curves for his three examples are different the 50% point on each of these tone curves will produce differing amounts of light. Similarly, any given patch of 50% gray will yield different results when converted to a colorspace with a different Gamma.

Since there is no technically valid way of exactly specifying how much reflectance represents half way between black and white, as percieved, the commonly accepted method is to simply set the value at whatever the colorspace's tone curve produces at half of maximum. For Lab colors, that happens to be 18% reflectance at L=50. For sRGB it's around 20% reflectance. For ProPhoto RGB, easily the furthest from the pack, it's about 25% reflectance.

An 18% Gray card has an L value of 50 and is approximately the grayness of other "50%" gray patch surfaces which is the OP's topic. The point is that unlike measuring light magnitude, where it is just a question of engineering precision as to how accurate something can be measured, the percentage of reflected light that corresponds to what people percieve as 50% gray is not. Some may call a card with 22% reflectance middle gray while others might say the same for 15% or 25%. Because of this variation there is no one tone curve or Gamma that exactly matches human perception. The non-linear tone curve, like the Gamma=2.2 that aRGB uses, that sRGB approximates, and Lab deviates somewhat more from, all have slightly different luminosities at the "50%" gray settings.

Ok, many thanks for the perfect explanation, it was really appreciated.

Frankly, I was suspecting that this aspect was in some way related to the different gamma of the color spaces involved but your answer regarding the 50% gray command settling on the middle of the active color space black-white range was definitely enlightning and all it makes perfect sense now.

Patch n. 22 of the X-rite Colorchecker is nominally rated as "neutral 5" with sRGB R:122 G:122 B:121 and L:50.867 a:-0.153 b:0.27.

A gray patch created on screen with the command fill 50% Gray using sRGB as working/viewing space gives the following results:

created in sRGB is R=G=B:128, created in Adobe 1998 is R=G=B:129, created in Gray gamma 2.2 is R=G=B:129, and created in Lab mode is R=G=B:119.

So, it is confirmed that Adobe 1998 and Gray gamma 2.2 values are matching, and the X-Rite patch n.22 is slighlty different from all of these, near to the Lab one.

The K:50% patch has L:54; the L:50 patch has K:54%. The X-Rite patch n.22 has a K:53 (and L near 51 as seen).

So, for my convenience I think that a good choice could be to stick with Adobe 1998 + Gray gamma 2.2 as working spaces, mainly because they share the same gamma curve (sRGB is not perfectly matching the gamma 2.2 with some difference in the deep shadows). This choice at least allows me to easily translate the Gray R=G=B values to equivalent K values without errors.

But the CIE L*a*b* has a different gamma from what I see, and I'm still a little bit confused regarding the exact relationship existing between the K (Gray %) and the L of L* a* b*.

It is not really an easy L=100-K equivalence, it is a slighly "S" shaped curve...

The Colormunki measures the L value of a gray patch.

Now, assuming the Colormunki is perfect, if I generate a Gray step wedge using equally spaced K values in Gray gamma 2.2, print the wedge, measure the L values and plot them in a graph I was expecting (in fully ideal theoretical conditions) to see a perfect decreasing 45° straight line from ideal white to ideal black.

But now I realize that this is not the case, due to the slight differences in the gamma between Gray gamma 2.2 and CIE L*a*b*, this line should NOT be perfectly straight, should be a little bit "S" shaped with deviations reaching +4 (L) in the K35%-K55% zone and reaching -4 (L) in the K90%-K95% zone. A perfect matching (L=100-K) is occurring only near K80% = L20 (and for pure black and pure white of course).

So, to better understand, if my goal is to create, for example, a simple B&W correction curve to apply to a given printer settings-paper setup (leaving the icc profiles out of the task), the optimal linearization should NOT be calculated basing over an equally spaced K% step wedge, but creating an L equally spaced step wedge and then expecting the Colormunki readings of the printed/measured wedge to be a perfect decreasing straight line.

Is this correct or I still miss something?

Many thanks in advance for the attention.

Ciao

That is roughly right. Printers will exhibit a bit of variation along the line since transitions over the different inks are not completely smooth. A good profile will offer the same capabilities and is more standard.

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
Re: Here's Why
In reply to technoid, Jan 20, 2013

technoid wrote:

NeroMetalliko wrote:

So, to better understand, if my goal is to create, for example, a simple B&W correction curve to apply to a given printer settings-paper setup (leaving the icc profiles out of the task), the optimal linearization should NOT be calculated basing over an equally spaced K% step wedge, but creating an L equally spaced step wedge and then expecting the Colormunki readings of the printed/measured wedge to be a perfect decreasing straight line.

Is this correct or I still miss something?

Many thanks in advance for the attention.

Ciao

That is roughly right. Printers will exhibit a bit of variation along the line since transitions over the different inks are not completely smooth. A good profile will offer the same capabilities and is more standard.

Hello, many thanks for the answer.

I know that the most proper way should be building a dedicated icc profile.

But keeping for the moment the printer-ink-paper non-linearities and physical limitations apart, and focusing more to the right theoretical approach, given our previous explanations/arguments and the different gamma between L*a*b* and Gray gamma 2.2, what I wonder now is why, at least by a first look by reading online, a frequent approach is to create a B&W step wedge based on equally spaced K% Gray (21 step wedge for example with 5% gray steps in gamma 2.2), print it, read it with Colormunki, export the measured values (which, using Colorpicker, are L*, a*, b* values and reflectances at different wavelengths) and linearize the L line basing the calculation on these data. Maybe I'm wrong but I don't remember to have read someone clearly pointing out that the measured L line, at least ideally, should NOT be a perfect straight line if the step wedge is K% equally spaced (and NOT L equally spaced).

QTR, for example, has a little utility that take the measured L data and build a Gray (or RGB) linearized .icc profile. I don't know yet, but if the created/printed/measured step wedge is K% equally spaced and NOT L equally spaced the final "correction" profile will be slightly wrong with errors ranging in the +4,-4 % amount depending on the Gray zone, so not so perfect at all unless the utility apply a proper compensation for it (that I ignore but easily could be).

In any case I will check this for myself comparing the results. What I need to know at the moment for sure is that, if I decide to build a custom correction curve, the right way to do it is to perform this task creating an L equally spaced (and NOT a K% equally saced) step wedge and then linearize the printed/measured L values with a dedicated L*a*b* curve expecting as a final target an ideally perfect L straight line (paper-ink limitations apart).

Please, feel free to correct me if something is wrong, not clear or missing.

Have a nice day, many thanks in advance.

Ciao

Reply   Reply with quote   Complain
technoid
Senior MemberPosts: 1,295
Like?
Re: Here's Why
In reply to NeroMetalliko, Jan 20, 2013

NeroMetalliko wrote:

technoid wrote:

NeroMetalliko wrote:

So, to better understand, if my goal is to create, for example, a simple B&W correction curve to apply to a given printer settings-paper setup (leaving the icc profiles out of the task), the optimal linearization should NOT be calculated basing over an equally spaced K% step wedge, but creating an L equally spaced step wedge and then expecting the Colormunki readings of the printed/measured wedge to be a perfect decreasing straight line.

Is this correct or I still miss something?

Many thanks in advance for the attention.

Ciao

That is roughly right. Printers will exhibit a bit of variation along the line since transitions over the different inks are not completely smooth. A good profile will offer the same capabilities and is more standard.

Hello, many thanks for the answer.

I know that the most proper way should be building a dedicated icc profile.

But keeping for the moment the printer-ink-paper non-linearities and physical limitations apart, and focusing more to the right theoretical approach, given our previous explanations/arguments and the different gamma between L*a*b* and Gray gamma 2.2, what I wonder now is why, at least by a first look by reading online, a frequent approach is to create a B&W step wedge based on equally spaced K% Gray (21 step wedge for example with 5% gray steps in gamma 2.2), print it, read it with Colormunki, export the measured values (which, using Colorpicker, are L*, a*, b* values and reflectances at different wavelengths) and linearize the L line basing the calculation on these data. Maybe I'm wrong but I don't remember to have read someone clearly pointing out that the measured L line, at least ideally, should NOT be a perfect straight line if the step wedge is K% equally spaced (and NOT L equally spaced).

QTR, for example, has a little utility that take the measured L data and build a Gray (or RGB) linearized .icc profile. I don't know yet, but if the created/printed/measured step wedge is K% equally spaced and NOT L equally spaced the final "correction" profile will be slightly wrong with errors ranging in the +4,-4 % amount depending on the Gray zone, so not so perfect at all unless the utility apply a proper compensation for it (that I ignore but easily could be).

In any case I will check this for myself comparing the results. What I need to know at the moment for sure is that, if I decide to build a custom correction curve, the right way to do it is to perform this task creating an L equally spaced (and NOT a K% equally saced) step wedge and then linearize the printed/measured L values with a dedicated L*a*b* curve expecting as a final target an ideally perfect L straight line (paper-ink limitations apart).

Please, feel free to correct me if something is wrong, not clear or missing.

Have a nice day, many thanks in advance.

Ciao

Ah, I see your concern. Not to worry. It doesn't matter whether the wedges that are printed are closer to equally spaced L* or K or something much different than either. The purpose of profiling software is to correct the native printer reponse curves to produce an accurate output. The software will create a profile that will map an image to the proper L*a*b  values.

An excellent way to measure the accuracy of a B&W profile is to create an L*a*b series of patches from L=0 to L=100. These should be printed two ways. One with Relative Colorimetric, the other with Absoulte Colorimetric. The patches should then be read with a Spectro.

For Relative colorimetric printing the patches should  range from a low value (3 to 10) to a high value (94 to 98) depending on the printer/paper black point/ white point. The L*a*b* will not match the initial patch values as they are compressed between the black/white points.

For Absolute Colorimetric printing the measured L*a*b* values should be quite close* for all patches that are within the white/black point limits and should clip at the white/black points.

*The average difference between the measured and image L values should be around 1 or less with a good profile. An average of 2 or less is still pretty good.  More important than average L difference is the smoothness and shifts in a* and b* (Color tints) but that's another topic.

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
Re: Here's Why
In reply to technoid, Jan 20, 2013

technoid wrote:

NeroMetalliko wrote:

technoid wrote:

NeroMetalliko wrote:

So, to better understand, if my goal is to create, for example, a simple B&W correction curve to apply to a given printer settings-paper setup (leaving the icc profiles out of the task), the optimal linearization should NOT be calculated basing over an equally spaced K% step wedge, but creating an L equally spaced step wedge and then expecting the Colormunki readings of the printed/measured wedge to be a perfect decreasing straight line.

Is this correct or I still miss something?

Many thanks in advance for the attention.

Ciao

That is roughly right. Printers will exhibit a bit of variation along the line since transitions over the different inks are not completely smooth. A good profile will offer the same capabilities and is more standard.

Hello, many thanks for the answer.

I know that the most proper way should be building a dedicated icc profile.

But keeping for the moment the printer-ink-paper non-linearities and physical limitations apart, and focusing more to the right theoretical approach, given our previous explanations/arguments and the different gamma between L*a*b* and Gray gamma 2.2, what I wonder now is why, at least by a first look by reading online, a frequent approach is to create a B&W step wedge based on equally spaced K% Gray (21 step wedge for example with 5% gray steps in gamma 2.2), print it, read it with Colormunki, export the measured values (which, using Colorpicker, are L*, a*, b* values and reflectances at different wavelengths) and linearize the L line basing the calculation on these data. Maybe I'm wrong but I don't remember to have read someone clearly pointing out that the measured L line, at least ideally, should NOT be a perfect straight line if the step wedge is K% equally spaced (and NOT L equally spaced).

QTR, for example, has a little utility that take the measured L data and build a Gray (or RGB) linearized .icc profile. I don't know yet, but if the created/printed/measured step wedge is K% equally spaced and NOT L equally spaced the final "correction" profile will be slightly wrong with errors ranging in the +4,-4 % amount depending on the Gray zone, so not so perfect at all unless the utility apply a proper compensation for it (that I ignore but easily could be).

In any case I will check this for myself comparing the results. What I need to know at the moment for sure is that, if I decide to build a custom correction curve, the right way to do it is to perform this task creating an L equally spaced (and NOT a K% equally saced) step wedge and then linearize the printed/measured L values with a dedicated L*a*b* curve expecting as a final target an ideally perfect L straight line (paper-ink limitations apart).

Please, feel free to correct me if something is wrong, not clear or missing.

Have a nice day, many thanks in advance.

Ciao

Ah, I see your concern. Not to worry. It doesn't matter whether the wedges that are printed are closer to equally spaced L* or K or something much different than either.

Hello, thanks for the answer.

As you can easily understand my goal at the moment is to evaluate/improve the linearity for BW prints on my Epson R3000 printer using the ABW mode (usually starting from neutral dark settings). In ABW mode the common rgb .icc paper profiles profiles are useless. So, the correction in the usual Color Management style is not allowed.

As per what I have understood up today, there are still two way to compensate for ink/paper nonlinearity in ABW and both are of the type to pre-compensate the image prior to send it to the ABW driver:

- it can be done using a QTR linearized profile, by converting the image in the QTR profile and then assigning a gamma 2.2 profile

- or it can be done by directly apply a properly calculated compensation curve to the image

I'm currently exploring the second method and it could be very useful if you can kindly explain to me why it does not matter wheter the wedges are equally spaced or not for this purpose. I think that the L equally spaced wedge between L:0 and L:100 is mandatory for this method.

The purpose of profiling software is to correct the native printer reponse curves to produce an accurate output. The software will create a profile that will map an image to the proper L*a*b values.

An excellent way to measure the accuracy of a B&W profile is to create an L*a*b series of patches from L=0 to L=100. These should be printed two ways. One with Relative Colorimetric, the other with Absoulte Colorimetric. The patches should then be read with a Spectro.

For Relative colorimetric printing the patches should range from a low value (3 to 10) to a high value (94 to 98) depending on the printer/paper black point/ white point. The L*a*b* will not match the initial patch values as they are compressed between the black/white points.

For Absolute Colorimetric printing the measured L*a*b* values should be quite close* for all patches that are within the white/black point limits and should clip at the white/black points.

*The average difference between the measured and image L values should be around 1 or less with a good profile. An average of 2 or less is still pretty good. More important than average L difference is the smoothness and shifts in a* and b* (Color tints) but that's another topic.

Nice advice for icc prolfile evaluation on BW, many thanks

I will compare for sure the results of the .icc proiles vs the method I'm developing of the direct curve once I have figured out the things and succesfully implemented it.

I have just created and printed an equally spaced L wedge (21 steps at L:5 intervals) and tonight I will measure it. Let me see how it works...

Many thanks in advance.

Ciao

Reply   Reply with quote   Complain
technoid
Senior MemberPosts: 1,295
Like?
Re: Here's Why
In reply to NeroMetalliko, Jan 21, 2013

One can certainly do a good B&W correction with a custom tone curve instead of an ICC profile. There really is no difference between profiling with an ICC profile or your own tone curve in B&W. The ICC profile is more standardized and can be used the same way in B&W and color and is widely supported in photo editing s/w.  The problem with B&W ICC profiles is finding s/w that generates good ones specifically for B&W.  What I do is generate a set of B&W patches from (0,0,0) to (255,255,255) (256 patches), print the patches then scan them with an X-rite IO. I load the 256 L values into Matlab along with a random printer profile then replace the white black points and 3DLUTs with a smoothed, interpolated table and write out the new profile. It's not too hard to do in Matlab but does require a good working familiarity with both Matlab and ICC profile structure. I wish there were specific programs people could do this with but I haven't found any.

Most of my printing is repro printing, where a print needs to match other art so I use absolute colorimetry a lot.  A L*a*b tri-value needs to match it's printed value as close as I can get it. The interesting thing about B&W is that getting high quality profiles is a lot easier because one only has to look at one dimension, the tone curve. 256 patches gives the best possible estimate. A full color set of all possible patches would be over 16 million patches which isn't doable.

I'm interested in seeing what your testing shows.

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
Re: Here's Why
In reply to technoid, Jan 22, 2013

technoid wrote:

One can certainly do a good B&W correction with a custom tone curve instead of an ICC profile. There really is no difference between profiling with an ICC profile or your own tone curve in B&W. The ICC profile is more standardized and can be used the same way in B&W and color and is widely supported in photo editing s/w.

Yes, I agree, in reality there is an important difference: a custom tone curve in Photoshop (or Gimp) allows for only 16 (17) points of correction (including the first and the last), so you can have a good overall smoothed correction but not an exact point-to-point perfect match over 256 (or 100) patches. I think that this limitation is one additional big advantage for choosing the .icc aproach.

The problem with B&W ICC profiles is finding s/w that generates good ones specifically for B&W.

Exactly,

I thought that the QTR utility could do the job, and this was my starting point, but after some test I have realized that something was not clear to me and I posted here the question regarding the 50% gray mismatch.

Actually, after what we have discussed, I wonder how one can do a BW linearization tone curve printing a gray (K%) equally spaced step wedge and then performing the compensation based over the measured L values. This seems to me to be wrong because of the different gamma of L*a*b* vs gamma 2.2.

What I do is generate a set of B&W patches from (0,0,0) to (255,255,255) (256 patches), print the patches then scan them with an X-rite IO.

So, you print full 256 RGB spaced patches and then you read L* values.

I load the 256 L values into Matlab along with a random printer profile then replace the white black points and 3DLUTs with a smoothed, interpolated table and write out the new profile. It's not too hard to do in Matlab but does require a good working familiarity with both Matlab and ICC profile structure. I wish there were specific programs people could do this with but I haven't found any.

Wonderful, I have no problem with Matlab, I used it a lot in the past, but I have no more access to a Matlab workstation today. And unlucky I have absolutely zero knowledge regarding .icc profile structure.

I'm currently making all the calculations using a PC and Libreoffice Calc spreadsheet (open source Excel equivalent). For this purpose I have spent some time writing a custom importing .xsl filter that allows me to directly load the exported .CxF Colormunki Colorpicker data file (a proprietary .xml format) and import all the data in a pre-formatted spreadsheet. It works great.

Now, due to the fact that I have created a step wedge using 21 L* equally spaced patches (from 0 to 100), and then reading the related L* values of the printed wedge, I can calculate a perfect compensation curve in L* values. The main limitation is that this curve is limited to 16 points 0-100 rounded integers values.

In addition, if the curve is made of L* values this means that, having a source gamma 2.2 image as I have usually), I have to perform a L*a*b* conversion, apply the correction curve, and then convert back to gamma 2.2 before printing. Not so convenient.

So, in order to semplify the workflow, what I miss currently is a mathematical exact relationship between L* values and K% (or RGB) values at gamma 2.2.

In this way I could be able to build the correction curve directly in Adobe 1998 RGB values, giving me the advantage of an higher degree of precision (255 integer values instead of 100 for both axis), and without the need to do the double color space conversion prior sending the file to the ABW driver.

I have searched the net but I have found nothing directly addressing this aspect, so I think that for these early tests I will simply build and use a plain table with all the 256 values listed.

Most of my printing is repro printing, where a print needs to match other art so I use absolute colorimetry a lot. A L*a*b tri-value needs to match it's printed value as close as I can get it. The interesting thing about B&W is that getting high quality profiles is a lot easier because one only has to look at one dimension, the tone curve. 256 patches gives the best possible estimate. A full color set of all possible patches would be over 16 million patches which isn't doable.

I'm interested in seeing what your testing shows.

Yes, the BW correction is adsolutely feasible, a perfect point-to-point compensation over 256 values would be ideal, but using a custom tone curve I'm limited to 16 points, for this reason I have started with only 21 patches.

First results:

printing/reading the L* wedge instead of the K% wedge (with same settings/paper) showed a noticeable difference to the point that I have decided to print the wedge using a different driver setting (neutral-normal instead of neutral-dark) to compare. After comparing the readings I have seen that the target straight line is in between these two settings (for this paper).

At this moment I have to choose the starting setting (I think I will choose the one that minimize the RMS error) and build the related L* Correction curve. I will do the corrected print using the double L*a*b* conversion in order to see if it works for now.

If the results are good I will implement the direct RGB building task (beacause Gimp does not support L*a*b*).

Please, note that In the long term my final target will be to be able to build a full BW .icc profile in any case, and I think that for this purpose I will try to see if using Argyll this could be done (and from what I have seen I think that this could be done succesfully).

This will be the optimal solution, relatively simple, with the best achievable results and, for all Colormunki users, will be the cheapest way too, because is performed by using 100% free tools (LibreOffice, Gimp, Argyll).

Let me know what do you think, and many thanks for sharing your findings, this is really appreciated.
Now I go to build a correction L* curve...

See you later, ciao.

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
LINEARIZATION results: GREAT! :)
In reply to NeroMetalliko, Jan 24, 2013

NeroMetalliko wrote:

technoid wrote:

One can certainly do a good B&W correction with a custom tone curve instead of an ICC profile. There really is no difference between profiling with an ICC profile or your own tone curve in B&W. The ICC profile is more standardized and can be used the same way in B&W and color and is widely supported in photo editing s/w.

Yes, I agree, in reality there is an important difference: a custom tone curve in Photoshop (or Gimp) allows for only 16 (17) points of correction (including the first and the last), so you can have a good overall smoothed correction but not an exact point-to-point perfect match over 256 (or 100) patches. I think that this limitation is one additional big advantage for choosing the .icc aproach.

The problem with B&W ICC profiles is finding s/w that generates good ones specifically for B&W.

Exactly,

I thought that the QTR utility could do the job, and this was my starting point, but after some test I have realized that something was not clear to me and I posted here the question regarding the 50% gray mismatch.

Actually, after what we have discussed, I wonder how one can do a BW linearization tone curve printing a gray (K%) equally spaced step wedge and then performing the compensation based over the measured L values. This seems to me to be wrong because of the different gamma of L*a*b* vs gamma 2.2.

What I do is generate a set of B&W patches from (0,0,0) to (255,255,255) (256 patches), print the patches then scan them with an X-rite IO.

So, you print full 256 RGB spaced patches and then you read L* values.

I load the 256 L values into Matlab along with a random printer profile then replace the white black points and 3DLUTs with a smoothed, interpolated table and write out the new profile. It's not too hard to do in Matlab but does require a good working familiarity with both Matlab and ICC profile structure. I wish there were specific programs people could do this with but I haven't found any.

Wonderful, I have no problem with Matlab, I used it a lot in the past, but I have no more access to a Matlab workstation today. And unlucky I have absolutely zero knowledge regarding .icc profile structure.

I'm currently making all the calculations using a PC and Libreoffice Calc spreadsheet (open source Excel equivalent). For this purpose I have spent some time writing a custom importing .xsl filter that allows me to directly load the exported .CxF Colormunki Colorpicker data file (a proprietary .xml format) and import all the data in a pre-formatted spreadsheet. It works great.

Now, due to the fact that I have created a step wedge using 21 L* equally spaced patches (from 0 to 100), and then reading the related L* values of the printed wedge, I can calculate a perfect compensation curve in L* values. The main limitation is that this curve is limited to 16 points 0-100 rounded integers values.

In addition, if the curve is made of L* values this means that, having a source gamma 2.2 image as I have usually), I have to perform a L*a*b* conversion, apply the correction curve, and then convert back to gamma 2.2 before printing. Not so convenient.

So, in order to semplify the workflow, what I miss currently is a mathematical exact relationship between L* values and K% (or RGB) values at gamma 2.2.

In this way I could be able to build the correction curve directly in Adobe 1998 RGB values, giving me the advantage of an higher degree of precision (255 integer values instead of 100 for both axis), and without the need to do the double color space conversion prior sending the file to the ABW driver.

I have searched the net but I have found nothing directly addressing this aspect, so I think that for these early tests I will simply build and use a plain table with all the 256 values listed.

Most of my printing is repro printing, where a print needs to match other art so I use absolute colorimetry a lot. A L*a*b tri-value needs to match it's printed value as close as I can get it. The interesting thing about B&W is that getting high quality profiles is a lot easier because one only has to look at one dimension, the tone curve. 256 patches gives the best possible estimate. A full color set of all possible patches would be over 16 million patches which isn't doable.

I'm interested in seeing what your testing shows.

Yes, the BW correction is adsolutely feasible, a perfect point-to-point compensation over 256 values would be ideal, but using a custom tone curve I'm limited to 16 points, for this reason I have started with only 21 patches.

First results:

printing/reading the L* wedge instead of the K% wedge (with same settings/paper) showed a noticeable difference to the point that I have decided to print the wedge using a different driver setting (neutral-normal instead of neutral-dark) to compare. After comparing the readings I have seen that the target straight line is in between these two settings (for this paper).

At this moment I have to choose the starting setting (I think I will choose the one that minimize the RMS error) and build the related L* Correction curve. I will do the corrected print using the double L*a*b* conversion in order to see if it works for now.

If the results are good I will implement the direct RGB building task (beacause Gimp does not support L*a*b*).

Please, note that In the long term my final target will be to be able to build a full BW .icc profile in any case, and I think that for this purpose I will try to see if using Argyll this could be done (and from what I have seen I think that this could be done succesfully).

This will be the optimal solution, relatively simple, with the best achievable results and, for all Colormunki users, will be the cheapest way too, because is performed by using 100% free tools (LibreOffice, Gimp, Argyll).

Let me know what do you think, and many thanks for sharing your findings, this is really appreciated.
Now I go to build a correction L* curve...

See you later, ciao.

Hello,

only a short update to resume my first results:

- printing a 21 step wedge L equally spaced (ABW neutral dark) and measuring the printed patches with Colormunki gives me an average RMS error of ~3 (L*), with a max of 2.2 and a min of -4.8.

- after applying a custom correction curve in L* I got an average RMS error of ~1 (max: 0.7, min: -2.2).

The linearization was good but the still not perfect results are mainly due to three interacting aspects:

1) limited number of points allowed in curves tool (16 max)

2) correction values rounded to integers (0-100 range)

3) not so easy predictable shape of the resulting curve (due to probably a cubic spline algorithm I'm not exactly able to figure out perfectly)

- after applying a second correction curve in L* I got a near perfect linearization with RMS error of 0.44 (max: 0.6 and min: -0.9)

Given the above explained limitation this result should be considered really excellent: the L* graph is a near perfect straight line from max black to white, average error was reduced by ~85% and peak errors by ~70-80%.

Next step will be to go for Adobe RGB values based correction curve and/or dedicated .icc profile.

I think that the further developments will be better located in another dedicated thread.

Many thanks for now and let me know what do you think.

Ciao

Reply   Reply with quote   Complain
technoid
Senior MemberPosts: 1,295
Like?
Re: LINEARIZATION results: GREAT! :)
In reply to NeroMetalliko, Jan 24, 2013

Pretty good improvement. Keep us updated.

I took a look at Argyll and there are a ton of things in it but didn't see anything dealing with B&W only. That would be a great addition and really pretty easy. I suppose I could download the source but am not really motivated. Matlab hack works well and most of my work is color and I get good results with X-rite's stuff.

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
Re: LINEARIZATION results: GREAT! :)
In reply to technoid, Jan 25, 2013

technoid wrote:

Pretty good improvement. Keep us updated.

I took a look at Argyll and there are a ton of things in it but didn't see anything dealing with B&W only. That would be a great addition and really pretty easy. I suppose I could download the source but am not really motivated. Matlab hack works well and most of my work is color and I get good results with X-rite's stuff.

Currently I'm really busy learning and implementing/testing the L*a*b* to Adobe RGB (and inverse) calculations functions in the spreadsheet (thanks to the great Bruce Lindbloom website).

In this way I think I could achieve the goal to build the curve directly in Adobe RGB (256 values instead of 101).

With Argyll I suppose I can create a wedge with up to 256 gray patches, printing and reading it, building then a (RGB) .icc profile with only the gray information. This will allow me to convert the gamma 2.2 BW source image to the Argyll RGB (gray based) .icc profile and then, by assigning a Gray gamma 2.2 profile the job should be done.

I will keep you updated.

Ciao

Reply   Reply with quote   Complain
technoid
Senior MemberPosts: 1,295
Like?
Re: LINEARIZATION results: GREAT! :)
In reply to NeroMetalliko, Jan 25, 2013

I think highly of Bruce's site. It's a great resource for color conversions and adaptations.

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
Re: LINEARIZATION results: GREAT! :)
In reply to technoid, Jan 25, 2013

technoid wrote:

Pretty good improvement. Keep us updated.

A fast update:

I have succesfully implemented L*a*b* to AdobeRGB transformation (and inverse) as per Lindbloom equations. This allowed me to build a correction curve with 255 possible levels instead of 100. As expected the performance improved: with a single curve I was able to match the results obtained using the two L* curves before listed. Using then a second RGB curve I got near perfect linearity:

RMS error: 0.34, max: 0.7, min: -0.37, average: 0.17;    (Dmax: 2.19, Dmin: 0.04)

Before correction was RMS: 2.97, max: 2.22, min: -4.79, average: -2.3;   (Dmax: 2.24, Dmin 0.04)

To be very picky I have lost a 0.05 of Dmax because maybe I have slighly "overcorrected" a bit, but the results are really amazing and this test shows that this solution is perfectly working.

No image conversion needed and curves easy to apply in AdobeRGB and/or Gray gamma 2.2 working spaces, granting in both cases the same degree of correction.

I think I have reached the maximum level of performance achievable with this approach. 

I took a look at Argyll and there are a ton of things in it but didn't see anything dealing with B&W only. That would be a great addition and really pretty easy. I suppose I could download the source but am not really motivated. Matlab hack works well and most of my work is color and I get good results with X-rite's stuff.

I have tried Argyll and found immediately that pure gray patches based .icc profiles are not supported, and (it seems) not planned in the near future...

Argyll is still great for color, but for pure B&W (RGB) .icc profiles only QTR seems to be working. I will try it again, but it seems to me that the linearization performed by QTR is far from the level I have reached with my curves approach.

I have downloaded the .icc specifications, because I have no knowledge of the .icc file structure, but, from what I have seen, it seems to me that self-doing an .icc profile based on measurements with a full simple correction curve inside is not so immediate to do, and will require a lot of learning/programming...

I'm interested in your Matlab workflow and I'm curious regarding how you create/modify .icc profiles. Being able to build a full 256 levels B&W (RGB) .icc profile is something I really desire, but currently I don't have the knowledge to do it by myself and probably the time required to learn/program all this stuff exceeds my possibilities.

In the next days I will try to optimize/simplify the curves approach. If I will be able to realize something simple and effective to use (and someone is interested) I can post my findings in a dedicated thread.

Ciao

Reply   Reply with quote   Complain
NeroMetalliko
Regular MemberPosts: 220
Like?
Re: Here's Why
In reply to ronzie, Jan 26, 2013

ronzie wrote:

FWIW:

Kodak in its description of the current gray card R-27 mentions it uses the Munsell Lab/Gretag-MacBeth color checker standards for Middle Gray.

http://motion.kodak.com/motion/Products/Lab_And_Post_Production/Gray_Card/index.htm#graycard

http://www.wallkillcolor.com/index2.htm

offers free .csv format (Excel or database) tables and a .jpg of the chart and data comprising it in several coordinate color space values.

The Color Checker data table gives the values for the color checker chart. The Munsell Conversion table are cross references in color space coordinates for I think all of the defined Munsell color references in their full catalog but it is a handy conversion chart across color spaces. Munsell has their own set of coordinates in addition to CIE and LAB, and they include RGB. Patch names are their own and ISCC/NBS ("white" is white, "medium gray" is "neutral 5") same standards bodies with old names.

With regard to the Color Checker Cart data, patch 22 is defined as medium gray as described on the physical version I have. Patch 19 is defined as white. Medium gray has a Munsell luminance value of 5, L* of 51.57. White has a luminance value of 9.5, L* of 96 which is close to the 90% reflectance claimed for the white side of the Kodak Gray Card. White RGB is defined as 243, 243, 242. Medium Gray is defined as 122, 122, 121 allowing for rounding half og the white RGB values. These are measured values from their laboratory standard patches under "Illuminant C 2 degree observer H. Van Aken March 12 2002".

I requested a description of the illuminant C 2 and I got way back a very pleasant e-mail from a Munsell scientist describing it as I recall an illumination falling on the target at noon local time, summer solstice, clear sky, with the target facing north. I forgot the latitude used. I no longer have that e-mail application so I do not have the text to quote.

Also in the description of the physical chart it mentions the chips are adjusted to reflect all colors of the visible spectrum. An example is given as looking at a photograph of the chart and the chart itself under the same illumination for comparison. That's what I did back in my film days looking at a photograph of the chart taken almost at the described date and time for the illumination standard printed to Fuji Crystal Archive Paper on a Fuji wet process system (with no operator intervention), the chart itself, and an ink jet printed chart after I digitized the negative, Fuji Superia color negative ASA 400 35mm. The wet process print was very close for hue and I could make my inkjet print very close as well.

If you stayed with this long winded response, congratulations, but I thought I would get into the standard and the numbers across color spaces.

-- hide signature --

Ron Ginsberg
Minneapolis, MN
Land of 10,000 Puddles

Sorry for not having answered before,

many thanks for the answer and all the useful content, slowly I'm starting to understand something more...

Ciao

Reply   Reply with quote   Complain
Keyboard shortcuts:
FForum MMy threads