Pages: [1]   Go Down

Author Topic: Optimizing i1Profiler RGB patch layout  (Read 15115 times)

Ethan Hansen

  • Full Member
  • ***
  • Offline Offline
  • Posts: 148
    • Dry Creek Photo
Optimizing i1Profiler RGB patch layout
« on: July 19, 2017, 06:33:51 pm »

I have received a number of emails regarding how to obtain the best RGB profiles from i1Profiler. By best, I mean the most visually accurate and pleasing and, definitely secondarily, the most accurate as determined by measurements of profiled prints. I'll piece together the emails in this post.

TL;DR: Check the table below for optimum patch counts.

Some years ago we did a thorough study of i1Profiler's performance both with auto-generated targets and hand constructed ones. Over the past two weeks I spot-checked the previous results with the latest version of i1Profiler (1.7.1). The results matched what we saw before. Our tests involved building a series of profiles from targets of different sizes, making prints using the profiles and having several pairs of eyes attached to folks whose income is generated from those same eyeballs judge which prints best matched the original on screen and was visually appealing (e.g. lack of color artifacts, etc.). We then measured several hundred color patches on the border of the prints to determine mathematical accuracy as well. Prints were made on HP and Epson inkjets, Fuji Frontier wet lab, and Fuji Dry lab printers.

What we saw matched the standard wisdom for i1Profiler usage: maximizing the number of near-neutral patches generated profiles with more accurate and smooth neutral performance. I1Profiler creates two basic sets of patches. The main one is a cube of RGB values evenly distributed 0 and 255. There is also a variable number of near neutral red, green, and blue patches close to the neutral axis in the shadows and further away in highlights. Finally, there are two shadow patches each for red, green, and blue. The first figure below shows the entire patch set while the second focuses on the near neutrals.
 

Looking at the heritage of i1Profiler, this behavior makes sense. The RGB profiles themselves are close to those created by MonacoProfiler which only supported a few targets, all containing equal numbers of R, G, and B steps. The GMB acquisition brought in ProfileMaker Pro's support for arbitrary targets. I1Profiler builds profiles from any target you choose, but if only the base RGB cube is used, neutral accuracy and smoothness suffer.

The table below shows not only the patch counts that maximize the count of near neutrals but also which combinations create better performing profiles than others. Whether it is a legacy from MonacoProfiler's preferences or not, I can't say, but we consistently saw smoother and more accurate color rendition when the number of red, green, and blue steps were equal. Depending on the patch count, i1Profiler will increase the number of green steps by one or both the green and blue step count by one.

All things being equal, more patches improves profile quality. That said, the subjective and measured profile quality was usually superior for a profile made with an equal number of R, G, and B steps than one made with one more green step than red and blue. For example, we consistently saw better performance for a max-neutral profile having 13 R, G, and B steps (2371 patches) than one made with 13 R and B steps but 14 Green steps (2553 patches).

The table below shows the i1Profiler RGB target patch counts that maximize the number of near-neutral patches. You will obtain improved profile performance by choosing one of these values or, depending on the limitations of your paper size, a target with at most 6 fewer near neutrals. Patch counts that use equal numbers of red, green, and blue steps appear in bold. Overall, these will be yuor best, most consistent options.

PatchesNear-NeutralRed StepsGreen StepsBlue StepsRGB Cube
39748777343
45355787392
51763788448
58163888512
65371898576
73480899648
81580999729
905899109810
10059991010900
1105991010101000
12151091011101100
13361201011111210
14571201111111331
15891311112111452
17331431112121584
18771431212121728
20331551213121872
22021681213132028
23711681313132197
25531811314132366
27491951314142548
29451951414142744
31552091415142940
33802241415153150
36052241515153375
38452391516153600
41012551516163840
43572551616164096

