This file is indexed.

/usr/share/doc/argyll/Scenarios.html is in argyll 1.3.3-0ubuntu4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Argyll Usage Scenarios</title>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
</head>
<body>
<h2><u>Typical usage Scenarios and Examples</u></h2>
Choose a task from the list below. For more details on alternative
options, follow the links to the individual tools being used.<br>
<br>
Note that by default it is assumed that ICC profile have the file
extension <span style="font-weight: bold;">.icm</span>, but that on
Apple OS X and Unix/Linux platforms, the <span
 style="font-weight: bold;">.icc</span> extension is expected and
should be used.<br>
<h4><a href="#PM1">Profiling Displays</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PM1a">Checking you can access your
display<br>
</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PM1b">Adjusting and Calibrating
a
displays</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PM1c">Adjusting, calibrating and
profiling in one step<br>
</a><span style="font-weight: bold;"></span><span
 style="font-weight: bold;"></span><span
 style="text-decoration: underline;"></span></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PM2">Creating display test values</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="#PM3">Taking readings from a display</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="#PM4">Creating a
display profile</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <span style="text-decoration: underline;"></span><a
 href="#PM5">Installing a
display profile</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <span style="text-decoration: underline;"></span><a
 href="#PM6">Expert tips when measuring displays</a></h4>
<h4><br>
<a href="#PS1">Profiling Scanners and other input devices such as
cameras<br>
</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PS2">Types of test charts</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PS3">Taking readings from a scanner</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PS4">Creating a scanner profile</a></h4>
<h4><br>
<a href="#PP1">Profiling Printers</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="#PP2">Creating a print profile test
chart</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="Scenarios.html#PP2b">Printing a print
profile test chart</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="#PP3">Reading a print test chart
using an instrument</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="#PP4">Reading a print test chart
using a scanner</a></h4>
<h4> </h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PP5">Creating a printer profile<br>
</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PP6">Choosing a black generation curve</a></h4>
<br>
<h4><a href="Scenarios.html#PC1">Calibrating Printers</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="Scenarios.html#PC2">Calibrated print
workflows</a></h4>
<h4> &nbsp;&nbsp;&nbsp; <a href="Scenarios.html#PC3">Creating a print
calibration test chart</a></h4>
<h4> </h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="Scenarios.html#PC4">Creating a printer
calibration<br>
</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="Scenarios.html#PC5">Using a printer
calibration</a></h4>
<h4>&nbsp;&nbsp;&nbsp; <a href="#PC6">How profile ink limits are
handled when calibration is being used<br>
</a></h4>
<h4><br>
<a href="#LP1">Linking Profiles</a></h4>
<h4><br>
<a href="#TR1">Transforming colorspaces of raster files</a></h4>
<br>
<hr style="width: 100%; height: 2px;"><br>
<h3><a name="PM1"></a>Profiling Displays</h3>
Argyll supports adjusting, calibrating and profiling of displays using
one of a number of
instruments - see <a href="instruments.html">instruments</a> for a
current list.&nbsp; Adjustment and calibration are prior
steps to profiling, in which the display is adjusted using it's
screen controls,&nbsp; and then per channel lookup tables are created
to make it meet a well behaved response
of the desired type. The&nbsp; process following that of creating a
display profile is then similar to that of all other
output
devices :- first a set of device colorspace test values needs to be
created to exercise the display, then these values need to be
displayed, while taking measurements of the resulting colors using the
instrument. Finally, the device value/measured color values need to be
converted into an ICC profile.<br>
<br>
<h3><a name="PM1a"></a>Checking you can access your display<br>
</h3>
You might first want to check that you are accessing and can calibrate
your display. You can do this using the <a href="dispwin.html">dispwin</a><span
 style="font-weight: bold;"></span> tool<span style="font-weight: bold;">.</span>
If you just run <span style="font-weight: bold;">dispwin</span>
it will create a test window and run through a series of test colors
before checking that the VideoLUT can be accessed by the display. If
you invoke the usage for <span style="font-weight: bold;">dispwin</span>
(by giving it an unrecognized option, e.g. <span
 style="font-weight: bold;">-?</span>) then it will show a list of
available displays next to the <span style="font-weight: bold;"><span
 style="font-weight: bold;">-d</span></span>
flag. Make sure that you are accessing the display you intend to
calibrate and profile, and that the VideoLUT is effective (the <span
 style="font-weight: bold;">-r</span> flag can be used to just run the
VideoLUT test). You can also try clearing the VideoLUTs using the <span
 style="font-weight: bold;">-c</span> flag, and loading a deliberately
strange looking calibration <span style="font-weight: bold;">strange.cal</span>
that is provided in the Argyll <span style="font-weight: bold;">ref</span>
directory.<br>
<br>
<h3><a name="PM1b"></a>Adjusting and Calibrating Displays</h3>
Please read <a href="calvschar.html">What's the difference between
Calibration and Characterization ?</a> if you are unclear as to the
difference .<br>
<br>
The first step is to decide what the target should be for adjustment
and calibration.
This boils down to three things: The desired brightness, the desired
white point, and the desired response curve. The native brightness and
white points of a display may be different to the desired
characteristics for some purposes. For instance, for graphic arts use,
it might be desirable to run with a warmer white point of about 5000
degrees Kelvin, rather than the default display white point of 6500 to
9000 Kelvin. Some LCD displays are too bright to compare to printed
material under available lighting, so it might be desirable to reduce
the maximum brightness.<br>
<br>
You can run <a href="dispcal.html#r">dispcal -r</a> to check on how
your display is currently set up. (you may have to run this as <span
 style="text-decoration: underline; color: rgb(204, 51, 204);">dispcal
-yl -r</span> for an LCD display, or <span
 style="text-decoration: underline; color: rgb(204, 51, 204);">dispcal
-yc -r</span> for a CRT display with most of the colorimeter
instruments. If so, this will apply to all of the following examples.)<br>
<br>
Once this is done, <a href="dispcal.html">dispcal</a> can be run to
guide you through the display adjustments, and then calibrate it. By
default, the brightness and white point will be kept
the same as the devices natural brightness and white point. The default
response curve is a gamma of 2.4, except for Apple OS X systems prior
to 10.6 where a gamma of 1.8 is the default. 2.4 is close to that
of&nbsp; many
monitors, and close to that of the sRGB colorspace. <br>
<br>
A typical calibration that leaves the brightness and white point alone,
might be:<br>
<br>
<a href="dispcal.html">dispcal</a> -v TargetA<br>
<br>
which will result in a "TargetA.cal" calibration file, that can then be
used during the profiling stage.<br>
<br>
If the absolutely native response of the display is desired during
profiling, then calibration should be skipped, and the linear.cal file
from the "ref" directory used instead as the argument to the -k flag of
<span style="font-weight: bold;">dispread</span>.<br>
<br>
<b>Dispcal</b> will display a test window in the middle of the screen,
and issue a series of instructions about placing the instrument on the
display. You may need to make sure that the display cursor is not in
the test window, and it may also be necessary to disable any
screensaver and powersavers before starting the
process, although both <span style="font-weight: bold;">dispcal</span>
and <span style="font-weight: bold;">dispread</span> will attempt to
do this for you. It's also highly desirable on CRT's, to clear your
screen
of
any white
or bright background images or windows (running your shell window with
white text on a black background helps a lot here.), or at least keep
any bright areas away from the test window, and be careful not to
change anything on the display while the readings
are taken. Lots of bright images or windows can affect the ability to
measure
the black point accurately, and changing images on the display can
cause inconsistency in the readings,&nbsp; and leading to poor results.<span
 style="font-weight: bold;"></span> LCD displays seem to be
less influenced by what else is on the screen.<br>
<br>
If <span style="font-weight: bold;">dispcal</span> is run
without arguments, it will provide a usage screen. The <span
 style="font-weight: bold;">-c</span> parameter allows selecting a
communication port for an instrument, or selecting the instrument you
want to use,&nbsp; and the <a href="dispcal.html#d"><span
 style="font-weight: bold;">-d</span></a>
option allows selecting a target
display on a multi-display system. On some multi-monitor systems, it
may not be possible to independently calibrate and profile each display
if they appear as one single screen to the operating system, or if it
is not possible to set separate video lookup tables for each
display. You can change the position and size of the test
window using the <a href="dispcal.html#P"><span
 style="font-weight: bold;">-P</span></a> parameter.
You can determine how best to arrange the test window, as well as
whether each display has separate video lookup capability, by
experimenting with the <a href="dispwin.html">dispwin</a> tool. <br>
<br>
For a more detailed discussion on interactively adjusting the display
controls using <span style="font-weight: bold;">dispcal</span>, see <a
 href="dispcal.html#Adjustment">dispcal-adjustment</a>. Once you have
adjusted and calibrated your display, you can move on to the next step.<br>
<br>
When you have calibrated and profiled your display, you can keep it
calibrated using the <a href="dispcal.html#u">dispcal -u</a> option.<br>
<br>
<h4><a name="PM1c"></a>Adjusting, calibrating and profiling in one step.</h4>
If a simple matrix/shaper display profile is all
that is desired, <span style="font-weight: bold;">dispcal</span> can
be used to do this, permitting display adjustment, calibration and
profiling all in one operation. This is done by using the <span
 style="font-weight: bold;"><span style="font-weight: bold;">dispcal </span>-o</span>
flag:<br>
<br>
<a href="dispcal.html">dispcal</a> <a href="dispcal.html#v">-v</a> <a
 href="dispcal.html#o">-o</a> <a href="dispcal.html#p1">TargetA</a><br>
<br>
This will create both a TargetA.cal file, but also a TargetA.icm file.
See <a href="dispcal.html#o">-o</a> and <a href="dispcal.html#O">-O</a>
for other variations.<br>
<br>
For more flexibility in creating a display profile, the separate steps
of creating characterization test values using <span
 style="font-weight: bold;">targen</span>, reading them from the
display using <span style="font-weight: bold;">dispread</span>, and
then creating a profile using <span style="font-weight: bold;">colprof</span>
are used. The following steps illustrate this:<br>
<h4><a name="PM2"></a>Profiling in several steps: Creating display test
values</h4>
If the <span style="font-weight: bold;">dispcal</span> has not been
used to create a display profile at the same time as adjustment and
calibration, then the first step in profiling any output device, is to
create a set
of device colorspace test values. The important parameters needed are:
<br>
<ul>
  <li>What colorspace does the device use ?</li>
  <li>How many test patches do I want to use ?</li>
  <li>What information do I already have about how the device behaves ?</li>
