Luminous Landscape Forum

Raw & Post Processing, Printing => Colour Management => Topic started by: Doug Gray on June 21, 2019, 08:33:28 pm

Title: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on June 21, 2019, 08:33:28 pm
One of the cool things about the work I've done on my own printers is a good design to quantify just how much better profiles get as patch counts increase. This is done by aggregating the RGB patches for all the different profiles being tested, removing the duplicates, then randomizing them so they are spread over all the printer target pages.

The printed targets are then scanned and a program takes the spectral data, descrambles it, and pulls out each of the individual patch sets from which I1Profiler (or Argyll) constructs all the profiles. The profiles can then be individually compared with the largest patch count profile in the set, or even a profile constructed from the total aggregate of patches. Since the profiles are scrambled and randomly distributed across all the printer pages, things like warmup affect all the profiles equally, in a statistical sense. I gather statistics by roundtripping a million or so, in gamut colors and compare the dE00 stats for each of the created profiles. All pretty automatic.

So one can compare profiles without the variation that occurs printing a profile set, making a profile, printing another set and making another profile. When done this way, the changes in virtually anything like temperature, humidity, or even subtle paper differences can easily counter small differences in large patch count profiles and produce confusing and potentially misleading info.


So what's with the crowdsourcing?
I've been kicking around the idea of possibly collecting information on printers and how many patches are needed for a decent profile. This technique only requires printing a set of target pages but will identify exactly how much improvement occurs as patch count increases including various, additional near neutral counts. Thus, if folks are interested in contributing their printed target pages (I will supply the Tiff images of US letter size targets, readable on my i1iSis). All you guys need to do is print them out, dry them for a few days, and mail me them. In return you will get statistics and a collection of (Argyll) profiles since I'm not licensed for making other people's profiles with I1Profiler. Since I get consistent relative differences with Argyll and I1Profiler, this should provide a great deal of info on exactly what one can expect using different patches and especially just where increasing patch count provides little improvement. Should help a lot for people that are using I1Pro's or even CMs for scanning.

I'm initially thinking of image sets of increasing page counts of from 3 to 10 or more with each page having 957 printed patches. The larger set sizes are needed to provide data for really large patch counts but this really isn't needed except perhaps for high end printers and possibly not even then. As an example, my 9800 needs about 2k patches to have the same quality profile as the Pro1000 even though the Pro1000 has a larger gamut.

However, I'm not in the business of making profiles and don't intend to be. This is pure just something I would find fun to do and the information could be more broadly useful. Might also influence what printer I next buy if and when. So I need to collect data on different printers/paper. If the printer/paper is new, I will send you my mailing address and a link to the images which can be printed using ACPU or similar utility that can print w/o color management. Then dried and mailed. I'll do the rest.

What do you folks think?
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: samueljohnchia on June 22, 2019, 08:03:39 am
Hi Doug, fantastic idea and thank you for offering your immense expertise and time to do this. I happen to have an iSis XL (Rev E) and I wonder if it would save you some trouble if I make the measurements myself and email you the data? I am happy to make as many prints as needed to collect all the data needed. I generally prefer to use larger patch sizes than you typically use to minimise measurement errors, even though it takes a bit more ink and paper. My printer is a Canon iPF8400. Original inks of course. I can run both a very high quality matte and glossy paper.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: samueljohnchia on June 22, 2019, 08:09:56 am
I have noticed in my earlier, less elaborate testing, that my iPF8400 does not benefit much from larger patch counts with the neutrals improving marginally and that's it. I am interested to discover if it has "warm up" issues like your Pro 1000 does and if printing certain adjacent colours has a kind if memory effect or influential effect on each other that might be attributed to the thermal head design. Uniformity across the sheet. That kind of thing. Great that the iSis is so repeatable and precise that it can be trusted to pick up subtle issues like this.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Daverich on June 23, 2019, 08:35:36 am
I would be happy to participate. I have an Epson P5000.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on June 23, 2019, 11:20:31 am
Hi guys,

I expect to post US letter size, 8.5" x 11" tiff targets in the next week. There will be separate sets of charts for those using Adobe's ACPU with Windows to recover most of the 3% "shrinkage" ACPU with Windows produces.

This is a bit tricky since my I1iSis charts are symmetrical with registration bars at the bottom as well as the top. This allows the chart to be read in reverse which is handy for detecting certain errors. It also provides slightly better color reading accuracy. It's important that the prints will have no less than 27mm of margin from paper edge to the registration bars on the top and bottom.

I will post a tweaked test chart, including one for Windows ACPU, so you won't waste paper if, for some reason the charts won't print with enough margin for the top and bottom registration bars.

While not the principal purpose, these charts also include a small set (25) of multiple, repeated patches. These are also randomized, to quantify paper/printer color consistency.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Mick Sang on June 24, 2019, 10:53:55 pm
Quote
Thus, if folks are interested in contributing their printed target pages (I will supply the Tiff images of US letter size targets, readable on my i1iSis). All you guys need to do is print them out, dry them for a few days, and mail me them.

Quote
I expect to post US letter size, 8.5" x 11" tiff targets in the next week.

Great Idea. I'm in. I look forward to seeing the targets.

Mick
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Alan Goldhammer on June 25, 2019, 09:14:18 pm
Hi guys,

I expect to post US letter size, 8.5" x 11" tiff targets in the next week. There will be separate sets of charts for those using Adobe's ACPU with Windows to recover most of the 3% "shrinkage" ACPU with Windows produces.

This is a bit tricky since my I1iSis charts are symmetrical with registration bars at the bottom as well as the top. This allows the chart to be read in reverse which is handy for detecting certain errors. It also provides slightly better color reading accuracy. It's important that the prints will have no less than 27mm of margin from paper edge to the registration bars on the top and bottom.

I will post a tweaked test chart, including one for Windows ACPU, so you won't waste paper if, for some reason the charts won't print with enough margin for the top and bottom registration bars.

While not the principal purpose, these charts also include a small set (25) of multiple, repeated patches. These are also randomized, to quantify paper/printer color consistency.
I am in Banff on vacation ship it's  a bit difficult to respond on my android tablet.   Dry Creek Photo developed a windows app for printing out targets that does NOT reduce the size of the patches the way ACPU does.   I have been using t this successfully.   You might check with Ethan Hansen or look for it on their website.

I'm also happy to participate with my Canon Pro-1000 and would be interested to compare results with my Argyll workflow,

Alan
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: digitaldog on June 25, 2019, 09:19:37 pm
Scaling with ACPU on Windows isn't a problem measuring with an iSis XL if the targets are made ideally (to avoid the bug). And of course the end user properly sets up his/her printer driver for paper/size.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on June 25, 2019, 11:27:17 pm
Scaling with ACPU on Windows isn't a problem measuring with an iSis XL if the targets are made ideally (to avoid the bug). And of course the end user properly sets up his/her printer driver for paper/size.

Actually, when I print targets 6mm x 6mm, with ACPU they scan fine, but they are shrunk to just over 5.8mm.  But I don't like operating on the edge and if I resize them just another .5% smaller, so they print about 5.75mm wide, the iSis XL kicks them out.

The issue I'm trying to solve is to make sure the 6mm wide registration bars have enough margin at the top as well as the bottom of the print since I add a registration bar at the bottom so the target can be read in reverse. The iSis design is 30mm margin. Testing shows that it works fine down to 28mm and at 27mm it gets marginal. The 957 patch set of 33 rows and 29 columns just fits on a 8.5 x 11 paper with about 2 mm or so to spare providing the paper is printed so that the top margin is close to the bottom margin. Normally, I print in Photoshop and futz with the top offset so the print is centered. My Canon printers do a good job of centering automatically in Photoshop but the 9800 doesn't. Seems it's idea of centering is the printable area and not the physical page. This seems to be because the 9800 has a larger unprintable margin on the bottom than the top.

Luckily, ACPU centers on the physical page, and just clips unprintable portions. But that is not an issue as the targets don't have ink there.

The issue with ACPU is the shrinkage in Windows. However, testing indicates that a simple resize (nearest neighbor) expanding the page 2% or so works great. It provides that extra bit of margin to keep the iSis happy by slightly reducing the shrinkage and, luckily, provides decent margins on both the top and bottom registration bars.

The remaining problem is, when printed on an Apple which doesn't shrink the print, the registration bars get nearer the top/bottom of the paper. And I need to make sure there is at least 28mm on both.

I may have to provide two sets of targets. One for ACPU with Windows and one for utilities that print properly like Photoshop (with the null print trick to work around their stupid removal of the ability to print directly w/o color management).
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: digitaldog on June 26, 2019, 09:42:18 am
Actually, when I print targets 6mm x 6mm, with ACPU they scan fine, but they are shrunk to just over 5.8mm. 
It's like the man who goes to the doctor and says "When I do this, it hurts" and the doctor replies, "well don't do that".  ;D
We really have IMHO, two bugs. One is ACPU on Windows but the other is X-rite's and what happens when you build a patch size they believe is Kosher. Anyway, I've been scanning targets through ACPU, Mac and Windows for a very long time without issue because I made adjustments for one of the bugs. That doesn't mean user error can't rear it's ugly head so what I did was place a line on the target indicating the size it should print so the user can place a ruler and see if it's within +/- a value I know will scan. No problems.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on June 26, 2019, 11:43:11 am
It's like the man who goes to the doctor and says "When I do this, it hurts" and the doctor replies, "well don't do that".  ;D
We really have IMHO, two bugs. One is ACPU on Windows but the other is X-rite's and what happens when you build a patch size they believe is Kosher. Anyway, I've been scanning targets through ACPU, Mac and Windows for a very long time without issue because I made adjustments for one of the bugs. That doesn't mean user error can't rear it's ugly head so what I did was place a line on the target indicating the size it should print so the user can place a ruler and see if it's within +/- a value I know will scan. No problems.

Yep, adjusting the patch size to overcome ACPU/Windows shrinkage works just fine for printing standard targets. And a single image works great with ACPU on Windows and Macs. And I was perfectly happy with this. Until recently that is.

Here's my problem in some depth:

I noticed a relatively rare anomaly. On occasion, I saw a large difference ( > 3 dE and in a couple cases 10 dE) in some duplicate patches and investigated. Turns out under some conditions a tiny difference in the spectral data can cause pretty large Lab changes. These occur with a highly saturated C, Y, or M inking which produces a very small reflectance over the portion of the spectrum. In these situations, a small change ( < .5% ) can produce quite large variations in dE. This can occur because of a nearly invisible dust particle adhering to the print, surface variations on the paper itself, or even actual variations in the printer inking.

