Pages: [1]   Go Down

Author Topic: I1Patches - A program to create profiling charts with accuracy checking.  (Read 2056 times)

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

In a single printing pass, create and verify accuracy of one or more ICC profiles from one or more sets of RGB profiling patches.

i1Patches Is a Windows based tool principally used to aggregate and randomize one or more, printer profiling patch sets along with randomly generated patches for independent accuracy verification. It produces tif and CGATs files compatible with XRite's i1Profiler and i1iSis or i1Pro2 spectrophotometers.

It is particularly good at removing externalities that strongly affect comparing different profile patch sets. These have been typically evaluated by printing charts, measuring patch color, making profiles, printing sets of known colors with these profiles, and finally, measuring these prints and comparing measured colors to patch RGB value colors.

The following can, and does, make this usual practice difficult and uncertain: I've seen these effects result in a 500 patch profile appearing to be more accurate than an 1,800 patch profile.

1. Environmental variations such as changes in temperature and humidity that change the dynamics of dot size as ink drys.
2. Printer variations that occur between successive page prints from warmup. Inking differences as new ink flows out of cartridges, through supply tubes, and into the print head.
3. Print head technology. Canon and Epson heads differ and have different drift characteristics through a print job.
4. Printer algorithms. An example is when the printer decides it's time to jiggle the inks partway through a print job. I've noticed on the Canon Pro1000.
5. Paper characteristic changes. Each page may not ink the exact same way due to manufacturing or storage variation. For example the first page in a paper package can exhibit significant shifts on papers with high OBA levels due to more air exposure.

The program also includes many features for manipulating CGATs RGB and Measurement files

See this for details:

https://github.com/doug3236/i1Patches


Here's a summary of data comparing dE accuracy for 5 different profiles. This was made from a single print run of 12 pages. The numbers after the first letter of the ICC profile is the number of patches in that profile.


Device Neutrals  Low Saturation    Full Gamut
 dE76  dE2k       dE76  dE2k       dE76  dE2k
 0.40  0.38       0.64  0.49       0.84  0.47       p581_m2.icm
 0.32  0.31       0.56  0.43       0.73  0.41       p1105_m2.icm
 0.45  0.44       0.49  0.38       0.63  0.36       p2371_m2.icm
 0.42  0.42       0.44  0.33       0.58  0.33       p4357_m2.icm
 0.44  0.43       0.54  0.41       0.70  0.40       o957_m2.icm

« Last Edit: January 21, 2022, 01:12:39 am by Doug Gray »
Logged

kers

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 4389
    • Pieter Kers
Re: I1Patches - A program to create profiling charts with accuracy checking.
« Reply #1 on: January 21, 2022, 04:46:10 am »

Thanks for sharing!
Sounds an interesting program; however I am on a mac... otherwise i would try it.

Logged
Pieter Kers
www.beeld.nu/la

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: I1Patches - A program to create profiling charts with accuracy checking.
« Reply #2 on: January 31, 2022, 11:43:43 pm »

I used i1patches to compare various profiles. This shows the effect of the first page printing warm-up color shifting. After the first page the rest show only small difference in accuracy. The profile used is a custom 957 patch that has proven to produce more accurate results. Especially in the neutral and near neutral colors.

However, if I don't print an initial throwaway page before printing the profiling charts, the quality of the 957 patch profile is worse than a 400 patch profile printed on the second sheet.


957 patch profile:
                                                 dE distribution (percent less than)
                            Ave        10%  20%  30%  40%  50%  60%  70%  80%  90%
  Delta E 1976:    1.27        0.68  0.82  0.94  1.05  1.20  1.31  1.48  1.71  1.96      First printed page, 957 random colors
  Delta E 1976:    0.72        0.28  0.36  0.43  0.52  0.61  0.73  0.81  0.95  1.33      distributed in aggregated patch set, 957 random colors
  Delta E 1976:    0.72        0.27  0.36  0.45  0.53  0.61  0.71  0.86  0.99  1.28      Last printed page, 957 random colors


400 patch profile
                                                 dE distribution (percent less than)
                            Ave        10%  20%  30%  40%  50%  60%  70%  80%  90%
  Delta E 1976:    1.04        0.39  0.51  0.63  0.76  0.89  1.02  1.22  1.50  1.87      Last printed page, 957 random colors
Logged

John Nollendorfs

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 623
Re: I1Patches - A program to create profiling charts with accuracy checking.
« Reply #3 on: February 01, 2022, 01:29:46 pm »

Doug:
What printer are you using that you see these variations?

John
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: I1Patches - A program to create profiling charts with accuracy checking.
« Reply #4 on: February 01, 2022, 03:03:16 pm »

Doug:
What printer are you using that you see these variations?

John

Canon Prograf 1000.

I don't see these variations on my Epson 9800. However, I do also see long term variations on both printers as ink is consumed.

The one consistent thing common to both is that drying time is close to irrelevant. Anything over 15 minutes on the Pro1000 and over 1 hour on the 9800 has far less impact than just normal page to page variation.

Worth pointing out that these variations are really not visible comparing prints. In-gamut prints (Rel Col w/o BPC) from the 9800 and Pro1000 look completely identical when illuminated at the side w/o glare. OTOH, the Pro1000 vastly improves upon the 9800 when in regular lighting where gloss differential and bronzing color shifts occur. And none of that gets measured with a spectro.

