How to print great B&W photos (3) - creating printer ink channel density curves

After redirecting the C, M, and Y channels of R2880 and printing the test strips we measure their density values and express them as equations to be used in creating ink shape modulation curves for Gutenprint. These curves are generated with the help of Mathematica. Their creation is explained in part four, while this article, being part three of the series, explains test strip density measurements.

The actual printing of the test strips was explained in part two of this series. In summary, this printing process consists of exporting the CMY file for the three test strips (one strip per channel) to PhotoGP and printing the strips for later measurements. The printer set up used to print the test strips should be saved since any changes to the set up will change the density distribution in the strips. Note also that the three ink curves for cyan, magenta, and yellow inks in the printer set up for printing the test strips are straight lines and that the printing mode is is "Three Colour Composite" or CMY. 

Calculating per channel ink density functions

An example of the printed output from the test strip file is shown below.

CMY printout from R2880 after the ink channels are redirected

There are three rows of gray squares and one square with C, M, and Y at their maximum gray values of 255. This square is not measured, it is there to warn if ink limits are exceeded when choosing values for maximum ink densities. Keep an eye on it for flooding or blotching. Measurements using a spectrometer device like the ColorMunki are taken from the three rows for gray values ranging from 10 to 100 in steps of 10. Measure the paper reflection directly at an unprinted spot to get the paper gray value corresponding to no ink (gray = 0). Measurements are done in Lab units (L*,a*, and b*). We need only the L* value for further calculations. I used ColorMunki with ArgyllCMS to make the L* measurements.

 I used Microsoft Excel to create three curves, with a polynomial least squares fit to an equation of degree 3, to these values. The resulting graphs are shown below along with the equations and the goodness of fit (the square of the correlation coefficient). I found three degrees enough to get a very good fit.  

Measured L* curves for CMY patches and fitted equations for each channel

The measured test strip values are given in the table below.

CMY test strip L*a*b* values read with a ColorMunki Photo. Printed by R2880 on Kirkland Brilliant Professional with Inkjetfly pigment inks V3.
Gray % Reading L* a* b*
0 1 93.81 -0.46 -2.73
10 2

87.96

-0.66 -1.33
20 3 83.10 -0.89 -0.44
30 4 79.00 -1.17 0.14
40 5 75.95 -1.35 1.04
50 6 73.76 -1.24 2.24
60 7 70.57 -0.93 3.10
70 8 67.76 -0.78 3.46
80 9 64.83 -0.91 3.71
90 10 62.38 -1.05 3.85
100 11 59.99 -1.15 4.25
0 1 93.81 -0.46 -2.73
10 12 71.50 -1.10 0.88
20 13 54.55 -1.50 3.21
30 14 41.51 -1.64 4.17
40 15 31.54 -1.42 3.35
50 16 24.90 -1.44 1.38
60 17 20.26 -1.38 0.00
70 18 16.69 -1.07 -0.84
80 19 14.37 -0.82 -1.34
90 20 12.17 -0.58 -1.60
100 21 10.49 -0.36 -1.81
0 1 93.81 -0.46 -2.73
10 22 79.98 -0.95 -0.21
20 23 69.68 -1.38 1.53
30 24 61.65 -1.69 2.78
40 25 55.18 -1.79 3.96
50 26 49.38 -1.53 4.95
60 27 43.64 -1.36 5.06
70 28 38.80 -1.48 4.97
80 29 34.32 -1.54 5.11
90 30 30.57 -1.52 5.21
100 31 27.04 -1.51 5.46
       CMY 32 7.42 0.21 -1.89
0 33 93.65 -0.47 -2.95

Some notes on the test strips

It is possible for the strips to get saturated at the 90% to 100% regions if the amount of ink deposited is too high. When plotting the graphs, this will show up as flatter curves in those regions. The ink densities for those channels need to be decreased to counteract this effect. One indication that such saturation problems are present is if the R^2 values fall below 99% for a polynomial fit in degree 3. Since there are not enough points in the curve between 90% and 100% gray a different test strip with more points in that region need to be used for more accurate curve fitting.

Creating the ink curves

In the next part of this series we will describe the Mathematica notebook that uses these equations to create the three ink curves for the three dilutions. The curves partition the three dilutions in such a way that the 0 to 100% gray values of the image translate in the printer into ink densities that smoothly increase exponentially with increasing gray values. The exponent itself (the gamma value) is chosen to be 2.2 to generally respect the characteristics of the human eye.