Pages: [1]   Go Down

Author Topic: Use 8 bit RGB values for I1Profiler patch sets  (Read 1420 times)

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Use 8 bit RGB values for I1Profiler patch sets
« on: December 14, 2018, 05:14:41 pm »

This contains two CGATs measurement files and two profiles generated by I1Profiler:

The files are identical except that a value of .01 is randomly subtracted or added to the RGB values. For instance an R might change from 201.00 to 201.01.

If I1Profiler's math was OK, the profile generated should be nearly identical but they are not.

Specifically, an RGB (99, 198, 91) in device space should print, when measured, a Lab value of L*=40,a*=-47,b*=13 according to the def957_round.icm profile but L*=39,a*=-34,b*=4 according to the def957_tinyR.icm.

def957_round.txt   This is the default iSiS measured default patch set.
def957_round.icm

def957_tinyR.txt   This is the RGB modified set as above with tiny RGB changes of .01
def957_tinyR.icm

One should be able to load the measurement files in I1Profiler's measurement tab and create the same profile from them. I used the defaults except for selecting "Higest Quality" and V2 profiles.


I printed the RGB (99, 198, 91) in device space and measured it. With an I1Pro2 (Profile measurement CGATs were from an iSiS so there is some instrument differences) , it measured L*=39,a*=-45,b*=11.

Conclusion: The algorithms for creating profiles with I1Profiler can produce significant error with fractional ARGB values.

I'd be interested if someone can replicate this on a different machine. I used I1Profiler 1.8 on Windows 10 x64.

Attached: Profiles and CGATs files for replication.

Replication: Create the two profiles with the CGATs files using I1Profiler as described above, Make an RGB patch in Photoshop RGB(99, 198, 91). Select Abs. Col in Photoshop's Color Settings. Assign each of the two profiles and measure the two Lab value with the eyedropper.

Logged

Ethan Hansen

  • Full Member
  • ***
  • Offline Offline
  • Posts: 148
    • Dry Creek Photo
Re: Use 8 bit RGB values for I1Profiler patch sets
« Reply #1 on: December 14, 2018, 10:01:48 pm »

Same generated profiles here from your files on two computers. One with i1P 1.82, the other 1.81. The output also differs. I checked computed values for a 9x9x9 color cube (729 samples) and printed three of the highest mismatched samples that were safely within gamut for the printer at hand. Absolute values obviously were incorrect; I'm using an entirely different print technology than you. The output did differ, as measured on a Spectroscan.

This mirrors what I saw earlier when using the same measurement data first with 8 bit reference values and then with 16 bit reference data that had a mean 0.085 added to each RGB point. This exercise should have produced well under 1 dE average variation and less than 3 max, not the 8+ dE that i1Profiler made.

Note for any photographers out there considering a remote printer profiling service. Those that offer i1Profiler with 16 bit targets are not what you want to have anything to do with.

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Use 8 bit RGB values for I1Profiler patch sets
« Reply #2 on: December 14, 2018, 11:54:58 pm »

Thanks for checking Ethan. It's so illogical that I thought there might be some weird thing perhaps happening with my video GPUs or some anomaly in my computer.

Additional advice for anyone using I1Profiler's patch generator (where you enter the number of patches desired). After creating a patch set, save the patch set then reload it. This removes the fractional parts and will make proper tiff files as well as generate more consistent profiles.
Logged

digitaldog

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 20630
  • Andrew Rodney
    • http://www.digitaldog.net/
Re: Use 8 bit RGB values for I1Profiler patch sets
« Reply #3 on: December 15, 2018, 10:45:26 am »

Those that offer i1Profiler with 16 bit targets are not what you want to have anything to do with.
I suppose we should be happy the application doesn't produce such targets.  :D
Logged
http://www.digitaldog.net/
Author "Color Management for Photographers".

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Use 8 bit RGB values for I1Profiler patch sets
« Reply #4 on: December 15, 2018, 11:52:02 am »

I suppose we should be happy the application doesn't produce such targets.  :D

