The whole thing is confusing, to be honest! I’m just going to write down my explanation of what I think happens in the commands I have below with the hope that someone will verify that this is correct, or correct it if I have it wrong. A. Producing and scanning target. A.1 targen makes the .ti1 file that has the RGB values A.2 printtarg uses the RGB values in the .ti1 file to produce a tiff file with no profile attached. It also produces a .ti2 file that has the spot color location information. A.3 cctiff assigns a profile to the tiff file. To do this it looks up the AToB1 table to get the Lab values then looks up the BtoA1 table to get the RGB values. The effect is that the Lab values of in-gamut colors will not be changed while the Lab values of out-of-gamut colors will be brought to the nearest in-gamut colors (using the mapping intent specified). A.3 The tiff file is printed with no color management (it already has the print profile embedded) A.4 The target is scanned, producing the D50 Lab values in a .ti3 file (the iPFTest.ti3 file in my command) B. Producing the simulated scanned target data B.1 targen makes the .ti1 file that has the RGB values B.2 fakeread takes the .ti1 RGB values and converts the values to Lab. To do this it looks up the AtoB1 relative colorimetric table to get the Lab values corresponding to the RGB values (it could also use the AtoB3 absolute table which is the default, but in my command I specify relative). This results in a .ti3 file (the iPFRef.ti3 file in my command) C. Comparing the test.ti3 to the reference.ti3 C.1 colverify normalises the Lab values in the .ti3 files produced in A and B above to XYZ white. I assume it does this by knowing that sample #1 in both files is white. C.2 colverify then does a straightforward comparison of the Lab values in the two files. So, is this right, or is it wrong? If it's right, then, going back to my original question, the missing thing in spotread would seem to be the normalisation to XYZ white ... which would account for the dE error. Robert ________________________________________ From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx] On Behalf Of Brad Funkhouser Sent: 02 November 2014 20:55 To: argyllcms@xxxxxxxxxxxxx Subject: [argyllcms] Re: Question regarding White Point and spotread Robert, I think I see why I was confused. I'm bringing art from a camera into BetaRGB as absolute colors in standard D50. If all of the artwork's colors are in-gamut for a printer space, then I can simply convert to that space using Absolute Colorimetric and I'll get a match to the original art when viewed under D50 light. There's no shifting of colors due to the difference between BetaRGB white and paper white in this absolute in-gamut case. The D50 colors are converted into printer space as accurately as they can be. So my mind naturally thinks of Lab values as D50. I have Photoshop conversion set to Absolute in color settings so the info palette Lab values I see are D50, and my i1pro measurements of printer patches and camera target patches are always D50 Lab. When some of an artwork's D50 colors are outside the gamut of a printer space, I have a variety of ways to bring them inside the space depending on what colors are outside and to what extent. So I think I see why I was confused about your wanting to compensate spotread Lab values for paper white. We're looking at how to use Lab from different perspectives. I'm always thinking in terms of absolute colors and D50 Lab is my standard. I know what all my paper whites and blacks are in terms of D50 Lab, but I don't ever change Lab in my mind to be those different printer spaces. Doing that would be confusing to me. - Brad From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx] On Behalf Of robert@xxxxxxxxxxxxxxxxxx Sent: Sunday, November 02, 2014 12:33 PM To: argyllcms@xxxxxxxxxxxxx Subject: [argyllcms] Re: Question regarding White Point and spotread Hi, yes, if I use Absolute rather than Relative the Lab value changes (but stays the same in Relative … providing, of course, that the color is in-gamut). The reason for this, I think, is that since the white point is not shifted in Absolute, all the colors will get shifted, even those that are in-gamut. For example, if I take a color with Lab value of 50, -8, 48 and convert it with AbsCol the values change to 51, -8, 51 so the print will be more yellow. As the spotread on the paper white gave 97.74, 0.2, -0.59 this makes sense (L is increased, a is presumably decreased but we’re not seeing it because the figure is rounded, and b is increased). Actually, I think the way that AbsCol is described (that is that the white point is not shifted) is very confusing to common mortals like me. What really happens is that the destination white is matched to the source white. If the conversion is from working space to print, all colors will be shifted towards yellow if the working space white is yellower than the print white, as in this case. I have to say it surprises me a bit to find this out for the Canson Baryta because I would have said that it is a yellowish paper. But it does have some OBAs, and perhaps that’s throwing out the readings as I didn’t profile with OBA compensation. >> but when that setting is changed to "Absolute Colorimetric", the reported >> Lab value in the info box changes to 87 -12 78. If I printed that color >> and measured with spotread, I would expect to get a close match to the >> Absolute Colorimetric value. I think if you print the AbsCol values and compare the spotread to the RelCol value … well, you will to some extent be compensating for the paper white, but you’re likely to screw up the colors, so I can’t see it working. I still think that it is probably necessary to compensate the spotread value for the paper white. After all, the profile does compensate for the paper white … but spotread has no way of doing this, so it’s reading is almost bound to be wrong (unless the working space white happened to be identical to the paper white, which is very unlikely). With colverify you can normalise the file whites to XYZ, so presumably if you print a test target, use fakeread and then compare the fakeread values to the chartread values the whites will ‘align’ and the comparisons should be valid. This is the colverify test that (I understand was suggested by Graham): 1. targen -v -d2 -G -f100 iPFTest 2. copy iPFTest.ti1 iPFRef.ti1 3. printtarg -v -r -ii1 -a1.0 -T300 -M6 -pA4 iPFTest 4. cctiff -v -ir -e iPF6400_Canson_Baryta iPFTest.tif iPFTestO.tif 5. move /Y iPFTestO.tif iPFTest.tif Pause Print iPFTest.tif using no color management. 6. chartread iPFTest 7. fakeread -v -Ir iPF6400_Canson_Baryta iPFRef Pause The test results will be in iPFValidate.txt 8. colverify -v2 -N -k -s -w -x -L iPF6400_Canson_Baryta iPFRef.ti3 iPFTest.ti3 >iPFValidate.txt Line 1: First of all we create a target with RGB values … which is fine, providing these are printed as is, with no color management. Line 3: The target is created. Still fine. Line 4: We now convert the target through the profile using RelCol. Line 6: We read the printed target using Chartread (this is equivalent to using spotread, so there is no white point compensation at this stage) Line 7: We get the Lab values of the target passed through the profile. This is equivalent to using xicclu, I think. Line 8: colverify only gives a valid comparison between the simulated target and the scanned target because of the –N flag, which normalises the whites. If what I’m saying here is correct (which would be quite a fluke ☺), then we need to do the equivalent of the –N to the spotread data AND to the rendered image data before comparing them. A few days ago I suggested an ArgyllWiki to Graham (which I hope he will pick up on), precisely for questions like these, which are not answered in the Argyll documentation and which really need a color expert to give an answer / solution to. At this point I don’t even know if the command lines I have above are correct or not. Robert ________________________________________ From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx] On Behalf Of Brad Funkhouser Sent: 02 November 2014 15:15 To: argyllcms@xxxxxxxxxxxxx Subject: [argyllcms] Re: Question regarding White Point and spotread With a conversion into printer space using relative colorimetric with BPC, I wouldn't expect the Lab value to be the same after the conversion (unless the paper white exactly matched D50 L100 0 0 and the paper/ink black exactly matched D50 L0 0 0). At one point I was really confused by the following... Photoshop's info box data on the Lab value of a color changes depending on how "Color Settings/Conversion Options" is set. I filled an image with 90 -14 87 Lab value (in mode Lab color) then converted to a printer space using relative colorimetric with BPC. When the "Color Settings/Conversion Options" is set to "Relative Colorimetric with BPC" the Lab value reported in the info box is still 90 -14 87, but when that setting is changed to "Absolute Colorimetric", the reported Lab value in the info box changes to 87 -12 78. If I printed that color and measured with spotread, I would expect to get a close match to the Absolute Colorimetric value. Once converted to printer space, does your reported Lab value change with these two different Conversion Option settings? I'm still back on CS2, so yours might be different. Thanks. - Brad From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx] On Behalf Of robert@xxxxxxxxxxxxxxxxxx Sent: Sunday, November 02, 2014 7:41 AM To: argyllcms@xxxxxxxxxxxxx Subject: [argyllcms] Re: Question regarding White Point and spotread I’ve repeated the spotread using the scanning rig and the results are pretty much the same. If I do repeated tests after setting a reference, the dE94 starts off at around .005 and creeps up to around .02 over 15 or so readings. Moving the instrument changes the reading up to .25 max (over a 3cm square. Changing to the reflective read adaptor (without recalibrating) doesn’t seem to change things much (still around 0.3 max). Going back to my original question: could the error I’m seeing have to do with the white point? If I measure the paper white using spotread I get a value of 97.74, 0.2, -0.59, whereas xicclu gives 100.000000, -0.000062, 0.000060 for RGB of 1,1,1 (or a dELab of about 2.3). Robert ________________________________________ From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx] On Behalf Of Brad Funkhouser Sent: 02 November 2014 12:54 To: argyllcms@xxxxxxxxxxxxx Subject: [argyllcms] Re: Question regarding White Point and spotread Have you spotread the patch 10 to 15 times in succession, to see your measurement variability as the lamp heats up? Also move the read point around on the patch to mitigate small differences in direct reflections caused by texture? And even a tiny difference in instrument height above the patch will change luminosity reading. Is your spotread setup truly identical to strip reading of original target? Are you pressing down more, or less for different readings, etc. When I experimented with all these factors with i1pro, I was (wrongly) expecting near perfection, and was surprised by the degree of variability. - Brad On Nov 2, 2014, at 3:59 AM, <robert@xxxxxxxxxxxxxxxxxx> wrote: Hi Brad, Between print and profiling I left the print overnight (minimum 16 hours). After the spot test I left a couple of hours. I’ve just redone the measurement (so about 16 hours again) and the values are now: 88.01, -13.56, 87.23 (so a bit worse). BTW … this may (or may not) be relevant: the profile was made using i1Profiler (with 2584 patches) and not Argyll. Robert ________________________________________ From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx] On Behalf Of Brad Funkhouser Sent: 02 November 2014 00:59 To: argyllcms@xxxxxxxxxxxxx Subject: [argyllcms] Re: Question regarding White Point and spotread Curious... how long did the inks dry between print and measurement of the profiling target? And between print and measurement of the spot color test? Thanks. - Brad On Nov 1, 2014, at 4:31 PM, <robert@xxxxxxxxxxxxxxxxxx> wrote: I wonder if you would be kind enough to clarify something for me? I’m trying to do a spot color test from a document through to print, and this is what I’m doing (using Photoshop and Argyll): 1. The spot color has a Lab value of 90, -14, 87 in Photoshop. 2. I convert the document to the print destination space (relative colorimetric with BPC). 3. After conversion, the spot color is RGB 240, 247, 52 (or 0.941176, 0.968627, 0.203922). The Lab value from Photoshop is still 90, -14, 87, as expected. 4. xicclu (rel. col.), with the RGB colors above through the profile (forwards), gives Lab 90.33650, -14.520704, 87.115660. I assume that Photoshop is effectively doing the same as xicclu but is rounding the values. 5. I also tried fakeread (rel.col) which gives me exactly the same Lab values as xicclu. 6. I print the image with no color management. 7. spotread gives me Lab values of 88.987, -13.637, 87.268. This is a dE-Lab of about 1.6 compared to the xicclu reading. The dE-Lab error seems too high as I have only just calibrated the printer (iPF6400) and profiled the paper (Canson Baryta, so good paper). colverify has an option to normalise each file’s readings to white XYZ, but xicclu, fakeread and spotread have no such adjustment. I would have thought that the paper white would need to be taken into account in comparing the spotread value to the image Lab value. Should the paper white be measured and the spotread value normalised? If so, how should this be done? I appreciate your help. Robert