A final note for anyone curious about i1Profiler's handling of RGB values. If you save a target as a CGATS file, you will see that i1Profiler records fractional RGB values. Each value has two digits after the decimal point; i.e. they are 16-bit values. Save a target in the default pXf format, however, and everything is truncated to 8-bits. Values are not even rounded. Instead i1Profiler simply drops anything after the decimal - the floor() function - and saves the result. These values are what the generated profiling target uses. This means the RGB values may be up to 1 RGB point off the optimum. In the real world, we could not see any visible or measureable difference in the resulting profiles.

This behavior may have contributed to some of the wilder claims some years back about i1Profiler and 16-bit targets. At the time I tried verifying whether i1Profiler actually made use of 16-bit values. From all that I could see, i1Profiler performed truncation to the next lowest whole 8-bit value. I would have taken the 16-bit claims more seriously had not their greatest proponent been using a target that, although the color space was indeed 16-bit, the actual color values were located exactly on 8-bit values.

Mark D Segal

  • Contributor
  • Sr. Member
  • *
  • Offline Offline
  • Posts: 12512
    • http://www.markdsegal.com
Re: Optimizing i1Profiler RGB patch layout
« Reply #1 on: July 19, 2017, 08:02:00 pm »

Hi Ethan,

Congrats - this stuff is tedious, tiresome work, but the only way to drill down to "the truth", partly because X-Rite has been so deficient in providing documentation for the use of its software and there is a dearth of in-depth third-party literature on many of these kind of operational matters.

I would be interested in reading some detail, if you feel OK providing it, about the methodology for the quantitative accuracy testing.