This can be partially detected by doing repeat scans. But only partially. This led me to create charts that had a registration bar at the bottom and allows me to scan the chart in reverse (bottom to top, right to left). When doing precision work, I scan charts in both directions and save the full CGATs files appending a "r" on the reverse scans. When reading in the CGATs, my program inverts the order of reverse scans and averages the two but also tests the dE for each patch to detect these anomalies. When one exists the program examines the spectral data. Invariably, the difference is a slightly raised spectral reflectance in the region with very low reflectance.

So by printing the targets with top and bottom registrations, this problem, while rare, can be detected and reduces the number of rabbit holes I've gone down.

But this constrains the target print. If I increase the patch sizes to accommodate ACPU/windows shrinkage, there isn't room for the necessary top and bottom margins when printed using other programs w/o shrinkage. I can, of course, increase the patch width but then I can't fit 33 rows on an 8.5 x 11 page.  Normally, this isn't an issue as I don't use ACPU for printing other than as a crosscheck.  Annoying.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: digitaldog on June 26, 2019, 12:22:00 pm
When doing precision work, I scan charts in both directions and save the full CGATs files appending a "r" on the reverse scans.
Be interesting and perhaps produce better overall data if the target were printed twice but the patches themselves be in reverse order. Yes, I know that's two instead of one page.

When I was creating digital press output profiles, the variation across the page is so large, I built targets just like this and in fact, I had a total of (ugh) multiple 13x19 pages: there was a three page target with large patches and a two page target with smaller patches. The patches themselves otherwise had the same colors and as you're doing, the targets had the same patches for some special colors repeated on the sheet. One of each group was rotated 180 degrees. Yes, lots to measure (considering we ran this group of targets multiple times over the days and measured all). With large and small patches, we sample more area over the press sheet and differently with respect to the patches being measured. Same when one rotates each target. Then all that was averaged into one CGATs. Now run this test a few dozen times over the span of a few days, examine each group of averages, see if outliners should remain, average all the averages, run em through ColorAnt.... A lot of work but good pay  ;D

But this is very likely overkill for inkjet work where the dE differences  over the sheet are nothing like we see with digital presses. Maybe two targets with 180 degree rotation would be more than enough. But yeah, it's one more page to print (and scan).
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on June 26, 2019, 01:33:20 pm
Be interesting and perhaps produce better overall data if the target were printed twice but the patches themselves be in reverse order. Yes, I know that's two instead of one page.

When I was creating digital press output profiles, the variation across the page is so large, I built targets just like this and in fact, I had a total of (ugh) multiple 13x19 pages: there was a three page target with large patches and a two page target with smaller patches. The patches themselves otherwise had the same colors and as you're doing, the targets had the same patches for some special colors repeated on the sheet. One of each group was rotated 180 degrees. Yes, lots to measure (considering we ran this group of targets multiple times over the days and measured all). With large and small patches, we sample more area over the press sheet and differently with respect to the patches being measured. Same when one rotates each target. Then all that was averaged into one CGATs. Now run this test a few dozen times over the span of a few days, examine each group of averages, see if outliners should remain, average all the averages, run em through ColorAnt.... A lot of work but good pay  ;D

Cool job.
Quote

But this is very likely overkill for inkjet work where the dE differences  over the sheet are nothing like we see with digital presses. Maybe two targets with 180 degree rotation would be more than enough. But yeah, it's one more page to print (and scan).

Your point about changes in color when patches are printed at different locations was something I noticed too. And it's still a significant factor with ink jets though not anywhere near what you were seeing in pre-press. I wound up making a small, 64 count, set of RGB colors, repeating each 16x, then randomizing them. Can just squeeze them onto one iSis page w/o a bottom registration bar. Then adjusted the various settings in the 9800 to minimize the overall variance. The two settings that affected things the most were the vacuum level and platen gap. Got about a 40% reduction in variance.

And the variation in patch location color still overwhelms the much smaller differences of re-reading the same print or even reading the printers in reverse.

One of the things I'm doing in constructing my patch set is to incorporate a small set of repeating patch colors so I can get  similar metrics on submitted samples. It has a particularly large impact on neutral and near neutrals so the set is heavy on these. I'm curious about how well the different prints do at this.

I'm retired with time and money, a dangerous combination. :)
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Mick Sang on June 28, 2019, 10:06:10 pm
Quote
I'm retired with time and money, a dangerous combination. :)