</ul>
For a display device, &nbsp;the colorspace will be RGB. The number of
test patches will depend somewhat on what quality profile you want to
make, what type of profile you want to make, and how long you are
prepared to wait when testing the display.<br>
At a minimum, a few hundred values are needed. A matrix/shaper type of
profile can get by with fewer test values, while a LUT based profile
will give better results if more test values are used. A typical number
might be 200-600 or so values, while 1000-2000 is not an unreasonable
number for a high quality characterization of a display.<br>
<br>
To assist the choice of test patch values, it can help to have a rough
idea of how the device behaves. This could be in the form of an ICC
profile of a similar device, or a lower quality, or previous profile
for that particular device. If one were going to make a very high
quality LUT based profile, then it might be worthwhile to make up a
smaller, preliminary shaper/matrix profile using a few hundred test
points, before embarking on testing the device with several thousand.<br>
<br>
Lets say that we ultimately want to make a profile for the device
"DisplayA", the simplest approach is to make a set of test values that
is
independent of the characteristics of the particular device:<br>
<br>
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> &nbsp;<a
 href="targen.html#d">-d3</a> <a href="targen.html#f">-f500</a> <a
 href="targen.html#p1">DisplayA</a><br>
<br>
If there is a preliminary or previous profile called "OldDisplay"
available, and we want to try creating a "pre-conditioned" set of test
values that will more efficiently sample the device response, then the
following would achieve this:<br>
<u><br>
</u><a href="targen.html"> targen</a> <a href="targen.html#v">-v</a>
&nbsp;<a href="targen.html#d">-d3</a> <a href="targen.html#f">-f500</a>
<a href="targen.html#c">-cOldDisplay.icm</a>
<a href="targen.html#p1">DisplayA</a><br>
<br>
The output of <b>targen</b> will be the file DisplayA.ti1, containing
the device space test values, as well as expected CIE values used for
chart recognition purposes.<br>
<br>
<h4><a name="PM3"></a>Profiling in several steps: Taking readings from
a display</h4>
First it is necessary to connect your measurement instrument to your
computer, and check which communication port it is connected to. In the
following example, it is assumed that the instrument is connected to
the default port 1, which is either the first USB instrument found, or
serial port found. Invoking dispread so as to display the usage
information
(by
using a flag -? or --) will list the identified serial and USB ports,
and their
labels. If we created a calibration for the display using <a
 href="dispcal.html">dispcal</a>, then we will want to use this when we
take the display readings (e.g. TargetA.cal from the calibration
example)..<br>
<br>
<a href="dispread.html">dispread</a> <a href="dispread.html#v">-v</a> <a
 href="dispread.html#k">-k
TargetA.cal</a> <a href="dispread.html#p1">DisplayA</a><br>
<br>
<b>dispread</b> will display a test window in the middle of the screen,
and issue a series of instructions about placing the instrument on the
display. You may need to make sure that the display cursor is not in
the test window, and it may also be necessary to disable any
screensaver before starting the
process. Exactly the same facilities are provided to select alternate
displays using the <span style="font-weight: bold;">-d</span>
parameter, and an alternate location and size for the test window using
the <span style="font-weight: bold;">-P</span> parameter as with <span
 style="font-weight: bold;">dispcal</span>.<br>
<h4><a name="PM4"></a>Profiling in several steps: Creating a display
profile</h4>
There are two basic choices of profile type for a display, a
shaper/matrix profile, or a LUT based profile. They have different
tradeoffs. A shaper/matrix profile will work well on a well behaved
display, that is one that behaves in an additive color manner, will
give
very smooth looking results, and needs fewer test points to create. A
LUT based profile on the other hand, will model any display behaviour
more accurately, and can accommodate gamut mapping and different intent
tables. Often it can show some unevenness and contouring in the results
though.<br>
<br>
To create a matrix/shaper profile, the following suffices:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Display A"</a> <a href="colprof.html#q">-qm</a>
<a href="colprof.html#a">-as</a> <a href="colprof.html#p1">DisplayA</a><br>
<br>
For a LUT based profile, where gamut mapping is desired, then a source
profile will need to be provided to define the source gamut. For
instance, if the display profile was likely to be linked to a CMYK
printing source profile, say "swop.icm", then the following would
suffice:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Display A"</a>
<a href="colprof.html#q">-qm</a> <a href="colprof.html#S">-S</a><a
 href="colprof.html#S">
swop.icm</a> <a href="colprof.html#c">-cpp</a> <a
 href="colprof.html#d">-dmt</a>
<a href="colprof.html#p1">DisplayA</a><br>
<br>
Make sure you check the delta E report at the end of the profile
creation, to see if the profile is behaving reasonably.<br>
If a calibration file was used with <a href="dispread.html">dispread</a>,
then
it
will
be
converted to a vcgt tag in the profile, so that the
operating system or other system color tools load the lookup curves
into the display hardware, when the profile is used.<br>
<h4><a name="PM5"></a>Installing a display profile</h4>
<a href="dispwin.html">dispwin</a> provides a convenient way of
installing a profile as the default system profile for the chosen
display:<br>
<br>
<a href="dispwin.html">dispwin</a> <a href="dispwin.html#I">-I</a> <a
 href="dispwin.html#p1">DisplayA.icm</a><br>
<br>
This also sets the display to the calibration contained in the profile.
If you want to try out a calibration before installing the profile,
using dispwin without the <span style="font-weight: bold;">-I</span>
option will load a calibration (ICC profile or .cal file) into the
current display.<br>
<br>
Some systems will automatically set the display to the calibration
contained in the installed profile (ie. OS X), while on other systems
(ie. MSWindows and Linux/X11) it is necessary to use some tool to do
this. On MSWindows XP you could install the optional&nbsp; <span
 style="font-weight: bold;">Microsoft&nbsp;Color&nbsp;Control&nbsp;Panel&nbsp;Applet&nbsp;for&nbsp;Windows&nbsp;XP</span>
available for
download from
Microsoft to do this, but&nbsp;<span style="font-weight: bold;">NOTE</span>
however that it seems to
have a <span style="font-weight: bold;">bug</span>, in that it
sometimes associates the profiles with the <span
 style="font-weight: bold;">wrong monitor</span> entry. Other display
calibration tools will often install a similar tool, so beware
of there being multiple, competing programs. [ Commonly these will be
in your Start-&gt;Programs-&gt;Startup folder. ]<br>
On Microsoft Vista, you need to use dispwin -L or some other tool to
load the installed profiles calibration at startup.<br>
<br>
To use dispwin to load the installed profiles calibration to the
display, use<br>
<br>
<a href="dispwin.html">dispwin</a> <a href="dispwin.html#L">-L</a><br>
<br>
As per usual, you can select the appropriate display using the <a
 href="dispwin.html#d">-d</a> flag.<br>
<br>
This can be automated on MSWindows and X11/Linux by adding this command
to an appropriate startup script.<br>
More system specific details, including how to create such startup
scripts are <a href="dispprofloc.html">here</a>. <br>
<br>
If you are using Microsoft <span style="font-weight: bold;">Vista</span>,
there
is
a
known
<span style="font-weight: bold;">bug</span> in Vista
that resets the calibration every time a
fade-in effect is executed, which happens if you lock and unlock the
computer, resume from sleep or hibernate, or User Access Control is
activated. Using <a href="dispwin.html">dispwin</a> <a
 href="dispwin.html#L">-L</a> may not restore the calibration, because
Vista filters out setting (what it thinks) is a calibration that is
already loaded. Use <a href="dispwin.html">dispwin</a> <a
 href="dispwin.html#c">-c</a> <a href="dispwin.html#L">-L</a><span
 style="font-family: monospace;"></span> as a workaround, as this will
first clear the calibration, then re-load the current calibration.<br>
<br>
On X11/Linux systems, you could try adding <a href="dispwin.html">dispwin</a>
<a href="dispwin.html#L">-L</a> to your <span
 style="font-weight: bold;">~/.config/autostart</span> file, so that
your window manager automatically sets calibration when it starts. If
you are running XRandR 1.2, you might
consider running the experimental <a href="dispwin.html#D">dispwin -E</a>
in the background, as in its "daemon" mode it will
update the profile and calibration in response to any changes in the
the connected display.<br>
<br>
<h4><a name="PM6"></a>Expert tips when measuring displays:<br>
</h4>
Sometimes it can be difficult to get good quality, consistent and
visually relevant readings from displays, due to various practical
considerations with regard to instruments and the displays themselves.
Argyll's tools have some extra options that may assist in overcoming
these problems.<br>
<br>
If you are using an Eye-One Pro or ColorMunki spectrometer, then you
may wish to use the <a href="dispcal.html#H">high resolution spectral
mode</a> (<span style="font-weight: bold;">-H</span>). This may be
better at capturing the often narrow wavelength peaks that are typical
of display primary colors.<br>
<br>
Another option that can be used with the Eye-One Pro or ColorMunki
spectrometer is the <a href="dispcal.html#V">adaptive measurement mode</a>
(<span style="font-weight: bold;">-V</span>). By default a fixed
measurement integration time is used, as this will give the most
consistent results, but for displays with high contrast ratio's and
deep blacks, the integration time may be too short to give adequate
precision. The adaptive measurement mode increases integration time
when measuring dark colors (which will increase the overall calibration
or profiling time), and is capable of achieving higher precision for
these dark measurements.<br>
<br>
All instruments depend on silicon sensors, and such sensors generate a
temperature dependant level of noise ("dark noise") that is factored
out of the measurements by a dark or black instrument calibration. The
spectrometers in particular need this calibration before commencing
each set of measurements. Often an instrument will warm up as it sits
on a display, and this warming up can cause the dark noise to increase,
leading to inaccuracies in dark patch measurements. The longer the
measurement takes, the worse this problem is likely to be. One way of
addressing this is to "acclimatise" the instrument before commencing
measurements by placing it on the screen in a powered up state, and
leaving it for some time. (Some people leave it for up to an hour to
acclimatise.). Another approach is to try and <a href="dispcal.html#I">compensate
for
dark
calibration
changes</a> (<span style="font-weight: bold;">-Ib</span>)
by
doing on the fly calibrations during the measurements, based on the
assumption that the black level of the display itself won't change
significantly. <br>
<br>
Some displays take a long time to settle down and stabilise. The is
often the case with LCD (Liquid Crystal) displays that use fluorescent
back lights, and these sorts of displays can change in brightness
significantly with changes in temperature. One way of addressing this
is to make sure that the display is given adequate time to warm up
before measurements. Another approach is to try and <a
 href="dispcal.html#I">compensate for display white level</a>&nbsp;
(<span style="font-weight: bold;">-Iw</span>) changes by doing on the
fly calibrations during the measurements. Instrument black level drift
and display white level drift can be combined (<span
 style="font-weight: bold;">-Ibw</span>).<br>