Yep, and the default, pre-installed targets, are 8 bits. And these printed targets are 8 bits.

But, if you use the patch generator, this fails.  :(

Check this out.

1. Open I1Profiler and select printer profile.
2. Using Patch Set, select 400 patches.
3. Click on the second horizontal patch along the black to red gradient. It reads R=42.5
4. Select Test Chart and save the tiff file as test1.tif.
5. Go back to Patch Set and save it using the default (.pxf).

Note that saving the patch set as a CGATs file and reloading the CGATs file does not alter the fractional RGB values. Saving using the default format gets rid of the fractional RGB values. Sadly, it gets rid of them differently than printing the fractional values which also gets rid of them.

6. Now read the saved patch set and click on the same patch. It now reads R=42
7. Now select test chart and save the tif file again but as test2.tif.
8. Load test1.tif and test2.tif in Photoshop and read the same patch (they now run along the vertical)

They aren't the same. The one in test1 is R=43, while the one in test2 is R=42. When a patch set is saved it truncates fractional RGB values, but when it's printed or saved as a tiff, it's rounded.   :(

But what RGB set is used in making a profile? Turns out if you just create the fractional patch set without saving and reloading, the profile engine uses the fractional values. It neither rounds nor truncates.  :(

Fortunately, all the preinstalled targets and patch sets are not fractional so no problem with those. But generating patches, including generating patches on a second pass "improved" profile does. Which is why my advice is to always, always, save and reload patch sets any time the patch generator is used.

Just sloppy, sloppy X-Rite work but because the effects are only rarely noticeable, it just doesn't get fixed.
Logged

dchew

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 1020
    • Dave Chew Photography
Re: Use 8 bit RGB values for I1Profiler patch sets
« Reply #5 on: December 15, 2018, 06:08:41 pm »


5. Go back to Patch Set and save it using the default (.pxf).

Doug,
I'm pretty green at this, but you lose me at this step. I have i1Profiler - Publish v 1.8.2. I can save the tif file while on "Test Chart" (step 4). But backing up to "Patch Set" my Save button is ghosted. If I click forward again to Test Chart, there is no option to save as a .pxf. Is this a Mac thing, or am I lost in the weeds?

Dave
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Use 8 bit RGB values for I1Profiler patch sets
« Reply #6 on: December 15, 2018, 06:29:14 pm »

Doug,
I'm pretty green at this, but you lose me at this step. I have i1Profiler - Publish v 1.8.2. I can save the tif file while on "Test Chart" (step 4). But backing up to "Patch Set" my Save button is ghosted. If I click forward again to Test Chart, there is no option to save as a .pxf. Is this a Mac thing, or am I lost in the weeds?

Dave

No idea. Backing up to Patch Set doesn't gray anything here. I can load or save .pxf (patch set) files from there. You can only save test chart files when on the "Test Chart" button. I'm using Win 10 x64 and I1Profiler Publish 1.8.0

If worst comes to worst, Just start over, set the patch count to 400 and save it. Then load it back and go on to the Test Chart.
Logged

Ethan Hansen

  • Full Member
  • ***
  • Offline Offline
  • Posts: 148
    • Dry Creek Photo
Re: Use 8 bit RGB values for I1Profiler patch sets
« Reply #7 on: December 17, 2018, 12:48:48 pm »

But what RGB set is used in making a profile? Turns out if you just create the fractional patch set without saving and reloading, the profile engine uses the fractional values. It neither rounds nor truncates.  :(

Fortunately, all the preinstalled targets and patch sets are not fractional so no problem with those. But generating patches, including generating patches on a second pass "improved" profile does. Which is why my advice is to always, always, save and reload patch sets any time the patch generator is used.

Just sloppy, sloppy X-Rite work but because the effects are only rarely noticeable, it just doesn't get fixed.

Doug - You hit on a critical point for anyone using i1Profiler to optimize existing profiles; e.g. by adding grayscale patches. Given that i1P gets wonky when fractional data are included in the reference set, avoiding this is important.
Pages: [1]   Go Up