One of my uses is creating high accuracy prints for calibrating video cameras. I developed this program with its various options to separate out all the confounders and also provide long term color stability measurement capability. It's done a great job of this with these two printers.
Logged

smilem

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 297
    • Color Management Services

C:\Users\Z800-96\Downloads\i1Patches-master\i1Patches-master\option_trc>i1patches -C rand500_M2.txt i400_small_8bit.icm i400_medium_16bit.icm o957_small_8bit.icm o957_medium_16bit.icm  1>log_c.txt
'i1patches' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\Z800-96\Downloads\i1Patches-master\i1Patches-master\option_trc>

Seems like you forgot to publish compiled exe files.
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

C:\Users\Z800-96\Downloads\i1Patches-master\i1Patches-master\option_trc>i1patches -C rand500_M2.txt i400_small_8bit.icm i400_medium_16bit.icm o957_small_8bit.icm o957_medium_16bit.icm  1>log_c.txt
'i1patches' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\Z800-96\Downloads\i1Patches-master\i1Patches-master\option_trc>

Seems like you forgot to publish compiled exe files.

exe files are in the "release" section
https://github.com/doug3236/i1Patches/releases/tag/V1.2.1
Logged

smilem

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 297
    • Color Management Services

Thank you, a more in depth explanations of each working mode would be helpful.
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

Thank you, a more in depth explanations of each working mode would be helpful.

There's a lot of info in each of the option directories and the trc directory has the most common usages for these three. The -T option ransomizes and makes the charts, the -R option decodes and derandomizes the individual measurement files which can be used to make ICC profiles. And the -C option analyzes the ICC profiles and prints an accuracy report against an common, independant, uncorrelated patch sets.

There's a bunch of other options that can be used to synthesize measurement files, extract portions of RGB or measurement files and such. Odds and ends I found useful when writing it.

Also, each option directory has it's own readme file ending in ".md" which is github markdown.

If you run i1patches and just list an option, like "-T" it will display a summary list of useages.

Best way to access the readme files is from the main github readme. There are links in that readme that take you right to each of the option details.
« Last Edit: July 04, 2022, 07:24:05 pm by Doug Gray »
Logged

jejes

  • Jr. Member
  • **
  • Offline Offline
  • Posts: 84

Could you share your 957 patch set, I want to create a profile with yours and after that check my dE.

I used i1patches to compare various profiles. This shows the effect of the first page printing warm-up color shifting. After the first page the rest show only small difference in accuracy. The profile used is a custom 957 patch that has proven to produce more accurate results. Especially in the neutral and near neutral colors.

However, if I don't print an initial throwaway page before printing the profiling charts, the quality of the 957 patch profile is worse than a 400 patch profile printed on the second sheet.


957 patch profile:
                                                 dE distribution (percent less than)
                            Ave        10%  20%  30%  40%  50%  60%  70%  80%  90%
  Delta E 1976:    1.27        0.68  0.82  0.94  1.05  1.20  1.31  1.48  1.71  1.96      First printed page, 957 random colors
  Delta E 1976:    0.72        0.28  0.36  0.43  0.52  0.61  0.73  0.81  0.95  1.33      distributed in aggregated patch set, 957 random colors
  Delta E 1976:    0.72        0.27  0.36  0.45  0.53  0.61  0.71  0.86  0.99  1.28      Last printed page, 957 random colors


400 patch profile
                                                 dE distribution (percent less than)
                            Ave        10%  20%  30%  40%  50%  60%  70%  80%  90%
  Delta E 1976:    1.04        0.39  0.51  0.63  0.76  0.89  1.02  1.22  1.50  1.87      Last printed page, 957 random colors
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

Could you share your 957 patch set, I want to create a profile with yours and after that check my dE.

It's in github i1patches release in the subdirectory option_trc/i1isis

Here's a direct link

https://github.com/doug3236/i1Patches/blob/8e7956f10df54d39b291e0474906f4db4323abc3/option_trc/i1isis/opt957.txt

Note that it is not randomized.

It consists of 3 groups. A standard 8x8x8 RGB grid with 512 values. An inner grid of 7x7x7 with 343 values. And a near neutral step pattern with 98 steps where duplicates  have been removed. Finally, there are 2 repeats of black and white patches to make a total of 957 patches which creates a single. US letter, i1isis print page.
« Last Edit: July 29, 2022, 11:11:00 am by Doug Gray »
Logged

jejes

  • Jr. Member
  • **
  • Offline Offline
  • Posts: 84
Re: I1Patches - A program to create profiling charts with accuracy checking.
« Reply #11 on: August 21, 2022, 02:08:17 am »

Hello, Doug. Do you think is't better to use randomized? Thank you
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: I1Patches - A program to create profiling charts with accuracy checking.
« Reply #12 on: August 21, 2022, 03:27:00 pm »

Hello, Doug. Do you think is't better to use randomized? Thank you

I got better results with randomized patches on my Canon 9500 II. But haven't seen a difference on the Epson 9800 or Pro1000. The reason the 9500 II was better is that the printer had an odd history effect. Printing sucessive dark patches with identical RGB values produced patches that were increasingly darker.

However, the patch randomization that the program uses randomizes across all the pages. This results in much more accurate comparisons of differing profile patch sets as printers can vary page to page. The Pro1000 is especially bad at this. By combining independent verification patches with patch sets to be compared against each other, it's far easier to quickly compare things.
Logged
Pages: [1]   Go Up