<br>
Colorimeter instruments make use of physical color filters that
approximate the standard observer spectral sensitivity curves. Because
these filters are not perfectly accurate, the manufacturer calibrates
the instrument for typical displays, which is why you have to make a
selection between CRT (Cathode Ray Tube) and LCD (Liquid Crystal
Display) modes. If you are measuring a display that has primary
colorants that differ significantly from those typical displays,&nbsp;
(ie. you have a Wide Gamut Display), then you may get disappointing
results with a Colorimeter. One way of addressing this problem is to
use a <a href="File_Formats.html#.ccmx">Colorimeter Correction Matrix</a>.
These
are
specific
to
a particular Colorimeter and Display make and
model combination, although a matrix for a different but similar type
of display may give better results than none at all. A list of
contributed <span style="font-weight: bold;">ccmx</span> files is <a
 href="ccmxs.html">here</a>.<br>
<span style="font-weight: bold;"></span><br>
<hr size="2" width="100%">
<h3><a name="PS1"></a>Profiling Scanners and other input devices such
as cameras<br>
</h3>
Because a scanner or camera is an input device, it is necessary to go
about
profiling it in quite a different way to an output device. To profile
it, a test chart is needed to exercise the input device response, to
which
the CIE values for each test patch is known. Generally standard
reflection or transparency test charts are used for this purpose.<br>
<h4><a name="PS2"></a>Types of test charts</h4>
The most common and popular test chart for scanner profiling is the
IT8.7/2 chart. This is a standard format chart generally reproduced on
photographic film, containing about 264 test patches.<br>
An accessible and
affordable source of such targets is Wolf Faust a <a
 href="http://www.targets.coloraid.de/">www.coloraid.de</a>.<br>
Another source is LaserSoft <a
 href="http://www.silverfast.com/show/it8/en.html">www.silverfast.com.</a><br>
The Kodak Q-60
Color Input Target is also a typical example:<br>
<br>
<img src="Q60.jpg" alt="Kodak Q60 chart image" height="141" width="200">
<br>
<br>
A very simple chart that is widely available is the Macbeth
ColorChecker chart, although it contains only 24 patches and therefore
is probably not ideal for creating profiles:<br>
<img alt="ColorChecker 24 patch" src="colorchecker.jpg"
 style="width: 112px; height: 78px;"><br>
<br>
Other popular charts are the X-Rite/GretagMacbeth ColorChecker DC and
<a href="http://www.xrite.com/product_overview.aspx?ID=938">ColorChecker
SG</a> charts:<br>
<br>
<img src="DC.jpg" alt="GretagMacbeth ColorChecker DC chart" height="122"
 width="200"> <img alt="ColorChecker SG" src="SG.jpg"
 style="width: 174px; height: 122px;"><br>
<br>
The GretagMacbeth Eye-One Pro Scan Target 1.4 can also be used:<br>
<br>
<img alt="Eye-One Scan Target 1.4" src="i1scan14.jpg"
 style="border: 2px solid ; width: 200px; height: 140px;"><br>
<br>
Also supported is the <a href="http://www.hutchcolor.com/hct.htm">HutchColor
HCT</a> :<br>
<br>
<img alt="HutchColor HCT" src="HCT.jpg"
 style="width: 182px; height: 140px;"><br>
<br>
<br>
and <a
 href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.html">Christophe
M&eacute;tairie's
Digital
TargeT
003</a> and <a
 href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.html">Christophe
M&eacute;tairie's
Digital
Target
-
3</a> :<br>
<br>
<img alt="CMP_DT_003" src="CMP_DT_003.jpg"
 style="width: 186px; height: 141px;">&nbsp; <img
 style="width: 203px; height: 140px;" alt="CMP_Digital_Target-3"
 src="CMP_Digital_Target-3.jpg"><br>
<br>
and the <a href="http://www.silverfast.com/show/dc-targets/en.html">LaserSoft
Imaging
DCPro
Target</a>:<br>
<br>
<img style="width: 153px; height: 122px;" alt="LaserSoft DCPro Target"
 src="LSDC.jpg"><br>
<br>
<h4><a name="PS3"></a>Taking readings from a scanner or camera<br>
</h4>
The test chart you are using needs to be placed on the scanner, and the
scanner needs to be configured to a suitable state, and restored to
that
same state when used subsequently with the resulting profile. For a
camera, the chart needs to be lit in a controlled and even manner using
the light source that will be used for subsequent photographs, and
should be shot so as to minimise any geometric distortion, although the
<a href="scanin.html#p">scanin -p</a> flag may be used to compensate
for some degree of distortion. As with any color profiling task, it is
important to setup a known and repeatable image processing flow, to
ensure that the resulting profile will be usable.<br>
<br>
The chart
should
be captured and saved to a TIFF format file. I will assume the
resulting
file is called scanner.tif. The raster file need only be roughly
cropped so as to contain the test chart (including the charts edges).<br>
<br>
The second step is to extract the RGB values from the scanner.tif file,
and match then to the reference CIE values.
To locate the patch values in the scan, the <b>scanin</b> tool
needs to
be given a template <a href="File_Formats.html#.cht">.cht</a> file
that describes the features of the chart, and
how
the test patches are labeled. Also needed is a file containing the CIE
values for each of the patches in the chart, which is typically
supplied with the chart, available from the manufacturers web site, or
has been measured using a spectrometer.<br>
<br>
<div style="margin-left: 40px;">For an IT8.7/2 chart, this is the <span
 style="font-weight: bold;">ref/</span><b>it8.cht</b>
file supplied with Argyll, and&nbsp; the manufacturer will will supply
an
individual or batch average file along with the chart containing
this
information, or downloadable from their web site.<br>
NOTE that the reference file for the IT8.7/2 chart supplied with <span
 style="font-weight: bold;">Monaco&nbsp;EZcolor</span> can be obtained
by unzipping the .mrf file. (You may have to make a copy of the file
with a .zip extension to do this.)<br>
<br>
For the ColorChecker 24 patch chart, the
<span style="font-weight: bold;">ref/ColorChecker.cht</span> file
should be used, and there is also a <span style="font-weight: bold;">ref/ColorChecker.cie</span>
file provided that is based on the manufacturers reference values for
the chart. You can also create your own reference file using an
instrument and chartread, making use of the chart reference file <span
 style="font-weight: bold;">ref/ColorChecker.ti2</span>:<br>
&nbsp;&nbsp; <a href="chartread.html">chartread</a> -n -a
ColorChecker.ti2<br>
Note that due to the small number of patches, a profile created from
such a chart is not likely to be very detailed.<br>
<br>
For the ColorChecker DC chart, the
<span style="font-weight: bold;">ref/ColorCheckerDC.cht</span> file
should be used, and there will be a ColorCheckerDC reference
file supplied by X-Rite/GretagMacbeth with the chart.<br>
<br>
The ColorChecker SG is relatively expensive, but is preferred by many
people because (like the ColorChecker and ColorCheckerDC) its colors
are composed of multiple different pigments,
giving it reflective spectra that are more representative of the real
world, unlike many other charts that are created out of combination of
3 or 4 colorants.<br>
A limited CIE reference file is available from X-Rite <a
 href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.txt">here</a>,
but
it
is
not
in the usual CGATS format. To convert it to a CIE
reference file useful for <span style="font-weight: bold;">scanin</span>,
you
will
need
to
edit the X-Rite file using a <span style="text-decoration: underline;">plain
text</span> editor, first
deleting everything before the line starting with "A1" and everything
after "N10", then prepending <a href="SG_header.txt">this header</a>,
and appending <a href="SG_footer.txt">this footer</a>, making sure
there are no blank lines inserted in the process.<br>
If you do happen to have access to a more comprehensive instrument
measurement of the ColorChecker SG, or you have measured it yourself
using a color instrument,<br>
then you <span style="text-decoration: underline;">may</span> need to
convert the reference information from spectral <span
 style="font-weight: bold;">ColorCheckerSG.txt</span> file to CIE value
<span style="font-weight: bold;">ColorCheckerSG.cie</span>
reference file,
follow the following steps:<br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="txt2ti3.html">txt2ti3</a>
ColorCheckerSG.txt ColorCheckerSG<br>
&nbsp;&nbsp;&nbsp;&nbsp; <a href="spec2cie.html">spec2cie</a>
ColorCheckerSG.ti3 ColorCheckerSG.cie<br>
<br>
For the Eye-One Pro Scan Target 1.4 chart, the <span
 style="font-weight: bold;"><span style="font-weight: bold;">ref/</span>i1_RGB_Scan_1.4.cht</span>
file should be used, and as there is no reference file accompanying
this chart, the chart needs to be read with an instrument (usually the
Eye-One Pro). This can be done using chartread,&nbsp; making use of the
chart reference file <span style="font-weight: bold;">ref/i1_RGB_Scan_1.4.ti2</span>:<br>
&nbsp;&nbsp;&nbsp; <a href="chartread.html">chartread</a> -n -a
i1_RGB_Scan_1.4<br>
and then rename the resulting <span style="font-weight: bold;">i1_RGB_Scan_1.4.ti3</span>
file to <span style="font-weight: bold;">i1_RGB_Scan_1.4.cie</span><br>
<span style="font-weight: bold;"></span><br>
For the HutchColor HCT chart, the <span style="font-weight: bold;"><span
 style="font-weight: bold;">ref/</span>Hutchcolor.cht</span> file
should be used, and the reference <span style="font-weight: bold;">.txt</span>
file downloaded from the HutchColor website.<br>
<br>
For the Christophe M&eacute;tairie's Digital TargeT 003 chart with 285
patches, the <span style="font-weight: bold;"><span
 style="font-weight: bold;">ref/</span>CMP_DT_003.cht</span>
file
should be used, and the cie reference <span style="font-weight: bold;"></span>files
come
with
the
chart.<br>
<br>
For the Christophe M&eacute;tairie's Digital Target-3 chart with 570
patches, the <span style="font-weight: bold;">ref/CMP_Digital_Target-3.cht</span>
file
should be used, and the cie reference <span style="font-weight: bold;"></span>files
come
with
the
chart.<br>
<br>
For the LaserSoft DCPro chart, the <span style="font-weight: bold;">ref/LaserSoftDCPro.cht</span>
file should be used, and reference <span style="font-weight: bold;">.txt</span>
file downloaded from the <a
 href="http://www.silverfast.com/it8calibration/">Silverfast website</a>.
</div>
<br>
For any other type of chart, a
chart recognition template file will need to be created (this is beyond
the scope of the current documentation, although see&nbsp; the <a
 href="cht_format.html">.cht_format documentation</a>).<br>