Life is short. So why not live dangerously and have some fun!
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Alan Goldhammer on July 01, 2019, 09:13:08 am
Back from Banff and able to better post links.  Here is the Dry Creek Photo Print Utility (https://www.drycreekphoto.com/tools/ChartPrinter/) for accurate scaling of patch sets under Windows.  As I noted in my earlier email, this utility does not shrink patch sets as the ACPU does.  I've been using it without any issues.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 01, 2019, 11:44:01 pm
EDITED:

Please use the "Medium" patch set posted later, not the "small" target set attached here.
This provides much more printer info and, better, lets me actually determine the accuracy of the printer without a round-trip to print Lab values.

The trick is to use a special, reverse lookup by doing an exhaustive search for the Lab values that produce the RGB values from the profile under test.


Sorry for the delay. I've reconfigured the test charts to focus more on neutrals and near neutrals since that is a much bigger problem than how many color patches there are. In fact, it takes some work to get the neutrals printing as well as color patches with color patch counts over about 400!

Attached is a zip file with two sets of charts. One for ACPU/Windows and one for utilities that print profile charts without re-sizing.

See the readme.txt file for more info. From the readme:

---
These charts contains the following:

Regular grid spacing of 4x4x4, 5x5x5, 6x6x6, 7x7x7, 8x8x8, and 9x9x9. Also, for 8x8x8 and smaller grids inset grids are also included which somewhat optimizes (AKA packed grids). Additionally, a partial 17x17x17 grid is included. This grid is all the values from 64, 80, ... 192. It is used to get a measure of the improvment in color patches by testing distributed colors within that RGB region against both it and the 9x9x9, which has exactly twice the spacing. My printers exhibit rapid assymptotic approach to an optimal that occurs around 3,000 patches. This high res subset is designed to compare the benefit witihout having to print the full 4913 patches required for just 17x17x17 grid.

But wait, there's more.

Turns out neutrals and near neutrals are much bigger problems with patch color accuracy deviations much larger. However, this can be improved markedly by a fine RGB grid along the neutrals.

So there are a number of near neutral data sets included. In particular a full, 3 level grid along the neutrals with deviations of 7 and 14 are included as in this pattern:

   0     0     0
     0     0     7
     0     0    14
     0     7     0
     0     7     7
     0     7    14
     0    14     0
     0    14     7
     0    14    14
     7     0     0
     7     0     7
     7     0    14
     7     7     0
     7     7     7
     7     7    14
     7    14     0
     7    14     7
     7    14    14
    14     0     0
    14     0     7
    14     0    14
    14     7     0
    14     7     7
    14     7    14
    14    14     0
    14    14     7
    14    14    14
    14    14    21
    14    14    28
    14    21    14
    14    21    21
... to 252


Since these include smaller spacing 7 and 14, the following patterns to make profiles with are "free"

     0     0     0
     0     0     7
     0     7     0
     0     7     7
     7     0     0
     7     0     7
     7     7     0
     7     7     7
     7     7    14
     7    14     7
....

And
     0     0     0
     0     0    14
     0    14     0
     0    14    14
    14     0     0
    14     0    14
    14    14     0
    14    14    14
    14    14    28
    14    28    14
....


All of this data is used to generate metrics such as the deviations between successive points on a line and deviations of centers from points equi-distant. These metrics correlate highly with actual profile errors printing a large, 100 to multiple hundreds, of independent, gamut distributed color patches. The neutral sets provide similar results for estimating neutral color accuracy. They also highly correlate.

Right now I am running checks on the new, inserted high rez grid and, most importantly, various near neutral RGB sets. Turns out this is a much more critical area than the more general color accuracy in even slightly saturated colors. This reflects the greater sensitivity that Delta E 200 has in this area.

I will be posting metrics and their correlation to actual printed Lab colors distributed evenly in the printable gamuts of my three printers. Focus is on glossy. I use Costco glossy as it's cheap and all my tests v Canon Plat Pro, show the performances on my two Canon's are virtually identical outside of a small gamut shift due to the Plat's warmer white point.

Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Alan Goldhammer on July 02, 2019, 10:27:15 am
Let us know when you are ready for prime time and if you have any preference for brand and type of paper for testing.  I print on matte and gloss papers and pretty much use Moab (Entrada, Juniper, & Somerset), Hahnemuhle (Bamboo & Photorag Ultra Smooth) and Museo (Silver Rag).

Alan
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 08, 2019, 02:10:29 pm
One of the benefits of a chart that combines different patch sets is one can then get actual accuracy improvements for different printers/paper combination.

Here's the results from Costco Glossy on 3 the Pro1000, 9500 II, and 9800 and Canson Rag Photo on the Pro1000. Results are quite consistent between paper types on each printer but vary considerably for each printer.

(https://l0konq.dm.files.1drv.com/y4mrv2SU2MJUzbsjH36WoASqg1oNCRfXk2I-KcA0ptquMy4PzkX-1nKPQ-3eDdIbN5Emzq2BJ0JCmhGmXtCCJPscZc6HQR2nj0MZuof9Pdgok382olg9WE9iIUOLYddyLJtjFu5IvKyDdyZKE_v1H-Xqh_zpNrWl8F2dyGy-XPBAewbQrD3SEzQ6TvlHJR8hHYP?width=498&height=415&cropmode=none)

These results are made using random, in gamut colors in sufficient quantity to see the increasingly small improvements as profile patch count is increased. This required from 150 to 500 patches for each profile/printer being tested. This results in high relative accuracy. The relative patch count differences between different runs with different randomized colors is repeatable to a standard deviation of less than .02 dE00 for the higher patch counts ( >= 512( and .04 dE00 for the small counts of 125,216.

A notable result is that the Pro1000 requires only 343 patches to achieve the same quality (Ave dE about .7) as the 9800 and 9500 II using 729 patches.

Also, Once one gets to 512 or 729 patches, the improvements are quite small. Particularly on the Pro1000. Going to 2500 patches produces only between .03 and .10 dE00 improvements.

These results are all from Argyll profiles with default except for  -qh and -r .3 options.

Not shown was that I also compared Argyll with I1Profiler profiles. They are quite similar with less than .1 dE differences. Interestingly, the Argyll outperformed the I1Profiler on the 9800 by .10 dE while the Argyll profiles were slightly better at .03 or so with the Pro1000.


An aside. These were done w/o additional, near neutral patches. They are quite important but the near neutral response differs quite a bit between the two printers. The patch set includes various near neutrals but even though the printers differ significantly from each other in near neutral response, the various near neutrals tested (from about 200 to 600 patches) produced little difference from each other but a large improvement in near neutral accuracy. I'm going to create a similar chart focusing on near neutrals.

Also, testing the "packed" profiles produced improvements but only in proportion to their increase in patch count so I see little reason to continue that line of work. I had seen somewhat larger relative improvements in them but after changing the verification phase to randomly select in gamut Lab values rather than evenly spaced, in gamut values, the differences reduced to fairly low levels.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: RobWignell on July 15, 2019, 08:26:36 am
Hi Doug

This is really useful information to me.  With far fewer tools for analysis I have played with increasing numbers of patches starting at around 500 per page and increasing the number of pages.  I use a DTP70 for reading patches and it seems to read more consistently with patches >= 9.0mm square.  Through general reading I had concluded that for the best RGB profiles, patch sets >= 2000 are recommended.  My experience is that I generate what seem like competent icc profiles with patch sets around 1000 and that while using larger patch sets might produce small improvements in DE numbers the effect on a printed image is imperceptible.

I notice that you are using a -r setting of 0.3 in Argyll's colprof instead of the default 0.5.  For me, this usually increases the Gamut Volume slightly but can introduce kinks in the gamut model surface, especially in the darker areas.  Have you had this experience?

I would be interested to see what settings you use for targen to generate your patch sets.  In particular, do you use targen to emphasise neutrals.

For experimenting, I use Kodak Ultra Premium High Gloss paper on my Epson 3880 and Epson 7880 (COSTCO stopped selling Kirkland Glossy in Australia a couple of years ago).  I bought the Epson 7880 back from the dead about 18 months ago using cheap 3rd party ink and, once I got it going properly I loaded a set of Cone inks. 

I would be pleased to send you a set of prints on the Kodak paper.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 15, 2019, 04:26:07 pm
Hi Doug

This is really useful information to me.  With far fewer tools for analysis I have played with increasing numbers of patches starting at around 500 per page and increasing the number of pages.  I use a DTP70 for reading patches and it seems to read more consistently with patches >= 9.0mm square.  Through general reading I had concluded that for the best RGB profiles, patch sets >= 2000 are recommended.  My experience is that I generate what seem like competent icc profiles with patch sets around 1000 and that while using larger patch sets might produce small improvements in DE numbers the effect on a printed image is imperceptible.
This is consistent with what I'm seeing too. My newest printer, Pro1000, needs fewer patches by almost half to achieve the same quality as my older printers, a 9800 and especially the 9500II. The latter benefits a lot from 2-3k v 1k patches while the Pro1000 gets little better beyond 1k patches.
Quote

I notice that you are using a -r setting of 0.3 in Argyll's colprof instead of the default 0.5.  For me, this usually increases the Gamut Volume slightly but can introduce kinks in the gamut model surface, especially in the darker areas.  Have you had this experience?
No, I haven't seen any difference. OTOH, I scan targets forward and reverse/upside down, and average the readings while looking for large outliers. This reduces scan noise to some degree though not variation related to patch location, a somewhat larger factor.

However, your observations suggest another issue. One quite real but experimentally difficult to measure. Much more important than absolute color accuracy is smoothness. A printer/profile that isn't smooth will produce much more problematic prints on images with lots of gradual gradients. It's extremely hard to see a 1.5 dE error if otherwise the print is smoothly rendered. It's something not normally measured. One of my goals in buying a scanner was to use it to measure printer smoothness but that's when I discovered how large the effect of large area crosstalk was and went down that rabbit how to determine the cause and ultimately developed a program to remove the crosstalk.

I had an idea that may work for getting a smoothness metric, not just metrics on color accuracy. It's something I'm currently working on as it may be a more useful metric than color accuracy.
Quote

I would be interested to see what settings you use for targen to generate your patch sets.  In particular, do you use targen to emphasise neutrals.

I use Matlab for chart creation as well as verification charts. Verification charts typically use Lab values that are randomly picked over the printer/paper gamut using a custom program. The Lab values are converted to rgb device space using the profile(s) under test. After printing/scanning, the dE00 variations between the initial Lab values and the printed/scanned ones are gathered and stats reported. By converting the same Lab values into device space using multiple profiles one can compare the stats for the different profiles w/o the complication of small printer variations that occur like warmup drift.
Quote

For experimenting, I use Kodak Ultra Premium High Gloss paper on my Epson 3880 and Epson 7880 (COSTCO stopped selling Kirkland Glossy in Australia a couple of years ago).  I bought the Epson 7880 back from the dead about 18 months ago using cheap 3rd party ink and, once I got it going properly I loaded a set of Cone inks. 

I would be pleased to send you a set of prints on the Kodak paper.

I'll PM you.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 23, 2019, 03:31:49 pm
I've found a way to evaluate profile quality without a two step process. Eliminating the second step means I don't have to create in gamut colors which first requires profiles from the first step and then print charts with separate colors for each of the profiles being tested which uses a lot of paper.

The technique is quite simple and I should have thought of this before.

1. Create patch sets that contain all the patches for each desired patch count as well as additional near neutrals which are added into the larger patch counts.

2. Create about a thousand random RGB triplets which includes 200, near device neutral values.

3. Combine, randomize, and print all patches. This eliminates bias associated with printer warmup or ink jiggling half way through the print job. This also produces identical images and RGB sets for testing any printer.

4. Scan the targets. De-randomize and extract the RGB/Lab pairs for each of the patch sets.

5. Create Argyll profiles for each of the patch sets using colprof and the defaults except for -qh (high quality profile).

Evaluate the statistics of the thousand, random RGB triplets. Since these are independent of the patches used for creating the profiles, they can be used to evaluate the quality of each of the generated profiles w/o requiring a second printing of in gamut colors.  By definition, device RGB values are in gamut. Each represents printable colors.

Except for printing and scanning, the entire process requires less than half an hour per printer/paper. It requires 8 US Letter pages of 957 patches each which includes all the patches for each profile as well as about a thousand independent patches for evaluating the profile.

Attached are the 8 pages of targets and CGATs file of the RGB values. The listing below is each of the 12 profiles generated for each printer using Costco Glossy paper. Other glossy type papers show virtually identical results and the differences between printers remain pretty stationary. Matt paper (not shown) shows a significant improvement and is also stationary between the MP101 Canon Matte (lots of OBA) and the Canson Photographique (No OBA).

Descriptions:
PchCnt: Patch count used to create profile
PchdE: Ave dE of the profile patches. This is similar to the average of the dE's reported by I1Profiler for each patch.
Ave dE:  This is the overall dE average on the independent patches.
LowL,  MidL,  HighL: These are the average of colors L* < 35, L* between 35 and 65, and L* over 65. Interesting because different printers show different error averages depending on luminosity.

As for the profiles, the number after the "M" is the number of grid points on one axis. For instance the 125 patch count profile uses 5x5x5 point grids. and would have the profile suffix be "M5."  Some of the profiles also have a "P" after the number. These indicate packed grids. These tend to produce slightly better quality relative to their increase in size. Additionally, a "N" appears after a few of the larger profiles. These profiles have 134 additional near neutral, staggered RGB triplets. For instance M12PN is a profile with 12x12x12 points and an additional 134 near neutrals. One can see that the near neutrals significantly reduce the dE average errors on the neutral colors. While not shown, they improve near neutral performance to roughly the same level for any of the patch counts.

Lastly, the profiles ending in "MALL" have the full set of RGB patches from all of the smaller patch sets. In addition, they have another 500 or so near neutrals. The additional near neutrals shows minimal improvement in the performance of the profiles' near neutral accuracy in comparison to adding the 134 near neutrals.

I also did a few tests using the same data sets with I1Profiler and Profile Maker 5. PM5 was significantly inferior with dE averages at least 25% higher and many cases exceeded 50%. OTOH, I1Profiler was quite close overall. The accuracy on the color patches was slightly better with I1P while Argyll had the advantage with the near neutrals. It is, however, a PITA to make I1P profiles while automating the Argyll workflow was a piece of cake.




Printer P1000
Colors
PchCnt PchdE     Ave dE   LowL  MidL  HighL
  125  0.34      1.01     1.30  1.06  0.68  Printer-P1000_M5.icm
  216  0.35      0.84     1.04  0.89  0.58  Printer-P1000_M6.icm
  343  0.36      0.72     0.88  0.74  0.53  Printer-P1000_M7.icm
  512  0.34      0.62     0.75  0.64  0.48  Printer-P1000_M8.icm
  729  0.34      0.57     0.69  0.57  0.44  Printer-P1000_M9.icm
  855  0.36      0.53     0.64  0.53  0.40  Printer-P1000_M8P.icm
 1241  0.36      0.50     0.62  0.50  0.39  Printer-P1000_M9P.icm
 1728  0.38      0.51     0.65  0.49  0.39  Printer-P1000_M12.icm
 1859  0.38      0.50     0.63  0.49  0.38  Printer-P1000_M12N.icm
 3059  0.37      0.45     0.58  0.43  0.35  Printer-P1000_M12P.icm
 3188  0.37      0.45     0.57  0.43  0.35  Printer-P1000_M12PN.icm
 6616  0.34      0.43     0.54  0.42  0.34  Printer-P1000_MALL.icm

NearNeutrals
PchCnt           Ave dE   LowL  MidL  HighL
  125            1.09     1.73  0.79  0.76  Printer-P1000_M5.icm
  216            1.04     1.70  0.77  0.65  Printer-P1000_M6.icm
  343            1.01     1.57  0.81  0.64  Printer-P1000_M7.icm
  512            0.83     1.21  0.68  0.61  Printer-P1000_M8.icm
  729            0.72     1.02  0.59  0.55  Printer-P1000_M9.icm
  855            0.65     0.88  0.59  0.49  Printer-P1000_M8P.icm
 1241            0.64     0.88  0.56  0.48  Printer-P1000_M9P.icm
 1728            0.64     0.98  0.52  0.44  Printer-P1000_M12.icm
 1859            0.46     0.60  0.43  0.36  Printer-P1000_M12N.icm
 3059            0.57     0.78  0.49  0.43  Printer-P1000_M12P.icm
 3188            0.46     0.58  0.43  0.35  Printer-P1000_M12PN.icm
 6616            0.40     0.48  0.38  0.34  Printer-P1000_MALL.icm


Printer 9800
Colors
PchCnt PchdE     Ave dE   LowL  MidL  HighL
  125  0.62      1.63     1.63  1.47  1.81  Printer-9800_M5.icm
  216  0.55      1.15     1.30  0.97  1.16  Printer-9800_M6.icm
  343  0.51      0.96     1.05  0.85  0.98  Printer-9800_M7.icm
  512  0.46      0.82     0.94  0.74  0.78  Printer-9800_M8.icm
  729  0.46      0.70     0.83  0.64  0.63  Printer-9800_M9.icm
  855  0.45      0.67     0.78  0.60  0.63  Printer-9800_M8P.icm
 1241  0.46      0.59     0.72  0.56  0.50  Printer-9800_M9P.icm
 1728  0.44      0.58     0.69  0.56  0.47  Printer-9800_M12.icm
 1859  0.44      0.57     0.69  0.56  0.46  Printer-9800_M12N.icm
 3059  0.44      0.52     0.63  0.51  0.42  Printer-9800_M12P.icm
 3188  0.42      0.51     0.61  0.51  0.40  Printer-9800_M12PN.icm
 6616  0.40      0.49     0.60  0.48  0.38  Printer-9800_MALL.icm

NearNeutrals
PchCnt           Ave dE   LowL  MidL  HighL
  125            1.82     1.55  1.49  2.41  Printer-9800_M5.icm
  216            1.38     1.29  1.11  1.74  Printer-9800_M6.icm
  343            1.04     0.90  0.89  1.33  Printer-9800_M7.icm
  512            0.99     0.99  0.89  1.10  Printer-9800_M8.icm
  729            0.73     0.84  0.61  0.75  Printer-9800_M9.icm
  855            0.76     0.79  0.71  0.80  Printer-9800_M8P.icm
 1241            0.63     0.68  0.61  0.61  Printer-9800_M9P.icm
 1728            0.70     0.73  0.64  0.72  Printer-9800_M12.icm
 1859            0.50     0.55  0.52  0.43  Printer-9800_M12N.icm
 3059            0.57     0.64  0.59  0.48  Printer-9800_M12P.icm
 3188            0.47     0.54  0.50  0.38  Printer-9800_M12PN.icm
 6616            0.41     0.48  0.42  0.34  Printer-9800_MALL.icm


Printer 9500
Colors
PchCnt PchdE     Ave dE   LowL  MidL  HighL
  125  0.49      1.51     1.72  1.36  1.45  Printer-9500_M5.icm
  216  0.49      1.15     1.31  1.03  1.10  Printer-9500_M6.icm
  343  0.45      0.93     1.01  0.86  0.92  Printer-9500_M7.icm
  512  0.42      0.81     0.95  0.74  0.74  Printer-9500_M8.icm
  729  0.42      0.70     0.85  0.64  0.61  Printer-9500_M9.icm
  855  0.42      0.64     0.83  0.59  0.51  Printer-9500_M8P.icm
 1241  0.43      0.58     0.74  0.54  0.46  Printer-9500_M9P.icm
 1728  0.42      0.60     0.78  0.55  0.48  Printer-9500_M12.icm
 1859  0.42      0.59     0.75  0.54  0.48  Printer-9500_M12N.icm
 3059  0.40      0.54     0.70  0.49  0.42  Printer-9500_M12P.icm
 3188  0.39      0.53     0.69  0.48  0.42  Printer-9500_M12PN.icm
 6616  0.37      0.50     0.63  0.46  0.40  Printer-9500_MALL.icm

NearNeutrals
PchCnt           Ave dE   LowL  MidL  HighL
  125            2.09     1.38  2.87  2.02  Printer-9500_M5.icm
  216            1.78     1.74  2.49  1.12  Printer-9500_M6.icm
  343            1.42     1.67  1.80  0.80  Printer-9500_M7.icm
  512            1.23     1.69  1.37  0.63  Printer-9500_M8.icm
  729            1.05     1.55  1.09  0.49  Printer-9500_M9.icm
  855            0.84     1.27  0.81  0.44  Printer-9500_M8P.icm
 1241            0.73     1.16  0.67  0.36  Printer-9500_M9P.icm
 1728            0.79     1.27  0.75  0.36  Printer-9500_M12.icm
 1859            0.51     0.70  0.53  0.30  Printer-9500_M12N.icm
 3059            0.60     0.96  0.53  0.31  Printer-9500_M12P.icm
 3188            0.49     0.63  0.54  0.30  Printer-9500_M12PN.icm
 6616            0.48     0.52  0.64  0.30  Printer-9500_MALL.icm
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 23, 2019, 07:27:04 pm
Just added MP101 (Canon Matte) on the Pro1000 to the group. Results show the expected improvements over glossy types:

Printer P1000M
Colors
PchCnt PchdE     Ave dE   LowL  MidL  HighL
  125  0.19      0.67     0.77  0.69  0.55  Printer-P1000M_M5.icm
  216  0.19      0.56     0.61  0.59  0.50  Printer-P1000M_M6.icm
  343  0.20      0.48     0.51  0.49  0.43  Printer-P1000M_M7.icm
  512  0.19      0.44     0.46  0.44  0.40  Printer-P1000M_M8.icm
  729  0.19      0.42     0.45  0.41  0.40  Printer-P1000M_M9.icm
  855  0.21      0.38     0.40  0.38  0.36  Printer-P1000M_M8P.icm
 1241  0.21      0.36     0.38  0.35  0.34  Printer-P1000M_M9P.icm
 1728  0.22      0.35     0.37  0.35  0.33  Printer-P1000M_M12.icm
 1859  0.23      0.34     0.36  0.35  0.32  Printer-P1000M_M12N.icm
 3059  0.23      0.31     0.31  0.32  0.30  Printer-P1000M_M12P.icm
 3188  0.23      0.31     0.31  0.32  0.30  Printer-P1000M_M12PN.icm
 6616  0.22      0.29     0.28  0.30  0.28  Printer-P1000M_MALL.icm
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Alan Goldhammer on July 24, 2019, 07:43:06 am
Thanks for providing this data.  Unfortunately, those of us who still do manual scans with an i1 Pro are not in a position to do such a high patch count.  I do a two step profiling with Argyll, a two page preconditioning profile followed by a four page (1848 patches) with added neutrals using the new command that Graeme added a couple of months back.  This is a manageable approach in terms of manually reading patches and average errors are in the 0.2 to 0.3 range.  Standard test prints come out with accurate color rendition which is the bottom line.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 24, 2019, 01:49:32 pm
Thanks for providing this data.  Unfortunately, those of us who still do manual scans with an i1 Pro are not in a position to do such a high patch count.
Actually the goal of this is to minimize the number of patches people need to make good profiles. I absolutely do not encourage the highest possible patch count making profiles.

By showing the dE00 averages as patch count increases for each printer/paper type, one cahn select an appropriate number of patches for an initial profile. Then adding additional patches may be used to further improve things. For instance the Pro1000 needs considerably fewer patches to get the same quality profile as the 9800 and especially the 9500 II.
Quote

I do a two step profiling with Argyll, a two page preconditioning profile followed by a four page (1848 patches) with added neutrals using the new command that Graeme added a couple of months back.  This is a manageable approach in terms of manually reading patches and average errors are in the 0.2 to 0.3 range.  Standard test prints come out with accurate color rendition which is the bottom line.

That should work quite well. BTW, how do you determine average dE's of your profiles?
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Alan Goldhammer on July 24, 2019, 03:17:40 pm
That should work quite well. BTW, how do you determine average dE's of your profiles?
I use the 'profcheck' utility in Argyll and direct the output to a logfile.  It gives the data read data for all the patches along with the deviation from what it should be.  At the end of the Excel spreadsheet it lists the max error, average error, and rms error.  You can easily sort the patch set according to error value and determine whether you need to re-read any of the patches.  I always do two readings and average those so unless there is a very bad outlier (>2), I don't bother.  It also allows for the creation of a 3-D profile that can be used for comparison purposes.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 24, 2019, 04:36:01 pm
I use the 'profcheck' utility in Argyll and direct the output to a logfile.  It gives the data read data for all the patches along with the deviation from what it should be.  At the end of the Excel spreadsheet it lists the max error, average error, and rms error.  You can easily sort the patch set according to error value and determine whether you need to re-read any of the patches.  I always do two readings and average those so unless there is a very bad outlier (>2), I don't bother.  It also allows for the creation of a 3-D profile that can be used for comparison purposes.

Thanks Alan,

This is a good tool provided an independent set of RGB patches is compared against the profile rather than the patches used to create the profile. By way of explanation, let me quote Graeme from profcheck:

Quote
profcheck provides a way of checking how well an ICC profile conforms to the test sample data that was used to create it (or other test samples that are from the same device). This is the same sort of check done within the profile making tool (colprof), but having a separate tool provides some flexibility.  The absolute forward table in the profile is used to create PCS values from the sample points, and the profiles PCS value then compared to the PCS values of the measured sample points. Note the lower delta E values are not always a better measure of how good a profile is. The aim of a profile is to model the underlying characteristics of a device, not to slavishly reproduce the sampled data point values. Sampled data point values contain device variation and instrument reading inaccuracies, and a good profiler will try and filter out this noise, resulting in some deliberate differences between the profile and the sample points used to create it.

Profcheck does an AtoB table lookup on the RGB values and compares the result, in Lab, to the measured Lab values. This corresponds exactly to the PchdE columns in my posts as only the patches used to create each profile are used.  This tends to slightly understate profile accuracy dEs since they are the same patches used to create the profile.  Graeme's caution is particularly apropos because, for instance, making a profile of an evenly spaced grid  in I1Profiler will see very little smoothing and produce what looks like excellent dEs (under .1 !) from the same data set that colprof might show .3 dE. But that's because colprof smooths the A2B tables to reduce the impact of measurement noise/printer variation. But these very low values out of I1PRofiler profiles do not indicate its profiles are better or achieve anywhere near that kind of accuracy.

The other columns show dE00 values based on an independent, large random set of RGB values and so are more representative of the dE00 error one would have printing arbitrary, but in-gamut colors.

The breakthrough I made in my approach was to combine and scramble all the patches used by the different profiles I tested as well as a completely independent set which are used to determine profile accuracy.

One really cool side effect is that this same data can be plugged into any profile generating program so it's also a way to compare different products w/o the vagaries of printer variation, warmup, time since last used, temperature, drying time, humidity, and so on. These things would, of course, affect the relative values shifting dE's slightly higher or lower but they don't change the differences between the different profiles or profile making software.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Alan Goldhammer on July 24, 2019, 04:46:53 pm
Thanks Alan,

This is a good tool provided an independent set of RGB patches is compared against the profile rather than the patches used to create the profile. By way of explanation, let me quote Graeme from profcheck:


The breakthrough I made in my approach was to combine and scramble all the patches used by the different profiles I tested as well as a completely independent set which are used to determine profile accuracy.

One really cool side effect is that this same data can be plugged into any profile generating program so it's also a way to compare different products w/o the vagaries of printer variation, warmup, time since last used, temperature, drying time, humidity, and so on. These things would, of course, affect the relative values shifting dE's slightly higher or lower but they don't change the differences between the different profiles or profile making software.
What would you say is the optimal number of patches to check the profile against.  I only use Argyll and an generate a random patch set and then see how that compares to the profile in question. 
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 24, 2019, 05:12:26 pm
What would you say is the optimal number of patches to check the profile against.  I only use Argyll and an generate a random patch set and then see how that compares to the profile in question.

You can get a reasonably close estimate of overall dE with a single page or less of patches. 100 random device RGB patches should produce an average dE that is within +/-.06 dE of the actual average dE and 400 patches will drop that to about +/-.03. The important thing is that they differ from those used to create the profile. However, you may see more variation than that just printing the same patches a second time. My 9500 II is particularly bad at that and can produce .2 dE differences printing the exact same chart but on different days.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Alan Goldhammer on July 24, 2019, 05:33:23 pm
You can get a reasonably close estimate of overall dE with a single page or less of patches. 100 random device RGB patches should produce an average dE that is within +/-.06 dE of the actual average dE and 400 patches will drop that to about +/-.03. The important thing is that they differ from those used to create the profile. However, you may see more variation than that just printing the same patches a second time. My 9500 II is particularly bad at that and can produce .2 dE differences printing the exact same chart but on different days.
It's not clear to me that I could prepare a totally random set of patches using Argyll targen command.  I'll need to look carefully at the commands.  Do you use MatLab to create synthetic color patch sets?
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 24, 2019, 05:43:41 pm
It's not clear to me that I could prepare a totally random set of patches using Argyll targen command.  I'll need to look carefully at the commands.  Do you use MatLab to create synthetic color patch sets?

Yes, MATLAB for virtually everything including making charts. Fast and powerful with lot's of built in functions for analysis. For instance I can read a 4kx3k image in ProPhoto RGB, convert it to sRGB, and get a histogram of the dE2000 differences of all 12M pixels in about 10 seconds with about 4 lines of code.

I made a couple of random RGB CGATs patch sets for 100 and 400 patch counts and attached them here.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: GWGill on July 24, 2019, 10:10:16 pm
The breakthrough I made in my approach was to combine and scramble all the patches used by the different profiles I tested as well as a completely independent set which are used to determine profile accuracy.
So, a cross validation type approach ?

If time is no object, then it's possible to do multiple passes of "leave N out" cross validation on such a data set, which can give some idea as to the expected accuracy of a model. Ideally it could also be used to tune the model parameters, but making such an approach computationally feasible is challenging.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on July 25, 2019, 01:49:00 am
So, a cross validation type approach ?

If time is no object, then it's possible to do multiple passes of "leave N out" cross validation on such a data set, which can give some idea as to the expected accuracy of a model. Ideally it could also be used to tune the model parameters, but making such an approach computationally feasible is challenging.

Interesting idea. Does sound computation intensive. I'm attached to the idea of using random, independent RGB patch sets to get the profile accuracy.  Easy to get the AtoB Lab estimates, but since different profile generators turn out to have different algos for the A2B and B2A processes, the only way to get an accurate assessment of different profiler packages is to find the Lab value that, after going through the B2A, yields the RGB values of the independent test patch set. This, after all, is what determines the actual print accuracy since prints only use the B2A tables.

I've been experimenting with Matlab's Optimization toolkit but it is slow. Matlab is fast with arrays of Lab and RGB sets but the optimizer uses individual triplets so it can't vectorize things. Takes about 10 minutes to go through the independent RGB set to find the Lab values that match the RGB sets going thorough the B2A's. And that's for each of the profiles.  Not awful but it can take many hours for the profile data sets I posted.  So I'm looking at another approach that may be faster. Hoping to do in strictly in Matlab but may wind up writing a mex addin.

Added:
Graeme, cross checking against all the unused patches may be doable. My revised alternate approach to MATLAB's optimization algo works well. It find the Lab values that produce an RGB/Lab pair to  about 1/16th bit (based on 0 to 255) on 1000 different RGB values in about 1 sec. And it's not all that long a program. I'm a bit wary. Even though the sample set of excluded RGB values would larger than the added random set, there may be undesired correlates as they are heavily patterned. I had that problem some weeks ago when making Lab sets to print and measure. I used a fixed deltas on the L*, a*, and b* to create what I thought would be a good spread. It wasn't. Changing the deltas changed the accuracy averages because then tended to align in the same places on the LUT cubes. A particular problem on I1Profiler profiles since they don't use any curves prior to the LUT lookups.

Now I can compare vendor tools w/o concern re A2B variations since it now only uses B2A.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: GWGill on July 25, 2019, 09:30:18 pm
Matlab is fast with arrays of Lab and RGB sets but the optimizer uses individual triplets so it can't vectorize things. Takes about 10 minutes to go through the independent RGB set to find the Lab values that match the RGB sets going thorough the B2A's. And that's for each of the profiles.  Not awful but it can take many hours for the profile data sets I posted.  So I'm looking at another approach that may be faster. Hoping to do in strictly in Matlab but may wind up writing a mex addin.
xicclu -fib may do what you want a lot faster (i.e. msec per sample, once initialized).
Quote
Graeme, cross checking against all the unused patches may be doable.
Depends what you mean by that !

What I meant was the process of:

  Remove N samples from the measurement set
  Build a profile from the remaining samples
  Check the fit of the N samples to the model (i.e. A2B).
  Repeat.

This could be done systematically (i.e. say divide the set randomly into 5 parts, then do
5 profiles with one part left out.)

Or it could be done completely randomly:
  Remove N% of the samples from random positions.
  Build a profile from the remaining samples
  Check the fit of the N% samples to the model (i.e. profile).
  Repeat indefinitely.

As I understand it, the resulting statistics are not identical to the underlying accuracy, but are related to them.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: RobWignell on August 06, 2019, 08:28:04 am
I have been on holidays for a couple of weeks and didn't get around to sending the prints before I went away.

Will they still be useful?  Do you have a preference for a print of the 8 Medium patch sets or the 4 Tiny patch sets?

I have two options for printing: Qimage One (Q1) or Roy Harrington's Print Tool.  I believe that they produce the same results and are both designed for printing with or without colour management.  I use international A4 (210 x 290 mm) size paper which is slightly longer and slightly narrower than the Letter standard used in USA.  A test print with both sets of software gives patch set dimensions (for patches but not guides) of 164mm wide by 186mm high.  This makes the 29 columns 5.655mm wide and the 33 rows 5.666 mm high.  The distance from the leading edge of the paper to the black bar at the top is 45 mm and the distance from the black bar at the bottom of the patch set to the bottom of the paper is 43 mm.  Are any of these measurements a deal breaker? 

The extra page of correspondence on this topic since I last posted is rich with information.  It seems like you have made progress. 

Your observation of the diminishing return on improved DE as a function of patch numbers encourages me to use smaller patch sets as a starting point for profiling different papers. 

I have combined your two CGATS files and added 127 extra near neutral steps to create a 627 set CGATS file.  ColorPort ingests this file and creates patch sets for numerous older spectros, including my DTP70.  It also lets me set the patch size so that it almost fills my A4 page size.

I will report on results using Argyll colprof defaults plus your -qh and -r0.3 settings using this patch set.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 06, 2019, 05:53:37 pm
I have been on holidays for a couple of weeks and didn't get around to sending the prints before I went away.

Will they still be useful?  Do you have a preference for a print of the 8 Medium patch sets or the 4 Tiny patch sets?

I have two options for printing: Qimage One (Q1) or Roy Harrington's Print Tool.  I believe that they produce the same results and are both designed for printing with or without colour management.  I use international A4 (210 x 290 mm) size paper which is slightly longer and slightly narrower than the Letter standard used in USA.  A test print with both sets of software gives patch set dimensions (for patches but not guides) of 164mm wide by 186mm high.  This makes the 29 columns 5.655mm wide and the 33 rows 5.666 mm high.  The distance from the leading edge of the paper to the black bar at the top is 45 mm and the distance from the black bar at the bottom of the patch set to the bottom of the paper is 43 mm.  Are any of these measurements a deal breaker? 

The extra page of correspondence on this topic since I last posted is rich with information.  It seems like you have made progress. 

Your observation of the diminishing return on improved DE as a function of patch numbers encourages me to use smaller patch sets as a starting point for profiling different papers. 

I have combined your two CGATS files and added 127 extra near neutral steps to create a 627 set CGATS file.  ColorPort ingests this file and creates patch sets for numerous older spectros, including my DTP70.  It also lets me set the patch size so that it almost fills my A4 page size.

I will report on results using Argyll colprof defaults plus your -qh and -r0.3 settings using this patch set.

Yes, please use the target files at this post. While it's 8 US letter pages, lot's more information can be derived.

https://forum.luminous-landscape.com/index.php?topic=130971.msg1120870#msg1120870
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 08, 2019, 01:58:37 am
I have added charts for printing with ACPU from Windows and rounded the device RGB near neutrals to 8 bits.

There are two sets of 8 US Letter size pages. The ones with ACPU should be used for printing using Adobe's ACPU utility when running Windows. The ACPU utility in windows shrinks the printed image a bit and these targets expand the image 2% to accommodate ACPU in Windows. Mac's, or other programs that can print images the proper size and w/o color management enabled should use the images without the ACPU tag.

These targets are 8 bit tiffs. The earlier ones were 16 bit tiffs though all the patches except for 192 near device neutrals are actually 8 bits. ACPU is will print them as 8 bits and will result in slightly worse (.04 dE) or so results on near neutrals if used with the earlier chart. That only effected results on near neutrals and had no impact on profile generation which sticks strictly with 8 bit values. Otherwise the charts are the same.


FOR THOSE WITH i1iSis spectros:

Also included are CGATs files to load into the spectro. You can scan them and post or email the results rather than mail the printed targets and I will generate an analysis of the printer/paper.

The CGATs with the trailing "r" can be used to read the charts in reverse. That is by feeding the bottom end in and going from chart 8 down to chart 1. These are really only of use for people with i1iSis scanners setting the patch size to 6x6mm and 957 patches per page. I only need the standard forward measurement file but providing the reverse as well lets my system check for measurement error.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 11, 2019, 01:22:29 am
All the RGB CGATs files that were used to construct each of the profiles shown here all come from the 8 page target attached in the previous post. RGB and LAB pairs were extracted from the measured charts and used to construct these profiles using Argyll's software. Each of the profiles was used to analyze the deltaE 2000 between 848 measured patches distributed randomly in gamut and 192 near neutrals. I consider near neutral performance important because many prints are in B&W or have large areas that are de-saturated. Human vision is more sensitive to small hue changes near neutrals and this is reflected in the higher sensitivity that delta E 2000 shows even though printers have multiple gray inks to help neutral accuracy.

Each of these charts shows the overall average dE2000 of 848 color patches.  It groups the 192  near neutrals in steps of 10 L*.

Profile Structure
Each of the profiles is constructed with spacing such that there are 5,6,7,8,9, or 12 points on each of the RGB axis. The number of RGB colors are thus 5^3, 6^3, … 12^3.  Additionally, so called "packed" grids, where additional RGB colors are placed in the center of each of  cube. This adds exactly (N-1)^3 more patches. Experiments show a small improvement in profile quality even accounting for their increased size as can be seen by looking at the results for 343 patch set (7^3 patches) v the 341 packed set (6^3 + 5^3).

Near Neutrals
These tables also show the impact of adding 3 different, near neutral patch sets. These 3 sets are 130, 260, and 476 in additional, near neutral patches. They show differing impact depending on how large the base, color patch count is. The largest set, immediately helps the near neutral performance of even the smallest patch profiles. However, as the color patch size increases, the differences between the 3 near neutral sets become very small.

Decoding the Profile
The profile names follow a pattern that defines their construction. Their last letters consist of an "M", a Number, an optional "P", and ends with an optional "N", "N5", or "N3". The number following the "M" is the grid space count. For instance, 9 would mean 9^3 RGB patches. The "P" means that an additional set of RGB values are added in the center of each cube. The three, near neutral sets are "N" 134 patches, "N5" 260 patches, and "N3" 476 patches.

The attached CGAT zip files are not scrambled and easily examined in a text editor. The main RGB grid is placed first, the centered grid, if present, second, and the near neutrals, if present, last. They can, if you wish, be used for your own printer profile construction and can be used with Profile Maker 5, Argyll or I1Profiler.

Summary and recommendation
For the best overall accuracy, the M12PN5 profiles with 3314 patches, are best. For excellent B&W work, the M5PN3 and M6PN3 are very good, and small enough to profile w/o lots of paper and time.


Pro1000 with Canon Platinum Pro Glossy Paper
Black Point Lab: 1.89 -0.13  0.13, White Point: 94.83  -1.41  -2.18
Profile performance for standard grid sizes of 5,6,7,8,9,12

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
Printer-P1000PlatPro_M5.icm   125  1.16  1.51      1.60   1.95   2.67   2.20   1.32   1.29   1.26   0.70   0.62
Printer-P1000PlatPro_M6.icm   216  0.89  1.13      1.54   1.85   2.17   1.20   0.70   0.85   0.54   0.65   0.64
Printer-P1000PlatPro_M7.icm   343  0.74  1.06      1.46   1.44   2.14   0.82   1.14   0.72   0.59   0.59   0.63
Printer-P1000PlatPro_M8.icm   512  0.68  0.90      1.36   1.31   1.38   0.76   0.80   0.72   0.58   0.59   0.63
Printer-P1000PlatPro_M9.icm   729  0.61  0.83      1.37   1.19   0.99   0.83   0.65   0.77   0.55   0.51   0.59
Printer-P1000PlatPro_M12.icm  1728  0.51  0.72      1.37   1.04   0.75   0.57   0.61   0.66   0.47   0.45   0.56



Profile performance for standard grid sizes of 5,6,7,8,9,12
including inset grid at center points of cubes

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
Printer-P1000PlatPro_M5P.icm   189  0.86  1.22      1.91   1.39   2.26   1.31   0.73   0.93   0.72   0.84   0.85
Printer-P1000PlatPro_M6P.icm   341  0.68  0.94      1.52   1.28   1.53   0.82   0.78   0.75   0.59   0.51   0.63
Printer-P1000PlatPro_M7P.icm   559  0.60  0.85      1.40   1.22   1.19   0.74   0.86   0.66   0.51   0.47   0.62
Printer-P1000PlatPro_M8P.icm   855  0.57  0.76      1.28   1.02   0.79   0.71   0.65   0.79   0.54   0.46   0.57
Printer-P1000PlatPro_M9P.icm  1241  0.52  0.73      1.25   0.98   0.76   0.81   0.64   0.68   0.49   0.46   0.52
Printer-P1000PlatPro_M12P.icm  3059  0.45  0.61      1.01   0.76   0.57   0.61   0.57   0.63   0.46   0.40   0.47

As Above but also including 134 near neutrals

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
Printer-P1000PlatPro_M5PN.icm   320  0.79  0.60      1.10   0.65   0.48   0.57   0.62   0.63   0.42   0.42   0.49
Printer-P1000PlatPro_M6PN.icm   472  0.67  0.57      1.06   0.64   0.49   0.55   0.58   0.59   0.38   0.38   0.45
Printer-P1000PlatPro_M7PN.icm   686  0.58  0.57      1.06   0.69   0.44   0.56   0.60   0.59   0.40   0.37   0.46
Printer-P1000PlatPro_M8PN.icm   986  0.56  0.56      1.02   0.61   0.38   0.57   0.61   0.61   0.40   0.39   0.45
Printer-P1000PlatPro_M9PN.icm  1371  0.51  0.57      1.01   0.61   0.39   0.61   0.63   0.60   0.40   0.38   0.47
Printer-P1000PlatPro_M12PN.icm  3188  0.45  0.53      0.90   0.55   0.39   0.57   0.60   0.58   0.39   0.36   0.42

... Including 260 near neutrals

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
Printer-P1000PlatPro_M5PN5.icm   446  0.81  0.61      1.14   0.76   0.49   0.55   0.63   0.56   0.42   0.44   0.52
Printer-P1000PlatPro_M6PN5.icm   598  0.68  0.56      1.07   0.69   0.43   0.53   0.56   0.54   0.37   0.36   0.48
Printer-P1000PlatPro_M7PN5.icm   806  0.59  0.57      1.08   0.68   0.45   0.54   0.61   0.54   0.39   0.36   0.49
Printer-P1000PlatPro_M8PN5.icm  1112  0.56  0.55      0.98   0.65   0.39   0.55   0.58   0.55   0.40   0.38   0.46
Printer-P1000PlatPro_M9PN5.icm  1497  0.51  0.54      0.94   0.61   0.38   0.57   0.58   0.55   0.39   0.36   0.47
Printer-P1000PlatPro_M12PN5.icm  3314  0.45  0.50      0.83   0.51   0.40   0.54   0.55   0.53   0.38   0.35   0.43

... Including 476 near neutrals

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
Printer-P1000PlatPro_M5PN3.icm   662  0.78  0.52      0.87   0.55   0.34   0.54   0.59   0.59   0.38   0.40   0.46
Printer-P1000PlatPro_M6PN3.icm   814  0.67  0.50      0.87   0.53   0.34   0.52   0.56   0.53   0.37   0.35   0.43
Printer-P1000PlatPro_M7PN3.icm  1022  0.58  0.50      0.87   0.55   0.32   0.53   0.56   0.54   0.38   0.34   0.44
Printer-P1000PlatPro_M8PN3.icm  1328  0.56  0.50      0.86   0.50   0.34   0.53   0.56   0.55   0.38   0.37   0.42
Printer-P1000PlatPro_M9PN3.icm  1713  0.51  0.50      0.84   0.55   0.32   0.54   0.57   0.55   0.38   0.36   0.43
Printer-P1000PlatPro_M12PN3.icm  3530  0.44  0.49      0.81   0.47   0.34   0.53   0.57   0.54   0.37   0.35   0.41
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 16, 2019, 11:21:32 pm
I notice that you are using a -r setting of 0.3 in Argyll's colprof instead of the default 0.5.  For me, this usually increases the Gamut Volume slightly but can introduce kinks in the gamut model surface, especially in the darker areas.  Have you had this experience?
I'll examine your chart info for this. My 9800 exhibits clumpy behavior while the 9500II and Pro1000 do not. This can be seen my examining a large qty of device space RGB values and round tripping them to Lab PCS and back to device RGB. The 9800 exhibits as well over a difference in RGB values of 50 that print the same Lab value. The math term for this is that device space RGB and in-gamut Lab PCS are not isomorphic. A well designed RGB to inking DPI algorithm will minimize this. That is, different RGB values map more or less smoothly to different Lab values.

However, this does not mean the printer can't print smoothly. My 9800 prints quite smoothly. It does strongly suggest more patches are needed for the same quality profile. And that is the case with the 9800. When wildly different device RGB values print the same Lab value this means that some portion of device RGB is duplicated. In a sense this is just wasted RGB space as it decreases the total number of device RGB values that correspond to a color.
Quote

For experimenting, I use Kodak Ultra Premium High Gloss paper on my Epson 3880 and Epson 7880 (COSTCO stopped selling Kirkland Glossy in Australia a couple of years ago).  I bought the Epson 7880 back from the dead about 18 months ago using cheap 3rd party ink and, once I got it going properly I loaded a set of Cone inks. 

I would be pleased to send you a set of prints on the Kodak paper.

I'm currently processing your target prints. My first cut looking at the gamut is that it's quite close to the 9800 on Costco glossy excepting that the Costco differs on the white and black points.

It would help for getting a database or printer/paper combos if you could provide the printer model you used and driver settings such as bi-directional or uni-directional as well as DPI settings. I've found these make a difference in some areas. Also what ink set you used if it isn't OEM ink.

I'm batch processing a large set of Argyll profiles from your charts. This involves extracting the  RGB/Lab values for each of the different patch sets that are embedded in the profile. Currently running about 30 different profiles. It's all automated on my end but the calculations still take some time, about 10 mins. each for the -qu option on my workstation.

To get a quick read, I ran the data with the -qh option which is much faster, about a minute per profile. Results are quite good. Device space RGB is better mapped much like my 9500II and Pro1000. This gets a better dE00 at lower patch counts than the 9800 which really needs over 1k patches for good results.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: RobWignell on August 17, 2019, 10:30:28 pm
Doug Gray
In your post of 16 August, 2019, 11:21:32pm, you asked a couple of questions:
The printer I used for printing the medium set of targets is an Epson 3880.  It is running Epson OEM inks but most have passed their use by date.
I have attached files showing the printer settings:  I printed your targets using PrintTool which I believe gets around any attempts by macOS Mojave version 10.14.5 to interfere with colour (file RW-Epson3880-PrintTool.png);  The next two files show the Epson Print Driver Settings (files RW-Epson3880-PrinterSettings.png and RW-Epson-AdvancedMediaControl.png).


Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 18, 2019, 06:25:27 pm
Thanks Rob,

Indeed, The print tool did a good of printing the targets are the correct size. And w/o color management. Further, it seems the tool prints 16 bit tiff images correctly as well. The targets you printed are all 8 bit RGB values except for the additional near neutrals used to test neutral accuracy. Those were inadvertently fractional so produced 16 bit tiff files. This has no impact as my software can be switched for 16 bit tiff files. Even so the differences just rounding are only on the order of .03 dE00 and only affect neutrals in any case. All the target patches and independent color patches are 8 bit resolution.

So when I checked it, it's clearly printing 16 bit equiv. The tool isn't available on Windows but Photoshop can effectively emulate 16 bit by a combination of the null trick and setting the dither option which adds just enough low bit noise to get the same results for an 8 bit driver. Canon purports to offer 16 bit drivers through their Pro1000 plugin but it doesn't actually work. It produces 8 bit prints even when set to 16 bit. But the null trick works just fine on Windows.

I ran your 8 pages of charts though the I1iSis forward and reverse. Turned out one patch was 3.9 dE read reverse v read forward. Upon examining it the color was a close to neutral at L*=81. First time I've seen a large delta that wasn't associated with L* below 20. Appears to be lint, as re-reading the page it was on forward and reverse yielded matching values to a dE < .1.  What's interesting to me is that the erroneous reading lower saturation and L*.  This is the opposite of what happens with low L* read differences. There, the lint increases L* as it reflects more light back to the sensor. For the high L* it seems the lint decreased the reflected print light more than reflected light from the lint hence the reversal.

I re-ran the profile batch set with the labels changed to reflect the 3880 printer. They have finished except for the last profile. I also added a perceptual table based on Adobe RGB. However, I rarely use perceptual and it's not really a defined process. It also takes a lot longer, about 25 minutes per profile.

In any case profiles on your 3880 improve with patch count almost as fast those of the Pro1000 and much faster than the 9800. I'll be posting a link to a zip file you can download for all 31 profiles that resulted. It's going to be about .8 GB and eats into my Onedrive quota so I probably won't leave it up for too long. If that's too large for you to download I can attach just the better ones and will probably attach the best profile here with the test results.

Thanks for contributing. I am happy that your target prints turned out quite well.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 18, 2019, 07:01:33 pm
Results of Rob Wignell's 3880 with Kodak ultra glossy

Comments: the paper has very low fluorescence but exhibits a gamut similar to Costco Prem. glossy on my 9800. That is to be somewhat expected given the inks are similar. Interestingly, the 3880 shows a more even device RGB space and produces significantly better profiles than the 9800 for small patch counts. The only negative is the rather high L* min. This is likely a difference in paper. The white point, however, is a tad greater than the Costco and more neutral.  The device space to Lab alaong the neutral axis is smoother without large deviations. Much better than the 9800 and somewhat better than the Pro1000. Perhaps at the cost of higher L* mins. as the Pro1000 min. is 2.0.

Excellent performance in the neutrals and very good in the colors.

3880 Kodak Ultra Premium Glossy
Black Point Lab: 5.61  0.08 -0.48, White Point: 94.94  -0.86  -1.27
Profile performance for standard grid sizes of 5,6,7,8,9,12

        ProfilePatchesAveColAveNeuts    <20  20-30  30-40  40-50  50-60  60-70  70-80   >80
      Printer-3880_M5.icm   125  1.22  2.08      1.18   2.26   2.66   1.69   2.41   1.85   2.43   2.14
      Printer-3880_M6.icm   216  0.86  1.28      1.01   2.21   1.83   1.01   1.03   0.76   1.12   1.24
      Printer-3880_M7.icm   343  0.72  0.95      0.75   1.47   1.25   0.96   0.84   0.52   0.78   1.04
      Printer-3880_M8.icm   512  0.61  0.77      0.67   1.13   1.12   0.74   0.63   0.53   0.49   0.86
      Printer-3880_M9.icm   729  0.56  0.63      0.63   0.84   0.89   0.62   0.57   0.43   0.53   0.56
     Printer-3880_M12.icm  1728  0.45  0.51      0.50   0.64   0.76   0.59   0.43   0.37   0.40   0.43



Profile performance for standard grid sizes of 5,6,7,8,9,12
including inset grid at center points of cubes

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
     Printer-3880_M5P.icm   189  0.82  1.10      0.80   0.92   1.53   1.54   1.22   1.31   0.71   1.04   0.82
     Printer-3880_M6P.icm   341  0.65  0.82      0.72   0.66   1.51   1.20   0.70   0.65   0.51   0.69   0.78
     Printer-3880_M7P.icm   559  0.56  0.65      0.60   0.44   0.90   1.15   0.77   0.61   0.41   0.43   0.52
     Printer-3880_M8P.icm   855  0.50  0.56      0.58   0.43   0.85   0.80   0.54   0.45   0.53   0.36   0.52
     Printer-3880_M9P.icm  1241  0.46  0.54      0.61   0.45   0.67   0.74   0.63   0.45   0.48   0.39   0.43
    Printer-3880_M12P.icm  3059  0.41  0.45      0.50   0.40   0.47   0.61   0.43   0.44   0.38   0.37   0.40

As Above but also including 134 near neutrals

        ProfilePatchesAveColAveNeuts    <20  20-30  30-40  40-50  50-60  60-70  70-80   >80
    Printer-3880_M5PN.icm   320  0.76  0.41      0.48   0.40   0.46   0.41   0.49   0.38   0.34   0.32
    Printer-3880_M6PN.icm   472  0.64  0.41      0.46   0.45   0.48   0.41   0.43   0.39   0.33   0.34
    Printer-3880_M7PN.icm   686  0.55  0.41      0.47   0.41   0.50   0.42   0.42   0.38   0.34   0.32
    Printer-3880_M8PN.icm   986  0.50  0.40      0.46   0.43   0.48   0.39   0.41   0.40   0.34   0.32
    Printer-3880_M9PN.icm  1371  0.46  0.40      0.46   0.40   0.46   0.40   0.43   0.37   0.34   0.32
   Printer-3880_M12PN.icm  3188  0.41  0.39      0.45   0.38   0.45   0.37   0.42   0.36   0.34   0.33

... Including 260 near neutrals

        ProfilePatchesAveColAveNeuts    <20  20-30  30-40  40-50  50-60  60-70  70-80   >80
   Printer-3880_M5PN5.icm   446  0.78  0.43      0.52   0.39   0.42   0.43   0.55   0.45   0.40   0.32
   Printer-3880_M6PN5.icm   598  0.63  0.42      0.49   0.42   0.42   0.43   0.49   0.43   0.35   0.32
   Printer-3880_M7PN5.icm   806  0.55  0.40      0.47   0.40   0.42   0.39   0.46   0.43   0.34   0.31
   Printer-3880_M8PN5.icm  1112  0.49  0.40      0.45   0.43   0.43   0.37   0.44   0.45   0.33   0.32
   Printer-3880_M9PN5.icm  1497  0.46  0.40      0.48   0.42   0.42   0.38   0.45   0.44   0.33   0.31
  Printer-3880_M12PN5.icm  3314  0.41  0.38      0.44   0.37   0.41   0.37   0.44   0.38   0.32   0.32

... Including 476 near neutrals

        ProfilePatchesAveColAveNeuts    <20  20-30  30-40  40-50  50-60  60-70  70-80   >80
   Printer-3880_M5PN3.icm   662  0.77  0.38      0.46   0.37   0.38   0.36   0.46   0.36   0.35   0.29
   Printer-3880_M6PN3.icm   814  0.63  0.38      0.45   0.38   0.39   0.37   0.43   0.37   0.33   0.30
   Printer-3880_M7PN3.icm  1022  0.56  0.37      0.45   0.38   0.39   0.35   0.41   0.37   0.33   0.29
   Printer-3880_M8PN3.icm  1328  0.50  0.37      0.45   0.39   0.39   0.35   0.40   0.38   0.33   0.29
   Printer-3880_M9PN3.icm  1713  0.46  0.38      0.44   0.39   0.39   0.35   0.42   0.38   0.33   0.29
  Printer-3880_M12PN3.icm  3530  0.41  0.37      0.44   0.37   0.38   0.34   0.42   0.36   0.32   0.31

... Entire Patch Set excluding those used for stats.

        ProfilePatchesAveColAveNeuts    <20  20-30  30-40  40-50  50-60  60-70  70-80   >80
    Printer-3880_MALL.icm  6616  0.39  0.37      0.44   0.34   0.35   0.35   0.42   0.40   0.31   0.31

I will attach a link to the profiles for this shortly.

Here's a link to all these profiles. It also include the CGATS RGB text files that correspond to all the profiles so one can use the desired target size v accuracy. I recommend the M8PN tagged one for excellent neutrals and pretty good color accuracy for making profiles for the Epson 3880 with any glossy type paper. The MP9N and M12PN tagged CGATs file gives slightly better color accuracy but are more patches (see table).

https://1drv.ms/u/s!AoQDySMc0uNiic93xbLNQr4Cg4JZfA?e=lmBhfV

Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: RobWignell on August 19, 2019, 12:24:05 am
Doug, you have provided me with a lot of information to work through.  It is pleasing that the Kodak Ultra Gloss seems to perform reasonably well. I will print a set of medium targets (8 bit) on my Epson 7880, currently loaded with Cone Color K3 Pro ink.  It will be a good comparison for me and hopefully useful for you as well.

I recently purchased some Harman 260gsm A3+ RC paper but have deferred making a profile until I was happier with my targets.  Would you be interested in a set of targets on the Harman paper printed using the 3880 and 7880?

Thanks for all the profiles. 

Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 19, 2019, 01:11:02 am
Doug, you have provided me with a lot of information to work through.  It is pleasing that the Kodak Ultra Gloss seems to perform reasonably well. I will print a set of medium targets (8 bit) on my Epson 7880, currently loaded with Cone Color K3 Pro ink.  It will be a good comparison for me and hopefully useful for you as well.

I recently purchased some Harman 260gsm A3+ RC paper but have deferred making a profile until I was happier with my targets.  Would you be interested in a set of targets on the Harman paper printed using the 3880 and 7880?

Thanks for all the profiles.

I am curious how the 7880 with Cone inks work so that would be good, but my goal here is to characterize printers to determine the impact of differing patch sizes to achieve a reasonable quality level. So far, it appears that the oldest printer, which is my 9800, benefits the most from larger patch counts and more modern printers do quite well with under 1000 patches.

My goal is to understand how printers differ in print quality. So I'm not interested in making profiles for different papers of the same type as the profile characteristics are very similar between papers of the same type on any given printer model. However, there are significant differences between matte and glossy on the same printer so that I'm interested in looking at that.

Another purpose is to find out how where and how much the "packed" targets improve things compared to the traditional grid and if that varies with printers. What I see so far is that the packed grids produce roughly the same performance as single grids of about 20% more total patches. Consequently, I've switched over to using them for my work.

And finally, I really wanted to see how well different printers handle neutrals. I have done special targets for evaluating cameras where the best, most linear, neutral performance matters. So the medium targets have a range of different, added neutral and near neutral values I can selectively add in to see what is needed to get good results. You can examine the CGATs files for each of the profile types for details. They are not randomized. The main grid is first, followed by the inset (packed grid) followed by the near neutral values. The profiles ending in N3 have the largest set of near neutrals with a bit over 400 patches.  One note: duplicates are removed as they occur so there are some apparent gaps in the inset grid and near neutrals if the patch values occurred earlier.

Enjoy the profiles but your best bet is just use the one with MALL on the end. It has all patches, except the independent ones used to determine dE stats.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: RobWignell on August 19, 2019, 07:26:07 am
I have printed the Medium Target Set on my 7880 with Cone ink and will post them tomorrow.

In the zip file I downloaded there is a file called: Printer-3880_MALL.txt, but the ".icm" file is missing.

For the Harman paper I will make my own profile using your recommended M9PN 1371 patch set.

On my Epson 7880 I only print with PK ink because to change to MK ink is too wasteful.  Epson recommends having a second printer instead of changing ink.  However, your experiment has encouraged me to look at printing with matte paper on the Epson 3880, which wastes less ink on a changeover.

I also have a pearlescent/metallic finish paper that may be sufficiently different for your interest.

Thanks again for your efforts.

Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on August 19, 2019, 12:58:08 pm
I have printed the Medium Target Set on my 7880 with Cone ink and will post them tomorrow.

In the zip file I downloaded there is a file called: Printer-3880_MALL.txt, but the ".icm" file is missing.

Rob, I had left it out inadvertently. Should be in the zip file now.

Since I have all the data I'm going to break the dE reporting into near neutrals and colors, expand each, and report mean, median, 10%, 5% and 1% means. I'm not expecting anything really big to pop out of that based on the histograms I've looked at but as I get more printer/paper info there may be something. I'll be making a separate thread just for printer/paper combinations with one post per printer/paper to make it easier for people to find for their printer.

Oh, the Argyll profiles all have a perceptual table too based on AdobeRGB1998. This is arbitrary as the Argyll default is just to duplicate the Rel. Col. Perceptual intent is not used for accuracy calculations.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on September 10, 2019, 12:37:56 pm
Rob,

Just got your prints yesterday.
These are the results of the 7880 using Cone K3 vivid ink. Will post a link to all the Argyll profiles later. Significantly lumpier than the 3880 needing more patches for a good profile. The 559 patch set for the 3880 is roughly as good as using the full 6k patches on the 7880 for color patches.

7880 Kodak Ultra Premium Glossy
Black Point Lab: 3.74  0.11 -0.30, White Point: 94.99  -0.90  -1.29
Profile performance for standard grid sizes of 5,6,7,8,9,12

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
      Printer-7880_M5.icm   125  1.91  1.90      1.61   1.40   2.40   1.74   1.10   1.40   2.16   3.41   1.91
      Printer-7880_M6.icm   216  1.24  1.28      1.34   1.25   1.10   1.26   1.49   1.72   1.17   1.30   0.87
      Printer-7880_M7.icm   343  1.01  0.87      1.17   0.66   0.76   0.88   0.88   1.10   0.58   1.04   0.79
      Printer-7880_M8.icm   512  0.85  0.95      1.08   0.76   0.85   1.04   1.09   0.99   0.72   1.05   0.93
      Printer-7880_M9.icm   729  0.75  0.73      1.16   0.88   0.74   0.68   0.78   0.68   0.54   0.63   0.52
     Printer-7880_M12.icm  1728  0.63  0.67      0.99   0.62   0.71   0.71   0.66   0.61   0.44   0.74   0.50



Profile performance for standard grid sizes of 5,6,7,8,9,12
including inset grid at center points of cubes

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
     Printer-7880_M5P.icm   189  1.33  1.42      0.97   0.95   1.56   0.96   1.01   1.20   1.81   1.68   2.62
     Printer-7880_M6P.icm   341  0.92  0.98      1.13   0.76   0.97   1.03   1.38   1.33   0.65   0.84   0.75
     Printer-7880_M7P.icm   559  0.82  0.74      1.00   0.65   0.80   0.75   0.70   0.76   0.47   0.66   0.85
     Printer-7880_M8P.icm   855  0.69  0.76      0.88   0.76   0.81   0.91   1.00   0.73   0.54   0.67   0.56
     Printer-7880_M9P.icm  1241  0.64  0.64      0.86   0.58   0.68   0.75   0.82   0.55   0.51   0.61   0.37
    Printer-7880_M12P.icm  3059  0.58  0.59      0.84   0.55   0.60   0.68   0.81   0.55   0.39   0.56   0.33

As Above but also including 134 near neutrals

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
    Printer-7880_M5PN.icm   320  1.06  0.56      0.66   0.53   0.62   0.61   0.57   0.59   0.48   0.62   0.35
    Printer-7880_M6PN.icm   472  0.83  0.56      0.71   0.51   0.58   0.63   0.67   0.66   0.49   0.48   0.33
    Printer-7880_M7PN.icm   686  0.77  0.55      0.82   0.49   0.57   0.60   0.59   0.60   0.47   0.48   0.35
    Printer-7880_M8PN.icm   986  0.68  0.55      0.76   0.48   0.58   0.64   0.66   0.57   0.46   0.48   0.30
    Printer-7880_M9PN.icm  1371  0.63  0.53      0.72   0.49   0.56   0.63   0.63   0.54   0.43   0.50   0.29
   Printer-7880_M12PN.icm  3188  0.57  0.54      0.79   0.48   0.55   0.62   0.66   0.54   0.42   0.47   0.29

... Including 260 near neutrals

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
   Printer-7880_M5PN5.icm   446  1.01  0.55      0.66   0.58   0.67   0.61   0.58   0.56   0.41   0.59   0.34
   Printer-7880_M6PN5.icm   598  0.81  0.54      0.72   0.54   0.63   0.61   0.60   0.58   0.42   0.43   0.33
   Printer-7880_M7PN5.icm   806  0.76  0.54      0.82   0.48   0.58   0.60   0.56   0.54   0.44   0.47   0.33
   Printer-7880_M8PN5.icm  1112  0.68  0.52      0.75   0.50   0.58   0.61   0.60   0.52   0.40   0.45   0.28
   Printer-7880_M9PN5.icm  1497  0.63  0.51      0.74   0.49   0.56   0.59   0.57   0.51   0.41   0.45   0.27
  Printer-7880_M12PN5.icm  3314  0.57  0.50      0.76   0.46   0.52   0.60   0.57   0.52   0.40   0.44   0.25

... Including 476 near neutrals

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
   Printer-7880_M5PN3.icm   662  0.96  0.50      0.69   0.49   0.54   0.58   0.53   0.50   0.38   0.51   0.31
   Printer-7880_M6PN3.icm   814  0.79  0.51      0.79   0.47   0.52   0.58   0.55   0.52   0.39   0.45   0.30
   Printer-7880_M7PN3.icm  1022  0.74  0.52      0.98   0.45   0.52   0.57   0.52   0.50   0.39   0.46   0.28
   Printer-7880_M8PN3.icm  1328  0.66  0.50      0.79   0.45   0.53   0.57   0.55   0.49   0.38   0.45   0.27
   Printer-7880_M9PN3.icm  1713  0.62  0.50      0.80   0.46   0.52   0.56   0.54   0.49   0.38   0.46   0.27
  Printer-7880_M12PN3.icm  3530  0.57  0.50      0.84   0.46   0.51   0.57   0.54   0.48   0.37   0.44   0.26

... Entire Patch Set excluding those used for stats.

        ProfilePatchesAveColAveNeuts    <10  10-20  20-30  30-40  40-50  50-60  60-70  70-80   >80
    Printer-7880_MALL.icm  6616  0.55  0.48      0.74   0.45   0.48   0.55   0.53   0.47   0.38   0.43   0.25

Here's a link to the Argyll profiles for the 7880
https://1drv.ms/u/s!AoQDySMc0uNijPt7N2pUZkvtwtfX7w?e=dUGz3U
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: RobWignell on September 25, 2019, 07:42:31 am
Hi Doug
I have been travelling in outback West Australia chasing wildflowers for the past couple of weeks and haven’t had access to internet.
It seems that my 7880 isn’t as well behaved as the 3880.  I look forward to being able to download the best of the 7880 profiles.
Best wishes
Rob Wignell
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: Doug Gray on September 25, 2019, 11:48:52 am
Hi Doug
I have been travelling in outback West Australia chasing wildflowers for the past couple of weeks and haven’t had access to internet.
It seems that my 7880 isn’t as well behaved as the 3880.  I look forward to being able to download the best of the 7880 profiles.
Best wishes
Rob Wignell
Hi Rob,

I added a link to the results post for your Epson 7880.
Title: Re: Possible Crowdsourcing Printer Profile Optimal Patch Count Tests
Post by: RobWignell on September 28, 2019, 10:11:34 pm
Doug, thanks for the link to the 7880 profiles and the stats for all of them. 

I have two questions of you: first, have other LULA members contributed to your crowdsourcing project? (I have only seen results from my printouts and yours); and secondly, can I get the CGATs files for the subsets that make up the Medium Patch Collection so that I can use them for making profiles for different papers. 

A third question is for other LULA members and relates to patch dimensions.  Using my DTP70 (for those unfamiliar it is a scanner that predates the i1iSys and its default measurements are M0), I have found that the larger the patch dimension the better the DE results and vice versa.  I suspect that the scanning head on the DTP70 has similar dimensions to the i1Pro scanner as they were designed at about the same time, so I am interested to hear from members who use a DTP70 or i1Pro or i1Pro V2 about their preferred patch dimensions.

PS.  Being a newbie it occurred to me that my question about patch dimensions should be a separate thread.  Glad for advice.