As well, I would like to get a better appreciation of what happens as the two key dimensions you tested for changes, because there is a lower limit to the size of differences from one state to the next below which neither the numbers nor the appearance differences are apparent, or matter much. To add clarity to what I am getting at here, for example: (1) Is there a sea-change of profile accuracy or visual effect if you compare 815 patches with 1877 patches (matched RGB but large difference of patch count; (2) Is there a noticeable change of profile accuracy or visual effect if you compare 1877 patches with 2033 patches (small change in patch count, but accompanied by one more G than either R or B)? (3) Would there be much payoff progressing from 2371 patches into the 3~4000 ranges, (by which time one should have an iSiS rather than a hand-held spectro to read them)? From such testing work I was party to a number of years ago, there was a point in the patch count (I forget the exact number but it was definitely less than 2000) beyond which differences of outcomes (smoothness of gradients, apparent accuracy, etc.) were really hard to detect.
Logged
Mark D Segal (formerly MarkDS)
Author: "Scanning Workflows with SilverFast 8....."

GWGill

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 608
  • Author of ArgyllCMS & ArgyllPRO ColorMeter
    • ArgyllCMS
Re: Optimizing i1Profiler RGB patch layout
« Reply #2 on: July 19, 2017, 09:59:27 pm »

TL;DR: Check the table below for optimum patch counts.
Regular arrays are perhaps the least efficient means of exploring a devices behavior. Using test patch distributions that more efficiently fill the space can noticeably improve profile accuracy for a given patch budget.

See here for an example.
Logged

Ethan Hansen

  • Full Member
  • ***
  • Offline Offline
  • Posts: 148
    • Dry Creek Photo
Re: Optimizing i1Profiler RGB patch layout
« Reply #3 on: July 20, 2017, 01:12:56 am »

Congrats - this stuff is tedious, tiresome work, but the only way to drill down to "the truth", partly because X-Rite has been so deficient in providing documentation for the use of its software and there is a dearth of in-depth third-party literature on many of these kind of operational matters.
Mark - Thanks for the kind words. Our initial motivation back when i1Profiler was introduced was to see if it made better RGB profiles than our own software and, if so, were they sufficiently better to be worth exploring X-Rite's licensing restrictions. The answer to the first question was an emphatic no, so we did not need to worry about the second.

I would be interested in reading some detail, if you feel OK providing it, about the methodology for the quantitative accuracy testing.
For each i1Profiler patch layout, we assigned the resulting profile to a test chart image. Therefore we knew what colors the printer was supposed to print and we measured what actually came out on the page. We paid particular attention to neutrals (128 steps, 2 RGB units apart) and skin tones (based on ~100 readings we have made on customers at local watering holes - quite the way to meet people!). We also included a regular 7-step color grid (343 patches) but did not grade as strictly here. We then had average dE for all neutrals, split highlights, midtones, and shadows out separately, and skin tone average dE error.

As well, I would like to get a better appreciation of what happens as the two key dimensions you tested for changes, because there is a lower limit to the size of differences from one state to the next below which neither the numbers nor the appearance differences are apparent, or matter much. To add clarity to what I am getting at here, for example: (1) Is there a sea-change of profile accuracy or visual effect if you compare 815 patches with 1877 patches (matched RGB but large difference of patch count; (2) Is there a noticeable change of profile accuracy or visual effect if you compare 1877 patches with 2033 patches (small change in patch count, but accompanied by one more G than either R or B)? (3) Would there be much payoff progressing from 2371 patches into the 3~4000 ranges, (by which time one should have an iSiS rather than a hand-held spectro to read them)? From such testing work I was party to a number of years ago, there was a point in the patch count (I forget the exact number but it was definitely less than 2000) beyond which differences of outcomes (smoothness of gradients, apparent accuracy, etc.) were really hard to detect.
All excellent questions. A general answer is that i1Profiler definitely prefers 1105 patches at a minimum. Below that everything suffers, from absolute accuracy to tonal gradation smoothness to seeing density reversals in highly saturated colors. The specifics depend on how well behaved the printer and paper combination are. For example, well-tuned Fuji Frontier wet labs printing on glossy paper have a nicely linear response across the tonal range. It took looking at problem areas in images to visually see the effects of patch counts greater than 1877. By these I mean skin tones fading from light to deep shadow, smooth color gradations close to or exceeding the gamut boundary, or B&W print detail and neutrality in three-quarter tones and extreme highlights.

Ink jets were a more mixed bag and the paper type definitely plays a major role. Seeing differences between higher patch counts usually required cheating and looking at the measurement data to see where there were discontinuities between what should have been evenly spaced colors. That said, 2371 patches is a reasonable upper limit for most use. The exception was going from a target that had equal numbers of R, G, and B steps to one with an additional step in green. You mentioned 1877 patches (12x12x12 RGB cube) vs. 2033 patches (12x13x12) cube. Looking through my notes this this particular battle was won by the 1877 patch target in all but one of our quantitative tests and in >80% of the visual tests. As I mentioned in the original post, i1Profiler appears to favor equally spaced target color points.

Regular arrays are perhaps the least efficient means of exploring a devices behavior. Using test patch distributions that more efficiently fill the space can noticeably improve profile accuracy for a given patch budget.

See here for an example.

Graeme - Definitely true. The computationally easiest approaches are to either distribute patches in a regular array in the source color space (e.g. what MonacoProfiler required) or in the device color space. The latter requires an initial profile to work from, and is the basis of using i1Profiler's optimization function to improve neutral rendering as described in this post. If you look at i1Profiler's system requirements, "computationally easy" is obviously high on the list. A bottom end CPU from a over a decade ago.

Argyll's farthest point optimization algorithm fills the color cube with points that maximally avoid each other. This can significantly improve coverage for a given number of patches. We use similar techniques both in generating the profiling targets and in picking sampling points during the profile calculations. Note to Graeme: Not quite a year ago I came across this paper from a Swiss trio. Implemented correctly, their approach proved both fast and powerful.

GWGill

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 608
  • Author of ArgyllCMS & ArgyllPRO ColorMeter
    • ArgyllCMS
Re: Optimizing i1Profiler RGB patch layout
« Reply #4 on: July 21, 2017, 09:10:37 am »

Not quite a year ago I came across this paper from a Swiss trio. Implemented correctly, their approach proved both fast and powerful.
Hmm. Although having some similarities to what OFPS does, there seem to be important differences. OFPS is searching for an arrangement of N points in a continuous space rather than selecting N points from a discrete larger set; OFPS is interested in the distance of every point in space to the sample points rather than the distances between the sample points. But the really useful property of OFPS in its default configuration is not that it maximizes support/diversity, but that it takes account of local device response curvature, placing test points more densely where curvature is high and less densely where curvature is low :-)
Logged

terrywyse

  • Full Member
  • ***
  • Offline Offline
  • Posts: 107
    • WyseConsul (old consulting site)
Re: Optimizing i1Profiler RGB patch layout
« Reply #5 on: July 23, 2017, 08:48:55 am »

Just curious Ethan if there's been any similar work done with i1Profiler's CMYK charts? I use almost exclusively CMYK targets and would be very interested in knowing what patch counts use a regular array and maximum near neutral patches. The closest (3rd party) thing I've found is using Don Hutcheson's HC2052 target and his corresponding "Mother Set" that was the basis for the subset of patches in the 2052 target.

I'd do the legwork myself if I knew the methodology employed.

Terry
Logged
Terry Wyse
Color Management Specialist, Shutterfly Inc.
Dabbler in the photographic arts.

Ethan Hansen

  • Full Member
  • ***
  • Offline Offline
  • Posts: 148
    • Dry Creek Photo
Re: Optimizing i1Profiler RGB patch layout
« Reply #6 on: July 24, 2017, 12:26:00 pm »

Just curious Ethan if there's been any similar work done with i1Profiler's CMYK charts? I use almost exclusively CMYK targets and would be very interested in knowing what patch counts use a regular array and maximum near neutral patches. The closest (3rd party) thing I've found is using Don Hutcheson's HC2052 target and his corresponding "Mother Set" that was the basis for the subset of patches in the 2052 target.

I'd do the legwork myself if I knew the methodology employed.

Terry - Sorry, we haven't done the same level of work with i1Profiler and CMYK. The reason was we achieved superior results every time with Argyll, although Argyll usually required multiple iterations to nail the desired output.

Our methodology was simple: create a collage of several images containing both color and B&W portraits, a landscape with vibrant wildflowers, and a B&W beach scene. The B&W shots were intended to gauge print neutrality and smoothness of tonal transitions. We used two color portraits, one a high key shot, the other with dramatic shadows. Again the most useful areas to see profile performance differences were in the transitions between light and shadow or in gently fading highlights. We cut apart the color and B&W prints; judging them on the same page proved visually confusing.

On the quantitative side we printed a 128 count neutral step wedge, a batch of skin tone patches, and a 7x7x7 RGB grid. These were measured and the results compared to the theoretical values.

We then ranked the prints from visually best to worst. There were a few standout performers, particularly at the "worst" end of the scale. Other prints ended up in groups of 2-5 initially judged equivalently good or bad. At this point, we cheated somewhat. The groups all tended to be from similarly grouped patch counts. One of us then reviewed the measurement data from these profiles and noted the areas of highest differences. Given this guidance, the visual reviews focused on these areas. In some cases we could not see significant variations, in others they were apparent.

How tractable our approach is for CMYK I can't say. My experience with i1Profiler was that the separations settings, particularly the black curve and whether "intelligent black" was used or not strongly affected K-Gen linearity. The behavior appears to trigger based on the measurements, so I would expect that sample coverage in problem areas would affect results.

narikin

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 1371
Re: Optimizing i1Profiler RGB patch layout
« Reply #7 on: October 05, 2017, 08:38:38 pm »

Late to this whole thread, but thanks to Ethan for doing the amazing sleuth work!

Just to be clear, is there anything extra magical about 1877 over a larger patch sets that work to form a 'cube' - 2371, or 2945? They all fit on a single 'Super B3' sheet that goes through an iSiS XL in one pass, so I was headed to 2945, unless there is some special sauce that works in 1877 over and above larger patch sets!!

And just to run through things, (I'm just making profiles for myself, so its what I've picked up along the way, in using i1profiler...)

- Scan single pass ok if using OBA free papers, but Dual scan if with them. Save the data for re-processing (M0 vs M2 etc)
- Source: Choose D50 or D65 for gallery use (I prefer D50 usually) and other lightsources worth exploring?
- Intent Standard vs Colorful vs Saturation makes no difference, basically.
- Someone recommended Zero-ing 'Neutralise Grey' slider - is that right?
- Run an optimization if you really want, but very small difference.

Thanks all!





Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Optimizing i1Profiler RGB patch layout
« Reply #8 on: October 06, 2017, 01:40:38 am »

Late to this whole thread, but thanks to Ethan for doing the amazing sleuth work!

Just to be clear, is there anything extra magical about 1877 over a larger patch sets that work to form a 'cube' - 2371, or 2945? They all fit on a single 'Super B3' sheet that goes through an iSiS XL in one pass, so I was headed to 2945, unless there is some special sauce that works in 1877 over and above larger patch sets!!

And just to run through things, (I'm just making profiles for myself, so its what I've picked up along the way, in using i1profiler...)

- Scan single pass ok if using OBA free papers, but Dual scan if with them. Save the data for re-processing (M0 vs M2 etc)
- Source: Choose D50 or D65 for gallery use (I prefer D50 usually) and other lightsources worth exploring?
- Intent Standard vs Colorful vs Saturation makes no difference, basically.
- Someone recommended Zero-ing 'Neutralise Grey' slider - is that right?
- Run an optimization if you really want, but very small difference.

Thanks all!

Test them and see. I used 1920 patches, which provide a high number of near neutrals for my 9800. The 9800 has some bends in the mapping of RGB to neutrals and that number of patches gives good results  in near neutrals. Further, my ave dE2k of my in gamut LAB set of colors is under .5.

The "neutralize grays" only effects Perceptual. IIRC, my tests indicates it maps the paper white point to neutral from L=100 to L=50 then stays neutral from L50 on down.
Logged

Ethan Hansen

  • Full Member
  • ***
  • Offline Offline
  • Posts: 148
    • Dry Creek Photo
Re: Optimizing i1Profiler RGB patch layout
« Reply #9 on: October 12, 2017, 02:32:05 pm »

Late to this whole thread, but thanks to Ethan for doing the amazing sleuth work!

Just to be clear, is there anything extra magical about 1877 over a larger patch sets that work to form a 'cube' - 2371, or 2945? They all fit on a single 'Super B3' sheet that goes through an iSiS XL in one pass, so I was headed to 2945, unless there is some special sauce that works in 1877 over and above larger patch sets!!

The discussion about an 1877 patch target arose from Mark's question as to where the point of diminishing returns arose. My answer was that it depends on the printer and paper being measured. If the output smoothly varies across the full tonal and hue range then there is little or no visual improvement to going above 1457 or perhaps even 1105 patches. Epson inkjets are among the worst at linear output, particularly with matte finish, low-contrast papers. In this case more patches is more better.

Mangled English aside the the practical upper limit on i1Profiler is 3605 patches. We couldn't detect measurable differences (i.e. outside instrument tolerances) in output accuracy from targets with more patches. Only a few of the printer/media combinations we looked at were sufficiently ill-behaved to benefit from more than 2371 patches.

Playing with the i1Profiler's target generator and patch sizes I expect you will obtain more accurate and repeatable results from a target made with 2371 7mm patch size than the 6.4x6.3mm maximum size that fits on a B3 sheet. I hesitate to measure anything on an iSis with patch size less than 6.5mm.


And just to run through things, (I'm just making profiles for myself, so its what I've picked up along the way, in using i1profiler...)

- Scan single pass ok if using OBA free papers, but Dual scan if with them. Save the data for re-processing (M0 vs M2 etc)
- Source: Choose D50 or D65 for gallery use (I prefer D50 usually) and other lightsources worth exploring?
- Intent Standard vs Colorful vs Saturation makes no difference, basically.
- Someone recommended Zero-ing 'Neutralise Grey' slider - is that right?
- Run an optimization if you really want, but very small difference.

Thanks all!

  • Scans: I would start with dual scans until you decide they are not necessary. Having the full measurement data set available (no need to save outside the profile - everything is in the profile itself) allows you to test which M-mode gives the best screen to print match. OBA handling is a PITA in i1Profiler. The OBA compensation module works but requires a prolonged profiling session.
  • D50 unless you are targeting a very specific lighting source. If you are, it's worth measuring the actual lighting spectrum where the prints will be displayed. We've done this for various profiling clients such as artwork displayed in custom business jets, etc.
  • The contrast and saturation sliders in the Perceptual settings group have minimal effect. If you feel like burning paper you can adjust away and make test prints although it's easier to simply tweak your image in Photoshop, Lightroom, et. al.
  • Neutralize gray: As Doug mentions this affects midtone through highlight neutrals. The magnitude of the effects are minimal. The only reason I can think of to place the slider at 0 is if you are profiling a strongly tinted paper and you want the highlights to be closer to neutral. Doing so, however, creates an abrupt and visually ugly transition between paper white and extreme highlights. It works for images where you are out for a very specific look but not for general purpose profiles. Leave the slider at 50.
  • Optimization: Useless or worse except for neutrals. Seemingly a good idea just not well implemented.

narikin

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 1371
Re: Optimizing i1Profiler RGB patch layout
« Reply #10 on: October 13, 2017, 09:13:54 pm »

Thanks Ethan,

Very helpful to have it all laid out there, as a TLDR set of basics.

Ok, so I'll work with 2371 patches on B3 with 7mm width and 6.5mm height, as that's all I can get to fit on a single sheet. (7x7mm runs across to 2 sheets)

I guess you are right about doing dual measurements always, but it does seem a bit pointless for proven OBA free paper, or am I missing something?

Did you ever try the TC 2052 Gray optimization chart that was available from 'Marc' on X-rites blog a few years ago (link long gone, but I have it downloaded). Andrew Rodney commented on there that it did indeed improve his profiles, so it seems to be worth that running optimization routine.

Thanks again for all your work on this.

Logged

cunningIMG

  • Newbie
  • *
  • Offline Offline
  • Posts: 6
    • Loupe
Re: Optimizing i1Profiler RGB patch layout
« Reply #11 on: February 22, 2021, 11:03:19 pm »

This has been one of the most helpful articles I have found on the forum. So much appreciated to all, Ethan especially for the tedious work.

I have been utilizing the 2945 patch count as my go-to for my "high quality" profiles but have noticed that all RGB profiles made with i1Profiler/i1Pro2 on my Epson P20000 and P10000 have a red and or magenta cast. I used the patch counts with the even RGB numbers hoping I would get a more neutral prints, but still no luck. I currently adjust for this in PS on an image by image basis, but would prefer to compensate for this in the profile making process if possible. 

Re-reading this article I am thinking that by using a patch count that has one less Red point, the results might in turn present less red?
Ex. using the patch count; 2749   nn195 r13 g14 b14

I will be testing the above 2749 patch count in the coming week and can re-post, but would appreciate any additional thoughts on this.

Thank you!
Logged
Chris Cunningham
http://loupeprint.com

arobinson7547

  • Full Member
  • ***
  • Offline Offline
  • Posts: 187
Re: Optimizing i1Profiler RGB patch layout
« Reply #12 on: February 28, 2021, 08:51:54 am »

Take one of those prints outside and look at it in daylight
Is the magenta/red cast still there?
Logged
Pages: [1]   Go Up