<br>
To create the scanner .ti3 file, run the <b>scanin</b> tool as
follows
(assuming an IT8 chart is being used):<br>
<br>
<a href="scanin.html"> scanin</a> -v scanner.tif It8.cht It8ref.txt<br>
<br>
"It8ref.txt" or "It8ref.cie" is assumed to be the name of the CIE
reference file
supplied by the chart manufacturer. The resulting file will be named "<b>scanner.ti3</b>".<br>
<br>
<span style="font-weight: bold;">scanin</span> will process 16 bit per
component .tiff files, which (if the scanner is capable of creating
such files),&nbsp; may improve the quality of the profile. <br>
<br>
If you have any doubts about the correctness of the chart recognition,
or the subsequent profile's delta E report is unusual, then use the
scanin diagnostic flags <a href="scanin.html#d">-dipn</a> and examine
the <span style="font-weight: bold;">diag.tif</span> diagnostic file,
to make sure that the patches are identified and aligned correctly. If
you have problems getting good automatic alignment, then consider doing
a manual alignment by locating the fiducial marks on your scan, and
feeding them into scanin <a href="scanin.html#F">-F</a> parameters.
The fiducial marks should be listed in a clockwise direction starting
at the top left.<br>
<h4><a name="PS4"></a>Creating a scanner or camera input profile</h4>
Similar to a display profile, an input profile can be either a
shaper/matrix or LUT based profile. Well behaved input devices will
probably give the best results
with a shaper/matrix profile, and this may also be the best choice if
your test chart has a small or unevenly distributed set of test patchs
(ie. the IT8.7.2). If a shaper/matrix profile is a poor fit, consider
using a
LUT
type profile.<br>
<br>
When creating a LUT type profile, there is the choice of XYZ or L*a*b*
PCS (Device independent, Profile Connection Space). Often for input
devices, it is better to choose the XYZ PCS, as this may be a better
fit given that input devices are usually close to being linearly
additive in behaviour.<br>
<br>
If the purpose of the input profile is to use it as a substitute for
a
colorimeter, then the <b>-u</b> flag should be used to avoid clipping
values above the white point. Unless the shaper/matrix type profile is
a very good fit, it is probably advisable to use a LUT type profile in
this situation.<br>
<br>
To create a matrix/shaper profile, the following suffices:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Scanner</a> <a href="colprof.html#E">A"</a> <a
 href="colprof.html#q">-qm</a> <a href="colprof.html#a">-as</a>
<a href="colprof.html#p1">scanner</a><br>
<br>
For an XYZ PCS LUT based profile then the following would be used:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Scanner A"</a>
<a href="colprof.html#q">-qm</a>
<a href="colprof.html#a">-ax</a> <a href="colprof.html#p1">scanner</a><br>
<br>
For the purposes of a poor mans colorimeter, the following would
generally be used:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Scanner A"</a>
<a href="colprof.html#q">-qm</a> <a href="colprof.html#a">-ax</a>
<a href="colprof.html#u">-u</a>
<a href="colprof.html#p1">scanner</a><br>
<br>
Make sure you check the delta E report at the end of the profile
creation, to see if the profile is behaving reasonably.<br>
<br>
<br>
If profiling a <span style="font-weight: bold;">camera</span> in <span
 style="font-weight: bold;">RAW</span> mode, then there may be some
advantage in creating a pure matrix only profile, in which it is
assumed that the camera response is completely linear. This may reduce
extrapolation artefacts. If setting the white point will be done in
some application, then it may also be an advantage to use the <span
 style="font-weight: bold;">-u</span> flag and avoid setting the white
point to that of the profile chart:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Camera"</a>
<a href="colprof.html#q">-qm</a> <a href="colprof.html#a">-am</a>
<a href="colprof.html#u">-u</a>
<a href="colprof.html#p1">scanner</a><br>
<br>
<br>
<hr size="2" width="100%">
<h3><a name="PP1"></a>Profiling Printers<br>
</h3>
The overall process is to create a set of device measurement target
values, print them out, measure them, and then create an ICC profile
from the measurements. If the printer is an RGB based printer, then the
process is only slightly more complicated than profiling a display. If
the printer is CMYK based, then some additional parameters are required
to set the total ink limit (TAC) and &nbsp;black generation curve.<br>
<h4><a name="PP2"></a>Creating a print profile test chart</h4>
The first step in profiling any output device, is to create a set
of device colorspace test values. The important parameters needed are:<br>
<ul>
  <li>What colorspace does the device use ?</li>
  <li>How many test patches do I want to use/what paper size do I want
to use ?</li>
  <li>What instrument am I going to use to read the patches ?<br>
  </li>
  <li>If it is a CMYK device, what is the total ink limit ?<br>
  </li>
  <li>What information do I already have about how the device behaves ?</li>
</ul>
Most printers running through simple drivers will appear as if they are
RGB devices. In fact there is no such
thing as a real RGB printer, since printers use white media and the
colorant must subtract from the light reflected on it to create color,
but the printer itself turns the incoming RGB into the native print
colorspace, so for this reason we will tell targen to use the
"Print RGB" colorspace, so that it knows that it's really a subtractive
media. Other drivers will drive a printer more directly, and will
expect a CMYK profile. [Currently Argyll is not capable of creating an
ICC profile for devices with more colorants than CMYK. When this
capability is introduced, it will by creating an additional separation
profile which then allows the printer to be treated as a CMY or CMYK
printer.] One way of telling what sort
of profile is expected for your device is to examine an existing
profile for
that device using <a href="http://www.argyllcms.com/doc/iccdump.html">iccdump</a>.<br>
<br>
The number of test patches will depend somewhat on what quality profile
you want to make, how well behaved the printer is, as well as the
effort needed to read the number of
test values. Generally it is convenient to fill a certain paper size
with the maximum
number of test values that will fit.<br>
<br>
At a minimum, for an "RGB" device, a few hundred values are needed
(400-1000).
For high quality CMYK profiles, 1000-3000 is not an unreasonable number
of
patches.<br>
<br>
To assist the determination of test patch values, it can help to have a
rough idea of how the device behaves, so that the device test point
locations can be pre-conditioned. This could be in the form of an
ICC profile of a similar device, or a lower quality, or previous
profile for that particular device. If one were going to make a very
high quality Lut based profile, then it might be worthwhile to make up
a smaller, preliminary shaper/matrix profile using a few hundred test
points, before embarking on testing the device with several thousand.<br>
<br>
The documentation for the <a
 href="http://www.argyllcms.com/doc/targen.html">targen</a> tool
lists
a
<a href="http://www.argyllcms.com/doc/targen.html#Table">table</a> of
paper
sizes and number of &nbsp;patches for typical situations.<br>
<br>
For a CMYK device, a total ink limit usually needs to be specified.
Sometimes
a device will have a maximum total ink limit set by its manufacturer or
operator,
and some CMYK systems (such as chemical proofing systems) don't have
any
limit. Typical printing devices such as Xerographic printers, inkjet
printers
and printing presses will have a limit. The exact procedure for
determining an
ink limit is outside the scope of this document, but one way of going
about this might be to generate some small (say a few hundred patches)
with targen &amp; pritntarg with different total ink limits, and
printing them out, making the ink limit as large as possible without
striking problems that are caused by too much ink.<br>
<br>
Generally one wants to use the maximum possible amount of ink to
maximize the gamut available on the device. For most CMYK devices, an
ink limit between 200 and 400 is usual, but and ink limit of 250% or
over is generally desirable for reasonably dense blacks and dark
saturated colors. And ink limit of less than 200% will begin to
compromise the fully saturated gamut, as secondary colors (ie
combinations of any two primary colorants) will not be able to reach
full strength.<br>
<br>
Once an ink limit is used in printing the characterization test chart
for a device, it becomes a critical parameter in knowing what the
characterized gamut of the device is. If after
printing the test chart, a greater ink limit were to be used, the the
software would effectively be extrapolating
the device behaviour at total ink levels beyond that used in the test
chart, leading to inaccuracies.<br>
<br>
Generally in Argyll, the ink limit is established when creating the
test chart values, and then carried through the profile making process
automatically. Once the profile has been made
however, the ink limit is no longer recorded, and you, the user, will
have to keep track of it if the ICC profile is used in any program than
needs to know the usable gamut of the device.<br>
<br>
<br>
Lets consider two devices in our examples, "PrinterA" which is an "RGB"
device, and "PrinterB" which is CMYK, and has a target ink limit of
250%.
<br>
<br>
The simplest approach is to make a set of test values that is
independent
of the characteristics of the particular device:<br>
<br>
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> &nbsp;<a
 href="targen.html#d">-d2</a> <a href="targen.html#f">-f1053</a> <a
 href="targen.html#p1">PrinterA</a><br>
<br>
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> &nbsp;<a
 href="targen.html#d">-d4</a> <a href="targen.html#l">-l260</a> <a
 href="targen.html#f">-f1053</a> <a href="targen.html#p1">PrinterB</a><br>
<br>
The number of patches chosen here happens to be right for an A4 paper
size being read using a Spectroscan instrument. See the <a
 href="targen.html#Table">table</a> in&nbsp; the <a href="targen.html">targen</a>
documentation for some other suggested numbers.<br>
<br>
If there is a preliminary or previous profile called "OldPrinterA"
available, and we want to try creating a "pre-conditioned" set of test
values that will more efficiently sample the device response, then the
following would achieve this:<u><br>
</u><br>
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> &nbsp;<a
 href="targen.html#d">-d2</a> <a href="targen.html#f">-f1053</a> <a
 href="targen.html#c">-c OldPrinterA</a>&nbsp;<a href="targen.html#p1">PrinterA</a><br>
<br>
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> &nbsp;<a
 href="targen.html#d">-d4</a> <a href="targen.html#l">-l260</a> <a
 href="targen.html#f">-f1053</a> <a href="targen.html#c">-c OldPrinterB</a>
