One major gripe I have about all this is the tools extant for evaluating profile accuracy are essentially non-existent. The standard approach is to compare the profile target's spectro measured Lab values with those calculated from the generated profile. Since the profile was generated from those same patches the results are self referential and they do not correlate very well as a result. Worse, one can have overfitting which will show a lower dE error on the target patches but a much higher error on another set. Getting a useful metric on profile accuracy requires printing a set of colors that are independent of the colors used when creating the profile. I use custom Matlab functions to do this and evaluate the results. While it solve my needs, there is a real need for commercial tools that do this in a consistent way that could be applied by many to a variety of printers.
Forgive the copy and paste but this is how Bruce Fraser taught me to do this although I find printing images (Roman 16's certainly) provide more 'useful' data for me personally:
Bruce's profile tests:
But here's a way to test the differing tables (it's kind of complicated). We'll use a target we call 216pixel_RGBs.tif as an example, use the iStar or whatever patch set you wish.
So there are a number of ways to tackle this depending on what you're looking to judge.
One simple way is to simply compare the reference values that created the target to the measured values of the target run through the printer. But that only provides an overall accuracy report, not specifics. But the idea is, you've got an RGB value that's a reference and an RGB value from the measurement of the target itself. Conduct a dE report in ColorThink.
But here's a way to test the differing tables (it's kind of complicated). We'll use a target we call 216pixel_RGBs.tif as an example, use the iStar or whatever patch set you wish where 1 pixel is one color patch:
1. Open the “216pixel_RGBs.tif file in Photoshop. This file needs to be kept exactly as it is (individual pixels). Duplicate the file. Size the image using Nearest Neighbor to an appropriate print size. Call this “Reference Print File”. You'll print this out and measure.
2. Print this file out to the profiled printer. (You're sending the RGBs in the file to the printer.)
3. Let the print stabilize, and then measure it and save the data as “Reference Labs.txt”. The 216 RGB.TXT file (a reference file that built this target) needs to be installed for MeasureTool or PatchTool or whatever software you'll use to access access the data. This data measured is the bottom line -- what happens when you send these RGBs to this device.
4. Now you need to create predicted Lab files from the RGB. You need two versions -- one in pixels to compare in ColorThink, one upsampled to print -- for each profile.
5. Take the RGB pixel file and Assign the printer profile. Convert Abscol to Lab. Save the results with the profiling package somehow identified in the filename (eg “i1P 288 Luster/Predicted”).
I suggest saving the pixels versions as ProfilePackageName Predicted Labs.
6. Take the upsampled RGB file. Assign the printer profile. Convert Abscol to Lab. Convert from LAB to printer profile being tested using absocl and print.
7.Let the print stabilize and measure the results. Save the measurements as ProfilePackageName Roundtrip Labs (“i1p 288 Luster Round Trip”).
You now have three things to compare for each package:
A. The Reference File (“Reference Labs.txt”). The Predicted Labs (“i1P 288 Luster”). The Roundtrip Labs (“i1P 288 Luster Round Trip”).
B. Reference-to-Predicted (“Reference Labs.txt”/“i1P 288 Luster”) shows you the accuracy of the AtoB Colorimetric table.
C. Predicted-to-Roundtrip (“i1P 288 Luster”/“i1P 288 Luster Round Trip”) shows you the accuracy of the BtoA Colorimetric table.
Reference-to-Roundtrip (“Reference Labs.txt”/“i1P 288 Luster Round Trip”) gives you a decent measure of the overall profile accuracy.
You'll typically see that the AtoB and BtoA errors tend to cancel each other somewhat because they go in opposite Directions-Reference-to-Roundtrip shows that nicely.