<a href="targen.html#p1">PrinterB</a><br>
<a href="targen.html#p1"></a><br>
<br>
The output of <b>targen</b> will be the file PrinterA.ti1 and
PrinterB.ti1 respectively, containing the device space test values, as
well as expected CIE values used for chart recognition purposes.<br>
<br>
<h4><a name="PP2b"></a>Printing a print profile test chart<br>
<br>
</h4>
The next step is turn the test values in to a PostScript or TIFF raster
test file that
can printed on the device. The basic information that needs to be
supplied is the type of instrument that will be used to read the
patches, as well as the paper size it is to be formatted for.<br>
<br>
For an X-Rite DTP41, the following would be typical:<br>
<br>
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
<a href="printtarg.html#i">-i41</a> <a href="printtarg.html#p">-pA4</a>
<a href="printtarg.html#p1">PrinterA</a><br>
&nbsp;<br>
For a Gretag Eye-One Pro, the following would be typical:<br>
<br>
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
<a href="printtarg.html#i">-ii1</a> <a href="printtarg.html#p">-pA4</a>
<a href="printtarg.html#p1">PrinterA</a><br>
<br>
For using with a scanner as a colorimeter, the Gretag Spectroscan
layout is suitable, but the <a href="printtarg.html#s">-s</a> flag
should be used so as to generate a layout suitable for scan
recognition, as well as generating the scan recognition template
files. (You probably want to use less patches with <span
 style="font-weight: bold;">targen</span>, when using the <span
 style="font-weight: bold;">printtarg -s</span> flag, e.g. 1026 patches
for an A4R page, etc.) The following would be typical:<br>
<br>
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
<a href="printtarg.html#s">-s</a> <a href="printtarg.html#i">-iSS</a> <a
 href="printtarg.html#p">-pA4R</a> <a href="printtarg.html#p1">PrinterA</a><br>
<span style="font-weight: bold;"><br>
printtarg</span> reads the
PrinterA.ti1
file, creates a PrinterA.ti2 file containing the layout information as
well as the device values and expected CIE values, as well as a
PrinterA.ps file containing the test chart. If the <span
 style="font-weight: bold;">-s</span> flag is used, one or more
PrinterA.cht files is created to allow the <a href="scanin.html">scanin</a>
program to recognize the chart.<br>
<br>
To create TIFF raster files rather than PostScript, use the <a
 href="printtarg.html#t"><span style="font-weight: bold;">-t</span></a>
flag.<br>
<br>
<span style="font-weight: bold;">GSview</span> is a good program to use
to check what the PostScript file will
look like, without actually printing it out. You could also use <span
 style="font-weight: bold;">Photoshop</span> or <span
 style="font-weight: bold;">ImageMagick</span> for this purpose.<br>
<br>
The last step is to print the chart out.<br>
<br>
Using a suitable PostScript or raster file printing program,
downloader, print the chart. If you are not using a TIFF test chart,
and you do not have a PostScript capable printer, then an interpreter
like GhostScript
or even Photoshop could be used to rasterize the file into something
that can be printed. Note that it is important that the PostScript
interpreter or TIFF printing application and printer configuration is
setup for a device profiling run, and that any sort of
color conversion of color correction be turned off so that the device
values in the PostScript or TIFF file are sent directly to the device.
If the device has a
calibration system, then it would be usual to have setup and calibrated
the device before starting the profiling run, and to apply calibration
to the chart values. If Photoshop was to be
used, then
either the chart needs to be a single page, or separate .eps or .tiff
files for
each page should be used, so that they can be converted and printed one
at a time (see the <a href="printtarg.html#e">-e</a> and <a
 href="printtarg.html#t">-t</a> flags).<br>
<br>
<h4><a name="PP3"></a>Reading a print test chart using an instrument</h4>
Once the test chart has been printed, the color of the patches needs to
be read using a suitable instrument.<br>
<br>
Several different instruments are currently supported, some that need
to be used patch by patch, some read a strip at a time, and some read a
sheet at a time. See <a href="instruments.html">instruments</a> for a
current list.<br>
<br>
The instrument needs to be connected to your computer before running
the <a href="chartread.html">chartread</a> command. Both serial port
and USB connected Instruments are supported. A serial port to USB
adapter
might have to be used if your computer doesn't have any serial ports,
and you have a serial interface connected instrument.<br>
<br>
If you run <a href="chartread.html">chartread</a> so as to print out
its usage message (ie. by using a <span style="font-weight: bold;">-?</span>
or <span style="font-weight: bold;">--</span> flags), then it will
list any identified serial ports or USB connected instruments, and
their corresponding number for
the <a href="chartread.html#c">-c</a> option. By default, <a
 href="chartread.html">chartread</a> will try to connect to the first
available USB instrument, or an instrument on the first serial port.<br>
<br>
The only arguments required is
to specify the basename of the .ti2 file. If a non-default serial port
is to be used, then the <span style="font-weight: bold;">-c</span>
option would also be specified.<br>
<br>
&nbsp;e.g. for a Spectroscan on the second port:<br>
<br>
<a href="chartread.html">chartread</a> <a href="chartread.html#c">-c2</a>
<a href="chartread.html#p1">PrinterA</a><br>
<br>
For a DTP41 to the default serial port:<br>
<br>
<a href="chartread.html">chartread</a><a href="chartread.html#i"></a>
<a href="chartread.html#p1">PrinterA</a><br>
<br>
<span style="font-weight: bold;">chartread</span> will interactively
prompt you through the process of reading each sheet or strip. See <a
 href="chartread.html">chartread</a> for more details on the responses
for each type of instrument. Continue with <a href="Scenarios.html#PP5">Creating
a
printer
profile</a>.<br>
<br>
<h4><a name="PP4"></a>Reading a print test chart using a scanner or
camera<br>
</h4>
<br>
Argyll supports using a scanner or even a camera as a substitute for a
colorimeter.
While a scanner or camera is no replacement for a color measurement
instrument, it may give acceptable results in some situations, and may
give better results than a generic profile for a printing device.<br>
<br>
The main limitation of the scanner-as-colorimeter approach are:<br>
<br>
* The scanner dynamic range and/or precision may not match the printers
or what is required for a good profile.<br>
* The spectral interaction of the scanner test chart and printer test
chart with the scanner
spectral response can cause color errors.<br>
* Spectral differences caused by different black amounts in the print
test chart can cause
color errors. <br>
* The scanner reference chart gamut may be much smaller than the
printers gamut, making the scanner profile too inaccurate to be useful.
<br>
<br>
As well as some of the above, a camera may not be suitable if it
automatically adjusts exposure or white point when taking a picture,
and this behavior cannot be disabled.<br>
<br>
The end result is often a profile that has a noticeable color cast,
compared to a profile created using a colorimeter or spectrometer.<br>
<br>
<br>
It is assumed that you have created a scanner or camera profile
following the <a href="http://www.argyllcms.com/doc/Scenarios.html#PS1">procedure</a>
outline above. For best possible results it
is advisable to both profile the scanner or camera, and use it in
scanning the
printed test chart, in as "raw" mode as possible (i.e. using 16 bits
per component images, if the scanner or camera is
capable of doing so; not setting white or black points, using a fixed
exposure etc.). It is
generally advisable to create a LUT type input profile, and use the <a
 href="http://www.argyllcms.com/doc/colprof.html#u">-u</a> flag to
avoid clipping scanned value whiter than the input calibration chart.<br>
<br>
Scan or photograph your printer chart (or charts) on the scanner or
camera previously profiled.
<big><span style="font-weight: bold;">The
scanner or camera must be configured and used exactly the same as it
was when it
was profiled.</span></big><br>
<br>
I will assume the resulting scan/photo input file is called <span
 style="font-weight: bold;">PrinterB.tif</span> (or <span
 style="font-weight: bold;">PrinterB1.tif</span>, <span
 style="font-weight: bold;">PrinterB2.tif</span> etc. in the case of
multiple charts). As with profiling the scanner or camera, the raster
file need
only be roughly cropped so as to contain the test chart.<br>
<br>
The scanner recognition files
created when <span style="font-weight: bold;">printtarg</span> was run
is assumed to be called <span style="font-weight: bold;">PrinterB.cht</span>.
Using
the
scanner
profile
created previously (assumed to be called <span
 style="font-weight: bold;">scanner.icm</span>), the printer test chart
scan patches are converted to CIE values using the <span
 style="font-weight: bold;">scanin</span> tool:<br>
<br>
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
 href="scanin.html#c">-c</a> <a href="scanin.html#cp1">PrinterB.tif</a>
<a href="scanin.html#cp2">PrinterB.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
<a href="scanin.html#cp4">PrinterB</a><br>
<br>
If there were multiple test chart pages, the results would be
accumulated page by page using the <a href="scanin.html#ca">-ca</a>
option, ie., if there were 3 pages:<br>
<br>
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
 href="scanin.html#c">-c</a> <a href="scanin.html#cp1">PrinterB1.tif</a>
<a href="scanin.html#cp2">PrinterB1.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
<a href="scanin.html#cp4">PrinterB</a><br>
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
 href="scanin.html#ca">-ca</a> <a href="scanin.html#cp1">PrinterB2.tif</a>
<a href="scanin.html#cp2">PrinterB2.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
<a href="scanin.html#cp4">PrinterB</a><br>
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
 href="scanin.html#ca">-ca</a> <a href="scanin.html#cp1">PrinterB3.tif</a>
<a href="scanin.html#cp2">PrinterB3.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
<a href="scanin.html#cp4">PrinterB</a><br>
<br>
Now that the <span style="font-weight: bold;">PrinterB.ti3</span> data
has been obtained, the profile continue in the next section with <span
 style="font-weight: bold;">Creating a printer profile</span>.<br>
<br>
If you have any doubts about the correctness of the chart recognition,
or the subsequent profile's delta E report is unusual, then use the
scanin diagnostic flags <a href="scanin.html#d">-dipn</a> and examine
the <span style="font-weight: bold;">diag.tif</span> diagnostic file.<br>
<h4><a name="PP5"></a>Creating a printer profile<br>
</h4>
Creating an RGB based printing profile is very similar to creating a
display device profile. For a CMYK printer, some additional information
is needed to set the black generation.<br>
<br>
Where the resulting profile will be used conventionally (ie. using <a
 href="collink.html">collink</a> <a href="collink.html#s">-s</a>, or <a
 href="cctiff.html">cctiff</a> or most
other "dumb" CMMs) it is important to specify that gamut mapping should
be computed for the output (B2A) perceptual and saturation tables. This
is done by specifying a device profile as the parameter to the <a
 href="colprof.html">colprof</a> <a href="colprof.html#S">-S</a> flag.
When you intend to create a "general use" profile, it can be a good
technique to specify the source gamut as the opposite
type of profile to that being created, i.e. if a printer profile is
being
created, specify a display profile (e.g. sRGB) as the source gamut. If
a display profile is being created, then specify a printer profile as
the source
(e.g. SWOP).&nbsp; When linking to the profile you have created this
way as the output profile, then use perceptual intent if the source is
the opposite type, and relative colorimetric if it is the same type.<br>
<br>
"Opposite type of profile" refers to the native gamut of the device,
and what its fundamental nature is, additive or subtractive. An
emissive display will have additive primaries (R, G &amp; B), while a
reflective print, will have subtractive primaries (C, M, Y &amp;
possibly others), irrespective of what colorspace the printer is driven
in (a printer might present an RGB interface, but internally this will
be converted to CMY, and it will have a CMY type of gamut).&nbsp;
Because of the complimentary nature of additive and subtractive device
primary colorants, these types of devices have the most different
gamuts, and hence need the most gamut mapping to convert from one
colorspace to the other.<br>
<br>
If you are creating a profile for a specific purpose, intending to link
it to a specific input profile, then you will get the best results by
specifying that source profile as the source gamut.<br>
<br>
If a profile is only going to be used as an input profile, or is going
to be used with a "smart" CMM (e.g. <a href="collink.html">collink</a>
<a href="collink.html#g">-g</a> or <a href="collink.html#G">-G</a>),
then it can save considerable processing time and space if the -b flag
is used, and the -S flag not used.<br>
<br>
For an RGB printer intended to print RGB originals, the following might
be a typical profile usage:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Printer A"</a> <a href="colprof.html#q">-qm</a>
<a href="colprof.html#S">-S</a><a href="colprof.html#S"> sRGB.icm</a> <a
 href="colprof.html#c">-cmt</a> <a href="colprof.html#d">-dpp</a>
<a href="colprof.html#p1">PrinterA</a><br>
<br>
or if you intent to print from SWOP style CMYK originals:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Printer A"</a> <a href="colprof.html#q">-qm</a>
<a href="colprof.html#S">-S</a><a href="colprof.html#S">
swop.icm</a> <a href="colprof.html#c">-cmt</a> <a
 href="colprof.html#d">-dpp</a>
<a href="colprof.html#p1">PrinterA</a><br>
<br>
<h4><a name="PP6"></a>Choosing a black generation curve (and other CMYK
printer options)<br>
</h4>
For a CMYK printer, it would be normal to specify the type of black
generation, either as something simple, or as a specific curve. The
documentation&nbsp; in <a href="colprof.html#k">colprof</a> for the
details of the options.<span style="font-weight: bold;"><br>
<br>
Note</span> that making a good choice of black generation curve can
affect things such as: how robust neutrals are given printer drift or
changes in viewing lighting, how visible screening is, and how smooth
looking the B2A conversion is.<br>
<br>
For instance, maximizing the level of K will mean that the neutral
colors are composed of greater amounts of Black ink, and black ink
retains its neutral appearance irrespective of printer behavior or the
spectrum of the illuminant used to view the print. On the other hand,
output which is dominantly from one of the color channels will tend to
emphasize the screening pattern and any unevenness (banding etc.) of
that channel, and the black channel in particular has the highest
visibility. So in practice, some balance between the levels of the four
channels is probably best, with more K if the screening is fine and a
robust neutral balance is important, or less K if the screening is more
visible and neutral balance is less critical. The levels of K at the
edges of the gamut of the device will be fixed by the nature of the ink
combinations that maximize the gamut (ie. typically zero ink for light
chromatic colors, some combination for dark colors, and a high level of
black for very dark near neutrals), and it is also usually important to
set a curve that smoothly transitions to the K values at the gamut
edges. Dramatic changes in K imply equally dramatic changes in CMY, and
these abrupt transitions will reveal the limited precision and detail
that can be captured in a lookup table based profile, often resulting
in a "bumpy" looking output.<br>
<br>
If you want to experiment with the various
black
generation parameters, then it might be a good idea to create a
preliminary profile (using <a href="colprof.html#q">-ql</a> <a
 href="colprof.html#b">-b</a> <a href="colprof.html#ni">-no</a>, <a
 href="colprof.html#no">-ni</a> and
no <a href="colprof.html#S">-S</a>), and then used <a
 href="xicclu.html#g">xicclu</a>
to explore the effect of the parameters.<br>
<br>
For instance, say we have our CMYK .ti3 file <span
 style="font-weight: bold;">PrinterB.ti3</span>. First we make a
preliminary profile called <span style="font-weight: bold;">PrinterBt</span>:<br>
<br>
copy PrinterB.ti3 PrinterBt.ti3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Use "cp"
on Linux or OSX of course.)<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#q">-qm</a>
<a href="colprof.html#b">-b</a> <a href="colprof.html#c">-cmt</a>
<a href="colprof.html#d">-dpp</a>
<a href="colprof.html#p1">PrinterBt</a><br>
<br>
Then see what the minimum black level down the neutral axis can be.
Note that we need to also set any ink limits we've decided on as well
(coloprof defaulting to 10% less than the value recorded in the .ti3
file). In this example the test chart has a 300% total ink limit, and
we've decided to use 290%:<br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#k">-kz</a> <a href="xicclu.html#l">-l290</a> <a
 href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
 href="xicclu.html#p1">PrinterBt.icm</a><br>
<br>
Which might be a graph something like this:<br>
<br>
<img alt="Graph of CMYK neutral axis with minimum K" src="Kgraph1.jpg"
 style="width: 250px; height: 250px;"><br>
<br>
Note&nbsp; how the minimum black is zero up to 93% of the
white-&gt;black L* curve, and then jumps up to 87%. This is because
we've reached
the total ink limit, and K then has to be substituted for CMY, to keep
the total under the total ink limit.<br>
<br>
Then let's see what the maximum black level down the neutral axis can
be:<br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#k">-kx</a> <a href="xicclu.html#l">-l290</a> <a
 href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
 href="xicclu.html#p1">PrinterBt.icm</a><br>
<br>
Which might be a graph something like this:<br>
<br>
<img alt="Graph of CMYK neutral axis with maximum K" src="Kgraph2.jpg"
 style="width: 250px; height: 250px;"><br>
<br>
Note how the CMY values are fairly low up to 93% of the white-&gt;black
L* curve
(the low levels of CMY are helping set the neutral color), and then
they jump up.
This is because we've reach the point where black on it's own, isn't as
dark as the color that can be achieved using CMY and K. Because the K
has a dominant effect on the hue of the black, the levels of CMY are
often fairly volatile in this region.<br>
<br>
Any K curve we specify must lie between the black curves of the above
two graphs.<br>
<br>
Let's say we'd like to chose a moderate black curve, one that aims for
about equal levels of CMY and K. We should also aim for it to be fairly
smooth, since this will minimize visual artefacts caused by the limited
fidelity that profile LUT tables are able to represent inside the
profile.<br>
<br>
<img style="width: 340px; height: 258px;" alt="-k parameters"
 src="Kparams.jpg"><br>
<br>
<br>
For minimum discontinuities we should aim for the curve to
finish at the point it has to reach to satisfy the total ink limit at
87% curve and 93% black. For a first try we can simply set a straight
line to that point: <br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#k">-kp 0 0 .93 .87 1.0</a> <a href="xicclu.html#l">-l290</a>
<a href="xicclu.html#f">-fif</a>
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
<br>
<img alt="Graph of CMYK neutral axis with kp 0 0 1.0 1.0 1.0 -l290"
 src="Kgraph3.jpg" style="width: 250px; height: 250px;"><br>
<br>
The black "curve" hits the 93%/87% mark well, but is a bit too far
above CMY, so we'll try making the black curve concave:<br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87 0.65</a>
<a href="xicclu.html#l">-l290</a>
<a href="xicclu.html#f">-fif</a>
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
<br>
<img alt="Graph of CMYK neutral axis with -kp 0 .05 1 .9 1 -l290"
 src="Kgraph4.jpg" style="width: 250px; height: 249px;"><br>
<br>
This looks just about perfect, so the the curve parameters can now be
used to generate our real profile:<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Printer B"</a> <a href="colprof.html#q">-qm</a>
<a href="colprof.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87
0.65</a> <a href="colprof.html#S">-S</a><a href="colprof.html#S">
sRGB.icm</a> <a href="colprof.html#c">-cmt</a>
<a href="colprof.html#d">-dpp</a>
<a href="colprof.html#p1">PrinterB</a><br>
<br>
and the resulting B2A table black curve can be checked using xicclu:<br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#f">-fb</a>
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterB.icm</a><br>
<br>
<img style="width: 250px; height: 250px;" alt="sadsadas"
 src="Kgraph5.jpg"><br>
<br>
<br>
<hr
 style="margin-left: 0px; margin-right: auto; width: 20%; height: 2px;"><br>
<span style="font-weight: bold;">Examples of other inkings:<br>
<br>
</span>A smoothed zero black inking:<br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 .7 .93 .87 1.0</a>
<a href="xicclu.html#l">-l290</a>
<a href="xicclu.html#f">-fif</a>
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
<br>
<img style="width: 250px; height: 250px;" alt="sadsadas"
 src="Kgraph6.jpg"><br>
<br>
A low black inking:<br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87 0.15</a>
<a href="xicclu.html#l">-l290</a>
<a href="xicclu.html#f">-fif</a>
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
<br>
<img style="width: 250px; height: 250px;" alt="sadsadas"
 src="Kgraph7.jpg"><br>
<br>
<br>
A high black inking:<br>
<br>
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
 href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87 1.2</a>
<a href="xicclu.html#l">-l290</a>
<a href="xicclu.html#f">-fif</a>
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
<br>
<img style="width: 250px; height: 250px;" alt="sadsadas"
 src="Kgraph8.jpg"><br>
<br>
<span style="font-weight: bold;"></span>
<h4>Overriding the ink limit<br>
</h4>
Normally the total ink limit
will be read from the <span style="font-weight: bold;">PrinterB.ti3</span>
file, and will be set at a level 10% lower than the number used in
creating the test chart values using <a href="targen.html#l">targen -l</a>.
If
you
want
to
override this with a lower limit, then use the <a href="colprof.html#l">-l
flag</a>.<br>
<br>
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
 href="colprof.html#E">-D"Printer B"</a> <a href="colprof.html#q">-qm</a>
<a href="colprof.html#S">-S</a><a href="colprof.html#S"> sRGB.icm</a> <a
 href="colprof.html#c">-cmt</a> <a href="colprof.html#d">-dpp</a> <a
 href="colprof.html#k">-kr</a>
<a href="xicclu.html#l">-l290</a> <a href="colprof.html#p1">PrinterB</a><br>
<br>
Make sure you check the delta E report at the end of the profile
creation, to see if the profile is behaving reasonably.<br>
<br>
One way of checking that your ink limit is not too high, is to use "<span
 style="font-weight: bold;">xicc -fif -ia</span>" to check, by setting
different ink limits using the <span style="font-weight: bold;">-l</span>
option, feeding Lab = 0 0 0 into it, and checking the resulting&nbsp;
black point. Starting with the ink limit used with <span
 style="font-weight: bold;">targen</span> for the test chart, reduce it
until the black point starts to be affected. If it is immediately
affected by any reduction in the ink limit, then the black point may be
improved by increasing the ink limit used to generate the test chart
and then re-print and re-measuring it, assuming
other aspects such as wetness, smudging, spreading or drying time are
not an issue.<br>
<br>
<hr style="width: 100%; height: 2px;"><br>
<h3><a name="PC1"></a>Calibrating Printers<br>
</h3>
<span style="font-weight: bold;">Profiling</span> creates a description
of how a device behaves, while <span style="font-weight: bold;">calibration</span>
on the other hand is
intended to <span style="text-decoration: underline;">change</span>
how a device behaves. Argyll has the ability to
create per-channel device space calibration curves for print devices,
that
can
then be used to improve the behavior of of the device, making a
subsequent
profile fit the device more easily and also allow day to day
correction of device drift without resorting to a full re-profile.<br>
<br>
<span style="font-weight: bold;">NOTE:</span> Because calibration adds
yet another layer to the way color is processed, it is recommended
that it not be attempted until the normal profiling workflow is
established,
understood and verified.<br>
<h4><a name="PC2"></a>Calibrated print workflows</h4>
There are two main workflows that printer calibration curves can be
applied to:<br>
<br>
<span style="text-decoration: underline;">Workflow <span
 style="font-weight: bold;">with</span> native calibration capability</span>:<br>
<br>
Firstly the printer itself may have the capability of using per channel
calibration curves. In this situation, the calibration process will be
largely independent of profiling. Firstly the printer is configured to
have both its color management and calibration disabled (the latter
perhaps achieved by loading linear calibration curves), and a print
calibration test chart that consists of per channel color wedges is
printed. The calibration chart is read and the resulting .ti3 file
converted into calibration curves by
processing it using <span style="font-weight: bold;">printcal</span>.
The calibration is then installed into the printer. Subsequent
profiling will be performed on the <span
 style="text-decoration: underline;">calibrated</span> printer (ie. the
profile
test chart will have the calibration curves applied to it by the
printer, and the resulting ICC profile will represent the behavior of
the calibrated printer.)<br>
<br>
<span style="text-decoration: underline;">Workflow <span
 style="font-weight: bold;">without</span> native calibration capability</span>:<br>
<br>
The second workflow is one in which the printer has no calibration
capability itself. In this situation, the calibration process will have
to be applied using the ICC color management tools, so careful
coordination with profiling is needed. Firstly the printer is
configured to have its color management disabled, and a print
calibration test chart that consists
of per channel color wedges is printed. The calibration chart is
converted into calibration curves by reading it and then processing the
resultant .ti3 using <span style="font-weight: bold;">printcal</span>,.
During
the
subsequent
<span style="text-decoration: underline;">profiling</span>, the
calibration curves will need to be applied to the
profile test chart in the process of using <span
 style="font-weight: bold;">printtarg</span>. Once the the profile has
been created, then in subsequent printing the calibration curves will
need to be applied to an image being printed either explicitly when
using <span style="font-weight: bold;">cctiff</span> to apply color
profiles <span style="text-decoration: underline;">and</span>
calibration, <span style="font-weight: bold;">OR</span>
by creating
a version of the profile that has had the calibration curves
incorporated into it using the <span style="font-weight: bold;">applycal</span>
tool. The latter is useful when some CMM (color management module)
other than <span style="font-weight: bold;">cctiff </span>is being
used.<br>
<br>
Once calibration aim targets for a particular device and mode
(screening,
paper etc.) have been established, then the printer can be
re-calibrated at any time to bring its per channel behavior back into
line if it drifts, and the new calibration curves can be installed into
the printer, or re-incorporated into the profile. &nbsp;
<h4><a name="PC3"></a>Creating a print calibration test chart</h4>
The first step is to create a print calibration test chart. Since
calibration only creates per-channel curves, only single channel step
wedges are required for the chart. The main choice is the number of
steps in each wedge. For simple fast calibrations perhaps as few as 20
steps per channel may be enough, but for a better quality of
calibration something like 50 or more steps would be a better choice.<br>
<br>
Let's consider two devices in our examples, "PrinterA" which is an
"RGB"
printer device, and "PrinterB" which is CMYK. In fact there is no such
thing as a real RGB printer, since printers use white media and the
colorant must subtract from the light reflected on it to create color,
but the printer itself turns the incoming RGB into the native print
colorspace, so for this reason we are careful to tell targen to use the
"Print RGB" colorspace, so that it knows to create step wedges from
media white to full colorant values.<br>
<br>
For instance, to create a 50 steps per channel calibration test chart
for our RGB and CMYK devices, the following would be sufficient:<br>
<br>
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> &nbsp;<a
 href="targen.html#d">-d2</a> <a href="targen.html#s">-s50</a> <a
 href="targen.html#e">-e3</a> <a href="targen.html#f">-f0</a> <a
 href="targen.html#p1">PrinterA_c</a><br>
<br>
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> &nbsp;<a
 href="targen.html#d">-d4</a> <a href="targen.html#s">-s50</a> <a
 href="targen.html#e">-e4</a> <a href="targen.html#f">-f0</a> <a
 href="targen.html#p1">PrinterB_c</a><br>
<a href="targen.html#p1"></a><br>
For an outline of how to then print and read the resulting test chart,
see&nbsp; <a href="Scenarios.html#PP2b">Printing a print profile test
chart</a>, and <a href="Scenarios.html#PP3">Reading a print test chart
using an instrument</a>. Note that the printer must be in an
un-profiled and un-calibrated mode when doing this print. Having done
this, there will be a PrinterA.ti3 or PrinterB.ti3 file
containing the step wedge calibration chart readings.<br>
<br>
<span style="font-weight: bold;">NOTE</span> that if you are
calibrating a raw printer driver, and there is considerable dot gain,
then you may want to use the <a href="targen.html#p">-p</a> parameter
to adjust the test chart point distribution to spread them more evenly
in perceptual space, giving more accurate control over the calibration.
Typically this will be a value greater than one for a device that has
dot gain, e.g. values of 1.5, 2.0 or 2.5 might be good places to start.<br>
<h4><a name="PC4"></a>Creating a printer calibration<br>
</h4>
The <a href="printcal.html">printcal</a> tool turns a calibration
chart <a href="File_Formats.html#.ti3">.ti3</a> file into a <a
 href="File_Formats.html#.cal">.cal</a> file. It has three main
operating
modes:- Initial calibration, Re-Calibration, and Verification. (A
fourth mode, "Imitation" is very like Initial Calibration, but is used
for establishing a calibration target that a similar printer can
attempt to imitate.)<br>
<br>
The distinction between Initial Calibration and Re-Calibration is that
in the initial calibration we establish the "aim points" or response we
want out of the
printer after calibration. There are three basic parameters to set this
for each channel: Maximum level, minimum level, and curve shape.<br>
<br>
By default the maximum level will be set using a heuristic which
attempts to pick the point when there is diminishing returns for
applying more colorant. This can be overridden using the <span
 style="font-weight: bold;">-x# percent</span> option, where <span
 style="font-weight: bold;">#</span> represents the choice of channel
this will be applied to. The parameter is the percentage of device
maximum. <br>
<br>
The minimum level defaults to 0, but can be overridden using the <span
 style="font-weight: bold;">-n# deltaE</span> option. A minimum of 0
means that zero colorant will correspond to the natural media color,
but it may be desirable to set a non-pure media color using calibration
for the purposes of emulating some other media. The parameter is in
Delta E units.<br>
<br>
The curve shape defaults to being perceptually uniform, which means
that even steps of calibrated device value result in perceptually even
color steps. In some situations it may be desirable to alter this curve
(for instance when non color managed output needs to be sent to the
calibrated printer), and a simple curve shape target can be set using
the <span style="font-weight: bold;">-t# percent</span> parameter.
This affects the output value at 50% input value, and represents the
percentage of perceptual output. By default it is 50% perceptual output
for 50% device input.<br>
<br>
Once a device has been calibrated, it can be re-calibrated to the same
aim target.<br>
<br>
Verification uses a calibration test chart printed through the
calibration, and compares the achieved response to the aim target.<br>
<br>
The simplest possible way of creating the <span
 style="font-weight: bold;">PrinterA.cal</span> file is:<br>
<br>
&nbsp;
<a href="printcal.html">printcal</a> <a href="printcal.html#i">-i</a> <a
 href="colprof.html#p2">PrinterA_c</a><br>
<br>
For more detailed information, you can add the <span
 style="font-weight: bold;">-v</span> and <span
 style="font-weight: bold;">-p</span> flags:<br>
<br>
&nbsp;
<a href="printcal.html">printcal</a> <a href="printcal.html#v">-v</a> <a
 href="printcal.html#p">-p</a> <a href="printcal.html#i">-i</a> <a
 href="colprof.html#p2">PrinterB_c</a><br>
<br>
(You will need to select the plot window and hit a key to advance past
each plot).<br>
<br>
For re-calibration, the name of the previous calibration file will need
to be supplied, and a new calibration<br>
file will be created:<br>
<br>
&nbsp;
<a href="printcal.html">printcal</a> <a href="printcal.html#v">-v</a> <a
 href="printcal.html#p">-p</a> <a href="printcal.html#r">-r</a> <a
 href="colprof.html#p1">PrinterB_c_old</a> <a href="colprof.html#p2">PrinterB_c_new</a><br>
<br>
Various aim points are normally set automatically by <span
 style="font-weight: bold;">printcal</span>, but these can be
overridden using the <a href="colprof.html#x">-x</a>, <a
 href="colprof.html#n">-n</a> and <a href="colprof.html#t">-t</a>
options. e.g. say we wanted to set the maximum ink for Cyan to 80% and
Black to 95%, we might use:<br>
<br>
&nbsp;
<a href="printcal.html">printcal</a> <a href="printcal.html#v">-v</a> <a
 href="printcal.html#p">-p</a> <a href="printcal.html#i">-i</a> <a
 href="colprof.html#x">-xc 80</a> <a href="colprof.html#x">-xk 95</a> <a
 href="colprof.html#p2">PrinterB_c</a><br>
<br>
<a href="colprof.html#p2"></a>
<h4><a name="PC5"></a>Using a printer calibration</h4>
The resulting calibration curves can be used with the following other
Argyll tools:<br>
<br>
&nbsp;&nbsp;&nbsp; <a href="printtarg.html#K">printtarg</a>&nbsp;&nbsp;&nbsp;&nbsp;
To
apply
calibration
to
a profile test chart, and/or to have it
included in .ti3 file.<br>
&nbsp;&nbsp;&nbsp; <a href="cctiff.html#p2">cctiff</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
To
apply
color
management
and calibration to an image file.<br>
&nbsp;&nbsp;&nbsp; <a href="applycal.html#p1">applycal</a>&nbsp;&nbsp;&nbsp;&nbsp;
To
incorporate
calibration
into
an ICC profile.<br>
&nbsp;&nbsp;&nbsp; <a href="chartread.html#I">chartread</a>&nbsp;&nbsp;
To
override
the
calibration
assumed when reading a profile chart.<br>
<br>
<br>
In a workflow <span style="font-weight: bold;">with</span> native
calibration capability, the calibration curves would be used with
printarg during subsequent <span style="font-weight: bold;">profiling</span>
so that any ink limit calculations will reflect final device values,
while not otherwise using the calibration within the ICC workflow:<br>
<br>
&nbsp;&nbsp;&nbsp; <a href="printtarg.html">printtarg</a> <a
 href="printtarg.html#v">-v</a>
<a href="printtarg.html#i">-ii1</a> <a href="printtarg.html#p">-pA4</a>
<a href="printtarg.html#I">-I PrinterA_c.cal</a>
<a href="printtarg.html#p1">PrinterA</a><br>
<br>
This will cause the .ti2 and resulting .ti3 and ICC profiles to contain
the calibration curves, allowing all the tools to be able to compute
final device value ink limits. The calibration curves must also of
course be installed into the printer. The means to do this is currently
outside the scope of Argyll (ie. either the print system needs to be
able to understand Argyll CAL format files, or some tool will be
needed to convert Argyll CAL files into the printer calibration format).<br>
<br>
<br>
In a workflow <span style="font-weight: bold;">without</span> native
calibration capability, the calibration curves would be used with
printarg to <span style="text-decoration: underline;">apply</span> the
calibration to the test patch samples during subsequent <span
 style="font-weight: bold;">profiling</span>, as well as embedding it
in the resulting .ti3 to allow all the tools to be able to compute
final device value ink limits:<br>
<br>
&nbsp;&nbsp;&nbsp; <a href="printtarg.html">printtarg</a> <a
 href="printtarg.html#v">-v</a>
<a href="printtarg.html#i">-ii1</a> <a href="printtarg.html#p">-pA4</a>
<a href="printtarg.html#K">-K PrinterA_c.cal</a>
<a href="printtarg.html#p1">PrinterA</a><br>
<a href="cctiff.html#p4"></a><br>
To apply calibration to an ICC profile, so that a calibration unaware
CMM can be used:<br>
<br>
&nbsp;&nbsp;&nbsp; <a href="applycal.html">applycal</a> <a
 href="applycal.html#p1">PrinterA.cal</a> <a href="applycal.html#p2">PrinterA.icm</a>
<a href="applycal.html#p3">PrinterA_cal.icm</a><br>
<br>
To apply color management and calibration to a raster image:<br>
<br>
&nbsp;&nbsp;&nbsp; <a href="cctiff.html">cctiff</a> <a
 href="cctiff.html#p1">Source2Destination.icm</a>
<a href="cctiff.html#p2">PrinterA_c.cal</a>
<a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
<br>
<br>
Another useful tool is <a href="synthcal.html">synthcal</a>, that
allows creating linear or synthetic calibration files for disabling
calibration or testing.<br>
Similarly, <a href="fakeread.html">fakeread</a> also supports applying
calibration curves and embedding them in the resulting .ti3 file<br>
<h4><a name="PC6"></a>How profile ink limits are handled when
calibration is being used.</h4>
Even though the profiling process is carried out on top of the
linearized device, and the profiling is generally unaware of the
underlying non-linearized device values, an exception is made in the
calculation of ink limits during profiling. This is made possible
by including the calibration curves in the profile charts .ti2 and
subsequent .ti3 file and resulting ICC profile <span
 style="font-weight: bold;">'targ'</span> text tag, by way of the <span
 style="font-weight: bold;">printtarg</span> <span
 style="font-weight: bold;">-I</span> or <span
 style="font-weight: bold;">-K</span> options. This is done on the
assumption that the physical quantity of ink is what's important in
setting the ink limit, and that the underlying non-linearized device
values represent such a physical quantity.<br>
<br>
<br>
<hr size="2" width="100%">
<h3><a name="LP1"></a>Linking Profiles</h3>
Two device profiles can be linked together to create a device link
profile,
than encapsulates a particular device to device transform. Often this
step is not necessary, as many systems and tools will link two
device profiles "on the fly", but creating a device link profile gives
you the option of using "smart CMM" techniques, such as true gamut
mapping, improved inverse transform accuracy, tailored black
generation and
ink limiting.<br>
<br>
The overall process is to link the input space and
output space profiles using <a href="collink.html">collink</a>,
creating a device to device link profile. The device to device link
profile can then be used by cctiff (or other ICC device profile capable
tools), to color
correct a raster files.<br>
<br>
Three examples will be given here, showing the three different modes
than <span style="font-weight: bold;">collink</span> supports.<br>
<br>
In <a href="collink.html#s">simple mode</a>, the two profiles are
linked together in a similar fashion to other <span
 style="font-weight: bold;">CMMs</span> simply using the forward and
backwards color transforms defined by the profiles. Any gamut mapping
is determined by the content of the tables within the two profiles,
together with the particular intent chosen. Typically the same intent
will be used for both the source and destination profile:<br>
<br>
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
 href="collink.html#q">-qm</a> <a href="collink.html#s">-s</a> <a
 href="collink.html#si">-ip</a> <a href="collink.html#so">-op</a> <a
 href="collink.html#p1">SouceProfile.icm</a> <a href="collink.html#p2">DestinationProfile.icm</a>
<a href="collink.html#p3">Source2Destination.icm</a><br>
<br>
<br>
In <a href="collink.html#g">gamut mapping mode</a>, the pre-computed
intent mappings inside the profiles are not used, but instead the gamut
mapping between source and destination is tailored to the specific
gamuts of the two profiles, and the intent parameter supplied to <span
 style="font-weight: bold;">collink</span>. Additionally, source and
destination viewing conditions should be provided, to allow the color
appearance space conversion to work as intended. The colorimetric B2A
table in the destination profile is used, and this will determine any
black generation and ink limiting:<br>
<br>
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
 href="collink.html#q">-qm</a> <a href="collink.html#g">-g</a> <a
 href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a> <a
 href="collink.html#d">-dpp</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
<a href="collink.html#p2">DestinationProfile.icm</a>
<a href="collink.html#p3">Source2Destination.icm</a><br>
<br>
<br>
In <a href="collink.html#G">inverse output table gamut mapping mode</a>,
the
pre-computed
intent
mappings
inside the profiles are not used, but
instead the gamut mapping between source and destination is tailored to
the specific gamuts of the two profiles, and the intent parameter
supplied to <span style="font-weight: bold;">collink</span>. In
addition, the B2A table is <span style="font-weight: bold;">not</span>
used in the destination profile, but the
A2B table is instead inverted, leading to improved transform accuracy,
and in CMYK devices, allowing the ink limiting and black generation
parameters to be set:<br>
<br>
For a CLUT table based RGB printer destination profile, the following
would be appropriate:<br>
<br>
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
 href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
 href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a> <a
 href="collink.html#d">-dpp</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
<a href="collink.html#p2">RGBDestinationProfile.icm</a>
<a href="collink.html#p3">Source2Destination.icm</a><br>
<br>
For a CMYK profile, the total ink limit needs to be specified (a
typical value being 10% less than the value used in creating the device
test chart), and the type of black generation also needs to be
specified:<br>
<br>
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
 href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
 href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a> <a
 href="collink.html#d">-dpp</a> <a href="collink.html#l">-l250</a> <a
 href="collink.html#k">-kr</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
<a href="collink.html#p2">CMYKDestinationProfile.icm</a>
<a href="collink.html#p3">Source2Destination.icm</a><br>
<br>
Note that you should set the source (<a href="collink.html#c">-c</a>)
and
destination (<a href="collink.html#d">-d</a>)
viewing conditions for the type of device the profile represents, and
the conditions under which it will be viewed.<br>
<br>
<h3><a name="LP2"></a>Soft Proofing Link</h3>
Often it is desirable to get an idea what a particular devices output
will look like using a different device. Typically this might be trying
to evaluate print output using a display. Often it is sufficient to use
an absolute or relative colorimetric transform from the print device
space to the display space, but while these provide a colorimetric
preview of the result, they do not take into account the subjective
appearance differences due to the different device conditions. It can
therefore be useful to create a soft proof appearance transform using
collink:<br>
<br>
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
 href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
 href="collink.html#si">-ila</a> <a href="collink.html#c">-cpp</a> <a
 href="collink.html#d">-dmt</a> <a href="collink.html#l">-t250</a>&nbsp;<a
 href="collink.html#k"></a><a href="collink.html#p1">CMYKDestinationProfile.icm</a>
<a href="collink.html#p2">MonitorProfile.icm</a> <a
 href="collink.html#p3">SoftProof.icm</a><br>
<br>
We use the Luminance matched
appearance intent, to preserve the subjective apperance of the target
device, which takes into account the viewing conditions and assumes
adaptation to the differences in the luminence range, but otherwise not
attempting to compress or change the gamut.<br>
&nbsp;
<hr size="2" width="100%"><br>
<h3><a name="TR1"></a>Transforming colorspaces of raster files</h3>
Although a device profile or device link profile may be useful with
other programs and systems, Argyll provides the tool <a
 href="cctiff.html">cctiff</a> for directly applying a device to device
transform to a <a href="File_Formats.html#TIFF">TIFF</a> raster file.
The cctiff tool is capable of linking an arbitrary sequence of
device profiles, device links, abstract profiles and calibration
curves. Each device
profile can be preceded by the <span style="font-weight: bold;">-i</span>
option to indicate the intent that should be used. Both 8 and 16 bit
per component files
can be handled, and up to 8 color channels. The color transform is
optimized to perform the overall transformation rapidly.<br>
<br>
If a device link is to be used, the following is a typical example:<br>
<br>
<a href="cctiff.html">cctiff</a> <a href="cctiff.html#p1">Source2Destination.icm</a>
<a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
<br>
<i><br>
</i>If a source and destination profile are to be used, the following
would be a typical example:<br>
<br>
<a href="cctiff.html">
cctiff</a>&nbsp; <a href="cctiff.html#i">-ip</a> <a
 href="cctiff.html#p1i">SourceProfile.icm</a>
<a href="cctiff.html#i">-ip</a> <a href="cctiff.html#p1o">DestinationProfile.icm</a>
<a href="cctiff.html#p3">infile.tif</a>
<a href="cctiff.html#p4">outfile.tif</a><br>
<br>
<br>
<br>
<hr size="2" width="100%"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>