summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ArgyllDoc.html5570
-rw-r--r--doc/ArgyllFlow.jpgbin0 -> 225826 bytes
-rw-r--r--doc/ArgyllFlowThumb.jpgbin0 -> 10629 bytes
-rw-r--r--doc/CMP_DT_003.jpgbin0 -> 23966 bytes
-rw-r--r--doc/CMP_Digital_Target-3.jpgbin0 -> 21111 bytes
-rw-r--r--doc/CRTspectrum.jpgbin0 -> 32231 bytes
-rw-r--r--doc/ChangesSummary.html790
-rw-r--r--doc/Chroma4.jpgbin0 -> 16118 bytes
-rw-r--r--doc/ColorManagement.html271
-rw-r--r--doc/ColorMunki.jpgbin0 -> 43097 bytes
-rw-r--r--doc/ColorMunkiCreate.jpgbin0 -> 29653 bytes
-rw-r--r--doc/Compiling.html170
-rw-r--r--doc/CrushedDisplyBlacks.html85
-rw-r--r--doc/DC.jpgbin0 -> 23570 bytes
-rw-r--r--doc/DTP20.jpgbin0 -> 83527 bytes
-rw-r--r--doc/DTP22.jpgbin0 -> 51054 bytes
-rw-r--r--doc/DTP41.jpgbin0 -> 78517 bytes
-rw-r--r--doc/DTP51.jpgbin0 -> 52356 bytes
-rw-r--r--doc/DTP92.jpgbin0 -> 41789 bytes
-rw-r--r--doc/DTP94.jpgbin0 -> 46245 bytes
-rw-r--r--doc/DocLicense.txt451
-rw-r--r--doc/Environment.html125
-rw-r--r--doc/FWA.html262
-rw-r--r--doc/FWA_measure.jpgbin0 -> 23717 bytes
-rw-r--r--doc/File_Formats.html186
-rw-r--r--doc/Fluorescent.jpgbin0 -> 35863 bytes
-rw-r--r--doc/HCFR.jpgbin0 -> 21765 bytes
-rw-r--r--doc/HCT.jpgbin0 -> 9601 bytes
-rw-r--r--doc/HiResLaser.jpgbin0 -> 28163 bytes
-rw-r--r--doc/Huey.jpgbin0 -> 30022 bytes
-rw-r--r--doc/Installing.html49
-rw-r--r--doc/Installing_Linux.html582
-rw-r--r--doc/Installing_MSWindows.html583
-rw-r--r--doc/Installing_OSX.html283
-rw-r--r--doc/Kgraph1.jpgbin0 -> 14691 bytes
-rw-r--r--doc/Kgraph2.jpgbin0 -> 13544 bytes
-rw-r--r--doc/Kgraph3.jpgbin0 -> 14548 bytes
-rw-r--r--doc/Kgraph4.jpgbin0 -> 14056 bytes
-rw-r--r--doc/Kgraph5.jpgbin0 -> 14084 bytes
-rw-r--r--doc/Kgraph6.jpgbin0 -> 14830 bytes
-rw-r--r--doc/Kgraph7.jpgbin0 -> 15134 bytes
-rw-r--r--doc/Kgraph8.jpgbin0 -> 14218 bytes
-rw-r--r--doc/Kparams.jpgbin0 -> 15850 bytes
-rw-r--r--doc/LSDC.jpgbin0 -> 12237 bytes
-rw-r--r--doc/LabSteps.jpgbin0 -> 13335 bytes
-rw-r--r--doc/License.txt662
-rw-r--r--doc/License2.txt282
-rw-r--r--doc/License3.txt674
-rw-r--r--doc/Limitations.html42
-rw-r--r--doc/Makefile.am6
-rw-r--r--doc/MinorTools.html64
-rw-r--r--doc/Organisation.html230
-rw-r--r--doc/Overview.html57
-rw-r--r--doc/Performance.html106
-rw-r--r--doc/Q60.jpgbin0 -> 14943 bytes
-rw-r--r--doc/QPcard201.jpgbin0 -> 4967 bytes
-rw-r--r--doc/QPcard202.jpgbin0 -> 9016 bytes
-rw-r--r--doc/SG.jpgbin0 -> 11348 bytes
-rw-r--r--doc/SG_footer.txt1
-rw-r--r--doc/SG_header.txt12
-rw-r--r--doc/Scenarios.html2177
-rw-r--r--doc/Smile.jpgbin0 -> 25761 bytes
-rw-r--r--doc/Source.html219
-rw-r--r--doc/Spyd2.jpgbin0 -> 64227 bytes
-rw-r--r--doc/Spyd3.jpgbin0 -> 13975 bytes
-rw-r--r--doc/Spyd3x.jpgbin0 -> 13519 bytes
-rw-r--r--doc/Spyd4.jpgbin0 -> 11284 bytes
-rw-r--r--doc/SpyderChecker.jpgbin0 -> 12497 bytes
-rw-r--r--doc/WideGamutColmters.html120
-rw-r--r--doc/YellowGreen.jpgbin0 -> 18404 bytes
-rw-r--r--doc/afiles179
-rw-r--r--doc/applycal.html135
-rw-r--r--doc/average.html43
-rw-r--r--doc/cal_format.html216
-rw-r--r--doc/calvschar.html62
-rw-r--r--doc/cb2ti3.html56
-rw-r--r--doc/ccmxs.html424
-rw-r--r--doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx25
-rw-r--r--doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx25
-rw-r--r--doc/ccmxs/DTP-94_Dell_2408W.ccmx25
-rw-r--r--doc/ccmxs/DTP-94_Dell_U2410.ccmx25
-rw-r--r--doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx25
-rw-r--r--doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx25
-rw-r--r--doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx25
-rw-r--r--doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx25
-rw-r--r--doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx25
-rw-r--r--doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx25
-rw-r--r--doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx25
-rw-r--r--doc/ccmxs/Huey_Acer_al2016w.ccmx25
-rw-r--r--doc/ccmxs/Huey_Eizo_CG243.ccmx25
-rw-r--r--doc/ccmxs/Huey_HP_compaq_6730s.ccmx25
-rw-r--r--doc/ccmxs/Huey_HP_lp2475w.ccmx25
-rw-r--r--doc/ccmxs/Huey_NEC1990SXi.ccmx25
-rw-r--r--doc/ccmxs/Huey_NEC_Spectraview_241.ccmx25
-rw-r--r--doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx25
-rw-r--r--doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx25
-rw-r--r--doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx25
-rw-r--r--doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx25
-rw-r--r--doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx25
-rw-r--r--doc/ccmxs/Spyder3_HP_LP2475w.ccmx25
-rw-r--r--doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx25
-rw-r--r--doc/ccmxs/Spyder3_NEC_PA301W.ccmx25
-rw-r--r--doc/cctiff.html351
-rw-r--r--doc/ccxxmake.html954
-rw-r--r--doc/chartread.html499
-rw-r--r--doc/cht_format.html576
-rw-r--r--doc/collink.html1059
-rw-r--r--doc/colorchecker.jpgbin0 -> 7522 bytes
-rw-r--r--doc/colprof.html1559
-rw-r--r--doc/cube.jpgbin0 -> 11036 bytes
-rw-r--r--doc/dispcal.html2256
-rw-r--r--doc/dispprofloc.html313
-rw-r--r--doc/dispread.html926
-rw-r--r--doc/dispwin.html593
-rw-r--r--doc/evalInputTargets.html61
-rw-r--r--doc/extracticc.html40
-rw-r--r--doc/extractttag.html43
-rw-r--r--doc/fakeCMY.html73
-rw-r--r--doc/fakeread.html248
-rw-r--r--doc/filmread.html55
-rw-r--r--doc/filmtarg.html78
-rw-r--r--doc/gamma.html64
-rw-r--r--doc/gamutmapping1.jpgbin0 -> 19794 bytes
-rw-r--r--doc/greytiff.html96
-rw-r--r--doc/i1d.jpgbin0 -> 36903 bytes
-rw-r--r--doc/i1d3_1.jpgbin0 -> 16744 bytes
-rw-r--r--doc/i1d3_2.jpgbin0 -> 16538 bytes
-rw-r--r--doc/i1m.jpgbin0 -> 29888 bytes
-rw-r--r--doc/i1p.jpgbin0 -> 62804 bytes
-rw-r--r--doc/i1pro2.jpgbin0 -> 73450 bytes
-rw-r--r--doc/i1proDriver.html157
-rw-r--r--doc/i1proDriver.xlsbin0 -> 187392 bytes
-rw-r--r--doc/i1scan14.jpgbin0 -> 15925 bytes
-rw-r--r--doc/iccdump.html52
-rw-r--r--doc/iccgamut.html334
-rw-r--r--doc/iccgamutmapping.html163
-rw-r--r--doc/icclu.html119
-rw-r--r--doc/illumread.html319
-rw-r--r--doc/illumread_1.jpgbin0 -> 14047 bytes
-rw-r--r--doc/illumread_2.jpgbin0 -> 13451 bytes
-rw-r--r--doc/illumread_3.jpgbin0 -> 17753 bytes
-rw-r--r--doc/illumread_4.jpgbin0 -> 21691 bytes
-rw-r--r--doc/illumread_5.jpgbin0 -> 15948 bytes
-rw-r--r--doc/illumread_6.jpgbin0 -> 8066 bytes
-rw-r--r--doc/instruments.html2214
-rw-r--r--doc/invprofcheck.html133
-rw-r--r--doc/kodak2ti3.html59
-rw-r--r--doc/monitorcontrols.html90
-rw-r--r--doc/mox.jpgbin0 -> 8355 bytes
-rw-r--r--doc/moxxr.jpgbin0 -> 6289 bytes
-rw-r--r--doc/mppcheck.html78
-rw-r--r--doc/mpplu.html182
-rw-r--r--doc/mppprof.html99
-rw-r--r--doc/oeminst.html323
-rw-r--r--doc/printcal.html399
-rw-r--r--doc/printtarg.html681
-rw-r--r--doc/profcheck.html251
-rw-r--r--doc/refine.html354
-rw-r--r--doc/revfix.html252
-rw-r--r--doc/scanin.html582
-rw-r--r--doc/sl.jpgbin0 -> 77102 bytes
-rw-r--r--doc/spec2cie.html207
-rw-r--r--doc/specplot.html46
-rw-r--r--doc/splitti3.html75
-rw-r--r--doc/spotread.html1011
-rw-r--r--doc/srgbplot.gifbin0 -> 3468 bytes
-rw-r--r--doc/ss.jpgbin0 -> 65180 bytes
-rw-r--r--doc/surface.jpgbin0 -> 11222 bytes
-rw-r--r--doc/synthcal.html108
-rw-r--r--doc/synthread.html166
-rw-r--r--doc/targen.html1024
-rw-r--r--doc/ti3_format.html311
-rw-r--r--doc/tiffgamut.html357
-rw-r--r--doc/timage.html100
-rw-r--r--doc/txt2ti3.html98
-rw-r--r--doc/ucmm.html122
-rw-r--r--doc/verify.html186
-rw-r--r--doc/viewgam.html125
-rw-r--r--doc/xicclu.html551
179 files changed, 36971 insertions, 0 deletions
diff --git a/doc/ArgyllDoc.html b/doc/ArgyllDoc.html
new file mode 100644
index 0000000..498e974
--- /dev/null
+++ b/doc/ArgyllDoc.html
@@ -0,0 +1,5570 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ <meta name="description" content="Root of Argyll CMS documentation">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <title>Argyll Documentation Top</title>
+ </head>
+ <body>
+ <h1> Argyll CMS documentation index (V1.5.1)<br>
+ </h1>
+ Date:&nbsp;&nbsp; 8th March 2013<br>
+ Author: Graeme Gill
+ <h2><u><a name="Intro"></a>Introduction</u></h2>
+ ArgyllCMS is an ICC compatible color management system, available as
+ Open Source. It supports accurate ICC profile creation for scanners,
+ cameras and film recorders, and calibration and profiling of
+ displays and RGB &amp; CMYK printers. Spectral sample data is
+ supported, allowing a selection of illuminants observer types, and
+ paper fluorescent whitener additive compensation. Profiles can also
+ incorporate source specific gamut mappings for perceptual and
+ saturation intents. Gamut mapping and profile linking uses the
+ CIECAM02 appearance model, a unique gamut mapping algorithm, and a
+ wide selection of rendering intents. Device Link can be created with
+ a wide variety of advanced options. It also includes code for the
+ fastest portable 8 bit raster color conversion engine available
+ anywhere, as well as support for fast, fully accurate 16 bit
+ conversion. Device color gamuts can also be viewed and compared
+ using a VRML viewer. Comprehensive documentation is provided for
+ each major tool, and a general guide to using the tools for typical
+ color management tasks is also available. A mailing list provides
+ support for more advanced usage.<br>
+ <p>This is Version 1.5.1, a bug fix and feature update to V1.5.0
+ released on 1st March 2013. The first public release of icclib was
+ in November 1998, and of Argyll was in October 2000. Code
+ development commenced in 1995. See <a href="ChangesSummary.html">Changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary</a> for an overview of changes since the last release.
+ Changes between revisions is detailed in the <b>log.txt</b> file
+ that accompanies the source code. </p>
+ <p>The latest source code is available from <a
+ href="http://www.argyllcms.com/">here</a>.<br>
+ </p>
+ <h2><a href="ColorManagement.html">An Introduction to Color
+ Management</a></h2>
+ A <a href="ColorManagement.html">concise discussion</a> of what
+ color management is, and why we need it, together with a brief
+ overview of the ICC profile format.<br>
+ <h2 style="text-decoration: underline;">Operating Environments</h2>
+ <h2> </h2>
+ <p>Argyll is known to compile and run in at least the following
+ environments: </p>
+ 1) MSWindows XP system using Microsoft VC++ 6.0 compiler<br>
+ 2) MSWindows XP system using Microsoft VC++ 8.0 Express compiler +
+ Platform SDK Feb. 2003<br>
+ 3) MSWindows XP system using Microsoft VC++ 9.0 Express compiler +
+ Platform SDK Feb. 2003<br>
+ 4) MSWindows XP system using the MingW port of the GCC compiler<br>
+ 5) Linux on Fedora Core 8, 32 bit using gcc <br>
+ 6) Linux on Fedora Core 8, 64 bit using gcc<br>
+ 7) Apple OS X 10.3 PPC using GCC<br>
+ 8) Apple OS X 10.4, 10.5, 10.6 Intel using GCC<br>
+ 9) Apple OS X10.7 Intel using&nbsp; Clang<br>
+ 10) PCBSD 9.1 (FreeBSD) [You need to copy the libusb sub directory
+ from ArgyllCMS V1.4.0]<br>
+ <br>
+ Additionally it is also known to run on:<br>
+ <br>
+ &nbsp;MSWindows 2000, Vista &amp; Windows 7 32 bit.<br>
+ &nbsp;MSWindows Vista 64bit, Windows 7 64bit &amp; Windows 8 64 bit.<br>
+ &nbsp;Linux Ubuntu 7.10<br>
+ &nbsp;Linux Kubuntu 7.10<br>
+ &nbsp;Linux Mandriva 2008.0<br>
+ &nbsp;Linux OpenSuSE 10.3<br>
+ &nbsp;Linux Whitebox 4.2/2<br>
+ <p>but may well compile and run correctly in many more than this,
+ including OS X 10.8. </p>
+ This is a <span style="font-weight: bold;">command line terminal</span>
+ only environment. Those unfamiliar with command line environments
+ should consult an appropriate tutorial for their environment if they
+ are interested in using this software. See the listing of <a
+ href="#cltutes">tutorials</a> below.<span style="font-weight:
+ bold;"></span><br>
+ <br>
+ The following color measuring instruments are directly supported:<br>
+ <br>
+ X-Rite:<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP20">DTP20 "Pulse"</a>&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - "swipe" type reflective spectrometer, that can be used untethered.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP22">DTP22 Digital
+ Swatchbook</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - spot type reflective spectrometer.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP41">DTP41</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - spot and strip reading reflective spectrometer.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP41">DTP41T</a>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - spot and strip reading reflective/transmissive spectrometer.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#dtp51">DTP51</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - strip reading reflective colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP92">DTP92</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - CRT display colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#DTP94">DTP94</a> <font
+ size="-1">"Optix XR"</font> or "Optix XR2" or "Optix Pro"- display
+ colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#ColorMunki"><span
+ style="text-decoration: underline;">ColorMunki</span></a> Design
+ or Photo&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -
+ spot and "swipe" reflective/emissive spectrometer (UV cut only).<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d"><span
+ style="text-decoration: underline;">ColorMunki</span></a> Create
+ or Smile&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display
+ colorimeter. (Similar to an Eye-One Display 2)<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#Huey">Lenovo W</a>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -
+ built in laptop Huey display colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d3">Eye-One Display
+ 3</a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; - Xrite i1 DisplayPro and ColorMunki
+ Display <br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ The OEM
+ i1Display Pro, NEC SpectraSensor Pro and<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp; Quato Silver Haze 3 OEM i1d3 are also
+ reported to work.]<br>
+ &nbsp; &nbsp; <a href="instruments.html#i1p2">Eye-One Pro2</a>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; - spot and
+ "swipe" reflective/emissive spectrometer.<br>
+ <br>
+ Gretag-Macbeth (now X-Rite):<br>
+ &nbsp; &nbsp; <a href="instruments.html#sl">Spectrolino</a> &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - spot
+ reflective/emissive spectrometer.<br>
+ &nbsp; &nbsp; <a href="instruments.html#ss">SpectroScan</a> &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - spot
+ reflective/emissive, XY table reflective spectrometer&nbsp; .<br>
+ &nbsp; &nbsp; <a href="instruments.html#ss">SpectroScanT</a> &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - spot
+ reflective/emissive/transmissive, XY table reflective spectrometer.<br>
+ &nbsp; &nbsp; <a href="instruments.html#i1p">Eye-One Pro</a> "EFI
+ ES-1000" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - spot and "swipe"
+ reflective/emissive spectrometer.<br>
+ &nbsp; &nbsp; <a href="instruments.html#i1m">Eye-One Monitor</a>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; - spot and "swipe" emissive
+ spectrometer.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d">Eye-One Display 1
+ or 2&nbsp; or LT</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -
+ display colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d">HP DreamColor or
+ APS</a>&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter. (Treated as a Eye-One Display 2)<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d">CalMAN X2</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter. (Treated as a Eye-One Display 2)<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#Huey">Huey</a> &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter.<br>
+ <br>
+ Sequel imaging (Now X-Rite):<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="instruments.html#mox">MonacoOPTIX</a>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display
+ colorimeter (Treated as an Eye-One Display 1)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [The Sequel Chroma 4 may also work.]<br>
+ <br>
+ Lacie Blue
+ Eye:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - see <a href="instruments.html#i1d">Eye-One Display</a><br>
+ <br>
+ DataColor ColorVision:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="instruments.html#spyd2">Spyder 2</a>
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter (Note
+ that the user must <a href="oeminst.html">supply</a> firmware)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [The Spyder 1 has also been reported as working, but this has not
+ been confirmed.]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="instruments.html#spyd3">Spyder 3</a>
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter.<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="instruments.html#spyd4">Spyder 4</a>
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter (Note
+ that the user must <a href="oeminst.html">supply</a> calibration
+ data)<br>
+ <br>
+ Other:<br>
+ &nbsp;&nbsp;&nbsp; <span class="titre"><a
+ href="instruments.html#HCFR">Colorim&egrave;tre HCFR</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter</span><br>
+ &nbsp;&nbsp;&nbsp; <a href="http://www.hughski.com/">ColorHug</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter. Experimental only, does not work on all
+ platforms.<br>
+ <span style="font-weight: bold;"></span><span class="titre"><br>
+ See </span><a href="instruments.html">Operation of particular
+ instruments</a> for more instrument specific detail.<br>
+ <br>
+ Other instruments can be supported indirectly, since patch result
+ files created by other packages can be imported into Argyll.<br>
+ <br>
+ Please <span style="font-weight: bold;">note</span> the <a
+ href="Installing.html">installation instructions</a> for each
+ platform - they contain important information for getting your
+ instruments working.<br>
+ <p>If you've decided to buy a color instrument because Argyll
+ supports it, please let the dealer and manufacturer know that "<span
+ style="font-weight: bold;">You bought it because Argyll CMS
+ supports it</span>" - thanks.<br>
+ </p>
+ <p><span style="font-weight: bold;">Please note that instruments are
+ being driven by ArgyllCMS drivers, and that any problems or
+ queries regarding instrument<br>
+ operation </span><span style="font-weight: bold;">should be
+ directed to the Argyll's author(s) or the Argyll mailing list,
+ and not to any</span> <span style="font-weight: bold;">other
+ party.</span> </p>
+ <p>There is a <a href="file:///D:/src/argyll/doc/ccmxs.html">list
+ of contributed</a> <span style="font-weight: bold;">ccmx</span>
+ (Colorimeter Correction Matrix) files for some display/colorimeter
+ combinations.</p>
+ <h2><span style="text-decoration: underline; color: rgb(51, 0, 51);"><a
+ name="Copyright"></a>Copyright and Licensing:</span><br>
+ </h2>
+ <p>Most of the source code and provided executable files are
+ copyrighted works, licensed under the <span style="font-weight:
+ bold;">Affero GNU Version 3 license</span>, and therefore they
+ (or works derived from them) can't be copied, sold or made
+ available to users interacting with them remotely through a
+ computer network, without providing the source code. Nothing other
+ than your agreement and compliance with the Affero GNU License
+ grants you permission to use, modify or distribute Argyll source
+ code, executables or its derivative works. You could be sued for
+ copyright infringement if you use or distribute Argyll without a
+ valid license. The <span style="font-weight: bold;">Affero GNU</span>
+ license <span style="font-weight: bold;">prohibits</span>
+ extending these tools<span style="font-weight: bold;"></span>
+ (i.e. by combining them with other programs or scripts that make
+ use of, depend on, or work with the Argyll code) and distributing
+ them, unless the all the elements of the extensions are also made
+ available under a GPL compatible license. It is permissible to
+ provide Argyll tools with other non GPL components if the elements
+ of the package are not related, such that the packaging is mere
+ aggregation. For all the gory details, please read the
+ accompanying <a href="License.txt">license</a>. </p>
+ Note that unlike many commercial ICC profiling tools, the profiles
+ created using Argyll, are not subject to any claims or restrictions
+ of Argyll's author(s), but are assumed to be the copyright property
+ of the person who gathers the characterization data, and causes the
+ profiles to be created.
+ <p>The Argyll CMS is Copyright 1995 - 2013 Graeme W. Gill, and is
+ made available under the terms of the Affero GNU General Public
+ License Version 3, as detailed in the <a href="License.txt">License.txt</a>
+ file. Documentation is licensed under the terms of the GNU Free
+ Documentation License, Version 1.3. The author asserts his moral
+ rights over this material in relationship to the attribution and
+ integrity of these works. In particular, if these works are
+ modified in a way that materially changes their functionality,
+ then the modified works should be renamed in a way that clearly
+ distinguishes them from "Argyll" or "ArgyllCMS" so that the
+ effects of such changes do not reflect on the original works
+ integrity or the original authors reputation. A subset of files
+ (those that are related to the color instrument drivers, and are
+ collected together into the instlib.zip archive by the
+ spectro/instlib.ksh script + xicc/ccmx.h and xicc/ccmx.c) are
+ licensed under the General Public License Version 2 or later, as
+ detailed in the <a href="License2.txt">License2.txt</a> file.<br>
+ </p>
+ <p>Portions of the ColorHug instrument library
+ (spectro/colorhug.[ch]) are Copyright 2011, Richard Hughes, and is
+ licensed under the General Public License Version 2 or later, as
+ detailed in the <a href="License2.txt">License2.txt</a> file.</p>
+ <p>The tool spectro/spec2cie.c is Copyright 2005 Gerhard Fuernkranz,
+ and is made available under the terms of the GNU General Public
+ License Version 2 or later, and is licensed here under the Version
+ 3 license, as detailed in the <a href="License3.txt">License3.txt</a>
+ file.<br>
+ </p>
+ <p>The Win32 USB library libusb-win32 kernel drivers are included in
+ this distribution in the usb/driver and usb/bin directories, and
+ are copyright Stephan Meyer and Travis Robinson, and are licensed
+ under the GNU Version 2 or later (the drivers, services,
+ installer). See&nbsp; usb/driver/License.txt,
+ libusbw/COPYING_LGPL.txt and libusbw/COPYING_GPL.txt for details.
+ Additional terms noted on the <a
+ href="http://sourceforge.net/apps/trac/libusb-win32/wiki">website</a>
+ are "This license combination explicitly allows the use of this
+ library in commercial, non-Open-Source applications."<br>
+ </p>
+ <p>The icc library in<span style="font-weight: bold;"> icc</span>/,
+ the CGATS library in <span style="font-weight: bold;">cgats</span>/,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the jcnf library in <span style="font-weight: bold;">jcnf</span>/,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the files <span style="font-weight: bold;">spectro/xdg_bds.*</span>,
+ <span style="font-weight: bold;">spectro/aglob.*</span> and the
+ ucmm library in <span style="font-weight: bold;">ucmm</span>/ are
+ Copyright 1995 - 2011 Graeme W. Gill, and available according to
+ the "MIT" license granted in the icc/License.txt and
+ cgats/License.txt files, and the licenses at the top of
+ ucmm/ucmm.c and jcnf/jcnf.c.<br>
+ </p>
+ <p>The yajl library in <span style="font-weight: bold;">jcnf/yajl</span>
+ is Copyright 2007-2009, Lloyd Hilaiel and is licensed according to
+ the Berkeley-style License granted in the jcnf/yajl/COPYING files.
+ The yajl library has been repackaged and modified slightly for
+ convenience.<br>
+ </p>
+ <p> The TIFF library included in this distribution for convenience,
+ has its own copyright and license detailed in tiff/COPYRIGHT (an
+ "MIT"/"BSD" like license).<br>
+ </p>
+ <p>The Independent JPEG Group's JPEG library included in this
+ distribution for convenience, has its own copyright and license
+ detailed in jpg/README (an "MIT"/"BSD" like license). Executables
+ that include JPEG format support are based in part on the work of
+ the Independent JPEG Group. </p>
+ <p>xicc/iccjpeg.h and xicc/iccjpeg.c are from <a
+ href="http://www.littlecms.com/">lcms</a> and they are Copyright
+ (c) 1998-2010 Marti Maria Saguer and is licensed under an
+ "MIT"/"BSD" like license. See the top of the iccjpeg.c file for
+ the detailed copyright and licensing conditions.<br>
+ </p>
+ <p>The mongoose web server software is Copyright (c) 2004-2011
+ Sergey Lyubka, and is licensed under an "MIT" license. </p>
+ <h2><span style="text-decoration: underline; color: rgb(51, 0, 51);"><a
+ name="ProjType"></a>What sort of project is this ? (re:
+ contributions)<br>
+ </span></h2>
+ This is essentially my private project, that I've made available
+ under GNU licensing conditions. Because I license my code under
+ other licenses as well, there is a limit to what I will accept in
+ the way of code contributions back into this project. For me to
+ accept contributions into the distribution, it either has to a
+ non-core (side) project, or has to be offered to me with copyright
+ conditions that are compatible with my other uses (i.e.. a "BSD"
+ like license, or assigning or licensing the copyright to me), or has
+ to be so trivial (say a one line bug fix), that it can't be the
+ subject of copyright. <br>
+ <br>
+ Of course there is nothing to stop someone setting up a real free
+ software, community project based on the GNU licensed code made
+ available here, that would be able to take GNU licensed
+ contributions from everyone and would essentially be a "fork" of
+ this code base.<br>
+ <br>
+ <h1><u><a href="Compiling.html">Compiling</a></u></h1>
+ How to <a href="Compiling.html">build the software</a> from the
+ source if you want to.<br>
+ <span style="font-weight: bold;">Note</span> that you don't need to
+ do this if you are using one of the binary installations.<br>
+ <h1 style="color: rgb(51, 204, 0);"><u><a href="Installing.html">Installing</a></u></h1>
+ Important notes on <a href="Installing.html">installing the binary
+ software</a> on various platforms.<br>
+ <br>
+ <h2 style="color: rgb(51, 0, 51);"><u><u><a name="GUIs"></a>Graphic
+ User Interfaces<br>
+ </u></u></h2>
+ ArgyllCMS does not directly support a graphic user interface, but
+ several people have written <span style="font-weight: bold;">GUI</span>
+ based front ends for it. A popular <span style="font-weight: bold;"></span>front
+end
+that
+supports
+display
+calibration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and profiling is <a href="http://hoech.net/dispcalGUI/">dispcalGUI</a>
+ by Florian H&ouml;ch. Others can be found with a suitable <a
+href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=argyllcms+GUI&amp;aq=f&amp;aqi=g1&amp;aql=&amp;oq=">search</a>.<br>
+ <h2 style="color: rgb(51, 0, 51);"><u><a name="CmdLine"></a>Main
+ Tools and the command line<br>
+ </u></h2>
+ These are all command line ("DOS" shell) tools, and each tool
+ require appropriate options to be set, followed by filename
+ arguments. Sometimes the filenames will have to include the usual
+ extensions, sometimes they are implicit. To get a brief listing of
+ the possible arguments and <span style="font-weight: bold;">usage</span>
+ of any of the tools, run it with just an "-?" argument, i.e. <b>targen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -? </b>(or some other unrecognized flag, if the "?" character is
+ treated specially in your shell, i.e. try "--" on OS X zsh).<br>
+ <br>
+ Note that in general the arguments consist of possible flags or
+ options followed by file name arguments. All arguments need to be
+ separated by whitespace.&nbsp; (If you need to specify a string with
+ embedded white space, double quote the string). A flag consists of a
+ dash attached to a single letter, the letter identifying the flag,
+ and is usually case sensitive. An option is a flag that has an
+ associated parameter or parameters. The parameter can be separated
+ from the flag by white space, or may come directly after the flag.
+ So if a tool has a usage that looks like this:<br>
+ <br>
+ &nbsp; tool -?<br>
+ &nbsp; usage: tool [options] infile outfile<br>
+ &nbsp;&nbsp;
+ -v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verbose mode<br>
+ &nbsp;&nbsp; -d
+ n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Choose a depth 0-4<br>
+ &nbsp;&nbsp; -r
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use a random depth<br>
+ &nbsp;&nbsp; -f
+ [nn]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Use full range. nn optional range 0 - 100.<br>
+ &nbsp;&nbsp; -M
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Manual<br>
+ &nbsp;&nbsp; infile
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Input file<br>
+ &nbsp;&nbsp; outfile
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Output file<br>
+ <br>
+ then there are&nbsp; 5 flags/options, and two filename arguments.
+ Notice that square braces [] denote optional items. The first
+ flag/option is a flag. The second is an option that has a numerical
+ argument in the range 0 to 4. The third is a flag. the fourth is an
+ option with an optional argument. The fourth is a flag.&nbsp; The
+ flags and options can generally be in any order, but must be before
+ the file name arguments. (For a few special tools you actually
+ specify a sequence of flags and files where the flags apply just to
+ the following file.) So example invocations may look like:<br>
+ <br>
+ &nbsp; tool -v testin testout<br>
+ &nbsp; tool -d3 -M testin1 testout2<br>
+ &nbsp; tool -f infile outfile<br>
+ &nbsp; tool -f 45 infile outfile<br>
+ &nbsp; tool -d 3 -f67 infile outfile<br>
+ <p>In order to make use of the tools, it is necessary to keep track
+ of where various files are, and what they are called. There are
+ many possible ways of doing this. One way is to put each source
+ profile and all its associated files (test charts, spectrometer
+ values etc.) in one set of directories for each source profile
+ type. Similarly the device profiles could be stored in a hierarchy
+ of directories ordered by device type, media, resolution, device
+ mode etc. Naturally you will want to set your $PATH so that you
+ can run the tools from whichever directory you are in, as well as
+ specify any necessary directory paths for file arguments so that
+ the tools are able to open them.<br>
+ </p>
+ <p>Note that there are two ways the Argyll tools deal with filename
+ extensions. In one you supply the extension (ie. you supply the
+ whole file name), so the extension is up to you. In the other
+ (used where one name is used for input and output files, or where
+ there are multiple output files), the program adds the extension.
+ In the documentation this should be indicated by calling it a
+ "base name".<br>
+ </p>
+ <p><a name="cltutes"></a>For more information on using a command
+ line environments, consult an appropriate tutorial:</p>
+ <p>MS Windows :<br>
+ &nbsp;&nbsp; &lt;<a
+ href="http://www.bleepingcomputer.com/tutorials/tutorial76.html">http://www.bleepingcomputer.com/tutorials/tutorial76.html</a>&gt;<br>
+ &nbsp;&nbsp; &lt;<a
+ href="http://www.pcstats.com/articleview.cfm?articleid=1723&amp;page=1">http://www.pcstats.com/articleview.cfm?articleid=1723&amp;page=1</a>&gt;<br>
+ &nbsp;&nbsp; &lt;<a
+ href="http://www.voidspace.org.uk/python/articles/command_line.shtml">http://www.voidspace.org.uk/python/articles/command_line.shtml</a>&gt;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; To find more: &lt;<a
+href="http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial">http://www.google.com/search?hl=en&amp;q=windows+command+prompt+tutorial&gt;</a><br>
+ <br>
+ OS X:<br>
+ &nbsp;&nbsp;&nbsp; &lt;<a
+ href="http://www.osxfaq.com/Tutorials/LearningCenter/">http://www.osxfaq.com/Tutorials/LearningCenter/</a>&gt;<br>
+ &nbsp;&nbsp;&nbsp; &lt;<a
+ href="http://www.atomiclearning.com/macosxterminalx.shtml">http://www.atomiclearning.com/macosxterminalx.shtml</a>&gt;<br>
+ &nbsp;&nbsp;&nbsp; &lt;<a
+ href="http://www.oreillynet.com/pub/a/mac/2001/12/14/terminal_one.html">http://www.oreillynet.com/pub/a/mac/2001/12/14/terminal_one.html</a>&gt;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; To find more: &lt;<a
+ href="http://www.google.com/search?hl=en&amp;q=OS+X+shell+tutorial">http://www.google.com/search?hl=en&amp;q=OS+X+shell+tutorial</a>&gt;<br>
+ <br>
+ Linux:<br>
+ &nbsp;&nbsp;&nbsp; &lt;<a
+ href="http://www.linuxcommand.org/index.php">http://www.linuxcommand.org/index.php</a>&gt;<br>
+ &nbsp;&nbsp;&nbsp; &lt;<a
+ href="http://www.tuxfiles.org/linuxhelp/shell.html">http://www.tuxfiles.org/linuxhelp/shell.html</a>&gt;<br>
+ &nbsp;&nbsp;&nbsp; &lt;<a
+ href="http://www.ee.surrey.ac.uk/Teaching/Unix/">http://www.ee.surrey.ac.uk/Teaching/Unix/</a>&gt;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; To find more: &lt;<a
+ href="http://www.google.com/search?q=linux+command+line+shell+tutorial">http://www.google.com/search?q=linux+command+line+shell+tutorial</a>&gt;</p>
+ <p><br>
+ <span style="font-weight: bold;">Note</span> that since OS X is
+ based on UNIX, there is much in common between the OS X and Linux
+ command line environments, and many of the UNIX tutorials may be
+ useful:<br>
+ </p>
+ <p>&nbsp;&nbsp;&nbsp; &lt;<a
+ href="http://www.rain.org/%7Emkummel/unix.html">http://www.rain.org/~mkummel/unix.html</a>&gt;<br>
+ <br>
+ </p>
+ <h2><u><a href="Scenarios.html">Tutorial: Typical usage scenarios
+ and examples</a></u></h2>
+ A <a href="Scenarios.html">guided tour</a> of the major tools,
+ applied to typical CMS jobs, such as calibrating displays, creating
+ device profiles, calibrating printers, linking profiles, and
+ converting color spaces of raster files. <br>
+ <br>
+ Although it is is a couple of years old now, this <a
+ href="http://www.argyllcms.com/doc/FCMS2010_ArgyllTute.pdf">tutorial</a>
+ may also be of interest.<br>
+ &nbsp; <br>
+ <h3 style="color: rgb(0, 0, 0);"><u><a name="Topics"></a>Topical
+ Discussions</u></h3>
+ Discussions about particular topics:<br>
+ <br>
+ <a href="FWA.html">About Fluorescent Whitening Agent compensation</a><br>
+ <br>
+ <a href="instruments.html">Operation of particular instruments</a><br>
+ <br>
+ <a href="iccgamutmapping.html">About ICC profiles and Gamut Mapping</a><br>
+ <br>
+ <a href="monitorcontrols.html">About display monitor settings and
+ targets</a><br>
+ <br>
+ <a href="gamma.html">About display "Gamma"</a><br>
+ <br>
+ <a href="calvschar.html">What's the difference between Calibration
+ and Characterization ?</a><br>
+ <br>
+ <a href="WideGamutColmters.html">Why doesn't my Colorimeter work
+ well on my Wide Gamut display ?</a><br>
+ <span style="font-family: monospace;"></span><br>
+ <a href="CrushedDisplyBlacks.html">My blacks get crushed on my
+ display - why ? How do I fix it ?</a><br>
+ <br>
+ <a href="i1proDriver.html">How can I have confidence in the i1pro
+ Driver ?</a><br>
+ <br>
+ <a href="evalInputTargets.html">Evaluating input targets</a><br>
+ <br>
+ <h2><b><u><font><b><u><font size="+2"><a name="Flow"></a>Flow
+ diagram of Major Tools:</font></u></b></font></u></b></h2>
+ <br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a
+ href="ArgyllFlow.jpg"><img alt="Thumbnail of Flow Diagram"
+ src="ArgyllFlowThumb.jpg" style="border: 2px solid ; width:
+ 150px; height: 202px;"></a><br>
+ <br>
+ <h2><b><u><font size="+2"><a name="CatList"></a>Main Tools by
+ category:</font></u></b></h2>
+ <h3>Calibrating devices<br>
+ </h3>
+ <small><a style="font-family: monospace;" href="dispcal.html">dispcal</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></small>Adjust,
+ calibrate and profile a display<small><big>.<br>
+ </big></small><small><a style="font-family: monospace;"
+ href="printcal.html">printcal</a><span style="font-family:
+ monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create a
+ printer calibration .cal file from a .ti3 data file<small><big>.</big></small><br>
+ <h3>Creating test targets for profiling or print calibration<br>
+ </h3>
+ <small><a style="font-family: monospace;" href="targen.html">targen</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span><big>Generate a profiling test target values .ti1 file. </big><br
+ style="font-family: monospace;">
+ <a style="font-family: monospace;" href="filmtarg.html">filmtarg</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ film recorder TIFF files from Argyll .ti1 file. </big><br
+ style="font-family: monospace;">
+ <a style="font-family: monospace;" href="printtarg.html">printtarg</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a PS, EPS or TIFF file containing test patch values, ready for
+ printing.</big></small>
+ <h3>Obtaining test results for profiling or print calibration<br>
+ </h3>
+ <small><a style="font-family: monospace;" href="chartread.html">chartread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Read
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a test chart using an instrument to create a .ti3 data file.</big><span
+ style="font-family: monospace;"> </span><br style="font-family:
+ monospace;">
+ <a style="font-family: monospace;" href="dispread.html">dispread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and read colorimetric values from a display </big><br
+ style="font-family: monospace;">
+ <a style="font-family: monospace;" href="filmread.html">filmread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Read
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ film colorimetric values using a SpectroScanT (Deprecated ?)</big><br
+ style="font-family: monospace;">
+ <a style="font-family: monospace;" href="scanin.html">scanin</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span><big>Convert a TIFF&nbsp; image of a test chart into .ti3
+ device values. <br>
+ </big></small><small><a style="font-family: monospace;"
+ href="illumread.html">illumread</a><span style="font-family:
+ monospace;"> &nbsp;&nbsp;&nbsp; </span></small>Use an
+ instrument to measure an illuminant spectrum, and estimate its UV
+ content.<br style="font-family: monospace;">
+ <small><a style="font-family: monospace;" href="fakeread.html">fakeread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Fake
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the reading of a device using an ICC or MPP profile. <br>
+ </big></small><small><a style="font-family: monospace;"
+ href="synthread.html">synthread</a><span style="font-family:
+ monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Fake the
+ reading of a device using a synthetic device model. </big></small><br
+ style="font-family: monospace;">
+ <small><a style="font-family: monospace;" href="cb2ti3.html">cb2ti3</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span><big>Convert Colorblind format CMY/RGB test chart into
+ Argyll .ti3 CGATS format. </big><br style="font-family:
+ monospace;">
+ <a style="font-family: monospace;" href="kodak2ti3.html">kodak2ti3</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Convert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Kodak Colorflow format CMYK test chart into Argyll .ti3 CGATS
+ format. </big><br style="font-family: monospace;">
+ <a style="font-family: monospace;" href="txt2ti3.html">txt2ti3</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span><big>Convert Gretag/Logo/X-Rite or other format RGB or CMYK
+ test chart results into Argyll .ti3 CGATS format. </big><br
+ style="font-family: monospace;">
+ <a style="font-family: monospace;" href="fakeCMY.html">fakeCMY</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span><big>Create a fake Argyll .ti3 CMY data file from a CMYK
+ profile, as a basis of creating a CMY to CMYK separation<br>
+ </big></small><small><a style="font-family: monospace;"
+ href="average.html">average</a><span style="font-family:
+ monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Average
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ / Merge two measurement data files</big></small><br>
+ <h3>Creating Device Profiles</h3>
+ <small><a style="font-family: monospace;" href="colprof.html">colprof</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Create an ICC profile from the .ti3 test data. <br>
+ <small><a style="font-family: monospace;" href="mppprof.html">mppprof</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Create a Model Printer Profile (MPP) from the .ti3
+ test data. <br>
+ <small><a style="font-family: monospace;" href="revfix.html">revfix</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Regenerate a device profiles B2A table data by
+ inverting the A2B table.
+ <h3>Creating Device Link Profiles</h3>
+ <small><a style="font-family: monospace;" href="collink.html">collink</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Link two device ICC profiles to create a device
+ link profile.
+ <h3>Converting colors or applying print calibration<br>
+ </h3>
+ <small><a style="font-family: monospace;" href="cctiff.html">cctiff</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Color convert a TIFF or JPEG file using a sequence
+ of ICC device, device link, abstract profiles and calibration files.
+ <br>
+ <small><a style="font-family: monospace;" href="applycal.html">applycal</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Apply
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calibration curves to an ICC profile.<br>
+ <small><a style="font-family: monospace;" href="icclu.html">icclu&nbsp;</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Lookup individual color values through any ICC
+ profile table. <br>
+ <small><a style="font-family: monospace;" href="xicclu.html">xicclu</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Lookup individual color values forward or inverted
+ though an ICC profile table. <br>
+ <small><a style="font-family: monospace;" href="mpplu.html">mpplu</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Lookup individual color values though an MPP
+ profile. Also create MPP gamut files/views.<br>
+ <small><a style="font-family: monospace;" href="greytiff.html">greytiff</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Convert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a TIFF file to monochrome using an ICC device profile <br>
+ <h3>Color Tweaking tools<br>
+ </h3>
+ <small><a style="font-family: monospace;" href="refine.html">refine</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Creates an
+ abstract profile from two chart readings, useful for refining
+ proofing profiles. <a href="mppprof.html"><br>
+ </a>
+ <h3>Creating gamut views</h3>
+ <small><a style="font-family: monospace;" href="iccgamut.html">iccgamut</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a gamut file or VRML file of the color gamut of an ICC profile. <br>
+ <small><a style="font-family: monospace;" href="tiffgamut.html">tiffgamut</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a gamut file or VRML file of the color gamut of a TIFF or JPEG
+ image. <br>
+ <small><a style="font-family: monospace;" href="viewgam.html">viewgam</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Convert one or more gamuts into a VRML 3D
+ visualization file. Compute an intersection.<br>
+ <h3>Diagnostic and test tools<br>
+ </h3>
+ <small><a style="font-family: monospace;" href="iccdump.html">iccdump</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Dump the contents of an ICC profile as text. <br>
+ <small><a style="font-family: monospace;" href="profcheck.html">profcheck</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an ICC profile against .ti3 test chart data. <br>
+ <small style="font-family: monospace;"><a href="invprofcheck.html">invprofcheck</a>&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </small>Check ICC forward against inverse lookup. <br>
+ <small><a style="font-family: monospace;" href="splitti3.html">splitsti3</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span></small>Split
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a CGATS file (ie. a .ti3) into two parts randomly to verify
+ profiling. <br>
+ <small style="font-family: monospace;"><a href="timage.html">timage</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </small>Create TIFF test
+ images. <br>
+ <small><a style="font-family: monospace;" href="mppcheck.html">mppcheck</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an MPP profile against .ti3 test chart data. <br>
+ <small><a style="font-family: monospace;" href="spotread.html">spotread</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an instrument to read a single spot color value. <br>
+ <small><a style="font-family: monospace;" href="verify.html">verify</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Verify
+ matching of CIE in two CGATS/.ti3 files (also view differences as
+ VRML)<br>
+ <small><a style="font-family: monospace;" href="synthcal.html">synthcal</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a synthetic input, display or output calibration (<a
+ href="File_Formats.html#.cal">.cal</a>)file.
+ <h3>Other Tools</h3>
+ <small><a style="font-family: monospace;" href="ccxxmake.html">ccxxmake</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a Spectrometer to create a Colorimeter Correction Matrix
+ (CCMX)&nbsp; or a Colorimeter Calibration Spectral Set (CCSS)&nbsp;
+ for a particular display.<br>
+ <small><a style="font-family: monospace;" href="extracticc.html">extracticc</a><span
+ style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </span>Extract
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an embedded ICC profile from a TIFF or JPEG file.<br>
+ </small><small><a style="font-family: monospace;"
+ href="extractttag.html">extractttag</a><span style="font-family:
+ monospace;"></span></small><small><span style="font-family:
+ monospace;">&nbsp;&nbsp; </span>Extract a text tag (ie. CGATS
+ .ti3 data or CAL) from an ICC profile.</small><br>
+ <small><a style="font-family: monospace;" href="dispwin.html">dispwin</a><span
+ style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp; </span></small>Install
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ or uninstall display profile, set display calibration from profile
+ or .cal file, test displace and dispwin access to a display.<br>
+ <small><a style=" font-family: monospace;" href="oeminst.html">oeminst</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ </span></small>Install Instrument manufacturers files for the
+ Spyder 2, EDR or CCSS calibration files for i1d3 or Spyder 4,&nbsp;
+ CCMX files for colorimeters.<br>
+ <small><a style="font-family: monospace;" href="specplot.html">specplot</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span><span
+ style="text-decoration: underline; font-family: monospace;"></span></small>&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Plot a spectrum (.sp, .cmf, .ccss) and calculate CCT and VCT.<br>
+ <small><a style="font-family: monospace;" href="spec2cie.html">spec2cie</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
+ style="text-decoration: underline; font-family: monospace;"></span></small>Convert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ spectral .ti3 readings into CIE XYZ or L*a*b* readings. Apply FWA,
+ plot spectrums.<small><a style="font-family: monospace;"
+ href="oeminst.html"></a></small><br>
+ &nbsp;
+ <h2><b><u><font size="+2"><a name="AlphList"></a>Main Tools
+ Alphabetic Listing:</font></u></b></h2>
+ <small><a style="font-family: monospace;" href="applycal.html">applycal</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Apply
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calibration curves to an ICC profile.<br>
+ <small><a style="font-family: monospace;" href="average.html">average</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span><big>Average / Merge two measurement data files</big></small><br>
+ <small><a style="font-family: monospace;" href="cb2ti3.html">cb2ti3</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Convert Colorblind format CMY/RGB test chart into
+ Argyll .ti3 CGATS format. <br>
+ <small><a style="font-family: monospace;" href="cctiff.html">cctiff</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Color convert a TIFF or JPEG file using a sequence
+ of ICC device, device link, abstract profiles and calibration files.<br>
+ <small><a style="font-family: monospace;" href="ccxxmake.html">ccxxmake</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a Spectrometer to create a Colorimeter Correction Matrix
+ (CCMX)&nbsp; or a Colorimeter Calibration Spectral Set (CCSS)&nbsp;
+ for a particular display.<br>
+ <small><a style="font-family: monospace;" href="chartread.html">chartread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Read
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a test chart using an instrument to create a .ti3 data file. <br>
+ <small><a style="font-family: monospace;" href="collink.html">collink</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Link two device ICC profiles to create a device
+ link profile. <br>
+ <small><a style="font-family: monospace;" href="colprof.html">colprof</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Create an ICC profile from the .ti3 test data. <br>
+ <small style="font-family: monospace;"><a href="dispcal.html">dispcal</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </small>Adjust, calibrate and
+ profile a display<small><big>.</big></small><br>
+ <small><a style="font-family: monospace;" href="dispread.html">dispread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and read colorimetric values from a display <br>
+ <small><a style="font-family: monospace;" href="dispwin.html">dispwin</a><span
+ style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp; </span></small>Install
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ or uninstall display profile, set display calibration from profile
+ or .cal file, test displace and dispwin access to a display.<br>
+ <small><a style="font-family: monospace;" href="extracticc.html">extracticc</a><span
+ style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; </span>Extract
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an embedded ICC profile from a TIFF or JPEG file.<br>
+ </small><small><a style="font-family: monospace;"
+ href="extractttag.html">extractttag</a><span style="font-family:
+ monospace;"></span></small><small><span style="font-family:
+ monospace;">&nbsp;&nbsp; </span>Extract a text tag (ie. CGATS
+ .ti3 data or CAL) from an ICC profile.</small><br>
+ <small><a style="font-family: monospace;" href="fakeCMY.html">fakeCMY</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Create a fake Argyll .ti3 CMY data file from a CMYK
+ profile, as a basis of creating a CMY to CMYK separation <br>
+ <small><a style="font-family: monospace;" href="fakeread.html">fakeread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Fake
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the reading of a device using an ICC or MPP profile. <br>
+ <small><a style="font-family: monospace;" href="filmread.html">filmread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Read
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ film colorimetric values using a SpectroScanT (Deprecated ?)<br>
+ <small><a style="font-family: monospace;" href="filmtarg.html">filmtarg</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ film recorder TIFF files from Argyll .ti1 file. <br>
+ <small><a style="font-family: monospace;" href="greytiff.html">greytiff</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Convert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a TIFF file to monochrome using an ICC device profile <small><a
+ style="font-family: monospace;" href="oeminst.html"></a></small><br>
+ <small><a style="font-family: monospace;" href="iccdump.html">iccdump</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Dump the contents of an ICC profile as text. <br>
+ <small><a style="font-family: monospace;" href="iccgamut.html">iccgamut</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a gamut file or VRML file of the color gamut of an ICC profile. <br>
+ <small><a style="font-family: monospace;" href="icclu.html">icclu&nbsp;</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Lookup individual color values through any ICC
+ profile table. <br>
+ <small><a style="font-family: monospace;" href="illumread.html">illumread</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span></small>Use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an instrument to measure an illuminant spectrum, and estimate its UV
+ content.<br>
+ <small><a style="font-family: monospace;" href="invprofcheck.html">invprofcheck</a><span
+ style="font-family: monospace;">&nbsp; </span></small>Check ICC
+ forward against inverse lookup. <br>
+ <small><a style="font-family: monospace;" href="kodak2ti3.html">kodak2ti3</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Convert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Kodak Colorflow format CMYK test chart into Argyll .ti3 CGATS
+ format. <br>
+ <small><a style="font-family: monospace;" href="mppcheck.html">mppcheck</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an MPP profile against .ti3 test chart data. <br>
+ <small><a style="font-family: monospace;" href="mpplu.html">mpplu</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Lookup individual color values though an MPP
+ profile. Also create MPP gamut files/views. <br>
+ <small><a style="font-family: monospace;" href="mppprof.html">mppprof</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Create a Model Printer Profile (MPP) from the .ti3
+ test data. <br>
+ <small><a style=" font-family: monospace;"
+ href="file:///D:/src/argyll/doc/oeminst.html">oeminst</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ </span></small>Install Instrument manufacturers files for the
+ Spyder 2, EDR or CCSS calibration files for i1d3 or Spyder 4,&nbsp;
+ CCMX files for colorimeters.<br>
+ <small><a style="font-family: monospace;" href="printcal.html">printcal</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a printer calibration .cal file from a .ti3 data file<small><big>.</big></small><br>
+ <small><a style="font-family: monospace;" href="printtarg.html">printtarg</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span></small><small><big>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a PS, EPS or TIFF file containing test patch values, ready for
+ printing.</big></small><br>
+ <small><a style="font-family: monospace;" href="profcheck.html">profcheck</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Check
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an ICC profile against .ti3 test chart data. <br>
+ <small><a style="font-family: monospace;" href="refine.html">refine</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Creates an
+ abstract profile from two chart readings, useful for refining
+ proofing profiles. <br>
+ <small><a style="font-family: monospace;" href="revfix.html">revfix</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Regenerate a device profiles B2A table data by
+ inverting the A2B table. <br>
+ <small><a style="font-family: monospace;" href="scanin.html">scanin</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Convert a TIFF&nbsp; image of a test chart into
+ .ti3 device values. <br>
+ <small><a style="font-family: monospace;" href="spec2cie.html">spec2cie</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
+ style="text-decoration: underline; font-family: monospace;"></span></small>Convert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ spectral .ti3 readings into CIE XYZ or L*a*b* readings. Apply FWA,
+ plot spectrums.<br>
+ <small><a style="font-family: monospace;" href="specplot.html">specplot</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span><span
+ style="text-decoration: underline; font-family: monospace;"></span></small>&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Plot a spectrum (.sp, .cmf, .ccss) and calculate CCT and VCT.<br>
+ <small><a style="font-family: monospace;" href="splitti3.html">splitsti3</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span></small>Split
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a CGATS file (ie. a .ti3) into two parts randomly to verify
+ profiling. <br>
+ <small><a style="font-family: monospace;" href="spotread.html">spotread</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ an instrument to read a single spot color value. <small><a
+ style="font-family: monospace;" href="oeminst.html"></a></small><br>
+ <small><a style="font-family: monospace;" href="synthcal.html">synthcal</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a synthetic input, display or output calibration (<a
+ href="File_Formats.html#.cal">.cal</a>)file.<br>
+ <small><a style="font-family: monospace;" href="synthread.html">synthread</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><big>Fake
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the reading of a device using a synthetic device model. </big></small><br>
+ <small><a style="font-family: monospace;" href="targen.html">targen</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Generate a profiling test target values .ti1 file.
+ <br>
+ <small><a style="font-family: monospace;" href="tiffgamut.html">tiffgamut</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ a gamut file or VRML file of the color gamut of a TIFF or JPEG
+ image. <br>
+ <small><a style="font-family: monospace;" href="timage.html">timage</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></small>Create TIFF
+ test images. <br>
+ <small><a style="font-family: monospace;" href="txt2ti3.html">txt2ti3</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small><small><big>Convert Gretag/Logo/X-Rite or other
+ format RGB or CMYK test chart results into Argyll .ti3 CGATS
+ format.</big></small> <br>
+ <font size="-1"><a style="font-family: monospace;"
+ href="verify.html">verify</a><span style="font-family:
+ monospace;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font>Verify
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ matching of CIE in two CGATS/.ti3 files (also view differences as
+ VRML)<br>
+ <font size="-1"><a style="font-family: monospace;"
+ href="viewgam.html">viewgam</a><span style="font-family:
+ monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font>Convert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ one or more gamuts into a VRML 3D visualization file. Compute an
+ intersection.<br>
+ <small><a style="font-family: monospace;" href="xicclu.html">xicclu</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span></small>Lookup individual color values forward or inverted
+ though an ICC profile table. <br>
+ <br>
+ <h2><u><a href="Environment.html">Environment Variables<br>
+ </a></u></h2>
+ <span style="text-decoration: underline;"><span style="font-weight:
+ bold;"></span></span> Performance/memory tuning hints, plus
+ tweaks for scipting.<br>
+ <h2><u><a href="Performance.html">Performance Tuning<br>
+ </a></u></h2>
+ <span style="text-decoration: underline;"><span style="font-weight:
+ bold;"></span></span> Performance hints. <br>
+ <h2><u><a href="Overview.html">Overview</a></u></h2>
+ Overview of the software and its aims and functionality.<br>
+ <h2><u><a href="Limitations.html">Limitations</a></u></h2>
+ Limitations of the current functionality.<br>
+ <h2><u><a href="Organisation.html">Organization</a></u></h2>
+ How directories are organized, what they contain.
+ <h2><u><a href="Source.html">Source</a></u></h2>
+ Any detailed documentation on how the software works, or what
+ algorithms it is based on. (Very incomplete.)
+ <h2><u><a href="MinorTools.html">Minor Tools</a></u></h2>
+ A very brief description of minor tools and test harnesses. <br>
+ <br>
+ <br>
+ <h2><u><a name="FFormats"></a><a href="File_Formats.html">File
+ formats that Argyll uses</a></u></h2>
+ Argyll uses a number of file formats for its operation, some that
+ are external standards, and some that are unique to Argyll. <br>
+ <br>
+ <a href="File_Formats.html#.ti1">.ti1</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device test values <br>
+ <a href="File_Formats.html#.ti2">.ti2</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device test values &amp; chart layout <br>
+ <a href="File_Formats.html#.ti3">.ti3</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Device test values &amp; CIE tristimulus/spectral results&nbsp; <a
+ href="ti3_format.html">Format details.</a><br>
+ <a href="File_Formats.html#.cal">.cal</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Device
+ calibration information. <a href="cal_format.html">Format details.</a><br>
+ <a href="File_Formats.html#.cht">.cht</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test chart recognition template. <a href="cht_format.html">Format
+ details.</a> <br>
+ <a href="File_Formats.html#.gam">.gam</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3D gamut surface description <br>
+ <a href="File_Formats.html#.sp">.sp</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Illuminant spectral description <br>
+ <a href="File_Formats.html#.ccmx">.ccmx</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Colorimeter Correction Matrix <br>
+ <a href="File_Formats.html#.ccmx">.ccss</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Colorimeter Calibration
+ Spectral Set <br>
+ <a href="File_Formats.html#CGATS">CGATS</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Standard text based data exchange format <br>
+ <a href="File_Formats.html#ICC">ICC</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ International Color Consortium profile format <br>
+ <a href="File_Formats.html#MPP">MPP</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Model device profile format <br>
+ <a href="File_Formats.html#TIFF">TIFF</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tag Image File Format raster files. <br>
+ <a href="File_Formats.html#JPEG">JPEG</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Joint Photographic Experts Group, JPEG File Interchange Format
+ raster files. <br>
+ <a href="File_Formats.html#VRML">VRML</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virtual Reality Modelling Language 3D file format. <br>
+ <br>
+ <a href="ucmm.html">ucmm</a> &nbsp; &nbsp;&nbsp;&nbsp; Unix micro
+ Color Management Module convention and configuration file format and
+ <span style="color: rgb(204, 0, 0); font-weight: bold;">Profile
+ Locations</span>.<br>
+ &nbsp;
+ <h2><u>Errors, Corrections and Omissions:</u></h2>
+ <script language="JavaScript">
+
+<!--
+
+// Comment
+
+var v1 = ".com"
+
+var v2 = "argyllcms"
+
+var v3 = "Graeme"
+
+var v4 = "@"
+
+var v5 = "mailto:"
+
+var v6 = v5 + v3 + v4 + v2 + v1
+
+document.write("<a href=" + v6 + ">" + "Let me know" + "</a>")
+
+//-->
+
+
+
+</script> If you notice any errors, corrections needed or omissions in
+ the current documentation, please contact the author.<br>
+ &nbsp; <br>
+ &nbsp;
+ </body>
+</html>
diff --git a/doc/ArgyllFlow.jpg b/doc/ArgyllFlow.jpg
new file mode 100644
index 0000000..962e42a
--- /dev/null
+++ b/doc/ArgyllFlow.jpg
Binary files differ
diff --git a/doc/ArgyllFlowThumb.jpg b/doc/ArgyllFlowThumb.jpg
new file mode 100644
index 0000000..a98b4ff
--- /dev/null
+++ b/doc/ArgyllFlowThumb.jpg
Binary files differ
diff --git a/doc/CMP_DT_003.jpg b/doc/CMP_DT_003.jpg
new file mode 100644
index 0000000..1975eeb
--- /dev/null
+++ b/doc/CMP_DT_003.jpg
Binary files differ
diff --git a/doc/CMP_Digital_Target-3.jpg b/doc/CMP_Digital_Target-3.jpg
new file mode 100644
index 0000000..b6502d5
--- /dev/null
+++ b/doc/CMP_Digital_Target-3.jpg
Binary files differ
diff --git a/doc/CRTspectrum.jpg b/doc/CRTspectrum.jpg
new file mode 100644
index 0000000..82ddd17
--- /dev/null
+++ b/doc/CRTspectrum.jpg
Binary files differ
diff --git a/doc/ChangesSummary.html b/doc/ChangesSummary.html
new file mode 100644
index 0000000..94e3aa3
--- /dev/null
+++ b/doc/ChangesSummary.html
@@ -0,0 +1,790 @@
+<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ <meta name="description" content="Root of Argyll CMS documentation">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <meta name="Author" content="Graeme Gill">
+ <meta name="Description" content="Summary of changes for the most
+ recent release.">
+ <title>Argyll CMS changes since last release</title>
+ </head>
+ <body>
+ <h1> Summary of Argyll CMS Changes since last release</h1>
+ <h3>For a <span style="text-decoration: underline;">complete</span>
+ and more detailed list of changes, please see the log.txt file.</h3>
+ <h1>[V1.5.0 -&gt; V1.5.1] 8th March 2013</h1>
+ <ul>
+ <li>Fix spectro/instlib.ksh and standalone instlib build.</li>
+ <li>Turned off debug plot on using FWA.</li>
+ <li>Changed link $(LINKFLAGS) location in link command line
+ Jambase to get latest gcc working.</li>
+ <li>Fixed new bug in matrix display profile creation that causes
+ an inaccurate relative white point. This causes Photoshop to
+ barf on the profiles.</li>
+ <li>Added -m option to printcal.</li>
+ <li>Fix bug in webwin that causes crash.<br>
+ </li>
+ </ul>
+ <h1>[V1.4.0 -&gt; V1.5.0] 1st March 2013</h1>
+ <ul>
+ <li>Increased ease of selecting ISO 13655:2009 M0, M1 and M2
+ measurements using FWA comensation using any spectrometer that
+ can take non-UV filtered measurements. M0, M1 or M2 can now be
+ selected directly using the -f flag. [ArgyllCMS has been
+ supporting ISO 13655 M0, M1 &amp; M2 well before the standard
+ was created, thanks to its FWA compensation feature.]<br>
+ </li>
+ <li>Increased stability of i1d3 refresh display measurements by
+ increasing integration time, and tweaking crossover from
+ frequency to period measurement.</li>
+ <li>Added i1pro Rev E (i1pro2) feature support. Uses RevE
+ measurement mode, and does wavelength calibration. Uses RevE
+ (internal) stray light reduction, and black level temperature
+ compensation. The only Rev E feature not currently supported is
+ U.V. measurement, which would improve the accuracy of FWA
+ compensation. Rev E driver can be disabled and the legacy driver
+ mode used by setting the ARGYLL_DISABLE_I1PRO2_DRIVER
+ environment variable.</li>
+ <li>Changed i1pro adaptive mode to avoid high gain mode, so as to
+ give more consistent and longer integration times for low light
+ levels.</li>
+ <li>Changed ColorMunki adaptive mode to avoid high gain mode, so
+ as to give more consistent and longer integration times for low
+ levels. Added black level temperature compensation.</li>
+ <li>Added spotread interactive function 'f' to read out the
+ calibrate display refresh rate for instruments that have a
+ refresh display mode, as well as an 'F' function that measures
+ the refresh rate for instruments that support a refresh rate
+ measurement function (colorimeters &amp; spectrometers).</li>
+ <li>The Display Type selection option -y in dispcal, dispread,
+ chartread, spotread &amp; ccxxmake now lists installed CCSS and
+ CCMX files as a selection, rather than using the -X parameter.
+ CCMX and CCSS files now have extra fields to indicate the
+ refresh mode, an optional list of default UI selection
+ characters, and (for CCMX files) the base display type they
+ apply over (CB-n).<br>
+ </li>
+ <li>Tweaked CIECAM02 to improve behavior for extreme blue colors,
+ so that the hue doesn't swing too far towards the cyan. This
+ helps in the clipping behavior from colorspaces such as
+ ProPhotoRGB.</li>
+ <li>Made the input profile cLUT extra neutral axis extrapolation
+ points the default for colprof -u and non -u profiles. Changed
+ -u algorithm to work similarly to -U scale :- it sets the scale
+ automatically. Relative colorimetric is therefore hue matched to
+ the white reference patch, Removed colprof -un, as it seems
+ unnecessary. Added colprof -uc, which clips cLUT colors over Y =
+ 1 to white.</li>
+ <li>The spyd2en, spyd4en and i1d3ccss tools have been combined
+ into, and replaced by a single oeminst tool.</li>
+ <li>Fix problem with dispwin/dispcal/dispread -dweb and the latest
+ Safari browser.</li>
+ <li>Changed to a single ArgyllCMS.inf file for MSWin USB driver
+ installation. This eases installation of more than a single type
+ of instrument. Tested on MS Windows 8 and updated installation
+ instructions.</li>
+ <li>Dropped libusb for USB access, using native USB access
+ instead. MSWin uses the libusb-win32 kernel driver. Moved the
+ usb setup files from libusb1 to a new directory, usb.</li>
+ <li>Added scanin support for ColorCheckerPassort.</li>
+ <li>Updated OS X code to compile on 10.6 and 10.7 and (presumably)
+ 10.8 (64 bit compatible API used when compiling on those
+ platforms, including Cocoa for the test patch window).<br>
+ </li>
+ <li>Changed udev file usb/55-Argyll.rules to eliminate the test
+ for /lib/udev/udev-acl as a condition of using ACL_MANAGE, since
+ I'm informed that it is deprecated in recent distribution
+ releases (but who can tell, given the churn in the udev API).</li>
+ <li>Deprecated -V flag (adaptive mode) in dispcal, dispread and
+ ccxxmake, since this is now the default. Flag will be ignored
+ with a warning. Added -ZA flag instead, to select non-adaptive
+ integration time mode.</li>
+ <li>spotread -d flag is deprecated, and is now a synonym for the
+ -e flag, since it defaults to adaptive mode. Added -ZA flag
+ instead, to select non-adaptive integration time mode. Also
+ added -Zr and -ZR flags to allow testing of the refresh mode
+ overrides.</li>
+ <li>Migrated ArgyllCMS specific application runtime files (such as
+ instrument blobs, calibration state &amp; calibration files) to
+ an "ArgyllCMS" sub-directory rather than the generic "color"
+ directory. On OS X also moved data files to below the
+ "Application Support" sub directory. The old locations will be
+ used as a fallback.<br>
+ </li>
+ <li>Added support for Quato Silver Haze 3 OEM i1d3<br>
+ </li>
+ <li>Added support for X-Rite ColorMunki Smile colorimeter.</li>
+ <li>Enable the ColorHug by default, although it isn't advertised
+ as supported, since it doesn't yet work reliably on OS X.
+ Updated ColorHug PCI VID &amp; PID</li>
+ <li>For Spyder, emit a warning rather than error if the feature
+ bits are missing for calibration tables.</li>
+ <li>Added automatic adjustment of patch reading delay for i1d3, so
+ that a more conservative (longer) default value (200 msec) can
+ be used without impacting i1d3 speed. Also added environment
+ variable ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS that can set a
+ different minimum update delay.</li>
+ <li>Fixed a bug introduced in V1.3.6 that stops the dtp41 from
+ being initialized properly.</li>
+ <li>Improved black level readings derived from spectral values by
+ allowing them to be -ve. <br>
+ </li>
+ <li>The instlib API has been modified quite extensively to make it
+ more self contained and flexible, although the basic
+ architecture remains the same.<br>
+ </li>
+ </ul>
+ <h1>[V1.3.7 -&gt; V1.4.0] 20th April 2012</h1>
+ <ul>
+ <li>Modified spectro/ccxxmake so that a colorimeter can be used as
+ a reference to make ccmx files if two .ti3 files are used. Added
+ ref/ccxx.ti1 as convenient way of creating ccmx .ti3 files.<br>
+ </li>
+ <li>Added dither/screening support for 8 bit output of render, and
+ then made it available in target/printtarg.<br>
+ </li>
+ <li>Added JPEG file support to imdi/cctiff, xicc/tiffgamut and
+ xicc/extracticc. ICC profiles embedded in JPEG files can now be
+ used anywhere a TIFF file with embedded ICC profile can be used
+ as a source of an ICC profile.<br>
+ </li>
+ <li>Fixed memory leaks in usbio.c, xdg_bds.c &amp; conv.c</li>
+ <li>Fixed double memory free bug in icc/icc.c when iccdump'ing a
+ profile that has a duplicate tag.</li>
+ <li>Changed license of xicc/ccmx.[ch] to GPL2+.<br>
+ </li>
+ <li>Made display calibration and profile making deal with displays
+ without hardware calibration support (VideoLUT support) more
+ graceful. Added tutorial section covering this.<br>
+ </li>
+ <li>Added option to dispwin/dispcal/dispread/ccxxmake to redirect
+ the test patches to a web browser via a local web server. This
+ augments Argyll's existing local and remote display capability.<br>
+ </li>
+ <li>Fixed bug in spectro/i1d3.c which results in NAN if a low
+ level readings drops to zero at a particular time. Improved
+ refresh rate calibration accuracy. Fixed bugs in adaptive
+ measurement logic that caused a channel to be pre-measured when
+ it shouldn't. This seems to noticeably improve repeatability on
+ refresh displays.<br>
+ </li>
+ <li>Fixed bug in ucmm/jcnf where it was failing to locate the
+ correct profile for a display.<br>
+ </li>
+ <li>Fix bugs in ColorMunki Transmissive measurement mode
+ calibration.<br>
+ </li>
+ </ul>
+ <h1>[V1.3.6 -&gt; V1.3.7] 26th March 2012</h1>
+ <ul>
+ <li>Fix regression in Spyder support - ccmx files were not being
+ handled (bug introduced in 1.3.6).</li>
+ <li>Fix packaging problem - Spyder4 MSWin .inf file was missing.</li>
+ <li>Change dispwin so that it will install a profile when there is
+ no access to the display VideoLUT if the profile has no vcgt.<br>
+ </li>
+ </ul>
+ <h1>[V1.3.5 -&gt; V1.3.6] 19th March 2012<br>
+ </h1>
+ <ul>
+ <li>Added Spyder4 support. Note the need for spyd4en for access to
+ a full range of Manufacturers calibrations. The Spyder4 can use
+ .ccss calibration files too. Speeded up all Spyder instrument
+ readings on brighter colors.</li>
+ <li>Experimental ColorHug support is compiled in, but is disabled
+ unless the environment variable "ENABLE_COLORHUG" is set. The
+ ColorHug currently doesn't seem to work reliably across all
+ platforms ArgyllCMS supports.<br>
+ </li>
+ <li>Changed and expanded display selection (-y flag) to be
+ instrument specific. This is to support the Spyder4 and
+ ColorHug, and adds a refresh display selection to the i1d3.</li>
+ <li>Tweaked i1d3 integration times and added accurate refresh
+ period calibration to the refresh display mode. Refresh display
+ measurement times are double non-refresh displays. Improved i1d3
+ period measurement logic to improve measurement speed and
+ accuracy for dark colors.</li>
+ <li>Changed i1disp measurement logic to try and make it more
+ robust against light to dark changes during a reading. This may
+ make it slightly less precise for LCD displays on bright colors
+ (equivalent now to Refresh display precision).<br>
+ </li>
+ <li>Added a -V option to spotread to allow tracking reading
+ consistency.</li>
+ <li>Changed ccxxmake to create default .ccss with just&nbsp; RGBW,
+ and not to weight W. This may give better matching. Made
+ corresponding change to CCMX, giving the white patch 1/4
+ weighting of sum of all other patches.</li>
+ <li>Fixed applycal so that it applies calibration to both A2B and
+ B2A tables, to preserve softproofing.</li>
+ <li>Fixed timeout in SpectroScanT reference transmission
+ measurement. (Someone kindly donated me a SpectroScanT to test
+ with!)</li>
+ <li>Made DTP94 driver ignore with a warning any
+ NEEDS_OFFSET_DRIFT_CAL_ERR after a full reset. It seems that
+ occasionally a few instruments do this, and X-Rite don't appear
+ to be prepared to treat this as an instrument fault.</li>
+ <li>Added support for Datacolor SpyderCheckr (Thanks to Jos
+ Pereira).</li>
+ <li>Improved the ability of spyd2en to cope with slightly
+ different setup.exe formats.</li>
+ <li>Add support for NEC SpectraSensor Pro version of the i1d3.<br>
+ </li>
+ </ul>
+ <h1>[V1.3.4 -&gt; V1.3.5] 24th October 2011</h1>
+ <ul>
+ <li>Fix bug (crash) that affects ColorMunki design/photo display
+ measurement. This also stops it restoring a calibration (-N
+ flag).</li>
+ <li>Add support for the OEM version of the i1d3.</li>
+ <li>Fix bug that stopped ccxxmake being able to make ccmx's.</li>
+ <li>Tweak gamut mapping to improve dark area mapping,
+ non-monotonic profile inversion, and contrast preservation to
+ small gamut.</li>
+ <li>Kill i1ProfileTray.exe process if unable to open i1d3 on
+ MSWin.</li>
+ <li>Fix DTP20 chart printing - TID was sometimes incomplete. This
+ shows up on a 4x6 chart.<br>
+ </li>
+ </ul>
+ <h1>[V1.3.3 -&gt; V1.3.4] 31st August 2011</h1>
+ <ul>
+ <li>Added support for the X-Rite i1 Display Pro and ColorMunki
+ Display colorimeters. As part of this, added support for CCSS
+ calibration files for the instruments and added CCSS support to
+ ccxxmake (renamed from ccmxmake). Provide new tool i1d3ccss to
+ translating and installing CCSS files as well as the
+ manufacturers calibration files for these instruments. Added
+ non-default observer support for these instruments too.</li>
+ <li>Fix gamut code to ignore setting primary/secondary cusps that
+ are unlikely to be true. This avoids buggy gamut mapping
+ behavior for gamuts that are very small and odd shaped.</li>
+ <li>Changed Linux USB code to avoid doing a
+ set_configuration&nbsp; if possible, since the USB driver does
+ this by default. This then avoids triggering a bug in the
+ Spyder2, which allows it to work on Linux version without the
+ reset_ep fix, and may also allow the Spyder to work better with
+ USB hubs.</li>
+ <li>Change printtarg for DTP20 to allow for variable patch size.</li>
+ <li>Changed dummy display matrix table to have channels rotated
+ rather than R &amp; G swapped, to make it more obvious.</li>
+ <li>Added option to colprof to allow setting the default profile
+ rendering intent.</li>
+ <li>Enhanced spectro/fakeread so that it will process a .ti3 file
+ that has been renamed to .ti1.</li>
+ <li>Fix bug in matrix input profile white point selection, + add
+ in slight neutral bias code used in clut profiles.</li>
+ <li>New profcheck -I wasn't working - fix option parsing.</li>
+ </ul>
+ <h1>[V1.3.2 -&gt; V1.3.3] 13th May 2011</h1>
+ <ul>
+ </ul>
+ <ul>
+ <li>Fixed compiler dependant bug in Eye-One pro and (possibly)
+ Munki high res. spectral wavelength calculation.</li>
+ <li>Add support for install variables DESTDIR and PREFIX in
+ Jamtop. These can be set on the command line using "jam -s"</li>
+ <li>Added targen -N parameter to allow adjustment of neutral axis
+ patch density emphasis, as well as increasing the default. This
+ should improve the result without needing to add explicit grey
+ test patches.</li>
+ <li>Added spectro/instlib.ksh script to assemble all the files
+ needed for a standalone instrument library. Changed licence to
+ GPLv2 for the files included in the instlib.zip file that is
+ thus created. See spectro/instlib.txt for more details.</li>
+ <li>Fix Jambase so that recent MingW compilers don't need extra
+ .dll's</li>
+ <li>Change Linux serial code to test ports using O_NONBLOCK</li>
+ <li>Modify xspect &amp; illumread to improve realism of UV
+ spectrum estimation.</li>
+ <li>Fixed profile/txt2ti3 so that a sample name that looks like an
+ integer is treated as text. (Fixes problem with latest
+ ProfileMaker file).</li>
+ <li>Added LCh option to spotread.</li>
+ <li>Fixed numerical issue in scanin/scanrd.c, where large input
+ rasters would cause fitting to fail.</li>
+ <li>Modified colprof input chart white patch detection to slightly
+ favour patches that are close to D50 neutral.</li>
+ <li>Increase the default XYZ PCS A2B profile default smoothness.</li>
+ <li>Improved cLUT input -u black &amp; white&nbsp; point
+ extrapolation.</li>
+ <li>Improved black point determination for devices that have
+ extremely narrow gamuts doe to the use of custom inks.</li>
+ <li>Added -Z option to colprof, to allow setting ICC attribute
+ flags.</li>
+ <li>Fix CIECAM02 to better match forward and backwards, to fix
+ perceptual table white point.</li>
+ <li>Add code to override X-Rite's new OS X drivers for ColorMunki
+ and EyeOne. Note new installation instructions
+ &lt;http://www.argyllcms.com/doc/Installing_OSX.html&gt;.</li>
+ <li>Added -R flag to colprof, which restricts the range of the
+ white, black for better compatibility with other programs.</li>
+ <li>Fixed typo bug that prevented flash measurement mode from
+ working.</li>
+ <li>Replaced spectro/average with a new version that is more
+ general.</li>
+ <li>Fixed bug in printcal not working with spectral only files.</li>
+ <li>Added extra verbose output to printcal in which it computes an
+ ideal power-like value to apply to the test chart values in
+ targen.</li>
+ <li>Modify the way that XYZ cLUT B2A tables are indexed, so that
+ the white point is at the top corner of the grid.This should
+ solve Photoshop CS4/CS5 complaining that XYZ LUT profiles are
+ 'defective'.</li>
+ <li>Added option in xicc/xicclu to plot an arbitrary slice.</li>
+ <li>Expand the number of i1 Display OEM devices that can be used.</li>
+ <li>Made some changes to help compile on FreeBSD.</li>
+ <li>Added another intent, "pa", Perceptual Appearance, which is
+ the same as perceptual except that the grey axes are not forced
+ into alignment, allowing the appearance parameters to have full
+ affect, including altering the chromatic mapping.</li>
+ <li>Fixed bug in txt2ti3 - it wasn't creating an iRGB colorspace
+ file for output device RGB files, causing warnings warnings and
+ failures when mixed with other iRGB tool sequences. </li>
+ <li>Added pathological case fix for target/ofps where the ink
+ limit == di-2. </li>
+ <li>targen was failing to proceed when fixed points happened to be
+ numerically just over the total ink limit.</li>
+ <li>Added more navigation options for chartread patch by patch
+ mode.</li>
+ <li>&nbsp;Fixed bug in "chartread -r -H" that caused resume of
+ i1Pro high res to fail with "The resumed spectral type seems to
+ have changed".</li>
+ <li>Modified profcheck so that it prints patch location if it is
+ present in the .ti3 file.</li>
+ <li>Changed dispcal and dispread -K option to -J. Added -K option
+ to dispcal as an alternate way of profiling a calibrated
+ display, and also added a -K option to dispcal. </li>
+ <li>Increased ColorMunki emissive auto scaling target "over"
+ margin from 5% to 10% to allow more room for instrument drift
+ during measurement.</li>
+ <li>&nbsp;Fix bug in winusb + i1Display, where dark CRT
+ measurements timeout.</li>
+ </ul>
+ <h1>[V1.3.1 -&gt; V1.3.2] 4th November 2010<br>
+ </h1>
+ <ul>
+ <li>Turn off debugging that was accidentally left on in FWA code.
+ Add gcc 3.3 PPC optimizer bug workaround to FWA code in
+ xicc/xspect.c</li>
+ <li>Change shaper/matrix profile back to using power curve as 0th
+ order shape. Improve it with input &amp; output offsets and
+ straight segment at zero. Make cLUT input -u black &amp; white
+ point extrapolation use pure shaper curves with special tweaks.</li>
+ <li>Increase dispcal native white target weighting from 10 to 50
+ to encourage white to be device 1.0,1.0,1.0 more strongly.</li>
+ </ul>
+ <h1>[V1.3.0 -&gt; V1.3.1] 26th October 2010<br>
+ </h1>
+ <ul>
+ <li>Fixed MSWIN Vista/Win7 problem where having Task Manager
+ running would stop display test window updating. Also fixed plot
+ library to avoid the same problem.</li>
+ <li>Swapped dispwin -E and -D flags, to make -D debug consistent
+ throughout tools.</li>
+ <li>Changed the ARGYLL_NOT_INTERACTIVE mode so that all return and
+ line feed characters are ignored, so that they can be used
+ freely to flush stdin without triggering anything.</li>
+ <li>Fixed endless loop problem with chartread -r -p on fully read
+ chart.</li>
+ <li>Added -S option to chartread, that suppresses wrong strip and
+ unexpected value warnings.</li>
+ <li>Fix dispcal and spotread so that color temperature takes into
+ account any non-standard observer (ie. the color temperature is
+ the closest point on the spectrum locus as determined by the
+ chosen observers interpretation of the Plancian or daylight
+ spectrum.)</li>
+ <li>Fix bug in libusb1 triggered on systems that support bulk
+ continuation (Linux)</li>
+ <li>Added 1964_10c observer to spectro/dispcal, to better allow
+ comparison to the default numbers.</li>
+ <li>Added recognition for Huey built into Lenovo W series Laptops.</li>
+ <li>Fixed chartread/dispsup/spotread etc. so that -N isn't fatal
+ if the instrument doesn't support it.</li>
+ <li>Fixed dispcal to disable black &amp; white drift tracking
+ during interactive adjustment.</li>
+ <li>Added -s option to ccmxmake to allow the number of test
+ patches to be set.</li>
+ </ul>
+ <h1>[V1.2.0 -&gt; V1.3.0] 8th September 2010<br>
+ </h1>
+ <ul>
+ <li>Added option to <span style="font-weight: bold;">dispcal</span>
+ and dispread that attempts to counteract instrument black drift
+ and display white drift (-I option). This may help with
+ instruments that haven't properly acclimatised to the
+ measurement location, and LCD displays that also take some time
+ to stabilise. The is a short discussion <a
+ href="Scenarios.html#PM6">here</a>.<br>
+ </li>
+ <li>Added option to <span style="font-weight: bold;">dispcal</span>
+ to allow specifying a non 1931 2 degree observer if a
+ spectrometer is being used.<br>
+ </li>
+ <li>Added new utility spectro/<span style="font-weight: bold;">ccmxmake</span>,
+ which makes Colorimeter Correction Matrices for a particular
+ Colorimeter + Display combination, using a Spectrometer as a
+ reference. The resulting <span style="font-weight: bold;">.ccmx</span>
+ file can then be used with <span style="font-weight: bold;">spotread/dispcal/dispread</span>
+ (-X option) to improve the&nbsp; accuracy of the colorimeter on
+ that particular display. See a discussion <a
+ href="WideGamutColmters.html">here</a> and <a
+ href="Scenarios.html#PM6">here</a>.<br>
+ </li>
+ <li>Fixed bug in spotread's handling of emissive measurements. If
+ the XYZ was computed from spectral, it was using a D50 white
+ instead of no white reference.</li>
+ <li>Fixed bug in i1pro normal resolution wavelength calibration,
+ introduced in V1.2.0.<br>
+ </li>
+ <li>Changed libusb V1.0 name to libusb-1.0A, so as not to clash
+ with any official but different libusb V1.0 installation. [This
+ may necessitate re-installing device drivers on MSWin.]</li>
+ <li>Added support for HP DreamColor version of the i1 display.<br>
+ </li>
+ <li>Fix problem with ARGYLL_NOT_INTERACTIVE - reading from
+ instruments was not actually possible, because polling for input
+ was disabled.</li>
+ <li>Adjust ColorMunki dark threshold to reduce misread reports.
+ Add inconsistent data to debug output. Fix bug in adaptive mode
+ - the integration time was sometimes&nbsp; too short. Set
+ adaptive emissive target at 95% to allow a little more margin to
+ saturation.<br>
+ </li>
+ <li>Fix problem with ColorMunki reporting erroneous inconsistent
+ measurement errors. This shows up on display calibration.</li>
+ <li>Fix some minor compiler warnings.</li>
+ <li>Added direction indicators to xy values in dispcal
+ interactive&nbsp; monitor adjustments. </li>
+ <li>Fix bug in CIECAM02 viewing condition settings :- the
+ enumerated conditions after "mt" are displaced by 1. (ie. "mt"
+ is really "pc", "mb" is "mt", "md" is "mb" etc.) Added option
+ -c:sn for auto surround from the Lv parameter (-c:l).</li>
+ <li>Add option to illumread to average several readings. Fixed bug
+ in the way illumread displays available instruments.<br>
+ </li>
+ </ul>
+ <h1>[V1.1.1 -&gt; V1.2.0] 30 July 2010<br>
+ </h1>
+ <ul>
+ <li>Re-worked gamut mapping to improve perceptual intent
+ saturation levels, as well as improve highlight and shadow
+ contrast. Added fine tuning to improve both smoothness and the
+ precision with which the source is mapped to the destination.</li>
+ <li>Added illumread, which allows measuring an illuminant and
+ estimating its UV content, for better accuracy with FWA
+ compensation.</li>
+ <li>Use a modified/forked version of libusb V1.0, that supports
+ Win2K (libusb0.sys) back end by default. Supports 64 but MSWin
+ using a combination of WinUSB.sys and ptlibusb0.sys. [ The HCFR
+ does not work on Win 64 bit though, due to its buggy USB
+ implementation. ] NOTE that the included version of Libusb V1
+ has been carefully tested with all supported instruments on all
+ supported platforms,&nbsp; and includes many bug fixes needed
+ for correct functioning. While bug fixes have been fed upstream,
+ not all have been adopted. In particular there is a nasty race
+ condition that has not, and may never be fixed upstream, as well
+ as missing critical functionality (clearep()).<br>
+ </li>
+ <li>Modified colprof -p to allow different abstract profiles to be
+ applied for each intent.</li>
+ <li>Added -I option (imitation) to printcal, so that an existing
+ devices response can be set as a target.</li>
+ <li>Increase target/ofps.c vertex intersection retries from 10 to
+ 40 to give it a better chance of working with difficult
+ profiles.</li>
+ <li>Fixed bug in plot that shows up on XP+, where the window isn't
+ dismissed by the first keystroke, but only after it has been
+ moved or resized.</li>
+ <li>Changed CMYK black point to be natural, rather than the
+ darkest point in the same direction and K only. This may wreck K
+ only to black point matching, but it will stop printers with
+ funny colored K ink from messing up the black point.</li>
+ <li>Make Lacie Blue Eye colorimeter appear as an i1display.</li>
+ <li>Improved i1pro matching to Original Manufacturers Driver (see
+ doc/i1proDriver.html).</li>
+ <li>Improved i1pro/ColorMunki patch recognition for better
+ uniformity.</li>
+ <li>Fixed bug in ColorMunki driver scan mode calibration when
+ instrument is more sensitive than usual.</li>
+ <li>Added EV calculation to spotread -a<br>
+ </li>
+ </ul>
+ <h1>[V1.1.0 -&gt; V1.1.1] 21 February 2010<br>
+ </h1>
+ <ul>
+ <li>Renamed the following tools:<br>
+ &nbsp;&nbsp;&nbsp; cb2cgats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&gt;
+ cb2ti3<br>
+ &nbsp;&nbsp;&nbsp; kodak2cgats -&gt; kodak2ti3<br>
+ &nbsp;&nbsp;&nbsp; logo2cgats&nbsp;&nbsp;&nbsp; -&gt; txt2ti3<br>
+ &nbsp;&nbsp;&nbsp; splitcgats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ -&gt; splitti3<br>
+ &nbsp;&nbsp;&nbsp;
+ mpprof&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&gt;
+ mppprof<br>
+ </li>
+ <li>Modified black curve to make sure that smoothed curve meets
+ target level at boundaries.</li>
+ <li>Added -M option to printtarg, for the case where the TIFF file
+ is to include the margin.</li>
+ <li>Fixed several build bugs in imdi code related to 64 bits.</li>
+ <li>Fixed profile/colprof -u so that it is applied to matrix
+ profiles too</li>
+ <li>Changed tiffgamut to use one pass gamut hull finding and
+ modified the smoothing so as to end up with a more closely
+ wrapped volume.</li>
+ <li>Fixed bug in input matrix profiles introduced by the XYZ cLUT
+ display matrix profile change, where the correct white and black
+ point weren't being written.</li>
+ <li>Added matrix only/linear algorithm option to profile/colprof,
+ for raw camera profiling.</li>
+ <li>Modified libusb/55-Argyll.rules for better compatibility with
+ systems that have ACL installed but no ConsoleKit. Also set
+ ID_VENDOR and ID_MODEL using. usb-db.</li>
+ <li>Modified target/targen to cope better with case where adding
+ nodes fails to determine vertex positions a lot of the time,
+ causing extreme slowdown.</li>
+ <li>Fixed colprof so that the per channel input curves for XYZ PCS
+ B2A tables are actually scaled correctly.</li>
+ <li>Changed link/collink to apply Y to L* curve if the input or
+ output space is XYZ. Fixed the Y to L* scaling to make sure it
+ only apples to XYZ space, and that the L* non-linearisation
+ still applies to Y like device spaces.</li>
+ <li>Modified scanin so that it ignores any alpha channels in the
+ input .tiff file.</li>
+ <li>Changed printcal so that it will create .AMP file with more
+ than 4 channels. Also fixed up plotting to plot up to 10
+ channels.</li>
+ <li>Changed dispcal and dispread so that a request for projector
+ mode falls back to display mode if the instrument doesn't
+ support a projector mode.</li>
+ <li>Updated ref/CMP_Digital_Target-3.cht as it seems that the
+ reference chart has columns labelled "2A - 2D" rather than the
+ "AA - AD" that is actually printed on the chart...</li>
+ <li>Altered xpsect FWA code to reduce overshoot artefacts due to
+ filtering.<br>
+ </li>
+ </ul>
+ <h1>[V1.0.4 -&gt; V1.1.0] 17th January 2010<br>
+ </h1>
+ <ul>
+ <li>Spyder3 and ColorMunki Design, Photo and Create instrument
+ support.</li>
+ <li>Added a complete printer calibration system. This can work
+ either with a print system that supports per channel print
+ calibration curves, or purely using ICC profiling mechanisms.</li>
+ <li>Default targen (OFPS) test point distribution has been
+ re-written to generate test points on the gamut surface, refine
+ the point locations when using a guide profile, and use a better
+ error estimate model to determine the test point locations. <br>
+ </li>
+ <li>Changed chartread strip reading mode to allow navigating about
+ the strips, saving a partially read chart, and resuming a
+ partially read chart.<br>
+ </li>
+ <li>Improved and re-tuned gamut mapping. This is noticeably
+ smoother and better retains source image detail.</li>
+ <li>Re-tuned the cLUT profile creation smoothness vs. accuracy.</li>
+ <li>Fixed viewgam so that the number of gamuts that can be viewed
+ is unlimited. Also added error when computing intersecting
+ volume if the two gamuts are incompatible.</li>
+ <li>Improved CMYK black generation control and smoothness near the
+ black point.</li>
+ <li>Improved collink special black and colorant handling so that
+ the gamut mapping is consistent&nbsp; with the special black and
+ colorant mapping</li>
+ <li>Changed profile/colprof to generate matrix tags for Display
+ XYZ PCS cLUT profiles, to improve compatibility with other CMMs.<br>
+ By default (-ax) the matrix tags will be a dummy transform that
+ swaps red and green, while using -aX will create real matrix
+ tags.</li>
+ <li>Added -V option to dispcal and dispread to allow use of i1pro
+ adaptive mode to give better low level consistency.</li>
+ <li>Changed dispcal to default to -f 1.0 (assume black is all
+ output offset) to make it work in more sympathy to a typical
+ display response. Also changed default gamma to 2.4 for OS X
+ 10.6 systems.<br>
+ </li>
+ <li>Improved X11 XRandR CRTC detection.</li>
+ <li>Added spotread option to save spectral reading of an
+ illuminant to a .sp file.</li>
+ <li>Added Color Rendering Index (Ra) to spotread measurement
+ results.</li>
+ <li>Added i1pro &amp; ColorMunki flash measurement
+ support.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
+ </li>
+ <li>Improve reliability of detecting backwards read i1pro/Munki
+ strips.</li>
+ <li>Fixed bug in i1pro driver that subtly affected accuracy.</li>
+ <li>Modified xicc/cam02 to clip the blue to avoid crazy behavior
+ outside the spectrum locus.</li>
+ <li>Simplified the Linux installation instructions, particularly
+ with regard to USB and serial permissions.</li>
+ <li>Added working MSWindows 64 bit libusb drivers, which will work
+ on Vista 64 and MSWindows 7 64 bit. Because of Microsoft's
+ driver signing requirements though, they won't be usable unless
+ a driver code signing workaround is used.</li>
+ <li>Changed printtarg so that the TIFF output has the paper margin
+ subtracted from it. This is so that the resulting TIFF can be
+ placed on that sized paper without clipping or scaling. Set the
+ margin to zero to get a TIFF that exactly fits into the
+ specified paper size</li>
+ </ul>
+ <h1>[V1.0.3 -&gt; V1.0.4] 30th June 2009<br>
+ </h1>
+ <ul>
+ <li>Modify icc/icclib to protect against integer overflow
+ exploits, and fixes to minor bugs. Bump icclib version to 2.11
+ to reflect this.<br>
+ </li>
+ <li>Fix bug in spectro/hidio.c that can cause a crash (bus error)
+ on OS X for any program that accesses the instruments.</li>
+ <li>Fix bug in xicc/xfit.c where too little memory was being
+ allocated.<br>
+ </li>
+ </ul>
+ <h1>[V1.0.2 -&gt; V1.0.3] 3rd September 2008<br>
+ </h1>
+ <ul>
+ <li>Added multi-TIFF and popularity filtering to <span
+ style="font-weight: bold;">tiffgamut</span>.<br>
+ </li>
+ <li>Modified gamut mapping in <span style="font-weight: bold;">colprof</span>
+ and <span style="font-weight: bold;">collink</span> to be
+ consistent, and have higher perceptual intent saturation.<br>
+ </li>
+ <li>Fixed timeout problem with the Eye-One Display colorimeter.<br>
+ </li>
+ <li>Fix segmentation fault in <span style="font-weight: bold;">dispread</span>.</li>
+ <li>Fix out of memory error in <span style="font-weight: bold;">colprof
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span>for systems with &gt; 3Gig Ram.</li>
+ <li>Add support for the Eye-One Monitor spectrometer.</li>
+ <li>Added -L option to <span style="font-weight: bold;">printtarg</span>
+ to suppress the i1pro target holder clip margin.<br>
+ </li>
+ <li>Fixed bug in <span style="font-weight: bold;">dispcal</span>
+ when using -a with -t<br>
+ </li>
+ </ul>
+ <h1>[V1.0.1 -&gt; V1.0.2] 19th August 2008<br>
+ </h1>
+ Various bug fixes, the main ones being:<br>
+ <ul>
+ <li>Fixed some <span style="font-weight: bold;">colprof </span>performance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and memory usage issues.</li>
+ <li>Fixed issues with Eye-One Pro Rev B timeouts.</li>
+ <li>Added new option to collink -fk, that forces 000K input to K
+ only output.</li>
+ <li>Added device target value quantization option to <span
+ style="font-weight: bold;">printtarg</span>, as well as making
+ it default for TIFF output files.put files.</li>
+ <li>Fixed leak that was affecting <span style="font-weight:
+ bold;">printtarg</span>.<br>
+ </li>
+ </ul>
+ <h1>[V0.70 Beta 8 -&gt; V1.0.0] 1st July 2008<br>
+ </h1>
+ <br>
+ Apart from numerous bug fixes and many minor feature additions and
+ improvements, the main changes to this version compared to the
+ previous one are:<br>
+ <ul>
+ <li>Speedup in profile and device link generation (inversion
+ code), and better memory usage.<br>
+ </li>
+ <li>Support for embedded profiles in TIFF files.</li>
+ <li>Support for installing and uninstalling and loading of display
+ profiles for all operating systems, and a micro CMM system for
+ X11/Linux<br>
+ </li>
+ <li>Improved display calibration and profiling, including ambient
+ light adjustment.</li>
+ <li>X11 XRandR 1.2 support added.</li>
+ <li>Raster test charts now supported, as well as PS and EPS.<br>
+ </li>
+ <li>Guidance for installing on a wider range of systems.</li>
+ <li>Fixed luminance and ambient calibration issues with various
+ instruments.</li>
+ <li>Renamed "profile" to "colprof", and "icclink" to "collink" to
+ avoid clashes that have arisen with other executable names.</li>
+ <li>Streamlined source code build system, for much easier
+ building.<br>
+ </li>
+ <li>Installation archives now include a top directory, and
+ gzip/tar format for OS X and Linux.</li>
+ <li>Added B2A table to input device LUT profiles by default.<br>
+ </li>
+ </ul>
+ As usual, a more detailed description of all changes is in the <b>log.txt</b>
+ file that accompanies the source code.
+ <h1>[V0.60 -&gt; V0.70 Beta 8]15th January 2008<br>
+ </h1>
+ <ul>
+ <li>Added quick display ICC profile creation as part of
+ calibration.</li>
+ <li>Added support for the Huey, Spyder 2, DTP20, Eye-One Pro,
+ DTP22/Digital Swatchbook, Eye-One Display 1 and 2 instruments.</li>
+ <li>Changed to GPL Version 3 license.</li>
+ <li>Countless other bug fixes and feature enhancements.<br>
+ </li>
+ </ul>
+ <br>
+ <br>
+ <br>
+ <p><br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; </p>
+ <br>
+ </body>
+</html>
diff --git a/doc/Chroma4.jpg b/doc/Chroma4.jpg
new file mode 100644
index 0000000..917a9e5
--- /dev/null
+++ b/doc/Chroma4.jpg
Binary files differ
diff --git a/doc/ColorManagement.html b/doc/ColorManagement.html
new file mode 100644
index 0000000..fa7b656
--- /dev/null
+++ b/doc/ColorManagement.html
@@ -0,0 +1,271 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <meta content="text/html; charset=ISO-8859-1"
+ http-equiv="Content-Type">
+ <title>Color Management</title>
+ <meta content="Graeme W. Gill" name="author">
+ </head>
+ <body>
+ <h2 style="text-decoration: underline;">A Concise Introduction to
+ Color Management and ICC profiles<br>
+ </h2>
+ [Note that there are many other, perhaps more comprehensive and
+ expansive "introduction to Color Management" resources on the web.
+ Google is your friend...]<br>
+ <br>
+ Color management is a means of dealing with the fact that color
+ capture and output devices such as Cameras, Scanners, Displays and
+ Printers etc., all have different color capabilities and different
+ native ways of communicating color. In the modern world each device
+ is typically just part of a chain of devices and applications that
+ deal with color, so it is essential that there be some means for
+ each of these devices to communicate with each other about what they
+ mean by color.<br>
+ <br>
+ Successful color management allows colors to be captured,
+ interchanged and reproduced by different devices in a consistent
+ manner, and in such a way as to minimize the impact of any technical
+ limitation each device has in relation to color. It must also deal
+ with the interaction of human vision and devices, allowing for such
+ fundamental vision characteristics as white point adaptation and
+ other phenomena. It should also allow the human end purposes to
+ influence the choice between&nbsp; tradeoffs in dealing with
+ practical device limitations.<br>
+ <br>
+ The key means of implementing color management is to have a way of
+ relating what we see, to the numbers that each device uses to
+ represent color.<br>
+ <br>
+ The human eye is known to have 3 type of receptors responsible for
+ color vision, the long, medium and short wavelength receptors.
+ Because there are 3 receptors, human color perception is a 3
+ dimensional phenomena, and therefore at least 3 channels are
+ necessary when communicating color information. Any device capable
+ of sensing or reproducing color must therefore have at least 3
+ channels, and any numerical representation of a full range of colors
+ must have at least 3 components and hence may be interpreted as a
+ point in a 3 dimensional space. Such a representation is referred to
+ as a <span style="font-weight: bold;">Color Space</span>. <br>
+ <br>
+ Typically color capture and output devices expose their native color
+ spaces in their hardware interfaces. The native color space is
+ usually related to the particular technology they employ to capture
+ or reproduce color. Devices that emit light often choose <span
+ style="font-weight: bold;">Red Green</span> and <span
+ style="font-weight: bold;">Blue</span> (<span style="font-weight:
+ bold;">RGB</span>) wavelengths, as these are particularly
+ efficient at independently stimulating the human eye's receptors,
+ and for capture devices R,G &amp; B are roughly similar to the type
+ of spectral sensitivity of our eyes receptors. Devices that work by
+ taking a white background or illumination and filtering out (or <span
+ style="font-weight: bold;">subtracting</span>) colors tend to use
+ <span style="font-weight: bold;">Cyan</span>, <span
+ style="font-weight: bold;">Magenta</span>, and <span
+ style="font-weight: bold;">Yellow</span> (<span
+ style="font-weight: bold;">CMY</span>) filters or colorants to
+ manipulate the color, often augmented by a <span
+ style="font-weight: bold;">Black</span> channel (<span
+ style="font-weight: bold;">CMYK</span>). This is because a Cyan
+ filters out Red wavelengths, Magenta filters out Green wavelengths,
+ and Yellow filters out Blue wavelengths, allowing these colorants to
+ independently control how much RGB is emitted. Because it's
+ impossible to make filters that perfectly block C, M or Y
+ wavelengths without overlapping each other, C+M+Y filters together
+ tend to let some light through, making for an imperfect black.
+ Augmenting with an additional Black filter allows improving Black,
+ but the extra channel greatly complicates the choice of values to
+ create any particular color. <br>
+ <br>
+ Many color devices have mechanisms for changing the way they respond
+ to or reproduce color, and such features are called <span
+ style="font-weight: bold;">Adjustments</span>, or <span
+ style="font-weight: bold;">Calibration</span>. Such features can
+ be very useful in adapting the device for use in a particular
+ situation, or for matching different instances of the device, or for
+ keeping its behavior constant in the face of component or
+ environmental changes. Sometimes there may be internal
+ transformations going on in the device so that it presents a more or
+ less expected type of color space in its hardware interface. [ Some
+ sophisticated devices have built in means of emulating the behavior
+ of other devices, but we won't go into such details here, as this is
+ really just a specialized implementation of color management. ]<br>
+ <br>
+ To be able to communicate the way we see color, a common "language"
+ is needed, and the scientific basis for such a language was laid
+ down by the International Commission on Illumination (CIE) in 1931
+ with the establishment of the CIE 1931 <span style="font-weight:
+ bold;">XYZ</span> color space. This provides a means of predicting
+ what light spectra will match in color for a Standard Observer, who
+ represents the typical response of the Human eye under given viewing
+ conditions. Such a color space is said to be <span
+ style="font-weight: bold;">Device Independent</span> since it is
+ not related to a particular technological capture or reproduction
+ device. There are also closely related color-spaces which are direct
+ transformations of the XYZ space, such as the <span
+ style="font-weight: bold;">L* a* b*</span> space which is a more
+ perceptually uniform device independent colorspace.<br>
+ <br>
+ As mentioned above, the key to managing color is to be able to
+ relate different color spaces so that they can be compares and
+ transformed between. The most practical approach to doing this is to
+ relate all color spaces back to one common colorspace, and the CIE
+ XYZ colorspace is the logical choice for this. A description of the
+ relationship between a devices native color space and an XYZ based
+ colorspace is commonly referred to as a <span style="font-weight:
+ bold;">Color Profile</span>. As a practical issue when dealing
+ with computers, it's important to have a common and widely
+ understood means to communicate such profiles, and the <span
+ style="font-weight: bold;">ICC</span> profile format standardized
+ by the <b>International Color Consortium</b> is today's most widely
+ supported color profile format.<br>
+ <br>
+ The ICC profile format refers to it's common color space as the <span
+ style="font-weight: bold;">Profile Connection Space</span> (<span
+ style="font-weight: bold;">PCS</span>), which is closely based on
+ the CIE XYZ space. ICC profile are based on a Tagged format, so they
+ are very flexible, and may contain a variety of ways to represent
+ profile information, and may also contain a lot of other optional
+ information.<br>
+ <br>
+ There are several fundamental types of ICC profiles. <span
+ style="font-weight: bold;">Device</span> and <span
+ style="font-weight: bold;">Named</span> profiles represent color <span
+ style="text-decoration: underline;">anchor points</span>. <span
+ style="font-weight: bold;">Device Link</span> and <span
+ style="font-weight: bold;">Abstract</span> profiles represent <span
+ style="text-decoration: underline;">journeys</span> between anchor
+ points.<br>
+ <br>
+ <span style="font-weight: bold;">Device</span><br>
+ <br>
+ &nbsp;&nbsp;&nbsp; These primarily provide a translation between
+ device space and PCS. They also typically provide a translation in
+ the reverse direction, from PCS to device space. They provide an
+ "color anchor" with which we are able to navigate our way around
+ device color. The mechanisms they use to do this are discussed in
+ more detail below.<br>
+ <br>
+ <span style="font-weight: bold;">Device Link</span><br>
+ <br>
+ &nbsp;&nbsp;&nbsp; A Device Link profile provides a transformation
+ from one Device space to another. It is typically the result of
+ linking two device profiles, ie. Device A -&gt; PCS -&gt; Device B,
+ resulting in a direct Device A -&gt; Device B transformation.<br>
+ <br>
+ <span style="font-weight: bold;">Abstract</span><br>
+ <br>
+ &nbsp;&nbsp;&nbsp; An abstract profile contains a transformation
+ define in PCS space, and typically represents some sort of color
+ adjustment in a device independent manner.<br>
+ <br>
+ <span style="font-weight: bold;">Named</span><br>
+ <br>
+ &nbsp;&nbsp;&nbsp; A Named profile is analogous to a device Profile,
+ but contains a list of named colors, and the equivalent PCS and
+ possibly Device values.<br>
+ <br>
+ Most of the time when people talk about "ICC profiles" they mean <span
+ style="font-weight: bold;">Device Profiles</span>. Profiles rely
+ on a set of mathematical models to define the translation from one
+ colorspace to another. The models represent a general framework,
+ while a specific profile will define the scope of the model as well
+ as it's specific parameters, resulting an a concrete translation.
+ Profiles are typically used by <span style="font-weight: bold;">CMM</span>s
+ (Color Management Modules), which are a piece of software (and
+ possibly hardware) that knows how to read and interpret an ICC
+ profile, and perform the translation it contains.<br>
+ <br>
+ Often the function of a CMM will be to take two device profiles, one
+ representing the starting point and the other representing the
+ destination, and create a transformation between the two and
+ applying it to image pixel values.<br>
+ <br>
+ Two basic models can be used in ICC profiles, a <span
+ style="font-weight: bold;">Matrix/shaper</span> model and a <span
+ style="font-weight: bold;">cLUT</span> (Color Lookup Table) model.
+ Models often contain several optional processing elements that are
+ applied one after the other in order to provide an overall
+ transformation. <br>
+ <br>
+ The Matrix/Shaper model consists of a set of per channel lookup
+ curves followed by a 3x3 matrix. The curves may be defined as a
+ single power value, or as a one dimensional lookup table which
+ encodes a discretely represented curve (Lut). The matrix step can
+ only transform between 3 dimensional to 3 dimensional color spaces.<br>
+ <br>
+ The cLUT model consists of an optional 3x3 matrix, a set of per
+ channel one dimensional LUTs, an N dimensional lookup table (cLUT)
+ and a set of per channel one dimensional LUTs. It can transform from
+ any dimension input to any dimension output.<br>
+ <br>
+ All Lookup Tables are interpolated, so while they are defined by a
+ specific set of point values, in-between values are filled in using
+ (typically linear) interpolation.<br>
+ <br>
+ For a one dimensional Lookup table, the number of points needed to
+ define it is equal to its resolution.<br>
+ <br>
+ For an n-dimensional cLUT, the number of points needed to define it
+ is equal to it's resolution taken to the power of the number of
+ input channels. Because of this, the number of entries <span
+ class="st"><em></em></span>climbs rapidly with resolution, and
+ typical limited resolution tables are used to constrain profile file
+ size and processing time. cLUT's permit detailed, independent
+ control over the the transformation throughout the colorspace.<br>
+ <br>
+ <span style="font-weight: bold;">Limitations of CIE XYZ</span><br>
+ <br>
+ Although CIE XYZ colorspace forms an excellent basis for connecting
+ what we can measure with what we see in regard to color, it has its
+ limitations. The primary limitation is that the visual match between
+ two colors with the same XYZ values assumes identical viewing
+ conditions. Our eyes are marvelously adaptable, automatically
+ adjusting to different viewing conditions so that we are able to
+ extract the maximum amount of useful visual information. There are
+ many practical situations in which the viewing conditions are not
+ identical - e.g. when evaluating an image against our memory of an
+ image seen in a different location, or in viewing images side by
+ side under mixed viewing conditions. One of the primary things that
+ can change is our adaptation to the white point of what we are
+ looking at. This can be accounted for in XYZ space by applying a
+ chromatic adaptation, which mimics the adaptation of the eye. The
+ ICC profile format PCS space by default adapts the XYZ values to a
+ common white point (D50), to facilitate ease of matching colors
+ amongst devices with different white points. Other viewing condition
+ effects (ie. image luminance level, viewing surround luminance and
+ flare) can be modeled using (for example) using CIECAM02 to modify
+ XYZ values.<br>
+ <br>
+ Another limitation relates to spectral assumptions. CIE XYZ uses a
+ standard observer to convert spectral light values into XYZ values,
+ but in practice every observer may have slightly different spectral
+ sensitivities due to biological differences, including aging.
+ (People with color deficient vision may have radically different
+ spectral sensitivities.) Our eyes also have a fourth receptor
+ responsible for low light level vision, and in the eye's periphery
+ or at very low light levels it too comes to play a role in the color
+ we perceive, and is the source of a difference in the eye's spectral
+ sensitivity under these conditions. <br>
+ <br>
+ Another spectral effect is in the practice of separating the color
+ of reflective prints from the light source used to view them, by
+ characterizing a prints color by it's reflectance. This is very
+ convenient, since a print will probably be taken into many different
+ lighting situations, but if the color is reduced to XYZ reflectance
+ the effect of the detailed interaction between the spectra of the
+ light source and print will lead to inaccuracies.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/ColorMunki.jpg b/doc/ColorMunki.jpg
new file mode 100644
index 0000000..513d770
--- /dev/null
+++ b/doc/ColorMunki.jpg
Binary files differ
diff --git a/doc/ColorMunkiCreate.jpg b/doc/ColorMunkiCreate.jpg
new file mode 100644
index 0000000..64b3dbd
--- /dev/null
+++ b/doc/ColorMunkiCreate.jpg
Binary files differ
diff --git a/doc/Compiling.html b/doc/Compiling.html
new file mode 100644
index 0000000..b4fcd7c
--- /dev/null
+++ b/doc/Compiling.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ISO-8859-1">
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <title>Argyll Compiling</title>
+ </head>
+ <body>
+ <h2> <u>Compiling the Source Code</u></h2>
+ If you have downloaded the source code package, then you will need
+ to read the following instructions in order to compile and then run
+ any of the tools. If you have downloaded one of the platform
+ specific executable package, then the executables don't need to be
+ compiled, and the following instructions are not relevant.<br>
+ <h5 style="text-decoration: underline;">Check your development
+ environment:</h5>
+ Check you have one of the supported development environments <a
+ href="ArgyllDoc.html">listed</a>, and that your shell is
+ configured to have access to the development tools.<br>
+ <br>
+ On Linux, check that the appropriate development packages are
+ installed:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; jam: Program construction tool, similar to make
+ [If available]<br>
+ &nbsp;&nbsp;&nbsp; gcc C compiler<br>
+ &nbsp;&nbsp;&nbsp; Development files for libX11<br>
+ &nbsp;&nbsp;&nbsp; Development files for libXdmcp<br>
+ &nbsp;&nbsp;&nbsp; X.Org X11 libXext development package<br>
+ &nbsp;&nbsp;&nbsp; X.Org X11 libXxf86vm development package<br>
+ &nbsp;&nbsp;&nbsp; X.Org X11 libXinerama development package<br>
+ &nbsp;&nbsp;&nbsp; X.Org X11 libXrandr development package<br>
+ &nbsp;&nbsp;&nbsp; X.Org X11 libXScrnSaver A.K.A. libxss-dev
+ development package
+ <h5><span style="text-decoration: underline;">Setup JAM:</span><br>
+ </h5>
+ Argyll makes use of a build system called <a
+ href="http://www.perforce.com/jam/jam.html">Jam/MR</a>. Jam is
+ cross platform, highly customizable and flexible. It uses a concise,
+ scalable and platform neutral configuration files, and is fast.<br>
+ <p>If you do not already have Jam 2.5 on your system or if it is not
+ available as an installable package, you will need to install it.
+ [It may be available as an RPM for Linux systems.] Jam/MR is
+ available from <a href="ftp://ftp.perforce.com/jam/">&lt;ftp://ftp.perforce.com/jam&gt;</a>
+ You'll want to bootstrap it up using its Makefile - see the <span
+ style="font-weight: bold;">README</span> file that comes with
+ Jam for more information. You may want to apply the patch <span
+ style="font-weight: bold;">jam.patch</span> included in Argyll
+ to <span style="font-weight: bold;">jam.c</span> so that it uses
+ the environment variable <span style="font-weight: bold;">JAMBASE</span>,
+ and then setting this environment variable to point to the Argyll
+ Jambase. The patch also fixes a non-critical bug that affects
+ building using MingW. Note that building jam results in an
+ executable <span style="font-weight: bold;">jam0</span> that you
+ will want to rename and install in an appropriate place on your
+ system. A <span style="font-weight: bold;">pre-patched</span>
+ source archive of Jam is available as a&nbsp; <a
+ href="http://www.argyllcms.com/ajam-2.5.2-1.3.3.zip">.zip here
+ for MSWin</a>, or as a <a
+ href="http://www.argyllcms.com/ajam-2.5.2-1.3.3.tgz">.tgz for OS
+ X and Linux</a>.<br>
+ </p>
+ <p>An alternative to the original Jam may be <a
+ href="http://freetype.sourceforge.net/jam/index.html">ftjam</a>,
+ which is appears to be backwards compatible with the original
+ Jam/MR.</p>
+ <p>The <span style="font-weight: bold;">Jambase</span> I am using
+ for Argyll is different to the default Jambase provided with Jam
+ and compiled into it,&nbsp; and you need to arrange to use this
+ when you compile Argyll. You can tell Jam to use an alternate
+ Jambase using the <span style="font-weight: bold;">-f</span>
+ option, or by setting the environment variable <span
+ style="font-weight: bold;">JAMBASE</span> to point to the Argyll
+ Jambase if you applied the Argyll patch to jam. Another method
+ would be to create a shell alias of jam that invokes jam using the
+ -f flag, or to create a script that provides the -f option to
+ point to the Argyll Jambase. Argyll will not build properly if you
+ use the wrong Jambase. </p>
+ If you are running on Mac OSX, then even though OSX comes with a
+ version of Jam/MR in the development system, you will need to
+ download, build and install a normal version of Jam/MR Version 2.5
+ or later from perforce, to be able to build Argyll. This is due to
+ Apple changing their version of Jam sufficiently to make it
+ incompatible with normal Jamfiles :-(.<br>
+ <p>On OSX what I did was to name the "normal" Jam ajam, and then
+ setup a jam shell script to invoke it something like this: "ajam
+ -f~/src/argyll/Jambase $*", and to make sure that my script is
+ ahead of Apples jam in my $PATH.&nbsp; The makeall.ksh script or
+ Makefile will run Jam with the -f flag.</p>
+ <p>You may also have to set the appropriate environment variable to
+ tell the Jambase which compiler you are using.<br>
+ </p>
+ <h5><span style="text-decoration: underline;">Then compile Argyll:</span><br>
+ </h5>
+ <p>Once you've got a working Jam, you simply have to unzip the
+ argyll.zip file, and it will create a top level directory <span
+ style="font-weight: bold;">Argyll_VX.X.X</span>, where X.X.X is
+ the version number, and you can then cd into this directory and
+ run <span style="font-weight: bold;">jam</span>. <span
+ style="color: rgb(102, 0, 204);"></span><span style="color:
+ rgb(102, 0, 204);"></span>For a faster build on a multiprocessor
+ system you may like to use the -j option&nbsp; to do a parallel
+ build, e.g. <span style="font-weight: bold;">jam -j3</span>. To
+ install the executables in the bin directory and the sample files
+ into the <span style="font-weight: bold;">ref</span> directory,
+ run <span style="font-weight: bold;">jam install</span>. To
+ remove everything that has been built, run <span
+ style="font-weight: bold;">jam clean</span>. On Linux/OS X you
+ could also just try running make, and the makefile will invoke
+ jam.<br>
+ </p>
+ <p>Something to watch on the Intel versions of OS X 10.4, is that
+ your shell environment variable $MACHTYPE may be incorrect. On
+ Intel 10.4 it should be i386-apple-darwin8.0, but there are bugs
+ in Apples distribution.<br>
+ </p>
+ <p>You may have to check that your shell environment variable $<span
+ style="font-weight: bold;">HOSTTYPE</span> has been exported, so
+ that Jam can know if it's 64 bit or not,<br>
+ and look for libraries in the right place. You can fix this
+ permanently in your shell .initialization file (ie. ~/.profile,
+ ~/.bashrc etc.).<br>
+ </p>
+ <p>To build a particular sub directory only, cd to the directory and
+ simply run <span style="font-weight: bold;">jam</span>, although
+ be aware that the local Jamfile compile time options may be
+ different to those in the top level Jamfile used when compiling
+ from the top.<br>
+ </p>
+ <p><span style="font-weight: bold;">NOTE</span> that "jam install"
+ doesn't install the resulting binaries in the "usual places", it
+ installs them in the <span style="font-weight: bold;">Argyll_VX.X.X/</span><span
+ style="font-weight: bold;">bin</span> directory, and it's then
+ up to you whether you want copy them to somewhere like C:\Program
+ Files\argyll, /usr/bin, /usr/local/bin etc., or simply leave them
+ there. </p>
+ <h5><span style="text-decoration: underline;">Compile environment on
+ MSWindows:</span></h5>
+ <p>Setting up a compile environment on MSWindows can be challenging.
+ The simplest approach is probably to install MingW, since it
+ provides both the compiler and the SDK in one package.<br>
+ <br>
+ I've successfully compiled using Microsoft VC++ 6.0, but I think I
+ remember tweaking some of the header files by borrowing from a
+ latter SDK to be able to incorporate the&nbsp; necessary function
+ calls to access display and color profiles on Win2K and latter, so
+ this may not work "out of the box".</p>
+ <p>I've also successfully compiled using Microsoft VC++ 8.0 and VC++
+ 9.0 Express (the free Microsoft compiler) plus the Microsoft
+ Platform SDK February 2008. To get this to work though, I had to
+ create my own batch file to setup the SDK environment variables <span
+ style="font-weight: bold;">MSSdk</span> etc., because the batch
+ files provided with the SDK got confused by the presence of VC++6,
+ and didn't notice that VC++8 or 9 was configured.</p>
+ <p>Note that for some hard to fathom reason VC++ 9.0 refused to
+ install on my Win2K development machine, so I had to install it on
+ a WinXP machine and then copy the installation back to Win2K, and
+ manually complete the installation. There seems to be no reason
+ for this limitation, since the VC++9&nbsp; compiler/linker etc.
+ seems quite happy to run on Win2K.</p>
+ <p>I haven't attempted to compile for Win64, and currently the
+ Jambase isn't setup for cross compilation, nor have I tried to
+ setup a native build environment yet on Vista64.<br>
+ &nbsp; </p>
+ </body>
+</html>
diff --git a/doc/CrushedDisplyBlacks.html b/doc/CrushedDisplyBlacks.html
new file mode 100644
index 0000000..3038384
--- /dev/null
+++ b/doc/CrushedDisplyBlacks.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Crushed Display Blacks</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta content="Graeme Gill" name="author">
+</head>
+<body>
+<h2 style="text-decoration: underline; font-weight: bold;">Crushed
+Display Blacks<br>
+</h2>
+Often people create a display profile, and then notice that when they
+try and display some images using the profile, that the darkest blacks
+in the image all get crushed into the black of the display. Why does
+this happen ?<br>
+<br>
+There are many reasons this may happen, but here is a common one:<br>
+<br>
+The image has blacks that are darker than the black of the display, and
+the color management intent being used clips out of gamut colors. So
+all the blacks that are darker than the display black get mapped to the
+display black. To avoid this, some sort of <span
+ style="font-weight: bold;">Gamut Mapping</span> that maps that black
+of the source image to the black of the display, while preserving the
+distinction between all the rest of the colors needs to be used.<br>
+<br>
+Some popular synthetic colorspaces have a perfect (and unrealistic)
+zero black, for instance <span style="font-weight: bold;">sRGB</span>
+and <span style="font-weight: bold;">AdobeRGB</span>. Real world
+display profiles have non-zero blacks, so transforming between these
+two using a colorimetric intent will clip the blacks, and loose the
+shadow details.<br>
+<br>
+<h4 style="text-decoration: underline;">What performs gamut mapping ?</h4>
+Typically there are only two mechanisms available to perform gamut
+mapping. The main one is a pre-cooked (static) gamut mapping built into
+cLUT type ICC profiles. The second is an on-the-fly (dynamic) gamut
+mapping performed by the CMM (Color Management Module). A limited form
+of the latter is Adobe BPC (Black point compensation), which is also
+available sometimes with applications or systems that use lcms. (Little
+cms).<br>
+<br>
+<h4 style="text-decoration: underline;">How do I fix it ?</h4>
+There are two ways of avoiding the black crush. One is to turn on BPC
+if it is available in the system you are using. Sometimes it may only
+be available for certain intents.<br>
+<br>
+The second way of fixing it is to create your display profile with
+appropriate gamut mapping, and make sure that it gets used.<br>
+<br>
+Shaper/Matrix type ICC profiles do not support gamut mapping, since
+there is only one transformation in them and it does not have the
+necessary flexibility to incorporate gamut mapping. Shaper/Matrix
+profiles are always colorimetric intent. So it is necessary to create a
+cLUT based Display profile if gamut mapping is to be incorporated into
+the profile. (Note that not all systems accept cLUT based Display
+profiles). Creating cLUT profiles that incorporate appropriate gamut
+mapping depends on the profile creation tools, and not all tools give
+adequate control over gamut mapping to reliably fix this problem.<br>
+<br>
+<h4 style="text-decoration: underline;">OK, so how do I fix it using
+Argyll ?</h4>
+You can usually fix this problem using Argyll by simply creating a cLUT
+based profile (the default), and telling colprof what the source
+colorspace is going to be.<br>
+<br>
+i.e. say your source images are in sRGB space, then:<br>
+<br>
+&nbsp;&nbsp;&nbsp; colprof&nbsp;-v -S&nbsp;sRGB.icm&nbsp;-D "My
+Display" MyDisplayProfile
+<br>
+<br>
+[It's usually safer to use the sRGB profile provided by Argyll than use
+an sRGB profile of unknown origin. Find it in the ref directory.]<br>
+<br>
+This will create 3 separate B2A cLUT tables, one for colorimetric
+intent, one for Perceptual intent, and one for Saturation intent. Both
+Perceptual and Saturation tables will have appropriate gamut mapping
+for a source colorspace of sRGB. So it is just a matter of making sure
+that either Perceptual or Saturation intent is used when making use of
+the display profile.<br>
+<br>
+</body>
+</html>
diff --git a/doc/DC.jpg b/doc/DC.jpg
new file mode 100644
index 0000000..4b3508e
--- /dev/null
+++ b/doc/DC.jpg
Binary files differ
diff --git a/doc/DTP20.jpg b/doc/DTP20.jpg
new file mode 100644
index 0000000..f5ec164
--- /dev/null
+++ b/doc/DTP20.jpg
Binary files differ
diff --git a/doc/DTP22.jpg b/doc/DTP22.jpg
new file mode 100644
index 0000000..93d7400
--- /dev/null
+++ b/doc/DTP22.jpg
Binary files differ
diff --git a/doc/DTP41.jpg b/doc/DTP41.jpg
new file mode 100644
index 0000000..1a946e9
--- /dev/null
+++ b/doc/DTP41.jpg
Binary files differ
diff --git a/doc/DTP51.jpg b/doc/DTP51.jpg
new file mode 100644
index 0000000..946810c
--- /dev/null
+++ b/doc/DTP51.jpg
Binary files differ
diff --git a/doc/DTP92.jpg b/doc/DTP92.jpg
new file mode 100644
index 0000000..2570daa
--- /dev/null
+++ b/doc/DTP92.jpg
Binary files differ
diff --git a/doc/DTP94.jpg b/doc/DTP94.jpg
new file mode 100644
index 0000000..d99feaf
--- /dev/null
+++ b/doc/DTP94.jpg
Binary files differ
diff --git a/doc/DocLicense.txt b/doc/DocLicense.txt
new file mode 100644
index 0000000..cd2b3b1
--- /dev/null
+++ b/doc/DocLicense.txt
@@ -0,0 +1,451 @@
+ GNU Free Documentation License
+ Version 1.3, 3 November 2008
+
+
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of
+the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no
+other conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to
+give them a chance to provide you with an updated version of the
+Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other
+documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy
+that is included in the collection, provided that you follow the rules
+of this License for verbatim copying of each of the documents in all
+other respects.
+
+You may extract a single document from such a collection, and
+distribute it individually under this License, provided you insert a
+copy of this License into the extracted document, and follow this
+License in all other respects regarding verbatim copying of that
+document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the
+GNU Free Documentation License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the site
+means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in
+part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole or
+in part into the MMC, (1) had no cover texts or invariant sections, and
+(2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
+
diff --git a/doc/Environment.html b/doc/Environment.html
new file mode 100644
index 0000000..a319513
--- /dev/null
+++ b/doc/Environment.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ISO-8859-1">
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <title>Argyll Environment Variables</title>
+ </head>
+ <body>
+ <br>
+ <h2> <u>Environment variables<br>
+ </u></h2>
+ The following environment variables affect behaviour:<br>
+ <br>
+ <span style="font-weight: bold;">ARGYLL_NOT_INTERACTIVE</span><br>
+ <br>
+ <div style="margin-left: 40px;">Normally Argylls tools expect that
+ they are directly interacting with a user, and use a couple of
+ techniques for communicating with them through the command line.
+ One is to output progress information by re-writing the same
+ display line by using a Carriage Return rather than a Line Feed at
+ the end of each line. Another is to allow a single key stroke to
+ trigger an action or interrupt operations.<br>
+ <br>
+ If the <span style="font-weight: bold;">ARGYLL_NOT_INTERACTIVE</span>
+ environment variable is set, then:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; A Line Feed will be added to the end of each
+ progress line.<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Any time it would wait for a single keystroke
+ input, it will instead wait for and read the next character from
+ stdin.<br>
+ &nbsp;&nbsp;&nbsp; To facilitate flushing stdin, any return or
+ line feed characters will be ignored, so a character other than
+ return or line feed must be used to trigger activity.<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Note that while a reading is being made, a
+ character input can abort the reading, just as with normal
+ interactive mode.<br>
+ </div>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;">ARGYLL_COLMTER_CAL_SPEC_SET</span><br>
+ <span style="font-weight: bold;">ARGYLL_COLMTER_COR_MATRIX</span><br>
+ <br>
+ <div style="margin-left: 40px;">Both of these can be used to set a
+ default <span style="font-weight: bold;">CCMX</span> or <span
+ style="font-weight: bold;">CCSS</span> colorimeter calibration
+ file, equivalent to supplying a <span style="font-weight: bold;">-X</span>
+ argument to spotread, dispcal, dispread and any other utility that
+ allows using a colorimteter. The ARGYLL_COLMTER_CAL_SPEC_SET will
+ take priority if both are set.<br>
+ <br>
+ </div>
+ <br>
+ <span style="font-weight: bold;">ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS<br>
+ <br>
+ </span>
+ <div style="margin-left: 40px;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"><span style="font-weight: bold;"></span></span></span>Normally
+
+ a delay of 200 msec is allowed between changing a patch color on a
+ display, and reading the color with an instrument, although some
+ instruments (ie. i1d3) will automatically measure and set an
+ appropriate delay during instrument calibration. In rare
+ situations this delay may not be sufficient (ie. some TV's with
+ extensive image processing features turned on), and a larger delay
+ can be set using the <span style="font-weight: bold;"><span
+ style="font-weight: bold;"><span style="font-weight: bold;"></span></span></span>ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS
+
+ environment variable, ie. ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS=400
+ would set a 400 msec minimum delay.<br>
+ </div>
+ <span style="font-weight: bold;"><br>
+ ARGYLL_IGNORE_XRANDR1_2<br>
+ <br>
+ </span>
+ <div style="margin-left: 40px;">On an X11 system, if this is <span
+ style="font-weight: bold;"></span>set (ie. set it to "yes"),
+ then the presence of the XRandR 1.2 extension will be ignored, and
+ other extensions such as Xinerama and XF86VidMode extension will
+ be used. This may be a way to work around buggy XRandR 1.2
+ implementations.<br>
+ <br>
+ </div>
+ <span style="font-weight: bold;">ARGYLL_DISABLE_I1PRO2_DRIVER<br>
+ <br>
+ </span>
+ <div style="margin-left: 40px;">There is now partial support for the
+ Eye-One Pro Rev E (aka Eye-One Pro 2) instrument, but a Rev E can
+ be operated in legacy mode if the environment variable
+ ARGYLL_DISABLE_I1PRO2_DRIVER is set (ie. set it to "yes").<br>
+ </div>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;">XDG_CACHE_HOME<br>
+ <span style="font-weight: bold;"><br>
+ </span></span>
+ <div style="margin-left: 40px;">Argyll tries to follow the <a
+href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
+
+ Base Directory Specification</a>, and uses the <span
+ style="font-weight: bold;">XDG_CACHE_HOME</span> environment
+ variable to place per instrument calibration information (Eye-One
+ Pro and ColorMunki instruments).<br>
+ </div>
+ <br>
+ <span style="font-weight: bold;">XDG_CONFIG_DIRS<br>
+ XDG_DATA_DIRS<span style="font-weight: bold;"><br>
+ <span style="font-weight: bold;"></span></span></span><br>
+ <div style="margin-left: 40px;">On Unix type operating systems,
+ configuration and profiles for displays are placed relative to
+ these environment variables.<br>
+ </div>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <br>
+ <br>
+ See <a href="Performance.html">Performance Tuning</a> for other
+ variables.<br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/FWA.html b/doc/FWA.html
new file mode 100644
index 0000000..c1d4c6d
--- /dev/null
+++ b/doc/FWA.html
@@ -0,0 +1,262 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Fluorescent Whitener Additive Compensation</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ </head>
+ <body>
+ <h2><u>Fluorescent Whitener Additive Compensation (FWA Compensation)</u></h2>
+ <br>
+ <h3>Introduction</h3>
+ To make paper look "whiter" without increasing the cost of
+ production, paper manufactures often employ a couple of different
+ techniques. One technique is to add "shading agents" to the paper,
+ that absorb a little of the middle wavelengths, thereby changing the
+ color of the paper to be a little less green. By far the most
+ powerful way of making the paper appear more white is to add
+ Fluorescent Whitener Additive (FWA, or Optical Brightening Agents -
+ OBA) to the paper. This is basically a fluorescent material that
+ absorbs light at Ultra Violet (U.V.) wavelengths, and re-emits it at
+ a slightly longer blue wavelengths. Subjectively something that
+ appears more blue, is regarded as being "whiter".<br>
+ <br>
+ For more technical treatment of this topic, please refer to this
+ excellent paper: &lt;<a
+ href="http://www.axiphos.com/BrightnessReview.pdf">http://www.axiphos.com/BrightnessReview.pdf</a>&gt;<br>
+ <br>
+ <h3>Fluorescence</h3>
+ Fluorescent materials absorb light radiation at one wavelength, and
+ then almost instantaneously re-emit some of that energy at a longer
+ wavelength. Typical FWA absorbs wavelengths in the U.V. between
+ about 300 and 400 nm, and re-emit it between 400 and 460nm. The
+ visual effect of FWA depends on the amount of it present in the
+ paper, and the amount of U.V. in the illumination compared to the
+ level of normal, visible light. Generally better quality papers have
+ lower levels of whitening agents, and cheaper papers more. <br>
+ <br>
+ <h3>Reflection Models and Spectro-colorimetry</h3>
+ The way a spectrometer measures the effect of ink on paper, depends
+ on a model of how an illuminant is reflected by the ink and the
+ paper. Typically a spectrometer instrument illuminates the sample
+ with a known illumination, often a incandescent tungsten lamp having
+ a color temperature of&nbsp; 2800 degrees Kelvin. It measures the
+ amount of light reflected by the sample at each wavelength, and then
+ converts that to spectral reflectance value between 0 and 100% by
+ dividing by it's measurement illuminant's intensity at each
+ wavelength. When it comes time to use that measurement to create an
+ ICC profile, the intensity of the assumed viewing illumination at
+ each wavelength (typically D50 for standard ICC profiles) is then
+ multiplied by the reflectance at each wavelength, and the overall
+ spectral reflectance is in this way converted into CIE tri-stimulus
+ values using an observer model.<br>
+ <br>
+ So while the instrument measures with one type of light (type A, or
+ a white LED), it returns a measurement as if it had been measured
+ under a different kind of light (D50) by making use of a simple
+ model of light reflection off the media.<br>
+ <br>
+ Notice that a key assumption of this simple model is that the light
+ that impinges on the sample at a given wavelength is reflected back
+ at exactly the same wavelength at a diminished intensity. Notice
+ also that any sort of fluorescent material (such as FWA) breaks this
+ model, since fluorescent materials emit light a different
+ wavelengths to which they absorb it. So the color measurements do
+ not accurately portray the appearance of the media when FWA is
+ present. A more complicated bi-spectral measurement (2 dimensional
+ spectral reflectance) is actually needed to fully characterize
+ fluorescent materials.<br>
+ <br>
+ <h3>What Argyll's FWA compensation does</h3>
+ The FWA compensation function in Argyll improve on this simple model
+ of spectral reflection by taking into account the action of FWA. To
+ do this, it needs to measure the amount and nature of the FWA in the
+ media, and then have enough information about the viewing
+ environment to model how that FWA will behave.<br>
+ <br>
+ To be able to measure the level of FWA in the media, the instrument
+ needs to be able to "see" the FWA in action, so the instrument needs
+ to be illuminating the samples with some level of U.V. Typically all
+ instruments do this, unless they have been fitted with a filter that
+ filters out any U.V. illumination (so called "UV cut" instruments),
+ or use an illumination source such as a "white" LED that doesn't
+ emit any U.V.<br>
+ Such UV excluded instruments are not suitable for use with FWA
+ compensation.<br>
+ The effects of FWA are modeled spectrally, so a spectral reading
+ instrument is also required.<br>
+ <br>
+ Argyll can compute a model for the effects of FWA given the media's
+ spectral characteristics, and the illuminations spectral
+ characteristic, which must include the levels of U.V. in the
+ illuminant. Given these two things, Argyll can calculate how much
+ effect the FWA will have on the light being reflected and emitted by
+ the media under the intended illumination.<br>
+ <br>
+ Ideally the level of FWA would be measured by comparing the paper
+ spectrum with and without U.V. present in the instruments
+ illumination. Because not all instruments allow these two
+ measurements to be done without some sort of manual intervention,
+ Argyll avoids the need for an FWA inactive (UV cut) or extra UV (UV
+ LED) measurement by employing a heuristic to estimate the FWA
+ inactive spectrum from the spectrum of the paper with FWA active.
+ Being a heuristic, it can sometimes be fooled by certain paper
+ colors into estimating more or less FWA content than is actual
+ present. The heuristic works best with high quality papers with an
+ essentially flat non-FWA enhanced spectrum. Papers with colored
+ tints or particularly off white appearance may not work well with
+ FWA compensation, unless the instrument has the capability of
+ measuring with two different levels of UV.<br>
+ <br>
+ <img alt="Graph showing FWA effect on UV vs. UV cut measurement."
+ src="FWA_measure.jpg" style="width: 387px; height: 284px;"><br>
+ <br>
+ Note that typically in Argyll, if a viewing illuminant is specified,
+ then it is used for computing the appearance under that illumination
+ (CIE XYZ values), and if FWA compensation is used, then that same
+ illuminant will be assumed for the simulated measurement illuminant.
+ This results in measurements that better reflects the appearance as
+ the media as if it was being viewed under that illuminant, FWA
+ effects and all.<br>
+ <br>
+ &nbsp;It is possible to also simulate the measurement of a media
+ under one illuminant, while then computing the tristimulus values as
+ if being viewed under a different illuminant, but this scenario is
+ only really useful for reproducing standardized measurement
+ conditions such as ISO 13655:2009 M0, M1 and M2, and is less useful
+ than the normal FWA compensation scenario in modelling real world
+ situations.<br>
+ <br>
+ [The Argyll FWA compensation algorithm is described in the paper: <font
+ color="#000000"><font face="Times, serif"><font style="font-size:
+ 8pt;" size="1"><a
+ href="http://www.imaging.org/IST/store/epub.cfm?abstrid=22190">A
+ Practical Approach to Measuring and Modelling Paper
+ Fluorescense for Improved Colorimetric Characterisation of
+ Printing Processes", <i>Graeme W. Gill, Proc. IS&amp;T/SID
+ 11th Color Imaging Conference</i></a><span
+ style="font-style: normal;"><a
+ href="http://www.imaging.org/IST/store/epub.cfm?abstrid=22190">,
+ Scottsdale, Arizona; November 2003; p. 248-254</a><font
+ size="1">, and <font size="1">w<font size="1">as f<font
+ size="1">irst publi<font size="1">shed <font
+ size="1">on December 2, 2002</font></font></font></font></font></font></span></font></font></font>
+ in the argyllu_2002_12_02 source code. ]<br>
+ <br>
+ <h3>Using FWA Compensation with proofing</h3>
+ The most common situation for employing FWA compensation, is in
+ proofing. This is when you have one printing device, the target (say
+ a printing press), and wish to emulate the behaviour of it with a
+ different device, the proofer (say an inkjet printer). The aim is to
+ be able to put both prints next to each other in a viewing booth,
+ and have them look identical. Typically the printing process, the
+ inks, and the media will be different between the target device and
+ the proofer. The aim of applying color profiling is to compensate
+ for these differences. Since the printing process can only darken a
+ white media, the selection of the proofing stock is critical.
+ Ideally it should be exactly the same color as the target, or if not
+ possible, lighter, so that the proofer can tint the proofing media
+ to match the target. If the two media had identical levels and types
+ of FWA in them, then there would be no need to use FWA compensation,
+ since the appearance of the media would match under any viewing
+ condition. Typically though, the levels and types of FWA are
+ different between the target paper and the proofing paper. A
+ limitation imposed by tri-stimulus colorimetry is that the
+ differences between the two media, inks and FWA can only be
+ compensated for perfectly, under a fixed and known illuminant.<br>
+ <br>
+ By allowing Argyll to model the effects of FWA for both the source
+ profile (the target device), and the destination profile (the
+ proofing device), the effects can be accounted for, modeled
+ accurately, and incorporated in the profiles, so that a subsequent
+ transformation from source to destination device spaces using
+ absolute colorimetric intent, achieves a (hopefully) perfect
+ colorimetric reproduction. Since this is a closed system, where both
+ the source and destination profiles are made for each other,
+ non-standard parameters such as illuminant and observer models can
+ be used, as long as they are the same for both profiles. For
+ proofing, FWA should be applied identically to both profiles, by
+ specifying the same illuminant, and (optionally) the same observer
+ model.<br>
+ <br>
+ In practice it is possible to compensate for the color shift that
+ results in viewing the media under non-D50 illumination or using a
+ non 1931_2 observer, or allowing for FWA effects without severe
+ incompatibility because all rendering intents except absolute
+ rendering normalize to the media color, rendering the media white as
+ white, even though the absolute values are not measured using a D50
+ illuminant.<br>
+ <h3>Using FWA compensation for single, general use profiles</h3>
+ For creating ICC profiles that will be interchanged with other
+ unknown ICC profiles, or used with non-print source or destination
+ profiles, there is less flexibility, since ICC profiles by
+ convention assume that all media is being viewed under D50
+ illumination. The implication of this is that to be fully
+ interchangeable, it's not really possible to make the profile for
+ your actual viewing environment. Note that the D50 values that are
+ calculated without FWA compensation do not actually reflect the
+ appearance of a media under real D50, because they fail to take into
+ account the different levels of FWA activity between the
+ illumination using by the instrument to measure the media, and real
+ D50. To allow for this and actually meet the letter of the ICC
+ specifications, FWA compensation should ideally be used when
+ building a interchangeable ICC profile, by selecting the D50
+ illuminant, and the 1931_2 observer model (ISO 13655:2009 M1). Note
+ however that this is likely to make profiles <b><span
+ style="text-decoration: underline;">less</span></b>
+ interchangeable rather than more, since few if any other profiles
+ will represent the appearance under real D50, since few if any
+ instruments use a real D50 illuminant that will trigger the correct
+ level of FWA response, and few if any other packages will compensate
+ for the differences in FWA activity between the instrument
+ illuminant used and real D50 (ie. most instruments are actually
+ returning&nbsp; ISO 13655:2009 M0 measurements).<br>
+ <br>
+ Similarly, the effects of viewing the media in an environment with a
+ UV filter fitted over the D50 illuminant can be simulated by using
+ FWA compensation with the D50M2 illuminant, and the 1931_2 observer,
+ thereby simulating the results one would get if the media had been
+ measured with a "UV cut" type instrument, although such profiles are
+ not technically ICC compatible.<br>
+ <br>
+ <h3>Measuring the illuminant</h3>
+ For FWA compensation to work well, it is necessary to know what the
+ spectral shape of the illuminant used for viewing is. While many
+ instruments provide an illuminant measurement capability over the
+ visible spectrum, for FWA compensation it is desirable to know the
+ Ultra Violet (UV) component of the illuminant. Few color instruments
+ are capable of reading to such short wavelengths though. Argyll
+ provides an indirect way of estimating the UV component of an
+ illuminant using its <a href="illumread.html">illumread</a>
+ utility. Using illumread in combination with FWA compensation is the
+ recommended approach to modelling real world appearance of paper
+ containing FWA.<br>
+ <br>
+ <h3>FWA myths</h3>
+ Amongst the user (and to some degree) vendor community, there is a
+ widely held belief that the solution to fluorescent whitener
+ affecting color profiles is to simply use a UV filter fitted
+ instrument. Exactly what the origin of the legend is, is hard to
+ tell. Possibly it is a misinterpretation of the&nbsp; ANSI
+ CGATS.5-1993 Annex B recommendations for measuring the impact of
+ fluorescent effects, a translation of some of paper whiteness
+ measurement standards into the color profiling world, or possibly in
+ some common situations, if the viewing environment is very poor in
+ UV, then adding a UV filter to the tungsten instrument illuminant
+ makes for a better instrument/viewing illuminant match. There seems
+ to be no scientific or practical basis for believing that a UV
+ filter fitted instrument magically makes all FWA induced problems go
+ away.<br>
+ <br>
+ <h3>Instrument UV filters</h3>
+ Note that to be able to measure the FWA in the paper, the instrument
+ has to be able to trigger Fluorescence, which it cannot do if it is
+ fitted with a UV filter, or uses a light source that emits no UV
+ (e.g. a white LED). So UV excluded instruments are not suitable for
+ use with FWA compensation.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/FWA_measure.jpg b/doc/FWA_measure.jpg
new file mode 100644
index 0000000..7d97fff
--- /dev/null
+++ b/doc/FWA_measure.jpg
Binary files differ
diff --git a/doc/File_Formats.html b/doc/File_Formats.html
new file mode 100644
index 0000000..d6e38c5
--- /dev/null
+++ b/doc/File_Formats.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Argyll File Formats</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h1>File formats that Argyll uses</h1>
+ <br>
+ Argyll uses a number of file formats for its operation, some that
+ are external standards, and some that are unique to Argyll.<br>
+ <br>
+ <a href="#.ti1">.ti1</a><br>
+ <a href="#.ti2">.ti2</a><br>
+ <a href="#.ti3">.ti3</a><br>
+ <a href="#.cal">.cal</a><br>
+ <a href="#.cht">.cht</a> <br>
+ <a href="#.gam">.gam</a> <br>
+ <a href="#.sp">.sp</a><br>
+ <a href="#CGATS">CGATS</a><br>
+ <a href="#ICC">ICC</a><br>
+ <a href="#MPP">MPP</a><br>
+ <a href="#TIFF">TIFF</a><br>
+ <a href="#VRML">VRML</a><br>
+ <br>
+ <h2><a name=".ti1"></a>.ti1</h2>
+ Target Information 1 data. This is an ASCII text, <a href="#CGATS">CGATS</a>,
+ Argyll specific format, used to hold device value ready for creating
+ a profiling test chart, as well as the estimated CIE color values
+ for each value, used in laying out the test chart and reading
+ validation purposes. Additional information on possible spacer and
+ marking values that may be needed in creating a rendered test chart
+ is also included. This file is typically created using the <a
+ href="targen.html"> targen</a> tool.<br>
+ <br>
+ <h2><a name=".ti2"></a>.ti2</h2>
+ Target Information 2 data. This is an ASCII text, <a href="#CGATS">CGATS</a>,
+ Argyll specific format, used to hold device value that have been
+ laid out in a test chart, together with each test patches location,
+ and estimated CIE color values for each value used for reading
+ validation purposes. This file is typically created using the <a
+ href="printtarg.html">printtarg</a> or <a href="filmtarg.html">
+ filmtarg</a> tools.<br>
+ <br>
+ <h2><a name=".ti3"></a>.ti3</h2>
+ Target Information 3 data. This is an ASCII text, <a href="#CGATS">CGATS</a>,
+ Argyll specific format, used to hold device value and CIE/Spectral
+ value pairs, the raw information needed to create device profiles.
+ This file is typically created using the <a href="chartread.html">chartread</a>,&nbsp;<a
+ href="dispread.html"> dispread</a>, <a href="filmread.html">filmread</a>,
+ <a href="scanin.html"> scanin</a>, <a href="fakeread.html">
+ fakeread</a> or one of the conversion tools such as <a
+ href="cb2ti3.html">cb2ti3</a>, <a href="kodak2ti3.html">kodak2ti3</a>,
+ <a href="txt2ti3.html">txt2ti3</a>. See&nbsp; <a
+ href="ti3_format.html">TI3 file format</a> for more detail.
+ <h2><a name=".cal"></a>.cal</h2>
+ Device calibration information. This is ASCII text, <a
+ href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
+ used to hold a description of device setup information that brings
+ it to a desired calibration state. Created by <a
+ href="dispcal.html">dispcal</a>, <a href="printcal.html">printcal</a>,
+ <a href="synthcal.html">synthcal</a>. See&nbsp; <a
+ href="cal_format.html">CAL file format</a> for more detail.
+ <h2><a name=".cht"></a>.cht</h2>
+ Test chart recognition file. This is ASCII text Argyll specific
+ format, used to hold a description of a test chart, so that a raster
+ image of the chart can be turned into device test values by the <a
+ href="scanin.html"> scanin</a> tool. <span style="font-weight:
+ bold;">.cht</span> files are created manually (usually in
+ combination with <a href="scanin.html"> scanin</a> creating a
+ boilerplate file containing the recognition parameters, but not the
+ patch location information), or by the <a href="printtarg.html">
+ printtarg</a> tool, when creating a test print chart that will be
+ scanned in, rather than read by an instrument. See &nbsp;<a
+ href="cht_format.html">CHT file format</a> for more detail.<br>
+ <h2><a name=".gam"></a>.gam</h2>
+ Gamut surface description. This is an ASCII text, <a
+ href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
+ used to hold a 3 Dimensional surface description of a color gamut.
+ Typical this is created using the <a href="iccgamut.html">iccgamut</a>,
+ <a href="tiffgamut.html">tiffgamut</a>, or <a href="mpplu.html">mpplu</a>
+ tools. The resulting file is typically viewed using the <a
+ href="viewgam.html">viewgam</a> tool to convert one or more gamuts
+ into a <a href="#VRML">VRML</a> file, or as input to <a
+ href="collink.html">collink</a>, to describe a source colorspace
+ gamut.<br>
+ <h2><a name=".sp"></a>.sp</h2>
+ Spectral illuminant description. This is an ASCII text, <a
+ href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
+ used to hold a spectral description of an illuminant. Typically it
+ is used to record a custom illuminant, for use in
+ computing&nbsp;Fluorescent Whitening Agent compensation for
+ reflective samples, as well as computing CIE tristimulus values from
+ spectral samples.<br>
+ <h2><a name=".ccmx"></a>.ccmx</h2>
+ Colorimeter Correction Matrix. This is an ASCII text, <a
+ href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
+ used to hold a 3x3 correction matrix. The matrix is for a specific
+ display and Colorimeter, and is used to transform the instruments
+ XYZ values to make them better match a reference spectrometers
+ measurements for that display. The file contains a description of
+ the display, Colorimeter and reference Spectrometer. See <a
+ href="ccxxmake.html">ccxxmake</a> for more information.<br>
+ <h2><a name=".ccss"></a>.ccss</h2>
+ Colorimeter Calibration Spectral Set. This is an ASCII text, <a
+ href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
+ used to hold a set of display spectral samples. For Colorimeters
+ that have known sensor spectral sensitivity information (such as the
+ i1d3 and Spyder4), this allows a calibration to be created that is
+ tuned for a particular display. The file contains a description of
+ the display, the display technology type, the type of spectrometer
+ used for taking the readings. See <a href="oeminst.html">oeminst</a>
+ and <a href="ccxxmake.html">ccxxmake</a> for more information.<br>
+ <h3><a name="CGATS"></a>CGATS</h3>
+ CGATS.5 Data Exchange Format, from the Annex J, of the ANSI
+ CGATS.5-1993 standard.<br>
+ This is a general purpose ASCII file format suitable for
+ representing color data, and widely used to store color test values.
+ Argyll uses this as a base, human readable format, for a variety of
+ purposes.<br>
+ <h3><a name="ICC"></a>ICC</h3>
+ ICC files are files that conform to the International Color
+ Consortium, File Format for Color profiles. The ICC Profile Format
+ attempts to provide a cross platform device profile format, that can
+ be used to translate color data created on one device into another
+ device's native color space. For a fuller explanation of what the
+ ICC Profile Format is all about, please refer to <a
+ href="http://www.color.org">http://www.color.org</a>, and the
+ profile specification. Argyll currently supports profiles that meet
+ the V3.4 specification. These files are commonly named with a <b>.icm</b>
+ extension on the Windows platform, <b>.pr</b> or <b>.icc</b> on
+ the Macintosh and other platforms. As well as device profiles, the
+ ICC format can also store device link profiles, abstract profiles
+ and named color profiles. This file is typically created using the <a
+ href="colprof.html">colprof</a> or <a href="collink.html">
+ collink</a> tools. A device link profile is also a way of
+ specifying a custom ink separation from (say) CMYK to the 6 or more
+ colorants used by inkjet printers.<br>
+ <h3><a name="MPP"></a>MPP</h3>
+ Model based device profile format. This is an ASCII text, <a
+ href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
+ used to hold the parameters to a general model based device profile.
+ This is a less precise and general format than and ICC profile, but
+ is a compact way of representing a devices response when it has a
+ large number of color channels, or when very few measured data
+ points are available for its construction. This file is typically
+ created using the <a href="mppprof.html">mppprof</a> tool.<br>
+ <h3><a name="TIFF"></a>TIFF</h3>
+ Tag Image File Format (TIFF), a widely used format within the
+ graphic arts industries for storing image data. It handles various
+ forms of compression, and various colorspaces, including RGB, CMYK
+ and multi-channel files. See <a
+ href="http://en.wikipedia.org/wiki/TIFF">http://en.wikipedia.org/wiki/TIFF/</a>.
+ Argyll makes use of this as a default raster format.<br>
+ <h3><a name="JPEG"></a>JPEG</h3>
+ Joint Photographic Experts Group, (JPEG), a widely used format
+ within the graphic arts and photographic industries for storing
+ image data. It handles various forms of compression, and various
+ colorspaces, including RGB and CMYK. See <a
+ href="http://en.wikipedia.org/wiki/JPEG/">http://en.wikipedia.org/wiki/JPEG/</a>.
+ Argyll makes use of this as an alternate raster format for some
+ tools.<br>
+ <h3><a name="VRML"></a>VRML</h3>
+ Virtual Reality Modeling Language file. This is a portable way of
+ encoding 3 Dimensional objects (such as gamut surfaces). Typically
+ these can be viewed with a suitable standalone VRML viewer, or a
+ plug in for a web browser. VRML97 is International Standard ISO/IEC
+ 14772-1:1997. See <a href="http://www.vrml.org/">http://www.vrml.org/</a>
+ for more information.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/Fluorescent.jpg b/doc/Fluorescent.jpg
new file mode 100644
index 0000000..acabf74
--- /dev/null
+++ b/doc/Fluorescent.jpg
Binary files differ
diff --git a/doc/HCFR.jpg b/doc/HCFR.jpg
new file mode 100644
index 0000000..9454842
--- /dev/null
+++ b/doc/HCFR.jpg
Binary files differ
diff --git a/doc/HCT.jpg b/doc/HCT.jpg
new file mode 100644
index 0000000..a1f1f23
--- /dev/null
+++ b/doc/HCT.jpg
Binary files differ
diff --git a/doc/HiResLaser.jpg b/doc/HiResLaser.jpg
new file mode 100644
index 0000000..66da2eb
--- /dev/null
+++ b/doc/HiResLaser.jpg
Binary files differ
diff --git a/doc/Huey.jpg b/doc/Huey.jpg
new file mode 100644
index 0000000..5f25980
--- /dev/null
+++ b/doc/Huey.jpg
Binary files differ
diff --git a/doc/Installing.html b/doc/Installing.html
new file mode 100644
index 0000000..a759044
--- /dev/null
+++ b/doc/Installing.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ISO-8859-1">
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <title>Argyll Installation</title>
+ </head>
+ <body>
+ <h1>
+ <u>Installing the software</u></h1>
+ <br>
+ Argyll doesn't come with any installation programs or scripts, so
+ installation is a manual process. Because things are mostly
+ self-contained, this isn't particularly onerous. In general the
+ steps
+ are:<br>
+ <br>
+ 1) Provide somewhere for the executables to reside<br>
+ 2) Provide a means of the shell finding the executables<br>
+ 3) Setup the system to be able to use instruments (USB in
+ particular)<br>
+ <br>
+ Please choose from the detailed instructions below that suite your
+ system:<br>
+ <br>
+ <span style="font-weight: bold;"><a href="Installing_MSWindows.html">Microsoft
+ Windows</a><br>
+ <a href="Installing_OSX.html">Apple OS X</a><br>
+ <a href="Installing_Linux.html">Linux/UNIX X11</a><br>
+ <br>
+ </span>If you have a Spyder 2, Spyder 4, Xrite i1 DisplayPro or
+ ColorMunki Display colorimeter, please also see <a
+ href="oeminst.html">oeminst</a>.<br>
+ <br>
+ <p><br>
+ &nbsp;
+ <br>
+ &nbsp;
+ <br>
+ &nbsp;
+ <br>
+ &nbsp;
+ </p>
+ </body>
+</html>
diff --git a/doc/Installing_Linux.html b/doc/Installing_Linux.html
new file mode 100644
index 0000000..ad2cacc
--- /dev/null
+++ b/doc/Installing_Linux.html
@@ -0,0 +1,582 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ISO-8859-1">
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <title>Argyll Installation on Linux</title>
+ </head>
+ <body>
+ <h1> <u>Installing the software on Linux with X11<br>
+ </u></h1>
+ <br>
+ You will need to unpack the downloaded file in the location you have
+ chosen to hold the executable files. Typically this might be in <span
+ style="font-style: italic;">/usr/local/</span>, or perhaps <span
+ style="font-style: italic;">$HOME/bin/</span>. You would then
+ unpack the files using <span style="font-weight: bold;">tar -zxf</span>
+ <span style="font-weight: bold;">archivename.tgz</span>, which will
+ create a directory <span style="font-weight: bold;">Argyll_VX.X.X</span>,
+ where X.X.X is the version number, and the executables will be in <span
+ style="font-weight: bold;">Argyll_VX.X.X/bin</span> You will also
+ have to configure your $PATH environment variable to give access to
+ the executables from your command line environment. The .tgz file
+ also contains several useful reference files (such as scanner chart
+ recognition templates, sample illumination spectrum etc.) in the ref
+ sub-directory, as well as all the current HTML documentation in a
+ doc sub-directory. You may want to copy things to more standard
+ locations such as /usr/local/bin, /usr/local/argyll/bin etc.,
+ depending on the conventions used on your system.<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="bell"></a>Note on the system bell:</span></big><br>
+ <br>
+ When reading strips using the Eye-One Pro or ColorMunki instrument,
+ the system bell is used to indicate when the instrument the ready to
+ be used, and to provide feedback on any problems. On some Linux
+ installations the system bell may be disabled. As well as checking
+ the terminal and GUI sound preferences, you may have to enable the
+ used of the PC speaker driver, which can be done by adding the
+ command <span style="font-weight: bold;">/sbin/modprobe pcspkr </span>to
+
+
+
+ the <span style="font-weight: bold;">/etc/rc.local</span> startup
+ script. You may also have to run <span style="font-weight: bold;">xset
+
+
+
+ b 100 1000 100</span> in your local setup, if you are running in
+ an X11 environment. You can check that the system bell is operating
+ by doing an "echo ^G", where ^G is ctrl-G.<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="multimonitor"></a>Note on X11 multi-monitor
+ setups:</span></big><br>
+ <br>
+ When working with a multi-monitor X11 configuration, note that you
+ will only be able to individually calibrate monitors if the
+ multi-window extension you are using (if any), supports access to
+ the individual screen Video LUT tables that are used for
+ calibration. The native X11 multi-screen addressing supports this,
+ as does the Xinerama extension, and XRandR V1.2.<br>
+ <br>
+ The proprietary NVidia TwinView and ATI MergeFB extensions do not
+ currently support access to the individual screen Video LUTs, so
+ calibration of each screen independently is impossible if either of
+ these extensions are running. You can switch to using Xinerama to
+ solve this problem, or you can try doing a calibration for the
+ screens that do have accessible Video LUTs with these proprietary
+ extensions, or ignore calibration and rely purely on display
+ profiling. Use the dispwin tool to figure out what works on your
+ system. The NVidia ATI binary drivers do not seem to properly
+ support XRandR V1.2 either, even though they claim to do so. You may
+ have to set the <span style="font-weight: bold;"></span><span
+ style="font-weight: bold;">ARGYLL_IGNORE_XRANDR1_2</span>
+ environment variable if the XRandR V1.2 extension is faulty.<br>
+ <br>
+ If these limitations trouble you, then as a valuable customer of
+ NVidia or AMD/ATI, perhaps you should contact them and urge them to
+ fix the problems with Video LUT access in their proprietary
+ multi-monitor extensions and XRandR implementation, bringing their
+ support for multi-monitors on X11 up to the same standards as other
+ operating systems. Ask them to add full and correct support for the
+ XRandR V1.2 extension.<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="VideoLUTs"></a>Fixing access to Video LUTs:</span></big><br>
+ <br>
+ Some users have noted that their default X11 installation doesn't
+ properly enable access to the video card Video Lookup Tables
+ (RAMDAC). The Video LUTs are used for display calibration purposes,
+ and a warning will be issues by the <span style="font-weight:
+ bold;">dispcal</span> and <span style="font-weight: bold;">dispread</span>
+ tools if there is a problem with this. Without access to the
+ VideoLUTs, you won't be able to use display calibration.<br>
+ <br>
+ The problem may be because certain X11 extensions aren't being
+ loaded by default. You may want to check that you have<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"></span></big>&nbsp; Load&nbsp; "extmod" <br>
+ <br>
+ in&nbsp;the&nbsp;appropriate&nbsp;(or&nbsp;any)&nbsp;section&nbsp;of
+ your Xorg.conf file, to allow the XF86Video&nbsp;LUT
+ extensions&nbsp;to function correctly.<br>
+ <br>
+ Another source of problems is if the display isn't configured with a
+ suitable visual. Typically for high quality color you need to be
+ using at least <span style="font-weight: bold;">24 bits</span> per
+ pixel (8 Bits for each of Red, Green and Blue channels), but more
+ importantly the number of entries in the the VideoLUTs needs to
+ match the depth of the screen. So if the VideoLUTs have 256 entries
+ per channel, then the screen must be using 8 bits per channel to
+ match. Or 64 entries and 6 bits. Or 4096 entries and 12 bits, etc.
+ Running "dispwin -D" may give some clues as to what the nature of
+ the problem is. You might have to look into your xorg.conf or XRANDR
+ setup, or on some distributions there will be some configuration
+ program that will let you choose the display configuration (ie. YaST
+ or SaX2 on openSUSE, etc.).<br>
+ <br>
+ <big style="color: rgb(51, 102, 255);"><span style="font-weight:
+ bold;"><a name="InstAccess"></a>Setting up instrument access:<br>
+ <br>
+ </span></big>By default most Linux based systems make devices
+ inaccessible to user mode programs, so it is necessary to make some
+ modification to your permissions so that Argyll tools are able to
+ access the Color Measurement Instruments. In order from newest to
+ oldest, the following sub-systems may need to be configured to
+ permit this:<br>
+ <br>
+ &nbsp; <a style="font-weight: bold;" href="#None">No device
+ configuration needed when running from the console:</a><span
+ style="font-weight: bold; text-decoration: underline;"><br>
+ <br>
+ </span>&nbsp;&nbsp;&nbsp; <a href="#None">Mandriva 2008.0 default
+ installation</a><br>
+ <br>
+ <h5>&nbsp; <a href="Installing_Linux.html#udev1">USB instruments
+ access using udev:</a></h5>
+ <a href="#udev1"></a>&nbsp;&nbsp;&nbsp; <a
+ href="Installing_Linux.html#udev1">Ubuntu 10.04</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="Installing_Linux.html#udev1">Fedora
+ Core 8</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Mandriva 2008.1</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">OpenSuSE 10.3</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Ubuntu 7.1</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Kubuntu 7.1</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#udev1">Debian 4.0</a><br>
+ <h5>&nbsp; <a href="#hotplug">USB instruments access using hotplug:</a></h5>
+ &nbsp;&nbsp; <a href="#hotplug">Red Hat 4.0</a><br>
+ &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 4</a><br>
+ &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 3</a><br>
+ &nbsp;&nbsp; <a href="Installing_Linux.html#hotplug">Fedora Core 2</a><br>
+ <br>
+ <h5>&nbsp; <span style="text-decoration: underline;"></span><a
+ href="#serial">Serial instrument access:</a></h5>
+ &nbsp;&nbsp; <a href="#serial">All</a><br>
+ <br>
+ <span style="font-weight: bold;">NOTE:</span> That <span
+ style="font-weight: bold;">libmtp</span> has been known to
+ interfere with device access, particularly the Spyder 3. You
+ probably want to disable this library (look in udev).<br>
+ <br>
+ <span style="font-weight: bold;"></span>
+ <hr style="width: 100%; height: 2px;">
+ <h5><span style="color: rgb(204, 51, 204);"><a name="None"></a>No
+ device configuration needed:</span></h5>
+ Some systems have in place&nbsp; a security configuration such that
+ anyone logging in at the console of a machine has access to all the
+ local devices.<span style="color: rgb(204, 51, 204);"><span
+ style="font-weight: bold;"><br>
+ </span></span>
+ <h5><span style="color: rgb(204, 51, 204);"><a name="udev1"></a>USB
+ instruments access using udev:<br>
+ </span></h5>
+ <span style="color: rgb(204, 51, 204);"> </span>Most recent systems
+ use udev to manage device names and permissions, but by default
+ color instruments may not be accessible to normal system users.<br>
+ To solve this a udev rule file needs to be added that modifies the
+ group and permission of any Color Measurement Instruments, and you
+ may then need to add yourself to that group.<br>
+ <br>
+ <span style="font-weight: bold;"></span>Copy the file <span
+ style="font-weight: bold;">usb/</span><span style="font-weight:
+ bold;">55-Argyll.rules</span> from the binary or source
+ distribution into <span style="font-weight: bold;">/etc/udev/rules.d/55-Argyll.rules</span>
+ with&nbsp;owner root, group root, permissions 644.<br>
+ (There may already be a file that handles some of the color
+ instruments as part of your installation. You need to check though
+ that it is up to date.)<br>
+ <br>
+ If you are on an <span style="font-weight: bold;">older system</span>
+ that uses a udev that doesn't recognize the syntax used in
+ 55-Argyll.rules, or that doesn't have rules to create the libusb
+ /dev/bus/usb/00X/00Y device entries, you should install the <span
+ style="font-weight: bold;">usb/45-Argyll.rules</span> file
+ instead.<br>
+ <br>
+ On recent systems the new rules file will be notices as soon as you
+ plug the instrument in again.<br>
+ On older systems you may need to run <b>/sbin/udevtrigger</b>,&nbsp;
+
+
+
+
+ <b>/sbin/udevcontrol reload_rules</b> or&nbsp; <span
+ style="font-weight: bold;">/sbin/udevstart</span> or reboot to get
+ the new file noticed.<br>
+ <br>
+ ----------------- cut here ---------------------<br>
+ # udev rule to recognize instruments and make them accessible to
+ user applications.<br>
+ # Copy this to /etc/udev/rules.d/55-Argyll.rules<br>
+ <br>
+ # Skip all this to speed things up if it'a not a usb add.<br>
+ ACTION!="add", GOTO="argyll_rules_end"<br>
+ SUBSYSTEM!="usb", GOTO="argyll_rules_end"<br>
+ <br>
+ # Recognize the color measurement devices<br>
+ <br>
+ # Colorimtre HCFR<br>
+ ATTRS{idVendor}=="04db", ATTRS{idProduct}=="005b",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ <br>
+ # MonacoOPTIX (Same as i1 Display 1)<br>
+ ATTRS{idVendor}=="0670", ATTRS{idProduct}=="0001",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ <br>
+ # HueyL (not tested)<br>
+ ATTRS{idVendor}=="0765", ATTRS{idProduct}=="5001",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # HueyL (not tested)<br>
+ ATTRS{idVendor}=="0765", ATTRS{idProduct}=="5010",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # i1Display 3<br>
+ ATTRS{idVendor}=="0765", ATTRS{idProduct}=="5020",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # ColorMunki Smile<br>
+ ATTRS{idVendor}=="0765", ATTRS{idProduct}=="6003",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # DTP20<br>
+ ATTRS{idVendor}=="0765", ATTRS{idProduct}=="d020",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # DTP92Q (not tested)<br>
+ ATTRS{idVendor}=="0765", ATTRS{idProduct}=="d092",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # DTP94<br>
+ ATTRS{idVendor}=="0765", ATTRS{idProduct}=="d094",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ <br>
+ # i1Pro<br>
+ ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2000",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # i1Monitor<br>
+ ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2001",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # i1Display<br>
+ ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2003",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # i1 io table (not tested)<br>
+ ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2004",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # Huey<br>
+ ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2005",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # i1 iSis (not tested)<br>
+ ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2006",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # ColorMunki<br>
+ ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2007",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ <br>
+ # Spyder 1<br>
+ ATTRS{idVendor}=="085c", ATTRS{idProduct}=="0100",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # Spyder 2<br>
+ ATTRS{idVendor}=="085c", ATTRS{idProduct}=="0200",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # Spyder 3<br>
+ ATTRS{idVendor}=="085c", ATTRS{idProduct}=="0300",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ # Spyder 4<br>
+ ATTRS{idVendor}=="085c", ATTRS{idProduct}=="0400",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ <br>
+ # ColorHug, old and new<br>
+ ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="f8da",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ ATTRS{idVendor}=="273f", ATTRS{idProduct}=="1001",
+ ENV{COLOR_MEASUREMENT_DEVICE}="1"<br>
+ <br>
+ <br>
+ # Let udev-acl manage these devices, if it's available<br>
+ TEST=="/var/run/ConsoleKit/database",
+ ENV{COLOR_MEASUREMENT_DEVICE}=="*?", ENV{ACL_MANAGE}="1"<br>
+ <br>
+ # Otherwise, restrict access to members of the plugdev group,<br>
+ # which the user may have to add to the system.<br>
+ ENV{COLOR_MEASUREMENT_DEVICE}=="*?", ENV{ACL_MANAGE}!="*?",
+ MODE="660", GROUP="plugdev"<br>
+ <br>
+ # Set ID_VENDOR and ID_MODEL acording to VID and PID<br>
+ IMPORT{program}="usb-db %p"<br>
+ <br>
+ LABEL="argyll_rules_end"<br>
+ ----------------- cut here ---------------------<br>
+ <br>
+ (You may want to refer to <a
+ href="http://reactivated.net/writing_udev_rules.html">this
+ document</a> for more guidance on modifying udev rules, as well as
+ <a
+href="http://www.google.com/search?hl=en&amp;q=man+udev&amp;btnG=Search&amp;meta=&amp;aq=f&amp;oq=">this</a>.)<br>
+ <br style="font-weight: bold;">
+ <span style="font-weight: bold;">YOU THEN MAY NEED TO:</span><br>
+ <br>
+ If your system is <span style="font-weight: bold;">not</span> using
+ the new ACL to manage device access for console users (the file <span
+ style="font-weight: bold;">/lib/udev/udev-acl</span> doesn't exist
+ on your system), then you will <span style="text-decoration:
+ underline;">need to add</span> yourself to the <span
+ style="font-weight: bold;">plugdev</span> group, if you are not
+ already a member of it. You can do this either by using a "Users and
+ Groups" system administration tool, or on the command line running
+ as root:<br>
+ <br>
+ &nbsp;&nbsp; sudo usermod -a -G plugdev yourusernamehere<br>
+ <br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; su root<br>
+ &nbsp;&nbsp;&nbsp; usermod -a -G plugdev yourusernamehere<br>
+ <br>
+ (If the usermod program isn't found as root, it might be in
+ /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
+ &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
+ plugdev yourusernamehere".<br>
+ &nbsp;If this doesn't work you will have to run "id yourusername" to
+ list the current supplemental<br>
+ &nbsp;groups, and add them plus plugdev using just "usermod -G
+ group1,group2,... yourusername")<br>
+ <br>
+ You may find that the <span style="font-weight: bold;">plugdev</span>
+ group doesn't exist on your system, and if so you will need to
+ create it:<br>
+ <br>
+ &nbsp; sudo groupadd -r plugdev<br>
+ <br>
+ and then add yourself to the plugdev group.<br>
+ <br>
+ You may have to log out and then in again for the groups to become
+ effective.<br>
+ <br>
+ You can check whether the instrument is being recognized and set to
+ the plugdev group by comparing the output of <span
+ style="font-weight: bold;">ls -l -R /dev/bus/usb</span> without
+ and then with the instrument plugged in.<br>
+ <br>
+ You can test whether your instrument is accessible by plugging it in
+ and then running "spotread -?" and looking for it listed after the <span
+ style="font-weight: bold;">-c</span> option.<br>
+ <span style="font-weight: bold;"></span> &nbsp;
+ <h5><span style="color: rgb(204, 51, 204);"><a name="hotplug"></a>USB
+instruments
+
+
+
+
+ access using hotplug:<br>
+ </span></h5>
+ Under <span style="font-weight: bold;">much older versions of Linux</span>,
+ you should look into the hotplug system configuration for USB
+ devices. You know you are running this because the <span
+ style="font-weight: bold;">/etc/hotplug</span> directory exists on
+ your system.<br>
+ <br>
+ Assuming we want to configure for all Argyll supported USB
+ instruments, copy the file <span style="font-weight: bold;">usb/</span><span
+ style="font-weight: bold;">Argyll.usermap</span> from the binary
+ or source distribution into&nbsp; <span style="font-weight: bold;">/etc/hotplug/usb/Argyll.usermap</span>
+ with owner root, group root, permissions 644.<span
+ style="font-weight: bold;"></span><br>
+ <br>
+ &nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
+ # hotplug device mapping to handling script.<br>
+ # Copy this to /etc/hotplug/usb/Argyll.usermap<br>
+ #<br>
+ # Detect instruments by their USB VID and PID<br>
+ #<br>
+ # DTP20<br>
+ Argyll 0x0003 0x0765 0xd020 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # DTP92Q - not tested<br>
+ Argyll 0x0003 0x0765 0xd092 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # DTP94<br>
+ Argyll 0x0003 0x0765 0xd094 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # MonacoOPTIX (Same as i1 Display 1)<br>
+ Argyll 0x0003 0x0670 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # i1 Display<br>
+ Argyll 0x0003 0x0971 0x2003 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # i1 Display 3<br>
+ Argyll 0x0003 0x0765 0x5020 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # i1 Monitor<br>
+ Argyll 0x0003 0x0971 0x2001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # i1 Pro<br>
+ Argyll 0x0003 0x0971 0x2000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # ColorMunki<br>
+ Argyll 0x0003 0x0971 0x2007 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # ColorMunki Smile<br>
+ Argyll 0x0003 0x0765 0x6003 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # Colorimtre HCFR<br>
+ Argyll 0x0003 0x04DB 0x005B 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # Spyder 2<br>
+ Argyll 0x0003 0x085C 0x0200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # Spyder 3<br>
+ Argyll 0x0003 0x085C 0x0300 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # Spyder 4<br>
+ Argyll 0x0003 0x085C 0x0400 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # Huey<br>
+ Argyll 0x0003 0x0971 0x2005 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ #<br>
+ # ColorHug<br>
+ Argyll 0x0003 0x04D8 0xF8DA 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ Argyll 0x0003 0x273F 0x1001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00000000<br>
+ &nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
+ <br>
+ &nbsp;(For even older versions, append the lines above to <span
+ style="font-weight: bold;">/etc/hotplug/usb.usermap</span>, and
+ you may have to run <span style="font-weight: bold;">update-usb.usermap</span>)<br>
+ <br>
+ Then copy the file <span style="font-weight: bold;">usb/</span><span
+ style="font-weight: bold;">Argyll</span> from the binary or source
+ distribution into <span style="font-weight: bold;">/etc/hotplug/usb/Argyll</span>
+ with owner root, group root, permissions 744.<span
+ style="font-weight: bold;"></span><br>
+ <br>
+ &nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
+ #!/bin/sh<br>
+ # Copy to /etc/hotplug/usb/Argyll<br>
+ #<br>
+ # Argyll hotplug script. Adds the USB devices to the plugdev group.<br>
+ if [ "${ACTION}" = "add" ] &amp;&amp; [ -f "${DEVICE}" ]<br>
+ then<br>
+ &nbsp;&nbsp;&nbsp; chgrp plugdev "${DEVICE}"<br>
+ &nbsp;&nbsp;&nbsp; chmod 660 "${DEVICE}"<br>
+ fi<br>
+ &nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
+ <br>
+ <span style="font-weight: bold;">YOU THEN NEED TO:</span><br>
+ <br>
+ You will then <span style="text-decoration: underline;">need to add</span>
+ yourself to the <span style="font-weight: bold;">plugdev</span>
+ group, if you are not already a member of it. You can do this either
+ by using a "Users and Groups" system administration tool, or on the
+ command line running as root:<br>
+ <br>
+ &nbsp;&nbsp; sudo usermod -a -G plugdev yourusernamehere<br>
+ <br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; su root<br>
+ &nbsp;&nbsp;&nbsp; usermod -a -G plugdev yourusernamehere<br>
+ <br>
+ <br>
+ (If the usermod program isn't found as root, it might be in
+ /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
+ &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
+ plugdev yourusernamehere".<br>
+ &nbsp;If this doesn't work you will have to run "id yourusername" to
+ list the current suplemental<br>
+ &nbsp;groups, and add plugdev using just "usermod -G
+ group1,group2,... yourusername")<br>
+ <br>
+ You may find that the <span style="font-weight: bold;">plugdev</span>
+ group doesn't exist on your system, and if so you will need to
+ create it:<br>
+ <br>
+ &nbsp; sudo groupadd -r plugdev<br>
+ <br>
+ and then add youself to the plugdev group.<br>
+ <br>
+ You may have to log out and then in again for the groups to become
+ effecive.<br>
+ <br>
+ You can test whether your instrument is accessible by plugging it in
+ and then running "spotread -?" and looking for it listed after the <span
+ style="font-weight: bold;">-c</span> option.<br>
+ <span style="font-weight: bold;"></span>&nbsp; <br>
+ <h5><span style="color: rgb(204, 51, 204);"><a name="serial"></a>Serial
+instruments
+
+
+
+
+ access:</span><br>
+ </h5>
+ If you have a serial instrument then you may find that by default
+ you don't have permission to access the serial ports or a Serial to
+ USB adapter. Most systems make the serial ports available to any
+ user in the <span style="font-weight: bold;">tty</span> and <span
+ style="font-weight: bold;">uucp </span>group, so the best way of
+ getting access to the serial ports is to add yourself to those
+ groups. You can do this either by using a "Users and Groups" system
+ administration tool, or on the command line using "usermod":<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; su root<br>
+ &nbsp;&nbsp;&nbsp; usermod -a -G tty,uucp yourusernamehere<br>
+ <br>
+ or<br>
+ <br>
+ &nbsp;&nbsp; sudo usermod -a -G tty,uucp yourusernamehere<br>
+ <br>
+ (If the usermod program isn't found as root, it might be in
+ /usr/sbin, ie. use /usr/sbin/usermod .... etc.<br>
+ &nbsp;If usermod doesn't recognize the -a flag try "usermod -A
+ plugdev yourusernamehere".<br>
+ &nbsp;If this doesn't work you will have to run "id yourusername" to
+ list the current suplemental<br>
+ &nbsp;groups, and add a tty or uucp group using just "usermod -G
+ group1,group2,... yourusername")<br>
+ <br>
+ You may have to log out and then in again for the group to become
+ effecive.<span style="font-weight: bold;"><br>
+ </span>
+ <p>&nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; <br>
+ &nbsp; </p>
+ </body>
+</html>
diff --git a/doc/Installing_MSWindows.html b/doc/Installing_MSWindows.html
new file mode 100644
index 0000000..9079db0
--- /dev/null
+++ b/doc/Installing_MSWindows.html
@@ -0,0 +1,583 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
+ charset=ISO-8859-1">
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I)
+ [Netscape]">
+ <title>Argyll Installation on Microsoft Windows</title>
+ </head>
+ <body style="color: rgb(0, 0, 0);" alink="#ee0000" link="#0000ee"
+ vlink="#551a8b">
+ <h1> <u>Installing the software on Microsoft Windows<br>
+ </u></h1>
+ <h3 style="background-color: rgb(255, 255, 255);"><span
+ style="color: rgb(51, 153, 153);">Unpacking the .zip archive:</span></h3>
+ You will need to unzip the downloaded file in the location you have
+ chosen to hold the executable files (perhaps somewhere like <span
+ style="font-weight: bold;">\bin</span>). I would <span
+ style="font-weight: bold;">NOT</span> put them in <span
+ style="font-style: italic;">\Program Files</span>, since spaces in
+ directory or file names and command line environments are a very bad
+ mix, and will cause you endless problems. The archive will create a
+ <span style="font-weight: bold;"></span> top level directory <span
+ style="font-weight: bold;">Argyll_VX.X.X</span>, where X.X.X is
+ the version number, and the executables will be in <span
+ style="font-weight: bold;">Argyll_VX.X.X\bin</span>.
+ <h3><span style="color: rgb(51, 153, 153);">Making the tools
+ accessible:</span></h3>
+ You should also configure your %PATH% environment variable to give
+ access to the executables from your command line environment.<br>
+ <br>
+ For <span style="font-weight: bold;">Windows 8</span>, look in<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;"></span>Desktop
+ -&gt; Settings -&gt; Control Panel -&gt; System And Security -&gt;
+ System -&gt; Advanced System Settings -&gt; Environment Variables<br>
+ <br>
+ For <span style="font-weight: bold;">Windows 7</span>, look in<br>
+ &nbsp;&nbsp;&nbsp; Start Menu -&gt; Control Panel -&gt; System And
+ Security -&gt; System -&gt; Change Settings -&gt; Advanced -&gt;
+ Environment Variables<br>
+ <br>
+ For <span style="font-weight: bold;">Vista</span>, look in<br>
+ &nbsp;&nbsp;&nbsp; Start Menu -&gt; Control Panel -&gt; System And
+ Maintenance -&gt; System -&gt; Change Settings -&gt; Advanced -&gt;
+ Environment Variables<br>
+ <br>
+ For <span style="font-weight: bold;">XP and 2000 </span>look in<br>
+ &nbsp;&nbsp;&nbsp; Start-&gt;Settings-&gt;Control
+ Panel-&gt;System-&gt;Advanced-&gt;Environment Variables<br>
+ <br>
+ For <span style="font-weight: bold;">NT 4</span> look in<br>
+ &nbsp;&nbsp;&nbsp; Start-&gt;Settings-&gt;Control
+ Panel-&gt;System-&gt;Environment<br>
+ <br>
+ You want to add the directory you've chosen to your %PATH%, which is
+ a System Variable. Normally you would add this to the end of the
+ current setting, separated by a ';'.&nbsp; <br>
+ <br>
+ &nbsp;So if the current value of PATH is
+ "%SystemRoot%\system32;%SystemRoot%" and you unpacked Argyll version
+ 1.5.1 in <span style="font-weight: bold;">d:\bin\</span>, then you
+ would modify PATH to be
+ "%SystemRoot%\system32;%SystemRoot%;d:\bin\Argyll_V1.5.1\bin", -
+ i.e. you append the path to the Argyll binaries to your PATH,
+ separated by the ';' character. The change will take effect when you
+ start a new command shell, which you start from Start
+ Menu-&gt;Accessories-&gt;Command Prompt, or Start
+ Menu-&gt;Programs-&gt;Accessories-&gt;Command Prompt. You can check
+ that the environment variable has been set by running the command
+ "echo %PATH%" in the command shell.<br>
+ <br>
+ The .zip file also contains several useful reference files (such as
+ scanner chart recognition templates, sample illumination spectrum
+ etc.) in the ref sub-directory, all the current documentation in a
+ doc sub-directory, and instrument USB drivers in the usb directory.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE: </span><span
+ style="font-weight: bold;">Vista 64/Windows 7 &amp; 8&nbsp; 64 bit</span>
+ and <span style="font-weight: bold;">Beep</span> prompt<span
+ style="font-weight: bold;">: </span>Microsoft (in its infinite
+ wisdom) has removed the built in speaker driver, and now relies on
+ systems having a sound card and speakers's installed and turned on
+ to hear system beeps. So if you're wondering where the beeps have
+ gone when using <a href="chartread.html">chartread</a>, now you
+ know.<span style="font-weight: bold;"></span><br>
+ <br>
+ <span style="font-weight: bold;">NOTE: Microsofts generic VGA Driver</span>
+ does not appear to support setting the display VideoLUTs. You will
+ need to install a display driver for your specific display hardware
+ to enable this. Note that it is possible in many cases to use
+ Windows 7 video drivers on Windows 8 systems.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;">NOTE</span> that if you wish to use
+ Argyll tools (<a href="dispwin.html">dispwin</a>) to control display
+ calibration, that you will have to disable any other calibration
+ loader programs.<br>
+ <br>
+ There are other programs that will interfere with calibration
+ loading, such as igfxpers.exe that gets installed with nVidia
+ "Optimus" technology.<br>
+ You may have to disable both the igfx tray module
+ (c:\windows\system32\igfxtray.exe) and the igfxpph Module
+ (c:\windows\system32\igfxpph.dll) in addition to the persistence
+ Module (c:\windows\system32\igfxpers.exe).<br>
+ <br>
+ A good tool for this is <a
+ href="http://technet.microsoft.com/en-us/sysinternals/bb963902">AutoRuns</a>.
+ Note that the igfxpph module may exist in several locations and you
+ have to disable all of them. Reboot after changing settings.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h3><span style="color: rgb(51, 153, 153);">Serial Instruments:</span><br>
+ </h3>
+ If you are using a serial connected instrument, then there is
+ nothing special to do to enable this.<br>
+ <h3><span style="color: rgb(51, 153, 153);">USB Instruments:</span></h3>
+ If you are using a USB connected instrument, then suitable <span
+ style="font-weight: bold;">USB drivers</span> may need to be
+ installed.<br>
+ <span style="font-weight: bold;"><br>
+ </span>Note that the <span style="font-weight: bold;">Huey</span>
+ and <span style="font-weight: bold;">i1 Display Pro</span> and <span
+ style="font-weight: bold;">ColorMunki Display</span> colorimeter
+ appears as an HID (USB Human Interface Device Class) device, and
+ hence will be assigned to the default MSWindows HID driver. You
+ therefore <span style="font-weight: bold; text-decoration:
+ underline;">don't need</span> to install an Argyll <span
+ style="font-weight: bold;">usb</span> driver for these
+ instruments, although it is possible to select the libusb0.sys
+ driver as an alternative to the default HID driver.<br>
+ <br>
+ Jump to your operating system version:<br>
+ <br>
+ <a href="#WIN8">Windows 8</a><br>
+ <a href="#WINV7">Windows 7</a><br>
+ <a href="#WINV7">Windows Vista</a><br>
+ <a href="#WINXP">Windows XP</a><br>
+ <a href="#WIN2K">Windows 2000</a><br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><a name="WIN8"></a><font
+ size="+1"><span style="font-weight: bold;">Windows 8</span></font><br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;">Fresh Install of Instrument USB driver:</span></span><br>
+ <br>
+ </span>If you currently don't have any applications that talk to
+ your instrument using USB, then it is relatively simple to use the
+ drivers provided with Argyll, since you don't have to deal with the
+ instrument already having an assigned driver.<br>
+ <br>
+ Windows 8 does not automatically pop up a "New Hardware" dialog, so
+ you will have to open the Device Manager manually, and you will also
+ have to temporarily disable UBS driver .inf signature enforcement.<br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ driver for the first instrument:</span><br>
+ &nbsp;&nbsp;&nbsp; Settings -&gt; Power -&gt; <span
+ style="font-weight: bold;">Hold Shift Key down and click</span>
+ "Restart" -&gt; Troubleshoot -&gt; Advanced Options -&gt; Startup
+ Settings -&gt; Restart -&gt;<br>
+ &nbsp;&nbsp;&nbsp; (After Reboot) -&gt; "Disable Driver Signature
+ Enforcement" (number 7 on the list)<br>
+ &nbsp;&nbsp;&nbsp; (After system starts, Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp; Desktop -&gt; Settings -&gt; Control Panel -&gt;
+ Hardware and Sound -&gt; Device Manager -&gt;<br>
+ &nbsp;&nbsp;&nbsp; Other Devices -&gt; &lt;instrument being
+ installed&gt; -&gt; right click -&gt; Update Driver Software...
+ -&gt; Browse my computer for driver software -&gt; Browse...<br>
+ &nbsp;&nbsp;&nbsp; -&gt; <span style="font-weight: bold;">argyll\usb</span>
+ folder -&gt; Next -&gt; Install this driver software anyway -&gt;
+ Close<br>
+ <br style="text-decoration: underline;">
+ <span style="text-decoration: underline;">On subsequent installation
+ of other instrument types:</span><br>
+ &nbsp;&nbsp;&nbsp; Simply plug the instrument in. The Argyll driver
+ will be automatically selected.<br>
+ <br>
+ <br>
+ <span style="color: rgb(51, 153, 153); font-weight: bold;"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Adding
+ Argyll drivers to existing drivers:</span></span><br>
+ <br>
+ If you currently have applications other than Argyll accessing your
+ USB connected instrument, then you will have to manually install the
+ Argyll driver, and then switch back and forth between the Argyll and
+ other drivers if you want to switch between applications. <br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ Driver:</span><br>
+ Settings -&gt; Power -&gt; <span style="font-weight: bold;">Hold
+ Shift Key down and click</span> "Restart" -&gt; Troubleshoot -&gt;
+ Advanced Options -&gt; Startup Settings -&gt; Restart -&gt;<br>
+ &nbsp;&nbsp;&nbsp; (After Reboot) -&gt; Disable Driver Signature
+ Enforcement" (number 7 on the list)<br>
+ &nbsp;&nbsp;&nbsp; (After system starts, Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp; Desktop -&gt; Settings -&gt; Control Panel -&gt;
+ Hardware and Sound -&gt; Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Update Driver
+ Software... -&gt; let me pick from a list of device drivers on my
+ computer -&gt; Have disk... -&gt; Browse...<br>
+ &nbsp;&nbsp;&nbsp; -&gt; <span style="font-weight: bold;">argyll\usb</span>
+ folder -&gt; select ArgyllCMS.inf -&gt; Open -&gt; OK -&gt; Install
+ this driver software anyway -&gt; Close<br>
+ <br>
+ <span style="text-decoration: underline;">To switch between drivers:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in the instrument)<br>
+ &nbsp;&nbsp;&nbsp; Desktop -&gt; Settings -&gt; Control Panel -&gt;
+ Hardware and Sound -&gt; Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Update Driver
+ Software... -&gt; let me pick from a list of device drivers on my
+ computer<br>
+ &nbsp;&nbsp;&nbsp; (Choose either the Argyll driver or another
+ driver from the list)<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Next -&gt; Close<br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;">Un-installing Argyll driver:</span></span></span><br>
+ <br>
+ If you are updating to a new version of Argyll, that it may be
+ necessary to uninstall all the existing Argyll USB driver, and do a
+ fresh re-install to update the relevant libusb system driver and
+ .inf file. (This is true for updating to Argyll Version 1.5.0). <br>
+ <br>
+ &nbsp;&nbsp;&nbsp; (Plug in the instrument)<br>
+ &nbsp;&nbsp;&nbsp; Desktop -&gt; Settings -&gt; Control Panel -&gt;
+ Hardware and Sound -&gt; Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It
+ will be underneath the Argyll LibUSB-win32 devices top level item.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Uninstall -&gt;
+ click "Delete the driver software for this device" -&gt; OK <br>
+ <br>
+ Proceed then with either <span style="color: rgb(51, 153, 153);"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Fresh
+ Install of Argyll USB driver</span></span> or <span
+ style="color: rgb(51, 153, 153);"><span style="color: rgb(0, 0,
+ 0); text-decoration: underline;">Adding Argyll drivers to
+ existing drivers</span></span> above.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><a name="WINV7"></a><font
+ size="+1"><span style="font-weight: bold;">Windows Vista &amp;
+ Windows 7</span></font><br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;"></span></span></span><span style="color: rgb(51, 153,
+ 153);"><span style="color: rgb(0, 0, 0); text-decoration:
+ underline;"><span style="font-weight: bold;">Fresh Install of
+ Instrument USB driver:</span></span><br>
+ <br>
+ </span>If you currently don't have any applications that talk to
+ your instrument using USB, then it is relatively simple to use the
+ drivers provided with Argyll since you don't have to deal with the
+ instrument already having an assigned driver.<br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ driver for the first instrument:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp; (Wait for the "Found New Hardware" or "Installing
+ new device driver software - Device driver software was not
+ successfully installed" popup and dismiss it)<br>
+ &nbsp;&nbsp;&nbsp; Start -&gt; Control Panel -&gt; Hardware and
+ Sound -&gt; Device Manager -&gt;<br>
+ &nbsp;&nbsp;&nbsp; Other Devices -&gt; &lt;instrument being
+ installed&gt; -&gt; right click -&gt; Update Driver Software...
+ -&gt; Browse my computer for driver software -&gt; Browse...<br>
+ &nbsp;&nbsp;&nbsp; -&gt; <span style="font-weight: bold;">argyll\usb</span>
+ folder -&gt; Next -&gt; Install this driver software anyway -&gt;
+ Close<br>
+ <br style="text-decoration: underline;">
+ <span style="text-decoration: underline;">On subsequent installation
+ of other instrument types:</span><br>
+ &nbsp;&nbsp;&nbsp; Simply plug the instrument in. The Argyll driver
+ will be automatically installed.<br>
+ <br>
+ <br>
+ <span style="color: rgb(51, 153, 153); font-weight: bold;"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Adding
+ Argyll drivers to existing drivers:</span></span><br>
+ <br>
+ If you currently have applications other than Argyll accessing your
+ USB connected instrument, then you will have to manually install the
+ Argyll driver, and then switch back and forth between the Argyll and
+ other drivers if you want to switch between applications. <br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ Driver:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp; Start -&gt; Control Panel -&gt; Hardware and
+ Sound -&gt; Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Update Driver
+ Software... -&gt; let me pick from a list of device drivers on my
+ computer -&gt; Have disk... -&gt; Browse...<br>
+ &nbsp;&nbsp;&nbsp; -&gt; <span style="font-weight: bold;">argyll\usb</span>
+ folder -&gt; select ArgyllCMS.inf -&gt; Open -&gt; OK -&gt; Install
+ this driver software anyway -&gt; Close<br>
+ <br>
+ <span style="text-decoration: underline;">To switch between drivers:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in the instrument)<br>
+ &nbsp;&nbsp;&nbsp; Start -&gt; Control Panel -&gt; Hardware and
+ Sound -&gt; Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Update Driver
+ Software... -&gt; let me pick from a list of device drivers on my
+ computer<br>
+ &nbsp;&nbsp;&nbsp; (Choose either the Argyll driver or another
+ driver from the list)<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Next -&gt; Close<br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;">Un-installing Argyll driver:</span></span></span><br>
+ <br>
+ If you are updating to a new version of Argyll, that it may be
+ necessary to uninstall all the existing Argyll USB driver, and do a
+ fresh re-install, to update the relevant libusb system driver and
+ .inf file. (This is true for updating to Argyll Version 1.5.0). <br>
+ <br>
+ &nbsp;&nbsp;&nbsp; (Plug in the instrument)<br>
+ &nbsp;&nbsp;&nbsp; Start -&gt; Control Panel -&gt; Hardware and
+ Sound -&gt; Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It
+ will be underneath the Argyll LibUSB-win32 devices top level item.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Uninstall -&gt;
+ click "Delete the driver software for this device" -&gt; OK <br>
+ <br>
+ Proceed then with either <span style="color: rgb(51, 153, 153);"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Fresh
+ Install of Argyll USB driver</span></span> or <span
+ style="color: rgb(51, 153, 153);"><span style="color: rgb(0, 0,
+ 0); text-decoration: underline;">Adding Argyll drivers to
+ existing drivers</span></span> above.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><a name="WINXP"></a><font
+ size="+1"><span style="font-weight: bold;">Windows XP</span></font><br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;"></span></span></span><span style="color: rgb(51, 153,
+ 153);"><span style="color: rgb(0, 0, 0); text-decoration:
+ underline;"><span style="font-weight: bold;">Fresh Install of
+ Instrument USB driver:</span></span><br>
+ <br>
+ </span>If you currently don't have any applications that talk to
+ your instrument using USB, then it is relatively simple to use the
+ drivers provided with Argyll since you don't have to deal with the
+ instrument already having an assigned driver.<br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ driver for the first instrument:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp; (Wait for the "Welcome to the Found New Hardware
+ Wizard" popups and dismiss it)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; My Computer, Right Click -&gt; Manage -&gt;
+ Device Manager<br>
+ &nbsp;&nbsp;&nbsp; Other Devices -&gt; &lt;instrument being
+ installed&gt; -&gt; right click -&gt; Update Driver... -&gt; No, not
+ this time -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt;Install from a list or specific location
+ (Advanced) -&gt; Next -&gt; Don't search. I will choose the driver
+ to install -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Have Disk... -&gt; Browse -&gt; <span
+ style="font-weight: bold;">argyll\usb</span> folder -&gt;
+ ArgyllCMS.inf -&gt; Open -&gt; OK -&gt; Next -&gt; Finish<br>
+ <br style="text-decoration: underline;">
+ <span style="text-decoration: underline;">On subsequent installation
+ of other instrument types:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug the instrument in, and wait for the
+ "Welcome to the Found New Hardware Wizard"&nbsp; to pop up.)<br>
+ &nbsp;&nbsp;&nbsp; No, not this time -&gt; Install the software
+ automatically (Recommended) -&gt; Next -&gt; Finish<br>
+ <br>
+ <br>
+ <span style="color: rgb(51, 153, 153); font-weight: bold;"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Adding
+ Argyll drivers to existing drivers:</span></span><br>
+ <br>
+ If you currently have applications other than Argyll accessing your
+ USB connected instrument, then you will have to manually install the
+ Argyll driver, and then switch back and forth between the Argyll and
+ other drivers if you want to switch between applications. <br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ Driver:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; My Computer, Right Click -&gt; Manage -&gt;
+ Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; Right click on instrument -&gt; right click
+ -&gt; Update Driver... -&gt; No, not this time -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt;Install from a list or specific location
+ (Advanced) -&gt; Next -&gt; Don't search. I will choose the driver
+ to install -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Have Disk... -&gt; Browse -&gt; <span
+ style="font-weight: bold;">argyll\usb</span> folder -&gt;
+ ArgyllCMS.inf -&gt; Open -&gt; OK -&gt; Next -&gt; Finish<br>
+ <br>
+ <span style="text-decoration: underline;">To switch between drivers:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in the instrument)<br>
+ &nbsp;&nbsp;&nbsp; My Computer,&nbsp; Right Click -&gt; Manage -&gt;
+ Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Update Driver...
+ -&gt; No, not this time -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt;Install from a list or specific location
+ (Advanced) -&gt; Next -&gt; Don't search. I will choose the driver
+ to install -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt;let me pick from a list of device drivers on
+ my computer<br>
+ &nbsp;&nbsp;&nbsp; (Choose either the Argyll driver or another
+ driver from the list)<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Next -&gt; Finish<br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;">Un-installing Argyll driver:</span></span></span><br>
+ <br>
+ If you are updating to a new version of Argyll, that it may be
+ necessary to uninstall all the existing Argyll USB driver, and do a
+ fresh re-install, to update the relevant libusb system driver and
+ .inf file. (This is true for updating to Argyll Version 1.5.0). <br>
+ <br>
+ &nbsp;&nbsp;&nbsp; (Plug in the instrument)<br>
+ &nbsp;&nbsp; My Computer, Right Click -&gt; Manage -&gt; Device
+ Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It
+ will be underneath the Argyll LibUSB-win32 devices top level item.)<br>
+ &nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Uninstall -&gt;
+ click "Delete the driver software for this device" -&gt; OK <br>
+ <br>
+ &nbsp; Then you will have to delete the cached copy of the old
+ Argyll driver .inf files, that MSWindows keeps.<br>
+ <br>
+ &nbsp; cd to where Windows keeps it's cached driver information
+ files, ie:<br>
+ &nbsp;&nbsp;&nbsp; c:<br>
+ &nbsp;&nbsp;&nbsp; cd \windows\inf<br>
+ <br>
+ &nbsp; identify all the system copies of the Argyll .inf files:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; find /I "ArgyllCMS" oem*.inf<br>
+ <br>
+ &nbsp; then delete just the files that contain "ArgyllCMS":<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; del /F oemXXX.inf<br>
+ &nbsp;&nbsp;&nbsp; del /F oemXXY.inf<br>
+ &nbsp;&nbsp;&nbsp; etc.<br>
+ <br>
+ Proceed then with either <span style="color: rgb(51, 153, 153);"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Fresh
+ Install of Argyll USB driver</span></span> or <span
+ style="color: rgb(51, 153, 153);"><span style="color: rgb(0, 0,
+ 0); text-decoration: underline;">Adding Argyll drivers to
+ existing drivers</span></span> above.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><a name="WIN2K"></a><font
+ size="+1"><span style="font-weight: bold;">Windows 2000</span></font><br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;"></span></span></span><span style="color: rgb(51, 153,
+ 153);"><span style="color: rgb(0, 0, 0); text-decoration:
+ underline;"><span style="font-weight: bold;">Fresh Install of
+ Instrument USB driver:</span></span><br>
+ <br>
+ </span>If you currently don't have any applications that talk to
+ your instrument using USB, then it is relatively simple to use the
+ drivers provided with Argyll since you don't have to deal with the
+ instrument already having an assigned driver.<br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ driver for the first instrument:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp; (Wait for the "Welcome to the Found New Hardware
+ Wizard" pops up) -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Search for a suitable driver for my device
+ (recommended) -&gt; Next -&gt; Specify a location -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Browse -&gt;&nbsp; <span
+ style="font-weight: bold;">argyll\usb</span> folder -&gt;
+ ArgyllCMS.inf -&gt; Open -&gt; OK -&gt; Next -&gt; Finish<br>
+ <br style="text-decoration: underline;">
+ <span style="text-decoration: underline;">On subsequent installation
+ of other instrument types:</span><br>
+ &nbsp;&nbsp;&nbsp; Simply plug the instrument in. The Argyll driver
+ will be automatically installed.<br>
+ <br>
+ <span style="color: rgb(51, 153, 153); font-weight: bold;"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Adding
+ Argyll drivers to existing drivers:</span></span><br>
+ <br>
+ If you currently have applications other than Argyll accessing your
+ USB connected instrument, then you will have to manually install the
+ Argyll driver, and then switch back and forth between the Argyll and
+ other drivers if you want to switch between applications. <br>
+ <br>
+ <span style="text-decoration: underline;">To install the Argyll
+ Driver:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; My Computer, Right Click -&gt; Manage -&gt;
+ Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Properties
+ -&gt; Driver -&gt; Update Driver&nbsp; this time<br>
+ &nbsp;&nbsp;&nbsp; -&gt; "Welcome to the Found New Hardware Wizard"
+ -&gt; Next -&gt; Display a list of known drivers for this device so
+ that I can choose a specific driver -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Have Disk -&gt; Browse -&gt; <span
+ style="font-weight: bold;">argyll\usb</span> folder -&gt;
+ ArgyllCMS.inf -&gt; Open -&gt; OK -&gt; Next -&gt; Next -&gt; Finish<br>
+ <br>
+ <span style="text-decoration: underline;">To switch between drivers:</span><br>
+ &nbsp;&nbsp;&nbsp; (Plug in instrument)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; My Computer, Right Click -&gt; Manage -&gt;
+ Device Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Properties
+ -&gt; Driver -&gt; Update Driver... -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Display a list of known drivers for this
+ device so that I can choose a specific driver -&gt; Next<br>
+ &nbsp;&nbsp;&nbsp; (Choose either the Argyll driver or another
+ driver from the list)<br>
+ &nbsp;&nbsp;&nbsp; -&gt; Next -&gt; Next -&gt; Finish<br>
+ <br>
+ <span style="color: rgb(51, 153, 153);"><span style="color: rgb(0,
+ 0, 0); text-decoration: underline;"><span style="font-weight:
+ bold;">Un-installing Argyll driver:</span></span></span><br>
+ <br>
+ If you are updating to a new version of Argyll, that it may be
+ necessary to uninstall all the existing Argyll USB driver, and do a
+ fresh re-install, to update the relevant libusb system driver and
+ .inf file. (This is true for updating to Argyll Version 1.5.0). <br>
+ <br>
+ &nbsp;&nbsp;&nbsp; (Plug in the instrument)<br>
+ &nbsp;&nbsp; My Computer, Right Click -&gt; Manage -&gt; Device
+ Manager<br>
+ &nbsp;&nbsp;&nbsp; (Locate the instrument in the device list. It may
+ be underneath one of the top level items.)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; Right click on instrument -&gt; Uninstall
+ -&gt; OK<br>
+ <br>
+ &nbsp; Then you will have to delete the cached copy of the old
+ Argyll driver .inf files, that MSWindows keeps.<br>
+ <br>
+ &nbsp; cd to where Windows keeps it's cached driver information
+ files, ie:<br>
+ &nbsp;&nbsp;&nbsp; c:<br>
+ &nbsp;&nbsp;&nbsp; cd \winnt\inf<br>
+ <br>
+ &nbsp; identify all the system copies of the Argyll .inf files:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; find /I "ArgyllCMS" oem*.inf<br>
+ <br>
+ &nbsp; &nbsp; then delete just the files that contain "ArgyllCMS":<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; del /F oemXXX.inf<br>
+ &nbsp;&nbsp;&nbsp; del /F oemXXY.inf<br>
+ &nbsp;&nbsp;&nbsp; etc.<br>
+ <br>
+ Proceed then with either <span style="color: rgb(51, 153, 153);"><span
+ style="color: rgb(0, 0, 0); text-decoration: underline;">Fresh
+ Install of Argyll USB driver</span></span> or <span
+ style="color: rgb(51, 153, 153);"><span style="color: rgb(0, 0,
+ 0); text-decoration: underline;">Adding Argyll drivers to
+ existing drivers</span></span> above.<br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/Installing_OSX.html b/doc/Installing_OSX.html
new file mode 100644
index 0000000..d3f9057
--- /dev/null
+++ b/doc/Installing_OSX.html
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=ISO-8859-1">
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+ <title>Argyll Installation on Apple OS X</title>
+</head>
+<body>
+<h1>
+<u>Installing the software on Apple OS X<br>
+</u></h1>
+<br>
+You
+will need to unpack the downloaded file in the location you have chosen
+to hold the executable files. Typically this might be in <span
+ style="font-style: italic;">/usr/bin</span>, or perhaps <span
+ style="font-style: italic;">$HOME/bin/</span>.<br>
+<br>
+You can unpack it by control-click on the downloaded file
+and &#8220;Open With&#8221; BOMArchiveHelper or Archive Utility. Drag the resulting
+folder to where you want it, e.g. into your home folder (/Users/usrnam
+where usrnam is your username).<br>
+<br>
+Alternatively you can unpack it on the command line using&nbsp; the
+command <span style="font-weight: bold;">tar -zxf</span> <span
+ style="font-weight: bold;">archivename.tgz</span>, which will create a
+directory <span style="font-weight: bold;">Argyll_VX.X.X</span>, where
+X.X.X is the version number, and the executables will be in <span
+ style="font-weight: bold;">Argyll_VX.X.X/bin</span>. <br>
+<br>
+Open a Terminal shell. This will be in
+Applications-&gt;Utilities-&gt;Terminal (Dragging it to the dock is a
+good idea to make it more accessible).<br>
+<br>
+You will have to
+configure your $PATH environment variable to give access to the
+executables from your command line environment, by editing your <span
+ style="font-weight: bold;">.profile</span> file.<br>
+You can do this using a graphical editor, by using the open command:<br>
+<br>
+&nbsp; ~$open .profile<br>
+<br>
+or by using some other editor, such as <span style="font-weight: bold;">vi</span>.<br>
+<br>
+And add the following line to your .path file<br>
+<br>
+&nbsp; PATH=$PATH:$HOME/Argyll_V1.1.1/bin<br>
+<br>
+If you are unfamiliar
+with how to do this, consult an appropriate tutorial, e.g. &lt;<a
+ href="http://heather.cs.ucdavis.edu/matloff/public_html/UnixAndC/Unix/ShellIntro.pdf">ShellIntro</a>&gt;.
+The
+.tgz
+file
+also
+contains
+several
+useful
+reference files (such as
+scanner chart recognition templates, sample illumination spectrum
+etc.) in the ref sub-directory, as well as
+all the current documentation in a doc sub-directory.<br>
+<br>
+For most devices there is nothing special to do. Plug in and go. Some
+devices may not work without some extra help though:<br>
+<h3><a name="ColorMunki"></a><span style="text-decoration: underline;">X-Rite
+ColorMunki</span></h3>
+Some version of X-Rite's ColorMunki drivers released between 2009 and
+2011 install an X-Rite
+daemon that runs as root and grabs the device, preventing any other
+programs (such as Argyll) from opening them. Latter versions seem to be
+more cooperative, and don't suffer from this problem. There are three
+ways of
+working around this problem:<br>
+<br>
+1) Turn off the X-Rite service for the ColorMunki. See &lt;<a
+ class="moz-txt-link-freetext"
+ href="http://www.xrite.com/product_overview.aspx?ID=1161&amp;Action=support&amp;SupportID=4980">http://www.xrite.com/product_overview.aspx?ID=1161&amp;Action=support&amp;SupportID=4980</a>&gt;.<br>
+<br>
+2) Run all Argyll programs that need to access the instrument as root.
+For instance:<br>
+<br>
+&nbsp;&nbsp;&nbsp; sudo spotread<br>
+<br>
+and then you will be asked for the root password.<br>
+While these methods will work, they are incovenient. <br>
+<br>
+3) Alter the X-Rite drivers Daeomon so that it runs under your user
+account.<br>
+<br>
+To do this you need to edit the script that controls the X-Rite Daemon.<br>
+<br>
+&nbsp;&nbsp;&nbsp; cd ~<br>
+&nbsp;&nbsp;&nbsp; whoami<br>
+&nbsp;&nbsp;&nbsp; cp
+/Library/LaunchDaemons/com.xrite.device.colormunki.plist temp.plist<br>
+&nbsp;&nbsp;&nbsp; open temp.plist<br>
+<br>
+and add one child below the root:<br>
+<br>
+&nbsp;&nbsp;&nbsp; <span style="text-decoration: underline;">Item&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><br>
+&nbsp;&nbsp;&nbsp; UserName &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+myusername<br>
+<br>
+where "myusername" is your username shown by whoami, and save the file.
+You then need
+to copy the modified file back: <br>
+<br>
+&nbsp;&nbsp;&nbsp; sudo cp temp.plist
+/Library/LaunchDaemons/com.xrite.device.colormunki.plist<br>
+<br>
+You will then need to restart the machine for this change to take
+effect, or invoke the following commands:<br>
+<br>
+&nbsp;&nbsp; sudo launchctl unload
+/Library/LaunchDaemons/com.xrite.device.colormunki.plist<br>
+&nbsp;&nbsp; sudo launchctl load
+/Library/LaunchDaemons/com.xrite.device.colormunki.plist<br>
+<br>
+<span style="font-weight: bold;">NOTE</span> that after running Argyll
+tools, you may have to turn the X-Rite service off then on again, or
+disconnect and reconnect the instrument.<br>
+<br>
+<h3><a name="ColorMunki"></a><span style="text-decoration: underline;">X-Rite
+EyeOne
+Pro</span><br>
+</h3>
+Some version of X-Rite's EyeOne Pro drivers drivers released between
+2009 and
+2011 install an X-Rite
+daemon that runs as root and grabs the device, preventing any other
+programs (such as Argyll) from opening them. Latter versions seem to be
+more cooperative, and don't suffer from this problem. There are three
+ways of
+working around this problem:<br>
+<br>
+1) Turn off the X-Rite service for the EyeOne Pro. See &lt;<a
+ class="moz-txt-link-freetext"
+ href="http://www.xrite.com/product_overview.aspx?ID=1161&amp;Action=support&amp;SupportID=4980">http://www.xrite.com/product_overview.aspx?ID=1161&amp;Action=support&amp;SupportID=4980</a>&gt;.<br>
+<br>
+2) Run all Argyll programs that need to access the instrument as root.
+For instance:<br>
+<br>
+&nbsp;&nbsp;&nbsp; sudo spotread<br>
+<br>
+and then you will be asked for the root password.<br>
+While these methods will work, they are incovenient. <br>
+<br>
+3) Alter the X-Rite drivers Daeomon so that it runs under your user
+account.<br>
+<br>
+To do this you need to edit the script that controls the X-Rite Daemon.<br>
+<br>
+&nbsp;&nbsp;&nbsp; cd ~<br>
+&nbsp;&nbsp;&nbsp; whoami<br>
+&nbsp;&nbsp;&nbsp; cp
+/Library/LaunchDaemons/com.xrite.device.i1.plist temp.plist<br>
+&nbsp;&nbsp;&nbsp; open temp.plist<br>
+<br>
+and add one child below the root:<br>
+<br>
+&nbsp;&nbsp;&nbsp; <span style="text-decoration: underline;">Item&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span><br>
+&nbsp;&nbsp;&nbsp; UserName &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+myusername<br>
+<br>
+where "myusername" is your username shown by whoami, and save the file.
+You then need
+to copy the modified file back: <br>
+<br>
+&nbsp;&nbsp;&nbsp; sudo cp temp.plist
+/Library/LaunchDaemons/com.xrite.device.i1.plist<br>
+<br>
+You will then need to restart the machine for this change to take
+effect, or invoke the following commands:<br>
+<br>
+&nbsp;&nbsp; sudo launchctl unload
+/Library/LaunchDaemons/com.xrite.device.i1.plist<br>
+&nbsp;&nbsp; sudo launchctl load
+/Library/LaunchDaemons/com.xrite.device.i1.plist<br>
+<br>
+<span style="font-weight: bold;">NOTE</span> that after running Argyll
+tools, you may have to turn the X-Rite service off then on again, or
+disconnect and reconnect the instrument.<br>
+<br>
+<h3><a name="HCFR"></a>HCFR Colorimeter</h3>
+The default OS X class
+drivers will grab this device, preventing Argyll from accessing it. To
+overcome this, you need to install a codeless kernel extension if you
+wish to use the HCFR colorimeter, that
+prevents this from happening. From the command line you need to create
+a directory called Argyll.kext somewhere convenient, and then place in
+it one file called Info.plist, containing the following:<br>
+<br>
+&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
+&nbsp;&nbsp; &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>
+&nbsp;&nbsp; &lt;!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST
+1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;<br>
+&nbsp;&nbsp; &lt;plist version="1.0"&gt;<br>
+&nbsp;&nbsp; &lt;dict&gt;<br>
+&nbsp; &nbsp;&nbsp; &nbsp;
+&lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
+&lt;string&gt;English&lt;/string&gt;<br>
+&nbsp;&nbsp; &nbsp; &nbsp; &lt;key&gt;CFBundleGetInfoString&lt;/key&gt;
+&lt;string&gt;Libusb USB device Shield&lt;/string&gt;<br>
+&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&lt;key&gt;CFBundleIdentifier&lt;/key&gt;
+&lt;string&gt;com.libusb.USB_Shield&lt;/string&gt;<br>
+&nbsp;&nbsp; &nbsp; &nbsp;
+&lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;
+&lt;string&gt;6.0&lt;/string&gt;<br>
+&nbsp; &nbsp; &nbsp;&nbsp; &lt;key&gt;CFBundleName&lt;/key&gt;
+&lt;string&gt;Libusb USB device Shield&lt;/string&gt;<br>
+&nbsp; &nbsp; &nbsp;&nbsp; &lt;key&gt;CFBundlePackageType&lt;/key&gt;
+&lt;string&gt;KEXT&lt;/string&gt;<br>
+&nbsp;&nbsp; &nbsp; &nbsp; &lt;key&gt;CFBundleSignature&lt;/key&gt;
+&lt;string&gt;????&lt;/string&gt;<br>
+&nbsp; &nbsp; &nbsp;&nbsp; &lt;key&gt;CFBundleVersion&lt;/key&gt;
+&lt;string&gt;6.0&lt;/string&gt;<br>
+&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&lt;key&gt;IOKitPersonalities&lt;/key&gt;<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;dict&gt;<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
+&lt;key&gt;HCFR&lt;/key&gt;<br>
+&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;dict&gt;<br>
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;
+&lt;key&gt;CFBundleIdentifier&lt;/key&gt;
+&lt;string&gt;com.apple.driver.AppleUSBComposite&lt;/string&gt;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
+&lt;key&gt;IOClass&lt;/key&gt;
+&lt;string&gt;AppleUSBComposite&lt;/string&gt;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;
+&lt;key&gt;IOProviderClass&lt;/key&gt;
+&lt;string&gt;IOUSBDevice&lt;/string&gt;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp; &lt;key&gt;idVendor&lt;/key&gt;
+&lt;integer&gt;1243&lt;/integer&gt;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&lt;key&gt;idProduct&lt;/key&gt;
+&lt;integer&gt;91&lt;/integer&gt;<br>
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dict&gt;<br>
+&nbsp;&nbsp; &nbsp; &nbsp; &lt;/dict&gt;<br>
+&nbsp; &nbsp; &nbsp;&nbsp;
+&lt;key&gt;OSBundleCompatibleVersion&lt;/key&gt;
+&lt;string&gt;1.8&lt;/string&gt;<br>
+&nbsp;&nbsp; &nbsp; &nbsp; &lt;key&gt;OSBundleLibraries&lt;/key&gt;<br>
+&nbsp; &nbsp; &nbsp;&nbsp; &lt;dict&gt;<br>
+&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+&lt;key&gt;com.apple.kernel.iokit&lt;/key&gt;
+&lt;string&gt;6.0&lt;/string&gt;<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/dict&gt;<br>
+&nbsp;&nbsp; &lt;/dict&gt;<br>
+&nbsp;&nbsp; &lt;/plist&gt;<br>
+&nbsp; &nbsp; ----------------- cut here ---------------------<br>
+<br>
+(You can also copy this from the source installation in
+usb/Argyll.kext)<br>
+<br>
+You then need to install it by using:<br>
+<br>
+&nbsp; sudo cp -R Argyll.kext /System/Library/Extensions<br>
+<br>
+supplying the appropriate root password when prompted.<br>
+Reboot the system to activate the extension.<br>
+<br>
+<p><br>
+</p>
+</body>
+</html>
diff --git a/doc/Kgraph1.jpg b/doc/Kgraph1.jpg
new file mode 100644
index 0000000..9f6edf9
--- /dev/null
+++ b/doc/Kgraph1.jpg
Binary files differ
diff --git a/doc/Kgraph2.jpg b/doc/Kgraph2.jpg
new file mode 100644
index 0000000..a7d532d
--- /dev/null
+++ b/doc/Kgraph2.jpg
Binary files differ
diff --git a/doc/Kgraph3.jpg b/doc/Kgraph3.jpg
new file mode 100644
index 0000000..f916558
--- /dev/null
+++ b/doc/Kgraph3.jpg
Binary files differ
diff --git a/doc/Kgraph4.jpg b/doc/Kgraph4.jpg
new file mode 100644
index 0000000..603c9bd
--- /dev/null
+++ b/doc/Kgraph4.jpg
Binary files differ
diff --git a/doc/Kgraph5.jpg b/doc/Kgraph5.jpg
new file mode 100644
index 0000000..1de1b88
--- /dev/null
+++ b/doc/Kgraph5.jpg
Binary files differ
diff --git a/doc/Kgraph6.jpg b/doc/Kgraph6.jpg
new file mode 100644
index 0000000..f3981d2
--- /dev/null
+++ b/doc/Kgraph6.jpg
Binary files differ
diff --git a/doc/Kgraph7.jpg b/doc/Kgraph7.jpg
new file mode 100644
index 0000000..c2d0686
--- /dev/null
+++ b/doc/Kgraph7.jpg
Binary files differ
diff --git a/doc/Kgraph8.jpg b/doc/Kgraph8.jpg
new file mode 100644
index 0000000..1bb9569
--- /dev/null
+++ b/doc/Kgraph8.jpg
Binary files differ
diff --git a/doc/Kparams.jpg b/doc/Kparams.jpg
new file mode 100644
index 0000000..04e344b
--- /dev/null
+++ b/doc/Kparams.jpg
Binary files differ
diff --git a/doc/LSDC.jpg b/doc/LSDC.jpg
new file mode 100644
index 0000000..2ad2a67
--- /dev/null
+++ b/doc/LSDC.jpg
Binary files differ
diff --git a/doc/LabSteps.jpg b/doc/LabSteps.jpg
new file mode 100644
index 0000000..d25590f
--- /dev/null
+++ b/doc/LabSteps.jpg
Binary files differ
diff --git a/doc/License.txt b/doc/License.txt
new file mode 100644
index 0000000..a871fcf
--- /dev/null
+++ b/doc/License.txt
@@ -0,0 +1,662 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+<http://www.gnu.org/licenses/>.
+
diff --git a/doc/License2.txt b/doc/License2.txt
new file mode 100644
index 0000000..05ca889
--- /dev/null
+++ b/doc/License2.txt
@@ -0,0 +1,282 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+
diff --git a/doc/License3.txt b/doc/License3.txt
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/doc/License3.txt
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/doc/Limitations.html b/doc/Limitations.html
new file mode 100644
index 0000000..f3fb811
--- /dev/null
+++ b/doc/Limitations.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+ <title>Argyll Overview</title>
+</head>
+<body>
+<h2>
+<u>Limitations</u></h2>
+Some features that have been often asked for, but aren't currently
+implemented are:<br>
+<ul>
+ <li>ICC Version 4 profile support</li>
+ <li>Monochrome profiling support</li>
+ <li>More than 4 colorant printer support</li>
+ <li>GUI interface</li>
+ <li>Support for all available instruments</li>
+</ul>
+Some of these features are being worked upon, and some are beyond the
+scope of a non-commercial project. The range of instruments supported
+is mainly limited by the availability of information on their
+interfaces, as well as the instruments themselves.<br>
+<br>
+The file ttbd.txt in the source distribution has a longer and more
+detailed list of feature ideas.<br>
+<blockquote>
+ <p><br>
+&nbsp;</p>
+</blockquote>
+<br>
+&nbsp;
+<br>
+&nbsp;
+<br>
+&nbsp;
+</body>
+</html>
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..ea48cb5
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,6 @@
+docdir = $(datadir)/doc/argyll
+
+doc_DATA = $(wildcard *.txt) $(wildcard *.html) $(wildcard *.jpg) \
+ $(wildcard *.gif)
+
+EXTRA_DIST = $(doc_DATA)
diff --git a/doc/MinorTools.html b/doc/MinorTools.html
new file mode 100644
index 0000000..5e9a5c4
--- /dev/null
+++ b/doc/MinorTools.html
@@ -0,0 +1,64 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+ <title>Argyll Minor Tools</title>
+</head>
+<body>
+
+<h3>
+Minor tools, test frameworks</h3>
+numlib/LUtest.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test LU matrix decomposition.
+<br>numlib/dnsqtest.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test nonlinear square system solution.
+<br>numlib/soboltest.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test sobol sequence generator
+<br>numlib/svdtest.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test Singular Value Decomposition code
+<br>numlib/tpowell.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test Powell non linear minimiser code
+<br>numlib/zbrenttest.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test 1D Brent solver
+<br>plot/plot.exe
+<br>icc/fbtest.exe
+<br>icc/icclu.exe
+<br>icc/iccrw.exe
+<br>icc/icctest.exe
+<br>icc/lutest.exe
+<br>rspl/c1.exe
+<br>rspl/revbench.exe
+<br>rspl/t2d.exe
+<br>rspl/tnd.exe
+<br>rspl/trnd.exe
+<br>imdi/ctest.exe
+<br>imdi/greytiff.exe
+<br>imdi/imdi_gen.exe
+<br>imdi/itest.exe
+<br>imdi/sort.exe
+<br>imdi/tsort.exe
+<br>cgats/cgats.exe
+<br>cgats/pars.exe
+<br>gamut/maptest.exe
+<br>gamut/smthtest.exe
+<br>xicc/camtest.exe
+<br>xicc/fbview.exe
+<br>xicc/icheck.exe
+<br>xicc/spectest.exe
+<br>xicc/tcheck.exe
+<br>xicc/xcolorantslu.exe
+<br>xicc/xfbview.exe
+<br>spectro/dispwin.exe
+<br>target/ifarp.exe
+<br>target/ppoint.exe
+<br>target/qrand.exe
+<br>target/simplat.exe
+<br>profile/sprof.exe
+<br>link/monoplot.exe
+<br>link/pathplot.exe
+<br>&nbsp;
+</body>
+</html>
diff --git a/doc/Organisation.html b/doc/Organisation.html
new file mode 100644
index 0000000..738b4ba
--- /dev/null
+++ b/doc/Organisation.html
@@ -0,0 +1,230 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Argyll Organization</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+A brief tour of all the directories in the Argyll source code archive:<br>
+<br>
+<b>TARGET</b><br>
+<br>
+This directory contains routines that generate calibration test charts,
+based
+on various distribution algorithms suitable for
+reading using an Xrite DTP51 or DTP41 colorimeter, or scanner for print
+charts,
+the Gretag Spectrolino for film charts, or the Xrite DTP92 pr DTP94 for
+monitor
+calibration.
+The generated file is a PostScript file for the print chart, and a
+series
+of TIFF files for the film chart.<br>
+<br>
+<b>SPECTRO</b><br>
+<br>
+This directory contains the implementation of all the instrument
+drivers, as well as the tools to calibrate a display, take readings
+from a display, or read a test chart. It also contains the tool that
+supports installing and uninstalling display profiles.<br>
+<br>
+<b> PROFILE</b><br>
+<br>
+This directory has code for taking raw device information (created
+from,
+xxxread.exe or scanin.exe), and creating an ICC device profile from it.
+It
+takes care of the top level details of creating profiles, and relies on
+the
+XICC and RSPL libraries to do the underlying hard work, <br>
+<br>
+<b> LINK</b><br>
+<br>
+This directory holds the ICC profile linking code. Linking two device
+profiles
+creates a device link profile, that embodies a direct device to device
+colorspace
+conversion.<br>
+<br>
+<b> IMDI</b><br>
+<br>
+This is the development area for IMDI, the Integer Multi-Dimensional
+Interpolation
+routines. They provide a flexible and high performance system for
+applying
+color transforms to typical raster pixel data. The system has two
+parts,
+one that generates tailored, optimized source code for the
+transformation
+kernels, and the run time code that matches a transform request&nbsp;
+to
+a compiled kernel, and initializes the appropriate run time lookup
+tables.<br>
+<br>
+The kernel source generator is intended to accommodate various
+optimizations,
+such as assembly code, vector instruction set (ie. MMX, AltiVec etc.)
+version, but
+at present only generates the more portable 'C' code kernels.<br>
+<br>
+<b> ICC</b><br>
+<br>
+ICC profile I/O library (icclib). This distribution contains
+source code which implements the reading and writing of color profile
+files
+that conform to the International Color Consortium (ICC) Profile Format
+Specification,
+Version 3.4.<br>
+<br>
+<b> XICC</b><br>
+<br>
+This directory holds the "extension" icc libraries. These supplement
+the base icc library with enhanced profile functionality, such as
+smoothed
+interpolation, reverse interpolation, table creation from scattered
+data
+etc.<br>
+<br>
+Most of this functionality is based on the rspl and icc libraries. This
+is
+where ink limiting and black generation policies for CMYK devices is
+implemented. The CIECAM97s and CIECAM02 Color Appearance
+Model libraries live here. Support for spectral to CIE conversions
+(including
+FWA compensation) lives here. A simple model, notation and
+classification
+system for n-color printing devices (MPP) lives here too.<br>
+<br>
+<b>RSPL</b><br>
+<br>
+This is the second generation Regular Spline library. It
+contains
+scattered data point to regular grid interpolation, as well as spline
+smoothing,
+and the reverse interpolation code. This version is more modular, and
+uses
+better solution algorithms than the earlier REGSPL, and generally
+replaces
+it. As well as creation from scattered data, there is support for
+lookup,
+re-processing and reverse interpolation (inversion). The reverse
+interpolation
+algorithms support features needed for devices like CMYK printers, such
+as
+total ink limiting, black locus selection, gamut boundary detection,
+vector&nbsp;
+and nearest gamut clipping.<br>
+<br>
+<b>NUMLIB</b><br>
+<br>
+Collection of numerical routines used by various other (mainly color)
+code.<br>
+<br>
+&nbsp; Included are:<br>
+<br>
+&nbsp; numsup&nbsp;&nbsp; &nbsp;Support routines, array and vector
+malloc/free,
+macros<br>
+&nbsp; dnsq&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; Non-linear equation
+solver<br>
+&nbsp; powell&nbsp;&nbsp; &nbsp; &nbsp;Powell multi dimensional
+minimizer<br>
+&nbsp; ludecomp &nbsp;LU decomposition matrix solver<br>
+&nbsp; svd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Singular
+Value decomposition matrix solver<br>
+&nbsp; zbrent&nbsp;&nbsp; &nbsp; &nbsp; 1 dimensional brent root search<br>
+&nbsp; rand&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Random number
+generators<br>
+&nbsp; sobol&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Sobol pseudo-random
+sequence generator.<br>
+<br>
+<b>SCANIN</b><br>
+<br>
+This directory contains the code to extract charts from TIFF scan
+files,
+and output the patch values using the CGATS file format. Typically this
+is
+used to get the patch information from a scan of an IT8 calibration
+chart.
+It also has a mode to use a scanned image to measure color, and
+convert a print test chart into approximate CIE values.<br>
+<br>
+<b>GAMUT</b><br>
+<br>
+This directory contains the gamut boundary creation, and usage code. It
+also
+contains the gamut mapping code. <br>
+<br>
+<b>CGATS</b><br>
+<br>
+This directory contains a library for reading and writing CGATS format
+color data files. These files are used extensively for holding color
+related
+information in a human readable form.<br>
+<br>
+<b>TIFF</b><br>
+<br>
+Sam Lefflers standard TIFF library.<br>
+<br>
+<b>PLOT</b><br>
+<br>
+A simple 2D graph plot library,&nbsp; to quickly display 2D graphs for
+debug
+purposes.<br>
+<br>
+<span style="font-weight: bold;">H</span><br>
+<br>
+Where project common #include files live.<br>
+<br>
+<span style="font-weight: bold;">BIN</span><br>
+<br>
+Where the main executables are copied to, when install.ksh or
+install.bat is run. Other useful files get copied here too.<br>
+<br style="font-weight: bold;">
+<span style="font-weight: bold;">LIBUSB, LIBUSBW<br>
+<br>
+</span>The necessary libraries to access USB devices live here<br>
+<br>
+<span style="font-weight: bold;">TWEAK<br>
+<br>
+</span>Tools that allow adjustment and improvement of profiles or links
+live here. Currently the tool <span style="font-weight: bold;">refine</span>
+is the only member.<br>
+<br>
+<span style="font-weight: bold;">RENDER</span><br>
+<span style="font-weight: bold;"></span><br>
+This is a library and set of tools for rendering to raster images. It
+supports creating a test images, and the raster output of <span
+ style="font-weight: bold;">printtarg</span>. <br>
+<br>
+<span style="font-weight: bold;">JCNF</span><br>
+<br>
+Implementation of color configuration file format using JSON, used by <span
+ style="font-weight: bold;">ucmm</span>.<br>
+<br>
+<span style="font-weight: bold;">UCMM</span><br>
+<br>
+Unix micro Color Management Module implementation, for supporting the
+installation and access to display profiles.<br>
+<br>
+<span style="font-weight: bold;">REF</span><br>
+<br>
+Miscellaneous useful reference files, such as scanin recognition
+templates for standard charts, live here.<br>
+<br>
+<span style="font-weight: bold;">DOC</span><br>
+<br>
+All the Argyll HTML documentation lives here.<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/Overview.html b/doc/Overview.html
new file mode 100644
index 0000000..373d195
--- /dev/null
+++ b/doc/Overview.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+ <title>Argyll Overview</title>
+</head>
+<body>
+<h2>
+<u>Overview</u></h2>
+Many commercial and research electronic color correction systems have
+been
+developed over the years, but all state-of-the-art systems are
+proprietary,
+and their technology is jealously guarded. This makes this interesting
+subject area a difficult one to both explore, and to bridge the gap
+between
+theory and practice.
+<p>Argyll was written to allow me to improve my understanding and
+expertise
+in the color area, and as a platform to try out ideas for alternate
+approaches
+to electronic color correction, as well as developing new advanced
+features.
+</p>
+<p>I hope that by making the source code available under "Free" and
+"Open
+Source" licenses, that other researchers and experimenters will also
+find
+it of interest and value. I also hope that it may be attractive as a
+software platform on which future research and advances in electronic
+color correction
+systems can be based.
+</p>
+<p>To complement this aim, I hope at some stage to turn my notes made
+in
+the creation of this software into a more readable
+explanation of how Argyll works, and the principles on which it is
+based.
+</p>
+<br>
+<blockquote>
+ <p><br>
+&nbsp;</p>
+</blockquote>
+<br>
+&nbsp;
+<br>
+&nbsp;
+<br>
+&nbsp;
+</body>
+</html>
diff --git a/doc/Performance.html b/doc/Performance.html
new file mode 100644
index 0000000..b69f5ae
--- /dev/null
+++ b/doc/Performance.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+ <title>Argyll Performance Tuning</title>
+</head>
+<body>
+<h2>
+<u>Performance Tuning</u></h2>
+<br>
+Some operations in Argyll can be particularly slow, so it is worth
+examining ways of improving performance, or trading memory consumption
+for performance.<br>
+<h3>Creating Device Links and Profiles<br>
+</h3>
+In creating device links or the B2A tables of profiles, the execution
+time is often dominated by the inversion of forward
+color lookup values. An in-memory cache is employed to speed up this
+operation, by keeping computed values in case they can be used more
+than once. The amount of memory used for caching these values is
+pre-set within the inversion code, and by default is set to use half of
+the available RAM on the system, with a minimum of 50 Mbytes.<br>
+<br>
+The reverse cache size can be changed by setting an environment
+variable
+<span style="font-weight: bold;">ARGYLL_REV_CACHE_MULT</span> to a
+number greater or less than than 1.0 This will multiply the size of the
+cache by that number (i.e. 1.5 would increase the cache size by 50%,
+0.5 would halve it).<br>
+<br>
+If you find that <span style="font-weight: bold;">colprof</span>
+or&nbsp; <span style="font-weight: bold;">collink</span>
+are working very slowly, but that your CPU's are nearly idle, then this
+is a sign of disk swapping, and that too much memory is being
+requested.&nbsp; This can be because other applications are also using
+memory, or Argyll's default setting tries to use more memory than is
+actually available. You can try shutting down other applications when
+this happens, or you can <span style="font-weight: bold;">lower</span>
+the amount of memory Argyll uses by setting <span
+ style="font-weight: bold;">ARGYLL_REV_CACHE_MULT</span> to a value
+less than 1.0 (ie. try 0.5). <br>
+<br>
+If you have a lot of memory available, you can try increasing the
+cache size to use more of the available RAM (particularly if you get a
+"Warning - Reverse Cell Cache exhausted,
+processing in chunks" message during processing), but if you set it to
+a value too near 2.0 you risk disk swapping, which can slow progress to
+a crawl.<br>
+<br>
+If you have a lot of memory available, then a second adjustment that
+can make a great difference to the time taken
+in creating B2A tables is the resolution of the inverse lookup
+acceleration grid. The finer the grid, the less searching is needed to
+locate the input colorspace values that
+correspond to a target output color value, but the greater the memory
+used in this
+structure, and the greater the setup time needed to initialize the
+acceleration grid. The <span style="font-weight: bold;">ARGYLL_REV_ACC_GRID_RES_MULT</span>
+environment variable can alter the default resolution by a scale
+factor. A value of 0.5 for instance, would halve the resolution
+(typically meaning 1/8 th. the total number of grid entries and
+memory), while a value of 2.0 would double it, typically resulting in 8
+times the memory usage. Increasing the resolution too much will reduce
+the available memory for the reverse cache, and greatly increase setup
+time.<br>
+<br>
+<h3>Setting an environment variable:</h3>
+<br>
+To set an environment variable an MSWindows DOS shell, either use set,
+e.g.;<br>
+<br>
+&nbsp;&nbsp;&nbsp; set ARGYLL_REV_CACHE_MULT=1.5<br>
+<br>
+which will set the value for that session, or set it in<br>
+<br>
+Control Panel-&gt;System-&gt;Advanced-&gt;Environment Variables..<br>
+<br>
+in either user or system variables.<br>
+<br>
+For OS X or Linux, the exact procedure will depend on the shell you are
+running, but<br>
+is usually something like:<br>
+<br>
+&nbsp;&nbsp;&nbsp; export ARGYLL_REV_CACHE_MULT=1.5<br>
+or<br>
+&nbsp;&nbsp;&nbsp; set ARGYLL_REV_CACHE_MULT=1.5<br>
+or<br>
+&nbsp;&nbsp;&nbsp; ARGYLL_REV_CACHE_MULT=1.5<br>
+<br>
+and may need separately exporting, something like:<br>
+<br>
+&nbsp;&nbsp;&nbsp; export ARGYLL_REV_CACHE_MULT<br>
+<br>
+Generally it should be configured in the shell start-up script,&nbsp;
+if you
+want the setting to be used<br>
+for every session.<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/Q60.jpg b/doc/Q60.jpg
new file mode 100644
index 0000000..1521e04
--- /dev/null
+++ b/doc/Q60.jpg
Binary files differ
diff --git a/doc/QPcard201.jpg b/doc/QPcard201.jpg
new file mode 100644
index 0000000..dbe1448
--- /dev/null
+++ b/doc/QPcard201.jpg
Binary files differ
diff --git a/doc/QPcard202.jpg b/doc/QPcard202.jpg
new file mode 100644
index 0000000..3332bdd
--- /dev/null
+++ b/doc/QPcard202.jpg
Binary files differ
diff --git a/doc/SG.jpg b/doc/SG.jpg
new file mode 100644
index 0000000..7dc20e1
--- /dev/null
+++ b/doc/SG.jpg
Binary files differ
diff --git a/doc/SG_footer.txt b/doc/SG_footer.txt
new file mode 100644
index 0000000..e82fbc2
--- /dev/null
+++ b/doc/SG_footer.txt
@@ -0,0 +1 @@
+END_DATA
diff --git a/doc/SG_header.txt b/doc/SG_header.txt
new file mode 100644
index 0000000..83af2cd
--- /dev/null
+++ b/doc/SG_header.txt
@@ -0,0 +1,12 @@
+IT8.7/2
+ORIGINATOR "Graeme Gill"
+DESCRIPTOR "Header to prepend to X-Rite digital_colorchecker_sg_l_a_b.txt file"
+CREATED "June 26, 2012"
+
+NUMBER_OF_FIELDS 4
+BEGIN_DATA_FORMAT
+SAMPLE_ID LAB_L LAB_A LAB_B
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 140
+BEGIN_DATA
diff --git a/doc/Scenarios.html b/doc/Scenarios.html
new file mode 100644
index 0000000..3995d21
--- /dev/null
+++ b/doc/Scenarios.html
@@ -0,0 +1,2177 @@
+<!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>&nbsp;&nbsp;&nbsp; <span style="text-decoration: underline;"></span><a
+ href="#PM7">Calibrating and profiling a display that doesn't
+ have VideoLUT access.</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>
+ Note that calibrating and/or profiling <span style="font-weight:
+ bold;">remote</span> displays is possible using X11 or a web
+ browser (see <span style="font-weight: bold;">-d</span> option of
+ dispcal and dispread), or by using some external program to send
+ test colors to a display (see <span style="font-weight: bold;">-C</span>
+ and <span style="font-weight: bold;">-M</span> options of dispcal
+ and dispread), but you may want to refer to <a href="#PM7">Calibrating
+
+
+
+ and profiling a display that doesn't have VideoLUT access</a>.<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 it can be used to create a suitable set of
+ calibration curves as the first step, or the calibration step can be
+ omitted, and the display cansimply be profiled.<br>
+ <br>
+ 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.<br>
+ <br>
+ <a href="dispread.html">dispread</a> <a href="dispread.html#v">-v</a>
+ <a href="dispread.html#p1">DisplayA</a><br>
+ <br>
+ 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" or "fogra39l.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">
+ fogra39l.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>
+ 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>
+ <br>
+ <h4><a name="PM7"></a>Calibrating and profiling a display that
+ doesn't have VideoLUT access.</h4>
+ <p>In some situation there is no access to a displays VideoLUT
+ hardware, and this hardware is what is usually used to implement
+ display calibration. This could be because the display is being
+ accessed via a web server, or because the driver or windowing
+ system doesn't support VideoLUT access.<br>
+ </p>
+ <p>There are two basic options in this situation:<br>
+ </p>
+ <p>&nbsp; 1) Don't attempt to calibrate, just profile the display.<br>
+ &nbsp; 2) Calibrate, but incorporate the calibration in some other
+ way in the workflow.<br>
+ </p>
+ <p>The first case requires nothing special - just skip calibration
+ (see the previous section <a href="#PM7">Profiling in several
+ steps: Creating display test values</a>).</p>
+ <p> In the second case, there are three choices:<br>
+ </p>
+ <p>&nbsp;2a) Use dispcal to create a calibration and a quick profile
+ that incorporates the calibration into the profile.<br>
+ &nbsp;2b) Use dispcal to create the calibration, then dispread and
+ colprof to create a profile, and then incorporate the calibration
+ into the profile using applycal.<br>
+ &nbsp;2c) Use dispcal to create the calibration, then dispread and
+ colprof to create a profile, and then apply the calibration after
+ the profile in a cctiff workflow.<br>
+ </p>
+ <p>The first case requires nothing special, use dispcal in a normal
+ fashioned with the <span style="font-weight: bold;">-o</span>
+ option to generate a quick profile.The profile created will <span
+ style="text-decoration: underline;">not</span> contain a 'vcgt'
+ tag, but instead will have the calibration curves incorporated
+ into the profile itself. If calibration parameters are chosen that
+ change the displays white point or brightness, then this will
+ result in a slightly unusual profile that has a white point that
+ does not correspond with device R=G=B=1.0. Some systems may not
+ cope properly with this type of profile, and a general shift in
+ white point through such a profile can create an odd looking
+ display if it is applied to images but not to other elements on
+ the display say as GUI decoration elements or other application
+ windows.<br>
+ </p>
+ <p>In the second case, the calibration file created using dispcal
+ should be provided to dispread using the <span
+ style="font-weight: bold;">-K</span> flag:<br>
+ </p>
+ <p><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></p>
+ <p><span style="font-weight: bold;"></span>Create the profile as
+ usual using colprof. but note that colprof will ignore the
+ calibration, and that no 'vcgt' tag will be added to the profile.<br>
+ You can then use <a href="applycal.html">applycal </a>to combine
+ the calibration into the profile. Note that the resulting profile
+ will be slightly unusual, since the profile is not made completely
+ consistent with the effects of the calibration, and the device
+ R=G=B=1.0 probably not longer corresponds with the PCS white or
+ the white point.<br>
+ </p>
+ In the third case, the same procedure as above is used to create a
+ profile, but the calibration is applied in a raster transformation
+ workflow explicitly, e.g.:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <a href="cctiff.html">cctiff</a> <a
+ href="cctiff.html#p1">SourceProfile.icm</a> <a
+ href="cctiff.html#p1">DisplayA.icm</a> <a href="cctiff.html#p2">DisplayA.cal</a>
+ <a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; <a href="cctiff.html">cctiff</a> <a
+ href="cctiff.html#p1">SourceProfile.icm</a> <a
+ href="cctiff.html#p1">DisplayA.icm</a> <a href="cctiff.html#p2">DisplayA.cal</a>
+ <a href="cctiff.html#p3">infile.jpg</a> <a href="cctiff.html#p4">outfile.jpg</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>
+ The Datacolor <a
+ href="http://spyder.datacolor.com/product-cb-spydercheckr.php">SpyderCheckr</a>:<br>
+ <br>
+ <img style=" width: 146px; height: 109px;" alt="Datacolor
+ SpyderCheckr" src="SpyderChecker.jpg"><br>
+ <br>
+ One of the QPcard's:<br>
+ <a
+ href="http://www.qpcard.com/en_b2c/color-reference-cards/qpcard201.html">QPcard
+
+
+ 201</a>:&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <a
+href="http://www.qpcard.com/en_b2c/color-reference-cards/instant-camera-raw-profiling-with-qpcard-202.html">QPcard
+
+
+ 202</a>:<br>
+ <br>
+ <img style=" width: 41px; height: 141px;" alt="QPCard201"
+ src="QPcard201.jpg">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <img
+ style=" width: 97px; height: 141px;" alt="QPcard202"
+ src="QPcard202.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.
+ For instance, Kodak Q60 target reference files are <a
+ href="ftp://ftp.kodak.com/gastds/Q60DATA/">here</a>.<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>.<br>
+ <br>
+ For the Datacolor SpyderCheckr, the <span style="font-weight:
+ bold;">ref/SpyderChecker.cht</span> file should be used, and a
+ reference <span style="font-weight: bold;">ref/SpyderChecker.cie
+ </span>file made from measuring a sample chart is also available.
+ Alternately you could create your own reference file by
+ transcribing the <a
+ href="http://spyder.datacolor.com/images/photo_checkr_colordatainfo.jpg">values</a>
+ on the Datacolor website. <br>
+ <br>
+ For the QPCard 201, the <span style="font-weight: bold;">ref/QPcard_201.cht</span>
+ file should be used, and a reference <span style="font-weight:
+ bold;">ref/QPcard_201.cie</span> file made from measuring a
+ sample chart is also available. <br>
+ <br>
+ For the QPCard 202, the <span style="font-weight: bold;">ref/QPcard_202.cht</span>
+ file should be used, and a reference <span style="font-weight:
+ bold;">ref/QPcard_202.cie</span> file made from measuring a
+ sample chart is also available. <br>
+ </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. Figra, SWOP etc.).&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 Fogra, SWOP or other standard CMYK
+ style 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">
+ fogra39l.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>
+ If you know what colorspace your originals are in, use that as the
+ argument to <span style="font-weight: bold;">-S</span>.<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. You can do a preliminary calibration and use
+ the verbose output of printcal to recommend a suitable value for <span
+ style="font-weight: bold;">-p</span>.<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>
+ or<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.jpg</a>
+ <a href="cctiff.html#p4">outfile.jpg</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> or
+ <a href="File_Formats.html#JPEG">JPEG</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>
+ or<br>
+ <a href="cctiff.html">cctiff</a> <a href="cctiff.html#p1">Source2Destination.icm</a>
+ <a href="cctiff.html#p3">infile.jpg</a> <a href="cctiff.html#p4">outfile.jpg</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>
+ or<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.jpg</a> <a href="cctiff.html#p4">outfile.jpg</a><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>
diff --git a/doc/Smile.jpg b/doc/Smile.jpg
new file mode 100644
index 0000000..66a6b00
--- /dev/null
+++ b/doc/Smile.jpg
Binary files differ
diff --git a/doc/Source.html b/doc/Source.html
new file mode 100644
index 0000000..5ea423e
--- /dev/null
+++ b/doc/Source.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Argyll Overview</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+<h2><u>Source Code Documentation</u></h2>
+Some general comments about how different software works.<br>
+<br>
+<b>TARGET</b><br>
+<br>
+&nbsp;Nearly all current Color correction systems generate test charts
+(or device characterization target charts) by laying out a regular
+rectangular grid of test points in device space (Targen will do this if
+you feed it a non-zero <span style="font-weight: bold;">-m</span>
+option). On some consideration, this approach is far from optimal. Not
+only is a regular grid inefficient in packing the multidimensional
+device space but if the points are spaced evenly in device space, they
+will probably not be optimal in determining the underlying device
+characteristic, sampling too finely where the device behavior is
+smooth, and too coarsely where the device behavior changes rapidly.
+Some commercial color systems tackle
+the latter problem by "pre-linearizing" the device, which amounts to
+distorting
+the regular device space grid points with a perceptual inverse per
+device
+channel lookup curve.<br>
+<br>
+The approach I have taken with Argyll, is a little different. Both a
+device independent and device dependent approach are available. In the
+device independent mode, test points are distributed so as to minimize
+the distance from any point in the device space to the nearest test
+chart value. When the device dependent approach is used, test points
+are chosen so as to minimize the expected error between the resulting
+profile and the underlying device response.<br>
+<br>
+For higher dimensional spaces, where the aim is to create a more
+approximate device profile, I've used an "incremental far point" point
+generator, that starting with a previous test point as a seed, use a
+minimization algorithm to locate another point that is as far as
+possible from the nearest existing test point in perceptual space,
+while remaining in gamut at all tines. This means that ideally each
+point "fills in" the gaps in the existing distribution.<br>
+<br>
+Another issue with laying test points out in regular grids, is that
+this means that the device response is poorly sampled (since the grids
+are usually coarse), and this can make it impossible to create detailed
+device linearisation "shaper" curves from the resulting data ! Ideally,
+in any colorspace (input or output), when viewed from any possible
+angle, none of the test data points should appear&nbsp; to line up. The
+Argyll target generator seems to achieve this goal.<br>
+<br>
+<br>
+target/printtarg.c:<br>
+<br>
+printtarg simply generates a PostScript file containing the patches
+laid out for an Xrite DTP51/DTP41/SpectroScan. It allows them to be
+laid out on
+a choice of paper sizes, with the appropriate contrasting color spacers
+between
+each patch for the strip reading instruments. Unlike other charts,
+Argyll
+charts are generated as required, rather that being fixed. Also unlike
+most
+other strip reading charts, the spacers may colored, so that the
+density contrast
+ratio is guaranteed, even when two patches are about 50% density.<br>
+<br>
+Another feature is the pseudo random patch layout. This has three
+purposes. One is to try and average out any variation in the device
+response in relationship to the location of the patch on the paper.
+Color copiers and printing presses (for instance), are notorious in
+having side to side density variations.<br>
+<br>
+Another purpose of the random patch layout, is that it gives the
+reading program a good mechanism for detecting user error. It can guess
+the expected values, compare them to the readings, and complain if it
+seems that the strip is probably the wrong one.<br>
+<br>
+The final purpose of the random patch layout is to optimize the
+contrast
+between patches in a strip, to improve the robustness of the strip
+reading.
+Using this, small charts may be even be generated without any gaps
+between
+the test patches.<br>
+<b><br>
+RSPL</b><br>
+<br>
+A lot of core Argyll algorithms are bound up in the RSPL (Regular
+Spline) class. The RSPL class is closely related to the CLUT table
+structure used in the ICC profile format, and is a general purpose way
+of mapping one multi-dimensional value to another, using interpolation
+to reduce the mapping function to a manageable size.<br>
+Regular splines are not directly related to other types of splines, and
+do not generally suffer from the sort of "wiggles" and "overshoot"
+characteristic of other spline systems.<br>
+<br>
+The RSPL class adds three basic methods to the underlying data
+structure:<br>
+<br>
+1) Interpolation<br>
+<br>
+2) Creation from scattered data<br>
+<br>
+The regular spline implementation was inspired by the following
+technical reports:<br>
+<br>
+D.J. Bone, "Adaptive Multi-Dimensional Interpolation Using Regularized
+Linear Splines," Proc. SPIE Vol. 1902, p.243-253, Nonlinear Image
+Processing IV, Edward R. Dougherty; Jaakko T. Astola; Harold G.
+Longbotham;(Eds)(1993).<br>
+<br>
+D.J. Bone, "Adaptive Colour Printer Modeling using regularized linear
+splines," Proc. SPIE Vol. 1909, p. 104-115, Device-Independent Color
+Imaging and Imaging Systems Integration, Ricardo J. Motta; Hapet A.
+Berberian; Eds.(1993)<br>
+<br>
+Don Bone and Duncan Stevenson, "Modelling of Colour Hard Copy Devices
+Using Regularised Linear Splines," Proceedings of the APRS workshop on
+Colour Imaging and Applications, Canberra (1994)<br>
+<br>
+see &lt;http://www.cmis.csiro.au/Don.Bone/&gt;<br>
+<br>
+Also of interest was:<br>
+<br>
+"Discrete Smooth Interpolation", Jean-Laurent Mallet, ACM Transactions
+on Graphics, Volume 8, Number 2, April 1989, Pages 121-144.<br>
+<br>
+3) Inversion<br>
+<br>
+Simplex interpolation is normally done in Baricentric space, where
+there
+is one more baricentric coordinate than dimensions, and the sum of all
+the
+baricentric coordinates must be 1.<br>
+To simplify things, we work in a "Simplex parameter" space, in which
+there are only &lt;dimension&gt; parameters, and each directly
+corresponds with a cartesian coordinate, but the parameter order
+corresponds with the baricentric order.<br>
+For example, given cartesian coordinates D0, D1, D2 these should be
+sorted from smallest to largest, thereby choosing a particular simplex
+within a cube,
+and allowing a correspondence to the parameter coordinates, ie:<br>
+<br>
+D1 D0 D2&nbsp;&nbsp;&nbsp;&nbsp; Smallest -&gt; Largest cartesian sort<br>
+P2 P1 P0&nbsp;&nbsp;&nbsp;&nbsp; Corresponding Parameter coordinates
+(note reverse order!)<br>
+<br>
+B0 = P0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conversion to Baricentric
+coordinates<br>
+B1 = P1 - P0<br>
+B2 = P2 - P1<br>
+B3 = 1&nbsp; - P2<br>
+<br>
+The vertex values directly correspond to Baricentric coordinates,<br>
+giving the usual interpolation equation of:<br>
+<br>
+&nbsp; VV0 * B0<br>
++ VV1 * B1<br>
++ VV2 * B2<br>
++ VV3 * B3<br>
+<br>
+where VVn is the vertex value for each of the 4 vertices of the simplex.<br>
+<br>
+Reversing the Parameter -&gt; Baricentric equations gives the<br>
+following interpolation equation using Parameter coordinates:<br>
+<br>
+&nbsp; VV0 - VV1 * P0<br>
++ VV1 - VV2 * P1<br>
++ VV2 - VV3 * P2<br>
++ VV3<br>
+<br>
+It is this which is used in rev.c for solving the reverse interpolation
+problem. Within a simplex, only linear algebra is needed to compute
+inverses. To deal with the 4D-&gt;3D nature of a CMYK profile, the SVD
+(Singular Value Decomposition) approach is used to solving a CMYK for a
+given CIE value, the result being the equation of the line of
+solutions. The lines from adjacent simplexes form a solution locus,
+that can be resolved into a single point solution once a black
+generation rule is applied.<br>
+<br>
+Outline of inversion processing:<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp; Basic function requirements:&nbsp; exact,
+auxil, locus, clip inversion.<br>
+&nbsp;&nbsp;&nbsp;&nbsp; Fwd cell - reverse cell list lookup<br>
+&nbsp;&nbsp;&nbsp;&nbsp; Basic layout di -&gt; fdi + auxils + ink limit<br>
+&nbsp;&nbsp;&nbsp;&nbsp; Basic search strategy<br>
+&nbsp;&nbsp;&nbsp;&nbsp; Sub Simplex decomposition &amp; properties<br>
+&nbsp;&nbsp;&nbsp;&nbsp; How each type of function finds solutions<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sub-simplex dimensionality &amp;
+dof + target dim &amp; dof<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linear algebra choices.<br>
+&nbsp;&nbsp;&nbsp;&nbsp; How final solutions are chosen<br>
+<b><br>
+XICC</b><br>
+<br>
+&nbsp;&nbsp;&nbsp; Profiling using concatenated shapers to augment thin
+plate splines for per channel curves.<br>
+<br>
+<b>IMDI</b><br>
+<br>
+This module generates C code routines which implement an integer
+multi-channel transform. The input values are read, passed through per
+channel lookup tables, a multi-dimensional interpolation table, and
+then a per channel output lookup table, before being written.<br>
+<br>
+<b> MPP<br>
+</b> <br>
+Outline model parameter optimization using slope accelerated error
+metric, and initial parameter speedup for adjacent spectral bands etc.<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/Spyd2.jpg b/doc/Spyd2.jpg
new file mode 100644
index 0000000..8f8eff5
--- /dev/null
+++ b/doc/Spyd2.jpg
Binary files differ
diff --git a/doc/Spyd3.jpg b/doc/Spyd3.jpg
new file mode 100644
index 0000000..e1ab16f
--- /dev/null
+++ b/doc/Spyd3.jpg
Binary files differ
diff --git a/doc/Spyd3x.jpg b/doc/Spyd3x.jpg
new file mode 100644
index 0000000..8916915
--- /dev/null
+++ b/doc/Spyd3x.jpg
Binary files differ
diff --git a/doc/Spyd4.jpg b/doc/Spyd4.jpg
new file mode 100644
index 0000000..0d1b1b6
--- /dev/null
+++ b/doc/Spyd4.jpg
Binary files differ
diff --git a/doc/SpyderChecker.jpg b/doc/SpyderChecker.jpg
new file mode 100644
index 0000000..e50a205
--- /dev/null
+++ b/doc/SpyderChecker.jpg
Binary files differ
diff --git a/doc/WideGamutColmters.html b/doc/WideGamutColmters.html
new file mode 100644
index 0000000..67a5817
--- /dev/null
+++ b/doc/WideGamutColmters.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Wide Gamut Displays &amp; Colorimeters</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ </head>
+ <body>
+ <h2 style="text-decoration: underline; font-weight: bold;">Wide
+ Gamut Displays and Colorimeters<br>
+ </h2>
+ With the introduction of more wide color gamut displays, many people
+ are finding that their Colorimeter instruments don't work so well on
+ them. Why is this, and what can be done about it ?<br>
+ <h3>What's the difference between a Colorimeter and a Spectrometer ?</h3>
+ Colorimeters and Spectrometers both have the same aim: to measure
+ tri-stimulus color values, but they go about this in two quite
+ different ways.<br>
+ <br>
+ A spectrometer breaks the captured light up into a narrow series of
+ wavelengths, measures the response at each of the wavelengths, and
+ then weights and sums each wavelength response by the Standard
+ Observer weighting curves, to arrive at the CIE XYZ tri-stimulus
+ values. Because a Spectrometer computes the Standard Observer
+ weightings in software, the accuracy of the curves is nearly
+ perfect, the primary errors being due to wavelength calibration
+ errors, spectrum calibration errors, and the quantised nature of the
+ discrete wavelength bands.<br>
+ <br>
+ A Colorimeter uses physical filters that approximate the Standard
+ Observer weighting curves to filter the captured light onto three
+ sensors, the sensor values then<br>
+ being measured, and then multiplied by a 3x3 calibration matrix to
+ arrive at the CIE XYZ tri-stimulus values. The main advantage of a
+ Colorimeter is its simplicity, which results in a lower cost
+ instrument. In theory it is also possible to make a Colorimeter that
+ cheaply captures more light by using larger sensors, but this
+ possibility is rarely exploited by low cost instruments. Also due to
+ cost constraints, the physical filters used in these instruments may
+ not be a very good match to the CIE Standard Observer weightings,
+ and if nothing were done about it, this would result&nbsp; in large
+ measurement errors. Because such Display Colorimeters are typically
+ used with additive, 3 colorant displays, it is possible to calibrate
+ these errors out for any particular display, and this is the purpose
+ of the 3x3 calibration matrix that is used by the instrument and/or
+ instrument drivers. Since the calibration depends on the spectral
+ characteristics of the display primaries, no single calibration
+ matrix will be perfect for all display technologies, and typically
+ the instruments will come with two matrices, one for "typical" CRT
+ (Cathode Ray Tube) type displays, and one for "typical" LCD (Liquid
+ Crystal) type displays. Each individual Colorimeter may have
+ slightly different filters to others of the same model, due to batch
+ variations in the filter material. If each Colorimeter is calibrated
+ against a reference instrument, then this source of error can also
+ be minimised.<br>
+ <h3>Why don't Colorimeters work so well on Wide Gamut displays ?</h3>
+ As explained above, due to the imperfect match between the
+ Colorimeter filters and CIE Standard Observer weighting curves,
+ Colorimeters have calibration matrices that are created for
+ "typical" CRT or LCD displays. A Wide Gamut display by its very
+ nature has primaries that have narrower spectral characteristics
+ than typical displays, and this spectral difference exacerbates the
+ approximations and errors in the Colorimeter filters.<br>
+ <br>
+ Since Spectrometers have mathematically computed weighting curves,
+ they are less sensitive to the spectral characteristics of the
+ display primary colors, and generally work better on Wide Gamut
+ displays.<br>
+ <h3>What can be done about this ?</h3>
+ There are three approaches to addressing this problem:<br>
+ <br>
+ One is to use a Spectrometer to measure Wide Gamut displays. Since
+ lower cost Spectrometers are now available (e.g. Color Munki
+ Design/Photo), this may be the best general solution, since a
+ Spectrometer offers a good deal more flexibility and display
+ technology independence than a Colorimeter. Spectrometers are more
+ expensive than colorimeters though, and typical low cost instruments
+ are not well compensated for temperature changes (making reliable
+ black measurement somewhat tricky), and may take longer, or be less
+ accurate at measuring low light levels than the best colorimeters.<br>
+ <br>
+ The second approach is to correct the Colorimeter for the specific
+ type of Wide Gamut Display. Often this is what has been done when a
+ Colorimeter ("Puck") is supplied with a Wide Gamut display :- the
+ 3x3 calibration matrix inside the Colorimeter will have been "tuned"
+ to match the display, or the Colorimeter driver or color management
+ software will include an additional 3x3 correction matrix for that
+ Colorimeter/Display combination.<br>
+ <br>
+ The third approach is to make a colorimeter that has filters that
+ are closer to the standard observer curves, reducing the calibration
+ needed for the instrument, and making it less dependent on the exact
+ type of display technology. The X-Rite i1 DisplayPro, Pantone
+ ColorMunki Display and possibly the Spyder 4 may have such an
+ improvement. <br>
+ <br>
+ Argyll V1.3.0 has a facility to create and apply a <a
+ href="File_Formats.html#.ccmx">correct matrix</a> to Colorimeter
+ measurements. To create the correction matrix, the display, the
+ Colorimeter and a reference Spectrometer are needed. (see <a
+ href="ccxxmake.html">ccxxmake</a>). The correction matrix can then
+ be used with the usual display measurement utilities (see <a
+ href="dispcal.html#X">dispcal</a>, <a href="dispread.html#X">dispread</a>
+ and <a href="spotread.html#X">spotread</a> -X option).<br>
+ <br>
+ Some recent colorimeters take a slightly different approach to
+ calibration, and rather than using pre-defined 3x3 calibration
+ matricies, they instead contain the spectral sensitivity curves for
+ each particular colorimeter (e.g. i1 DisplayPro and ColorMunki
+ Display, Spyder 4). It's then possible to create 3x3 calibration
+ matricies automatically for any display for which the spectral
+ characteristics are known. This makes it easy to tailor the
+ colorimeters measurements to a particular type of display without
+ having to cater for each colorimeter &amp; display combination. <a
+ href="ccxxmake.html">ccxxmake</a> also allows creation of these <a
+ href="File_Formats.html#.ccss">Colorimeter Calibration Spectral
+ Sample</a> files.<br>
+ <br>
+ </body>
+</html>
diff --git a/doc/YellowGreen.jpg b/doc/YellowGreen.jpg
new file mode 100644
index 0000000..16f637f
--- /dev/null
+++ b/doc/YellowGreen.jpg
Binary files differ
diff --git a/doc/afiles b/doc/afiles
new file mode 100644
index 0000000..b01b147
--- /dev/null
+++ b/doc/afiles
@@ -0,0 +1,179 @@
+afiles
+DocLicense.txt
+License.txt
+License2.txt
+License3.txt
+ArgyllDoc.html
+ChangesSummary.html
+ColorManagement.html
+cal_format.html
+Compiling.html
+Installing.html
+Installing_MSWindows.html
+Installing_OSX.html
+Installing_Linux.html
+File_Formats.html
+MinorTools.html
+Organisation.html
+Overview.html
+Limitations.html
+Performance.html
+Environment.html
+Scenarios.html
+FWA.html
+FWA_measure.jpg
+instruments.html
+ArgyllFlow.jpg
+ArgyllFlowThumb.jpg
+DTP20.jpg
+DTP22.jpg
+DTP41.jpg
+DTP51.jpg
+DTP92.jpg
+DTP94.jpg
+HCFR.jpg
+Huey.jpg
+Smile.jpg
+Spyd2.jpg
+Spyd3.jpg
+Spyd3x.jpg
+Spyd4.jpg
+i1d.jpg
+i1d3_1.jpg
+i1d3_2.jpg
+i1m.jpg
+i1p.jpg
+sl.jpg
+ss.jpg
+mox.jpg
+moxxr.jpg
+Chroma4.jpg
+ColorMunki.jpg
+ColorMunkiCreate.jpg
+i1pro2.jpg
+iccgamutmapping.html
+gamutmapping1.jpg
+monitorcontrols.html
+gamma.html
+calvschar.html
+WideGamutColmters.html
+CrushedDisplyBlacks.html
+i1proDriver.html
+i1proDriver.xls
+evalInputTargets.html
+YellowGreen.jpg
+srgbplot.gif
+Source.html
+average.html
+applycal.html
+cb2ti3.html
+cctiff.html
+cht_format.html
+dispwin.html
+dispcal.html
+dispread.html
+dispprofloc.html
+extracticc.html
+extractttag.html
+synthcal.html
+fakeCMY.html
+fakeread.html
+filmread.html
+filmtarg.html
+greytiff.html
+iccdump.html
+iccgamut.html
+illumread.html
+illumread_1.jpg
+illumread_2.jpg
+illumread_3.jpg
+illumread_4.jpg
+illumread_5.jpg
+illumread_6.jpg
+collink.html
+icclu.html
+kodak2ti3.html
+txt2ti3.html
+mppcheck.html
+mpplu.html
+mppprof.html
+chartread.html
+printtarg.html
+profcheck.html
+invprofcheck.html
+colprof.html
+printcal.html
+refine.html
+revfix.html
+scanin.html
+splitti3.html
+spec2cie.html
+specplot.html
+spotread.html
+synthread.html
+targen.html
+ti3_format.html
+tiffgamut.html
+timage.html
+cube.jpg
+surface.jpg
+LabSteps.jpg
+verify.html
+viewgam.html
+xicclu.html
+oeminst.html
+ucmm.html
+Q60.jpg
+DC.jpg
+SG.jpg
+SG_header.txt
+SG_footer.txt
+i1scan14.jpg
+HCT.jpg
+CMP_DT_003.jpg
+CMP_Digital_Target-3.jpg
+colorchecker.jpg
+SpyderChecker.jpg
+LSDC.jpg
+QPcard201.jpg
+QPcard202.jpg
+Kgraph1.jpg
+Kgraph2.jpg
+Kgraph3.jpg
+Kgraph4.jpg
+Kgraph5.jpg
+Kgraph6.jpg
+Kgraph7.jpg
+Kgraph8.jpg
+Kparams.jpg
+CRTspectrum.jpg
+Fluorescent.jpg
+HiResLaser.jpg
+ccxxmake.html
+ccmxs.html
+ccmxs/DTP-94_1964_10_Dell_2408W.ccmx
+ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx
+ccmxs/DTP-94_Dell_2408W.ccmx
+ccmxs/DTP-94_Dell_U2410.ccmx
+ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx
+ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx
+ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx
+ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx
+ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx
+ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx
+ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx
+ccmxs/Huey_Acer_al2016w.ccmx
+ccmxs/Huey_Eizo_CG243.ccmx
+ccmxs/Huey_HP_compaq_6730s.ccmx
+ccmxs/Huey_HP_lp2475w.ccmx
+ccmxs/Huey_NEC1990SXi.ccmx
+ccmxs/Huey_NEC_Spectraview_241.ccmx
+ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx
+ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx
+ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx
+ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx
+ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx
+ccmxs/Spyder3_HP_LP2475w.ccmx
+ccmxs/Spyder3_NEC2690WUXi2.ccmx
+ccmxs/Spyder3_NEC_PA301W.ccmx
+
diff --git a/doc/applycal.html b/doc/applycal.html
new file mode 100644
index 0000000..5c5e661
--- /dev/null
+++ b/doc/applycal.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>applycal</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme W. Gill">
+ </head>
+ <body>
+ <h2><b>profile/applycal</b></h2>
+ <h3>Summary</h3>
+ Apply, re-apply or remove calibration curves to an ICC profile.<br>
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">usage: applycal
+ [-options]
+ [calfile.cal] inprof.icm [outprof.icm]<br>
+ &nbsp;<a href="#v">-v</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose
+ mode<br>
+ &nbsp;<a href="#a">-a</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Apply
+ or re-apply calibration (default)<br>
+ &nbsp;<a href="#u">-u</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Remove
+ calibration<br>
+ &nbsp;<a href="#c">-c</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Check
+ calibration<br>
+ &nbsp;<a href="#p1">calfile.cal</a>&nbsp;&nbsp;&nbsp;&nbsp;
+ Calibration
+ file to apply<br>
+ &nbsp;<a href="#p2">inprof.icm</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ ICC
+ profile to read<br>
+ &nbsp;<a href="#p3">outprof.icm</a>&nbsp;&nbsp;&nbsp;&nbsp;
+ modified
+ ICC
+ profile to write</span></small><br>
+ <br>
+ <h3>Usage Details <br>
+ </h3>
+ <a name="v"></a> The <b>-v</b> flag makes applycal more verbose.<br>
+ <br>
+ <span style="font-weight: bold;"><a name="a"></a>-a</span> By
+ default
+ the <span style="font-weight: bold;">calfile.cal </span>is applied
+ or
+ re-applied to the <span style="font-weight: bold;">inprof.icm</span>,
+ and then written to <span style="font-weight: bold;">outprof.icm</span>.<br>
+ <br>
+ <span style="font-weight: bold;"><a name="u"></a>-u</span> This flag
+ causes any calibration applied to the <span style="font-weight:
+ bold;">inprof.icm</span>
+ to be remove, the profile being restored to its pre-calibrated
+ state,
+ and then written to <span style="font-weight: bold;">outprof.icm</span>.<br>
+ <br>
+ <span style="font-weight: bold;"><a name="c"></a>-c</span> This flag
+ checks the <span style="font-weight: bold;">inprof.icm</span> and
+ if
+ verbose is on, reports whether it has had calibration applied. It
+ will
+ return status 0 if it has not been applied, 1 if it has, and 2 on
+ error.<br>
+ <br>
+ <span style="font-weight: bold;"><a name="p1"></a>calfile.cal</span>&nbsp;
+must
+ be supplied if the calibration is being applied or re-applied.<br>
+ <br>
+ <span style="font-weight: bold;"><a name="p2"></a>inprof.icm</span>&nbsp;
+should
+ be the
+ path to the ICC profile that will have calibration applied,
+ re-applied
+ or removed. The appropriate extension should be used for the
+ platform, i.e. <span style="font-weight: bold;">icm</span> for
+ MSWindows, and <span style="font-weight: bold;">icc</span> for OS X
+ or
+ Unix/Linux.<br>
+ <br>
+ <span style="font-weight: bold;"><a name="p3"></a>outprof.icm</span>&nbsp;
+should
+ be the
+ path to the file that will be created to hold the modified ICC
+ profile.
+ The appropriate extension should be used for the
+ platform, i.e. <span style="font-weight: bold;">icm</span> for
+ MSWindows, and <span style="font-weight: bold;">icc</span> for OS X
+ or
+ Unix/Linux.<br>
+ <br>
+ <h3>Discussion</h3>
+ <span style="font-weight: bold;">Applycal</span> provides a means of
+ using per channel calibration on devices and systems that don't
+ explicitly support such calibration. Once a calibration has been
+ created for a device (see <a href="printcal.html">printcal</a>), it
+ needs to be then used for all subsequent profiling and printing. If
+ the
+ printing device, display or system doesn't explicitly support the
+ use of
+ calibration, then the calibration can be applied during the printing
+ of
+ profile test charts using <a href="printtarg.html#K">printtarg -K</a>,
+ or the reading of a display target using dispread -K, and then for
+ processing imagery using <a href="cctiff.html">cctiff</a>
+ or by modifying the device ICC profiles using <span
+ style="font-weight: bold;">applycal</span>.<br>
+ <br>
+ <span style="font-weight: bold;">Applycal</span> modifies the
+ appropriate input or output per-channel curves of the profile to
+ incorporate the per-channel calibration. To allow the calibration to
+ be
+ re-applied or removed, it first makes a copy of the uncalibrated
+ curves
+ and stores them in private tags in the profile.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that things like the
+ white point, black point tag, gamut tag etc. are <span
+ style="text-decoration: underline;">not</span> adjusted to account
+ for the calibration, nor does applycal read, add or change any
+ 'vcgt' tag (If a 'vcgt' tag is present and a calibration applied as
+ well, then both will be in effect when such a profile is installed
+ using typical display installation tools.)<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that any calibration
+ embedded in the ICC profile <span style="font-weight: bold;">'targ</span>'
+ tag is ignored, since it is intended for computation of final
+ calibrated device value ink limits, and may not represent the exact
+ current calibration curves.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/average.html b/doc/average.html
new file mode 100644
index 0000000..31adf9b
--- /dev/null
+++ b/doc/average.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>average</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>spectro/average</b></h2>
+<h3>Summary</h3>
+Average or merge two or more <a href="File_Formats.html#.ti3">.ti3</a>
+measurement
+files.<br>
+<h3>Usage</h3>
+<small><span style="font-family: monospace;"></span></small><small>
+<span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;"></span></small><span
+ style="font-family: monospace;">usage: average [-options] input1.ti3
+input2.ti3 ... output.ti3</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Merge rather than average</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;input1.ti3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+First input file</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;input2.ti3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Second input file</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+etc.</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;output.ti3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Resulting averaged or merged output file</span><br>
+<br>
+<br>
+All keywords and other table data will be taken from the first input
+file. By default the input files are averaged, but they can be merged
+by using the <span style="font-weight: bold;">-m</span> flag.<br>
+<br>
+The fields must be the same and in the same order. For averaging, the
+device values must be the same and in the same order.<br>
+<br>
+</body>
+</html>
diff --git a/doc/cal_format.html b/doc/cal_format.html
new file mode 100644
index 0000000..3e40205
--- /dev/null
+++ b/doc/cal_format.html
@@ -0,0 +1,216 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Calibration Format File (.cal)</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2>Description of the .cal format</h2>
+ Device calibration information. This is ASCII text, <a
+ href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
+ used
+ to hold a description of device setup information that brings it to
+ a
+ desired calibration state. Calibration files are created by <a
+ href="synthcal.html">synthcal</a>, <a href="dispcal.html">dispcal</a>
+ and <a href="printcal.html">printcal</a>.<br>
+ <br>
+ While fully compatible with the CGATS.5 Data Exchange Format, the
+ particular required keywords and fields are unique to Argyll, hence
+ an
+ Argyll specific file identifier <span style="font-weight: bold;">CAL</span>
+ is used to avoid confusion with standard ANSI or CGATS files.<br>
+ <br>
+ The <span style="font-weight: bold;">.cal</span> format changes
+ from
+ time to time with new releases, to add new functionality, but
+ generally
+ retains backwards compatibility. Note that in the description below,
+ the word "may" indicates an optional component, while the word
+ "shall"
+ indicates a necessary component.<br>
+ <br>
+ Generally a .cal file contains only one table, the table containing
+ the
+ setup information. <br>
+ <br>
+ <br>
+ The table contains the following:<br>
+ <br>
+ The file identifier (First 7 characters) shall be <span
+ style="font-weight: bold;">CAL</span>.<br>
+ <br>
+ A <span style="font-weight: bold;">#</span> character introduces a
+ comment.<br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"></span></span></span>There may be <span
+ style="font-weight: bold;">DESCRIPTOR</span>, <span
+ style="font-weight: bold;">ORIGINATOR</span>, or <span
+ style="font-weight: bold;">CREATED</span> keywords and values (as
+ per
+ CGATS).<br>
+ <br>
+ There shall be a <span style="font-weight: bold;">DEVICE_CLASS</span>
+ keyword that has a value of <span style="font-weight: bold;">"OUTPUT</span>",
+ "<span style="font-weight: bold;">DISPLAY</span>" or <span
+ style="font-weight: bold;">"INPUT"</span>.<br>
+ This indicates what type of device the calibration information is
+ suitable for.<br>
+ <br>
+ A <span style="font-weight: bold;">"DISPLAY"</span> type device may
+ have a <span style="font-weight: bold;">VIDEO_LUT_CALIBRATION_POSSIBLE
+ </span>keyword that
+ must have a value of "<span style="font-weight: bold;">NO</span>" or
+ "<span style="font-weight: bold;">YES</span>", to indicate whether
+ the display has the ability to be calibrated by loading VideoLUT
+ values.<br>
+ <br>
+ There shall be a keyword <span style="font-weight: bold;">COLOR_REP</span>
+ that has a value that indicates what colorspaces of the device
+ values.
+ The colorspaces shall be encoded with one&nbsp; or two letters
+ per
+ component. The device spaces shall use the
+ following letter encoding:<br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>&nbsp;&nbsp;&nbsp;
+Cyan
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ C<br>
+ &nbsp;&nbsp;&nbsp; Magenta &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; M<br>
+ &nbsp;&nbsp;&nbsp; Yellow &nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Y<br>
+ &nbsp;&nbsp;&nbsp; Black &nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ K<br>
+ &nbsp;&nbsp;&nbsp; Orange &nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ O<br>
+ &nbsp;&nbsp;&nbsp; Red
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ R<br>
+ &nbsp;&nbsp;&nbsp; Green &nbsp; &nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ G<br>
+ &nbsp;&nbsp;&nbsp; Blue &nbsp;&nbsp; &nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ B<br>
+ &nbsp;&nbsp;&nbsp; White &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; W<br>
+ &nbsp;&nbsp;&nbsp; Light Cyan
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ c<br>
+ &nbsp;&nbsp;&nbsp; Light
+Magenta&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ m<br>
+ &nbsp;&nbsp;&nbsp; Light
+Yellow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ y<br>
+ &nbsp;&nbsp;&nbsp; Light
+Black&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ k<br>
+ &nbsp;&nbsp;&nbsp; Medium Cyan&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2c<br>
+ &nbsp;&nbsp;&nbsp; Medium Magenta
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 2m<br>
+ &nbsp;&nbsp;&nbsp; Medium Yellow
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2y<br>
+ &nbsp;&nbsp;&nbsp; Medium Black
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2k<br>
+ &nbsp;&nbsp;&nbsp; Light Light Black &nbsp; &nbsp; &nbsp;&nbsp; 1k<br>
+ <br>
+ There may be an a prefix <span style="font-weight: bold;">i</span>
+ preceding the device space letter encoding, indicating that although
+ the space appears to be an additive space, it is in fact a
+ subtractive
+ device.<br>
+ <br>
+ Typical values might be: "<span style="font-weight: bold;">RGB</span><span
+ style="font-weight: bold;"></span>" for an RGB display, "<span
+ style="font-weight: bold;">iRGB</span><span style="font-weight:
+ bold;"></span>"
+ for an RGB printer, "<span style="font-weight: bold;">CMYK</span>"
+ for
+ a
+ printer, "<span style="font-weight: bold;">RGB"</span> for an RGB
+ scanner.<br>
+ <br>
+ The <span style="font-weight: bold;">NUMBER_OF_FIELDS</span>
+ keyword
+ shall have a value that indicates the number of fields in each data
+ set, e.g. <span style="font-weight: bold;">4</span> (as per CGATS).<br>
+ <br>
+ The start of the declaration of the fields shall be marked by the <span
+ style="font-weight: bold;">BEGIN_DATA_FORMAT</span> keyword (as
+ per
+ CGATS).<br>
+ <br>
+ The fields shall use the standard CGATS pattern of the full
+ colorspace
+ identified followed by the individual colorant identifier. There
+ shall
+ be an initial input index value identified by the letter <span
+ style="font-weight: bold;">I</span>.<br>
+ <br>
+ For an RGB device, the
+ following fields would be used:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">RGB_I</span>&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+ The device value input value between 0.0 and 1.0.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">RGB_R</span>&nbsp;&nbsp;&nbsp;
+&nbsp;
+ The Red device value input value between 0.0 and 1.0.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">RGB_G</span>
+ &nbsp;&nbsp; &nbsp; The Green device value input value between 0.0
+ and
+ 1.0.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">RGB_B</span>
+ &nbsp;&nbsp; &nbsp; The Blue device value input value between 0.0
+ and
+ 1.0.<br>
+ <br>
+ The corresponding field names for a CMYK device would be <span
+ style="font-weight: bold;">CMYK_I</span>, <span
+ style="font-weight: bold;">CMYK_C</span>, <span
+ style="font-weight: bold;">CMYK_M</span>, <span
+ style="font-weight: bold;">CMYK_Y</span> and <span
+ style="font-weight: bold;">CMYK_K</span>, etc.<br>
+ <br>
+ The definition of the fields shall be terminated by the <span
+ style="font-weight: bold;">END_DATA_FORMAT</span> keyword (as per
+ CGATS).<br>
+ <br>
+ The <span style="font-weight: bold;">NUMBER_OF_SETS</span> keyword
+ shall have a value that indicates the number of sets of data, e.g. <span
+ style="font-weight: bold;">256</span> (as per CGATS).<br>
+ <br>
+ The start of the values of the data sets shall be marked by the <span
+ style="font-weight: bold;">BEGIN_DATA</span> keyword (as per
+ CGATS).<br>
+ <br>
+ Each set of data shall be on one line, and shall be separated by
+ white
+ space. All values shall be normalized to lie between 0.0 and 1.0.<br>
+ <br>
+ The end of the values of the data sets shall be marked by the <span
+ style="font-weight: bold;">END_DATA</span> keyword (as per CGATS).<br>
+ <br>
+ There may then be device type specific extra tables that hold target
+ or
+ device behavior information. These will be specific to the tool that
+ creates that particular type of calibration.<br>
+ <br>
+ Generally any other keywords and values will be ignored.<br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/calvschar.html b/doc/calvschar.html
new file mode 100644
index 0000000..f194d79
--- /dev/null
+++ b/doc/calvschar.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Calibration vs. Characterization</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ </head>
+ <body>
+ <h2 style="text-decoration: underline; font-weight: bold;">Calibration
+vs.
+
+ Characterization<br>
+ </h2>
+ Some of the terminology can be confusing. Many people are initially
+ confused about the difference between <span style="font-weight:
+ bold;">Calibration</span> and <span style="font-weight: bold;">Characterization</span>.<br>
+ <h3>What is Calibration ?</h3>
+ "Calibration" is a short hand Graphic Arts term for adjusting a
+ devices behavior to meet calibration targets.<br>
+ Calibration is the process of modifying the color behavior of a
+ device. This is typically done using two mechanisms:<br>
+ &nbsp;&nbsp;&nbsp; 1) Changing controls or internal settings that it
+ has.<br>
+ &nbsp;&nbsp;&nbsp; 2) Applying curves to its color channels.<br>
+ <br>
+ The idea of calibration is to put a device is a defined state with
+ regard to its color response. Often this is used as a day to day
+ means of maintaining reproducible behavior. Calibration is often the
+ most practical way of setting parameters such as white point and
+ brightness of displays. Typically calibration will be stored in
+ device or systems specific file formats that record the device
+ settings and/or per channel calibration curves.<br>
+ <h3>What is Characterization ?</h3>
+ Characterization (or <span style="font-weight: bold;">profiling</span>)
+ is <span style="text-decoration: underline;">recording</span> the
+ way a device reproduces or responds to color. Typically the result
+ is stored in a device <span style="font-weight: bold;">ICC</span>
+ profile. Such a profile does not in itself modify color in any way.
+ What it does is allow a system such as a CMM (Color Management
+ Module) or color aware application to modify color when combined
+ with another device profile. Only by knowing the characteristics of
+ two devices or colorspaces, can a way of transferring color from one
+ device representation to another be achieved.<br>
+ <br>
+ Note that a characterization (profile) will only be valid for a
+ device if it is in the same state of calibration as it was when it
+ was characterized.<br>
+ <h3>What about display calibration and profiles ?</h3>
+ In the case of display profiles there is some additional confusion
+ because often the <span style="font-weight: bold;">calibration</span>
+ information is stored in the <span style="font-weight: bold;">profile</span>
+ for convenience. By convention it is stored in a tag called the
+ 'vcgt' tag. Although it is stored in the profile, none of the normal
+ <span style="font-weight: bold;">ICC</span> based tools or
+ applications are aware of it, or do anything with it, it is just
+ "along for the ride". Similarly, typical display calibration tools
+ and applications will not be aware of, or do anything with the ICC
+ characterization (profile) information.<br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/cb2ti3.html b/doc/cb2ti3.html
new file mode 100644
index 0000000..d999075
--- /dev/null
+++ b/doc/cb2ti3.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>cb2ti3</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>profile/cb2ti3</b></h2>
+<h3>Summary</h3>
+Convert Colorblind format CMY/RGB test chart information into <a
+ href="File_Formats.html#.ti3">Argyll .ti3</a> CGATS profile forma
+files.
+This allows the use of raw Colorblind profiling data, to be used for
+Argyll
+profile creation or validation..<br>
+<h3>Usage</h3>
+<small><span style="font-family: monospace;"> cb2gcats [-v] [-l limit] </span><i
+ style="font-family: monospace;">inbasename outbasename</i><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;
+-v&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp; Verbose flag</span><br style="font-family: monospace;">
+<span style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; -l
+limit&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; Set and ink limit
+(TAC) in the resulting .ti3 file</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span><i
+ style="font-family: monospace;">inbasename</i><span
+ style="font-family: monospace;"> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Base
+name for input Colorblind .CMY and input. nCIE file</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; </span><i
+ style="font-family: monospace;">outbasename</i><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Base
+name for output.ti3 file.</span></small><br>
+<h3>Examples</h3>
+Given the Colorblind files <i>fred.CMY</i> and <i>fred.nCIE</i>, and
+an
+ink limit of 280%, one would create the Argyll CGATs file <i>device.ti3</i>
+file thus:<br>
+<br>
+cb2ti3 -l 280 fred device<br>
+<h3>Comments</h3>
+This tool only handles RGB or CMY files, and nothing else.<br>
+There is no extra output when the verbose flag is used.<br>
+Because the two Colorblind files are specified by a basename., they
+must reside in the same directory.<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/ccmxs.html b/doc/ccmxs.html
new file mode 100644
index 0000000..1ceaeac
--- /dev/null
+++ b/doc/ccmxs.html
@@ -0,0 +1,424 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Contributed CCMX files</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>Contributed ccmx files.<br>
+ </b></h2>
+ <span style="font-weight: bold;">ccmx</span> files are specific to a
+ particular Colorimeter and Display make and model combination. You
+ may find though that you get some benefit from using a file for your
+ instrument and a similar type of display to yours.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE<span style="font-weight:
+ bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"> </span></span></span></span>that
+these
+files
+have
+been
+contributed
+by
+
+ various Argyll users, and their usefulness to your particular
+ situation is <span style="text-decoration: underline;">up to you to
+ evaluate</span>. They may or may not improve the absolute accuracy
+ of your colorimeter with your display.<br>
+ <span style="font-weight: bold;"></span><br>
+ <table style="text-align: left; width: 1225px; height: 205px;"
+ border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td style="text-align: center; vertical-align: top;">Display/Colorimeter<br>
+ </td>
+ <td style="vertical-align: top;">Rebadged &amp; came with the
+ display<br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="instruments.html#DTP92">DTP92</a> </td>
+ <td style="vertical-align: top;"> <a
+ href="instruments.html#DTP94">DTP94</a> </td>
+ <td style="vertical-align: top;"> <a
+ href="instruments.html#i1d">Eye-One Display 1</a> </td>
+ <td style="vertical-align: top;"> <a
+ href="instruments.html#i1d">Eye-One Display 2/LT</a><br>
+ <a href="instruments.html#i1d"><span style="text-decoration:
+ underline;">ColorMunki Create</span></a><br>
+ </td>
+ <td style="vertical-align: top;"> <a
+ href="instruments.html#Huey">Huey</a> </td>
+ <td style="vertical-align: top;"><a
+ href="instruments.html#spyd2">Spyder 2</a> </td>
+ <td style="vertical-align: top;"> <a
+ href="instruments.html#spyd3">Spyder 3</a> </td>
+ <td style="vertical-align: top;"><span class="titre"><a
+ href="instruments.html#HCFR">Colorim&egrave;tre HCFR</a></span></td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"> Acer AL2016w </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Huey_Acer_al2016w.ccmx">Huey_Acer_al2016w</a></td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">Dell 2408W<br>
+ Dell 2709W<br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/DTP-94_Dell_2408W.ccmx">DTP-94_Dell_2408W</a><br>
+ <a href="ccmxs/DTP-94_1964_10_Dell_2408W.ccmx">DTP-94_1964_10_Dell_2408W</a><br>
+ <a href="ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx">DTP-94_1997_Shaw_Dell_2408W</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">
+ <pre>Dell Ultrasharp U2410</pre>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/DTP-94_Dell_U2410.ccmx">DTP-94_Dell_U2410</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx">EyeOne_Display_LT_U2410_sRGB_2deg</a><br>
+ <a href="ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx">EyeOne_Display_LT_U2410_sRGB_10deg</a><br>
+ <a href="ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx">EyeOne_Display_LT_U2410_Standard_2deg</a><br>
+ <a href="ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx">EyeOne_Display_LT_U2410_Standard_10deg</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">EIZO CG243<br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Huey_Eizo_CG243.ccmx">Huey_Eizo_CG243</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">EIZO S2233<br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Spyder3_Eizo_S2233_standard_1964.ccmx">Spyder3_EIZO_S2233_standard_10deg</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">EIZO S2233W<br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx">EyeOne_Display_2_EIZO_S2233W</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">EIZO S2243W</td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;">
+ <table border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx">Spyder3_EIZO_S2243W</a><a
+ href="ccmxs/Spyder2_EIZO_S2433W_1964_10.ccmx">_2deg</a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">EIZO S2433W<br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx">Spyder3_EIZO_S2433W_2deg</a><br>
+ <a href="ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx">Spyder2_EIZO_S2433W</a><a
+ href="ccmxs/Spyder2_EIZO_S2433W_1964_10.ccmx">_10deg</a> </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Spyder3_EIZO_S2233_standard_1931.ccmx"><br>
+ </a> </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"> HP Compaq 6730s laptop </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><span style="text-decoration:
+ underline;"></span><a
+ href="ccmxs/Huey_HP_compaq_6730s.ccmx">Huey_HP_compaq_6730s</a></td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"> HP LP2475w Wide Gamut </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Huey_HP_lp2475w.ccmx">Huey_HP_lp2475w</a></td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Spyder3_HP_LP2475w.ccmx">Spyder3_HP_LP2475w</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">NEC MultiSync LCD 1990SXi </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx">EyeOne_Display_1_NEC1990SXi</a><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx">EyeOne_Display_2_NEC1990SXi</a><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Huey_NEC1990SXi.ccmx">Huey_NEC1990SXi</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">NEC MultySync LCD 2690WUXi2</td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx">NEC_EyeOne_Display_2_NEC2690WUXi2</a></td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Spyder3_NEC2690WUXi2.ccmx">Spyder3
+ _NEC2690WUXi2</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">NEC PA301W<br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ <td valign="top"><a href="ccmxs/Spyder3_NEC_PA301W.ccmx">Spyder3_NEC_PA301W</a><br>
+ </td>
+ <td valign="top"><br>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">NEC Spectraview 241<br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><a
+ href="ccmxs/Huey_NEC_Spectraview_241.ccmx">Huey_NEC_Spectraview_241</a><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ <td style="vertical-align: top;"><br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;"></span> If anyone wants to
+ contribute correction matrices that they've made for particular
+ colorimeter + display combinations, I'm happy to put them on the
+ website so that others can make use of them. Any <span
+ style="font-weight: bold;">ccmx</span> files contributed for this
+ purpose will be assumed to have been placed in the <span
+ style="font-weight: bold;">public domain</span>.<br>
+ <br>
+ <script language="JavaScript">
+<!--
+// Comment
+var v1 = ".com"
+var v2 = "argyllcms"
+var v3 = "graeme"
+var v4 = "@"
+var v5 = "mailto:"
+var v6 = v5 + v3 + v4 + v2 + v1
+document.write("<a href=" + v6 + ">" + "Contact Me" + "</a>")
+//-->
+</script><br>
+ &nbsp;
+ </body>
+</html>
diff --git a/doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx b/doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx
new file mode 100644
index 0000000..c1d0e8c
--- /dev/null
+++ b/doc/ccmxs/DTP-94_1964_10_Dell_2408W.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Xrite DTP94 & Dell 2408WFP"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "1964_10 Xrite DTP94"
+KEYWORD "DISPLAY"
+DISPLAY "Dell 2408WFP"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Mon Sep 20 10:38:25 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.83589 0.11701 0.028937
+-0.080058 1.0887 0.058441
+0.011479 -0.035708 1.0529
+END_DATA
diff --git a/doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx b/doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx
new file mode 100644
index 0000000..168fc51
--- /dev/null
+++ b/doc/ccmxs/DTP-94_1997_Shaw_Dell_2408W.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Xrite DTP94 & Dell 2408WFP"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "1997 Shaw Xrite DTP94"
+KEYWORD "DISPLAY"
+DISPLAY "Dell 2408WFP"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Mon Sep 20 10:41:08 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.84519 0.048811 0.010471
+-0.057861 1.0433 0.013805
+-0.017341 0.027907 0.94117
+END_DATA
diff --git a/doc/ccmxs/DTP-94_Dell_2408W.ccmx b/doc/ccmxs/DTP-94_Dell_2408W.ccmx
new file mode 100644
index 0000000..bf58d48
--- /dev/null
+++ b/doc/ccmxs/DTP-94_Dell_2408W.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Xrite DTP94 & Dell 2408WFP"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "Xrite DTP94"
+KEYWORD "DISPLAY"
+DISPLAY "Dell 2408WFP"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Mon Sep 20 10:37:13 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.86461 0.030195 0.012871
+-0.069159 1.0244 0.017185
+-0.010324 0.011396 0.96486
+END_DATA
diff --git a/doc/ccmxs/DTP-94_Dell_U2410.ccmx b/doc/ccmxs/DTP-94_Dell_U2410.ccmx
new file mode 100644
index 0000000..0d7c610
--- /dev/null
+++ b/doc/ccmxs/DTP-94_Dell_U2410.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Xrite DTP94 & Dell U2410"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "Xrite DTP94"
+KEYWORD "DISPLAY"
+DISPLAY "Dell U2410"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro prd.de ccmx"
+ORIGINATOR "Argyll ccmx"
+CREATED "Tue May 17 19:18:08 2011"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.936109 0.022419 0.014533
+-0.038308 1.014059 0.010001
+-0.012576 0.010240 1.005667
+END_DATA
diff --git a/doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx b/doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx
new file mode 100644
index 0000000..b8d3072
--- /dev/null
+++ b/doc/ccmxs/EyeOne_Display_1_NEC1990SXi.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth i1 Display & NEC MultiSync LCD 1990SXi"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display"
+KEYWORD "DISPLAY"
+DISPLAY "NEC MultiSync LCD 1990SXi"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Thu Sep 09 17:46:39 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+1.0193 -0.022377 0.014860
+0.017260 0.95636 2.3599e-003
+8.5413e-003 -9.3046e-003 1.0208
+END_DATA
diff --git a/doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx b/doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx
new file mode 100644
index 0000000..c3f9d80
--- /dev/null
+++ b/doc/ccmxs/EyeOne_Display_2_EIZO_S2233W.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth i1 Display & Eizo FlexScan S2233W 1680x1050"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display"
+KEYWORD "DISPLAY"
+DISPLAY "Eizo FlexScan S2233W 1680x1050"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Mon Oct 11 16:13:03 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+1.0610 -0.045412 0.010132
+0.010992 0.96393 -5.6546e-03
+-0.015770 0.034683 1.0333
+END_DATA
diff --git a/doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx b/doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx
new file mode 100644
index 0000000..c70758e
--- /dev/null
+++ b/doc/ccmxs/EyeOne_Display_2_NEC1990SXi.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth i1 Display & NEC MultiSync LCD 1990SXi"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display"
+KEYWORD "DISPLAY"
+DISPLAY "NEC MultiSync LCD 1990SXi"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Thu Sep 09 17:56:02 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.95118 -5.5218e-003 0.013440
+-0.010828 0.94247 3.0624e-003
+9.7395e-003 -0.013508 0.98334
+END_DATA
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx
new file mode 100644
index 0000000..4500b0e
--- /dev/null
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1931.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Native gamut, CIE 1931 observer, Reference spectro: ColorMunki"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display"
+KEYWORD "DISPLAY"
+DISPLAY "Dell U2410"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Oct 03 00:38:56 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.88951 -0.036475 0.032403
+0.013090 0.88419 0.010053
+-9.3198e-003 0.026884 0.95894
+END_DATA
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx
new file mode 100644
index 0000000..1d8e082
--- /dev/null
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_Standard_1964.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Native gamut, CIE 1964 observer, Reference spectro: ColorMunki"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display (CIE 1964 10 degree observer)"
+KEYWORD "DISPLAY"
+DISPLAY "Dell U2410"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Oct 03 00:42:36 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.86409 0.046894 0.035027
+8.6952e-003 0.95117 0.036360
+5.7496e-003 -8.8727e-003 1.0383
+END_DATA
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx
new file mode 100644
index 0000000..e6be5d5
--- /dev/null
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1931.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Emulated sRGB gamut, CIE 1964 observer, Reference spectro: ColorMunki"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display"
+KEYWORD "DISPLAY"
+DISPLAY "Dell U2410"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Oct 03 00:46:11 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.89191 -0.027759 0.025810
+0.010695 0.90054 9.3429e-005
+-0.016307 0.034060 0.96249
+END_DATA
diff --git a/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx
new file mode 100644
index 0000000..1de91c9
--- /dev/null
+++ b/doc/ccmxs/EyeOne_Display_LT_U2410_sRGB_1964.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Emulated sRGB gamut, CIE 1964 observer, Reference spectro: ColorMunki"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display (CIE 1964 10 degree observer)"
+KEYWORD "DISPLAY"
+DISPLAY "Dell U2410"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Oct 03 00:49:29 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.86736 0.046873 0.035348
+0.013981 0.95224 0.034689
+2.8361e-003 -4.8598e-003 1.0424
+END_DATA
diff --git a/doc/ccmxs/Huey_Acer_al2016w.ccmx b/doc/ccmxs/Huey_Acer_al2016w.ccmx
new file mode 100644
index 0000000..288a230
--- /dev/null
+++ b/doc/ccmxs/Huey_Acer_al2016w.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth Huey & Screen 1, Output DVI-0 at 0, 0, width 1680, height 1050"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth Huey"
+KEYWORD "DISPLAY"
+DISPLAY "Screen 1, Output DVI-0 at 0, 0, width 1680, height 1050"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Sep 12 17:27:22 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.93560 -0.019669 -7.1772e-04
+0.019205 0.88201 -1.7456e-03
+1.4914e-03 -1.1984e-03 0.89885
+END_DATA
diff --git a/doc/ccmxs/Huey_Eizo_CG243.ccmx b/doc/ccmxs/Huey_Eizo_CG243.ccmx
new file mode 100644
index 0000000..29e21bd
--- /dev/null
+++ b/doc/ccmxs/Huey_Eizo_CG243.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Eizo CG243"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth Huey"
+KEYWORD "DISPLAY"
+DISPLAY "Eizo CG243"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Mon Mar 07 10:40:28 2011"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.84312 -0.016137 0.028123
+0.033176 0.82353 -4.9480e-003
+-0.011411 0.024250 0.94937
+END_DATA
diff --git a/doc/ccmxs/Huey_HP_compaq_6730s.ccmx b/doc/ccmxs/Huey_HP_compaq_6730s.ccmx
new file mode 100644
index 0000000..26f11ae
--- /dev/null
+++ b/doc/ccmxs/Huey_HP_compaq_6730s.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth Huey & Screen 1, Output LVDS1 at 0, 0, width 1280, height 800"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth Huey"
+KEYWORD "DISPLAY"
+DISPLAY "Screen 1, Output LVDS1 at 0, 0, width 1280, height 800"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Sep 12 16:15:40 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.90072 4.7979e-05 0.018055
+-0.020339 0.93625 3.1028e-03
+-6.8272e-04 -1.7912e-03 0.99187
+END_DATA
diff --git a/doc/ccmxs/Huey_HP_lp2475w.ccmx b/doc/ccmxs/Huey_HP_lp2475w.ccmx
new file mode 100644
index 0000000..c33ee75
--- /dev/null
+++ b/doc/ccmxs/Huey_HP_lp2475w.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth Huey & Screen 1, Output HDMI2 at 0, 0, width 1920, height 1200"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth Huey"
+KEYWORD "DISPLAY"
+DISPLAY "Screen 1, Output HDMI2 at 0, 0, width 1920, height 1200"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Sep 12 16:41:53 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.92211 -0.025380 0.014354
+0.040892 0.86304 -4.6763e-03
+-0.018470 0.041757 0.93443
+END_DATA
diff --git a/doc/ccmxs/Huey_NEC1990SXi.ccmx b/doc/ccmxs/Huey_NEC1990SXi.ccmx
new file mode 100644
index 0000000..97f8d8a
--- /dev/null
+++ b/doc/ccmxs/Huey_NEC1990SXi.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth Huey & NEC MultiSync LCD 1990SXi"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth Huey"
+KEYWORD "DISPLAY"
+DISPLAY "NEC MultiSync LCD 1990SXi"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Thu Sep 09 18:03:01 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+1.0456 -0.050500 4.6236e-003
+-3.3083e-003 0.98878 -0.012307
+0.014538 -0.023853 1.0341
+END_DATA
diff --git a/doc/ccmxs/Huey_NEC_Spectraview_241.ccmx b/doc/ccmxs/Huey_NEC_Spectraview_241.ccmx
new file mode 100644
index 0000000..f7341da
--- /dev/null
+++ b/doc/ccmxs/Huey_NEC_Spectraview_241.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Spectraview241"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth Huey"
+KEYWORD "DISPLAY"
+DISPLAY "NEC Spectraview 241"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Thu Mar 03 11:12:44 2011"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.84308 -0.012484 0.028477
+0.023148 0.83371 -3.9284e-003
+-0.013409 0.025818 0.94938
+END_DATA
diff --git a/doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx b/doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx
new file mode 100644
index 0000000..a6c29fc
--- /dev/null
+++ b/doc/ccmxs/NEC_EyeOne_Display_2_NEC2690WUXi2.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "GretagMacbeth i1 Display & NEC MultiSync LCD2690WUXi2"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "GretagMacbeth i1 Display"
+KEYWORD "DISPLAY"
+DISPLAY "NEC MultiSync LCD2690WUXi2"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sat Sep 11 19:53:24 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.91203 -0.015033 0.014040
+2.3004e-004 0.89781 5.1274e-004
+-0.014259 0.026863 0.93352
+END_DATA
diff --git a/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx
new file mode 100644
index 0000000..0cbe855
--- /dev/null
+++ b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1931.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "ColorVision Spyder2 & EIZO_S2433W"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "ColorVision Spyder2"
+KEYWORD "DISPLAY"
+DISPLAY "EIZO_S2433W"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Fri Nov 19 15:57:46 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+1.1862 0.027113 0.025124
+-8.2603e-003 1.2120 0.015153
+0.10617 -0.23223 1.3005
+END_DATA
diff --git a/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx
new file mode 100644
index 0000000..d1960b3
--- /dev/null
+++ b/doc/ccmxs/Spyder2_EIZO_S2433W_standard_1964.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "ColorVision Spyder2 (CIE 1964 10 degree observer) & EIZO_S2433W"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "ColorVision Spyder2 (CIE 1964 10 degree observer)"
+KEYWORD "DISPLAY"
+DISPLAY "EIZO_S2433W"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sun Oct 31 22:09:52 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+1.1215 0.13625 0.039510
+-0.026007 1.2650 0.068299
+0.14057 -0.29555 1.3623
+END_DATA
diff --git a/doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx b/doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx
new file mode 100644
index 0000000..214a680
--- /dev/null
+++ b/doc/ccmxs/Spyder3_EIZO_S2233_standard_1964.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Datacolor Spyder3 (CIE 1964 10 degree observer) & EIZO S2233"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "Datacolor Spyder3 (CIE 1964 10 degree observer)"
+KEYWORD "DISPLAY"
+DISPLAY "EIZO S2233"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Mon Nov 15 23:15:33 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.81240 0.11317 0.056264
+-0.058301 1.0547 0.059013
+0.068682 -0.28738 1.1497
+END_DATA
diff --git a/doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx b/doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx
new file mode 100644
index 0000000..7fbf60b
--- /dev/null
+++ b/doc/ccmxs/Spyder3_EIZO_S2243W_standard_1931.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Datacolor Spyder3 & EIZO S2243W"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "Datacolor Spyder3"
+KEYWORD "DISPLAY"
+DISPLAY "EIZO S2243W"
+KEYWORD "REFERENCE"
+REFERENCE "X-Rite ColorMunki"
+ORIGINATOR "Argyll ccmx"
+CREATED "Thu Nov 25 19:28:17 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.95589 0.019068 0.017652
+-2.3435e-003 0.97122 -4.2447e-003
+2.9065e-003 -4.1199e-004 1.0474
+END_DATA
diff --git a/doc/ccmxs/Spyder3_HP_LP2475w.ccmx b/doc/ccmxs/Spyder3_HP_LP2475w.ccmx
new file mode 100644
index 0000000..40e990c
--- /dev/null
+++ b/doc/ccmxs/Spyder3_HP_LP2475w.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Datacolor Spyder3 & HP LP2475w"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "Datacolor Spyder3"
+KEYWORD "DISPLAY"
+DISPLAY "HP LP2475w"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Mon Sep 13 23:44:09 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+0.92077 0.050783 -0.010618
+6.1547e-003 0.89775 5.5560e-003
+0.028303 -0.16027 0.87261
+END_DATA
diff --git a/doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx b/doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx
new file mode 100644
index 0000000..2a663bc
--- /dev/null
+++ b/doc/ccmxs/Spyder3_NEC2690WUXi2.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Datacolor Spyder3 & NEC MultiSync LCD2690WUXi2"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "Datacolor Spyder3"
+KEYWORD "DISPLAY"
+DISPLAY "NEC MultiSync LCD2690WUXi2"
+KEYWORD "REFERENCE"
+REFERENCE "GretagMacbeth i1 Pro"
+ORIGINATOR "Argyll ccmx"
+CREATED "Sat Sep 11 17:42:33 2010"
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+1.0956 0.012843 2.0372e-004
+0.013872 1.0803 7.7446e-003
+0.032831 -0.15950 1.0888
+END_DATA
diff --git a/doc/ccmxs/Spyder3_NEC_PA301W.ccmx b/doc/ccmxs/Spyder3_NEC_PA301W.ccmx
new file mode 100644
index 0000000..b0dd777
--- /dev/null
+++ b/doc/ccmxs/Spyder3_NEC_PA301W.ccmx
@@ -0,0 +1,25 @@
+CCMX
+
+DESCRIPTOR "Spyder3 & NEC PA301W"
+KEYWORD "INSTRUMENT"
+INSTRUMENT "Spyder3"
+KEYWORD "DISPLAY"
+DISPLAY "NEC WA301P"
+KEYWORD "REFERENCE"
+REFERENCE "NEC factory read of primaries; monitor is new"
+ORIGINATOR "DC"
+CREATED "Sun 06 Jan 2013 19:50 "
+KEYWORD "COLOR_REP"
+COLOR_REP "XYZ"
+
+NUMBER_OF_FIELDS 3
+BEGIN_DATA_FORMAT
+XYZ_X XYZ_Y XYZ_Z
+END_DATA_FORMAT
+
+NUMBER_OF_SETS 3
+BEGIN_DATA
+1.03390 -0.00402 0.00022
+0.01819 0.98822 0.00145
+-0.00899 0.04468 1.02205
+END_DATA
diff --git a/doc/cctiff.html b/doc/cctiff.html
new file mode 100644
index 0000000..c19d5c5
--- /dev/null
+++ b/doc/cctiff.html
@@ -0,0 +1,351 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>cctiff</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>imdi/cctiff</b></h2>
+ <h3>Summary</h3>
+ Color convert a TIFF or JPEG file using a sequence of compatible ICC
+ device profiles, abstract profiles, device link profiles and
+ calibration files. The sequence may be zero length, facilitating
+ format conversion and ICC profile embedding without otherwise
+ altering the pixel values.<br>
+ <h3>Usage<br>
+ </h3>
+ <small><span style="font-family: monospace;"></span> <span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;">cctiff [-options] { [-i intent] <span
+ style="font-style: italic;">profile.icm</span> | [-d dir]
+ calibration.cal ...} <span style="font-style: italic;">infile.tif
+
+ outfile.tif</span></span></small><small><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+
+ &nbsp;&nbsp; Verbose</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+
+ &nbsp;&nbsp; Combine linearisation curves into one transform</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+
+ &nbsp;&nbsp; Use slow precise floating point conversion, rather
+ than fast integer routines.</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#k">-k</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+
+ &nbsp;&nbsp; Check fast result against precise, and report
+ differences.<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#r">-r n<span
+ style="font-style: italic;"></span></a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override
+ the default CLUT resolution</span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"><br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#t">-t n<span
+ style="font-style: italic;"></span></a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Choose
+ output encoding from 1..n<br>
+ &nbsp;<a href="#f">-f [T|J]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Set output format to Tiff or Jpeg (Default is same as input)<br>
+ &nbsp;<a href="#q">-q quality</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Set JPEG quality 1..100 (Default 80)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#a">-a</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Read and Write planes &gt; 4 as
+ alpha planes<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;<a
+ href="#I">-I</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Ignore
+
+ any file or profile colorspace mismatches<br>
+ &nbsp;<a href="#D">-D</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't
+
+ append or set the output TIFF description<br>
+ <br>
+ </span></small><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"><br>
+ &nbsp;</span></small><small><a style="font-family: monospace;"
+ href="#e"><i>-e profile.[ic<span style="font-family: monospace;">m
+ | tiff | jpg]</span></i></a><span style="font-family:
+ monospace;"></span></small><small><span style="font-family:
+ monospace;">&nbsp; Optionally embed a profile in the destination
+ TIFF or JPEG file.<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ </span></small><small><span style="font-family: monospace;">This
+ may be an ICC file or TIFF or JPEG file with embedded profile.</span></small><br>
+ <small><span style="font-family: monospace;"><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Then
+
+ for each profile in the linked sequence:<br style="font-family:
+ monospace;">
+ </span></small><small><span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;">&nbsp; </span><a style="font-family: monospace;"
+ href="#i">-i <span style="font-style: italic;">intent</span></a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Profile intent</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p =
+ perceptual, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+
+ &nbsp;&nbsp;&nbsp; s = saturation, a = absolute colorimetric<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;
+ </span><a style="font-family: monospace;" href="#o">-o order<span
+ style="font-style: italic;"></span></a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; n = normal (priority: lut
+ &gt; matrix &gt; monochrome)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+r
+
+ = reverse (priority: monochrome &gt; matrix &gt; lut)</span></small><small><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#p1"><i>profile.[ic<span
+ style="font-family: monospace;">m | tiff | jpg]</span></i></a><span
+ style="font-family: monospace;">&nbsp; A Device, Link or
+ Abstract profile. This may be an ICC file<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+(May
+
+ be embedded profile in TIFF or JPEG file)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+or
+
+ each calibration file in sequence:<br style="font-family:
+ monospace;">
+ </span></small><small><span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;">&nbsp; </span><a style="font-family: monospace;"
+ href="#d">-d <span style="font-style: italic;"><span
+ style="font-family: monospace;">dir</span></span></a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calibration direction</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f =
+ forward cal. (default), b = backwards cal.</span><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span></small><small><span style="font-family:
+ monospace;"></span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#p2"><i>calibration.cal<span
+ style="font-family: monospace;"></span></i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ A calibration file.</span></small><br>
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span><span style="font-family: monospace;"></span><br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; Then finally:<br style="font-family:
+ monospace;">
+ &nbsp;<span style="font-family: monospace;"></span><a
+ style="font-family: monospace;" href="#p3"><i>infile.tif</i></a><span
+ style="font-family: monospace;"> &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; A </span><a style="font-family: monospace;"
+ href="File_Formats.html#TIFF">TIFF</a><span style="font-family:
+ monospace;">
+ or <a href="File_Formats.html#JPEG">JPEG</a> Raster file that
+ will be the input raster to be transformed.</span><br
+ style="font-family: monospace;">
+ &nbsp;<span style="font-family: monospace;"></span><a
+ style="font-family: monospace;" href="#p4"><i>outfile.tif</i></a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; A </span><a style="font-family: monospace;"
+ href="File_Formats.html#TIFF">TIFF</a><span style="font-family:
+ monospace;"> or <a href="File_Formats.html#JPEG">JPEG</a>
+ Raster file created from the input raster, using the given color
+ transform.</span></small><b><br>
+ </b><b><br>
+ Examples</b><br>
+ <br>
+ Convert an RGB file to a CMYK file using perceptual intent:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; cctiff -ip sRGB.icm -i cmyk.icm rgbinfile.tif
+ cmykoutfile.tif<br>
+ <br>
+ Same as above, but use the source file embedded profile, and embed
+ the resulting colorspace profile in the output:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; cctiff -e cmyk.icm -ip rgbfile.tif -ip
+ cmyk.icm&nbsp; rgbinfile.tif cmyout.tif<br>
+ <br>
+ Convert a raster file using a device link:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; cctiff devicelink.icm infile.tif outfile.tif<br>
+ <br>
+ Convert an RGB source to CMYK via an abstract adjustment, and then
+ convert the CMYK to CMYK using a device link, also apply CMYK
+ calibration:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; cctiff -ir sRGB.icm abstract.icm -ir CMYK.icm
+ devlink.icm CMYKcal.cal infile.tif outfile.tif<br>
+ <br>
+ Convert an RGB source file into a CIELab raster file:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; cctiff -t1 -ir sRGB.icm rgbfile.tif labfile.tif<br>
+ <h3>Comments<br>
+ </h3>
+ <a name="v"></a> The <span style="font-weight: bold;">-v</span>
+ flag reports extra information about the ICC profile.<br>
+ <br>
+ <a name="c"></a><a name="p"></a><a name="k"></a><a name="r"></a> The
+ <span style="font-weight: bold;">-c</span>, <span
+ style="font-weight: bold;">-p</span>, <span style="font-weight:
+ bold;">-k</span> and <span style="font-weight: bold;">-r</span>
+ options are intended to aid debugging.<br>
+ <br>
+ <a name="t"></a><span style="font-weight: bold;"></span><span
+ style="font-weight: bold;">-t </span>Some colorspaces can be
+ encoded in more than one way. If there is a choice, the choice
+ should be specified the <span style="font-weight: bold;">-t</span>
+ parameter. If this parameter is not given, then cctiff will print
+ the possible choices and choose the default. For TIFF LAB output
+ there are two choices <span style="font-weight: bold;">1</span> for
+ CIELab encoding (Default), and <span style="font-weight: bold;">2</span>
+ for ICCLab encoding. For JPEG RGB output there are two choices: <span
+ style="font-weight: bold;">1</span> for YCbCr encoding with
+ sub-sampled Cb and Cr (Default)\n", and <span style="font-weight:
+ bold;">2</span> RGB encoding which does not use sub sampling. For
+ JPEG CMYK output there are two choices: <span style="font-weight:
+ bold;">1</span> for YCCK encoding with sub-sampled C and C
+ (Default)\n", and <span style="font-weight: bold;">2</span> CMYK
+ encoding which does not use sub sampling<br>
+ <br>
+ <a name="f"></a><span style="font-weight: bold;"></span> <span
+ style="font-weight: bold;">-f</span> By default the output raster
+ file format will be the same as the input, and the <span
+ style="font-weight: bold;">-f</span> parameter will override this.
+ <span style="font-weight: bold;">-f T</span> will select <span
+ style="font-weight: bold;">TIFF</span> format output, and <span
+ style="font-weight: bold;">-f J</span> will select <span
+ style="font-weight: bold;">JPEG</span> format output.<span
+ style="font-weight: bold;"> </span><br>
+ <br>
+ <a name="q"></a><span style="font-weight: bold;"></span> <span
+ style="font-weight: bold;">-q</span> JPEG raster files use lossy
+ compression, and the <span style="font-weight: bold;">-q</span>
+ parameter controls how much compression is used in creating a JPEG
+ output file. The value can be between 1 and 100, with 1 being the
+ lowest quality and highest compression, and 100 being the highest
+ quality and lowest compression. The default value is 80.<br>
+ <br>
+ <a name="a"></a><span style="font-weight: bold;"></span> Normally
+ colorspaces that have more than 4 channels will be read and written
+ as multichannel TIFF files. These are not handled well by all
+ applications, so the <span style="font-weight: bold;">-a</span>
+ option causes extra channels above 4 to be stored as alpha planes,
+ providing more flexibility in using such files.<br>
+ <br>
+ <a name="I"></a>The <span style="font-weight: bold;">-I</span> flag
+ causes any mismatch between the color spaces of the image files and
+ each profile in the sequence to be ignored. The results might be
+ unpredictable unless you know exactly what you are doing.<br>
+ <br>
+ <a name="D"></a>The <span style="font-weight: bold;">-D</span> flag
+ stops the description tag being set or appended to by cctiff.<br>
+ <br>
+ <small><a name="e"></a></small><small>The <span style="font-weight:
+ bold;">-e profile.[icm | tiff | jpg]</span> option allows an ICC
+ profile to be embedded in the </small>destination TIFF or JPEG
+ file. The profile may either be an <small>ICC file or a TIFF or
+ JPEG file with embedded profile.</small><br>
+ <br>
+ Following these global options, you should specify the chain of
+ profiles and calibrations you want to apply. Each link of the chain
+ consists of the (optional) intent to be used for device profiles and
+ the filename of the profile, or the optional direction to be used
+ for the calibration and the filename of the calibration. The first
+ profile or calibrations input colorspace must be compatible with the
+ input TIFF file, and each profile or calibration output space must
+ be compatible with the next profile or calibrations input space. An
+ error will result if this is not the case.<br>
+ <br>
+ <div style="margin-left: 40px;"><a name="i"></a>The <span
+ style="font-weight: bold;">-i</span> parameters selects the
+ intent for the following device profile. Normally the same intent
+ should be used for all device profiles, but other combinations
+ allow special uses such as mixed proofing workflows.<br>
+ <br>
+ <a name="o"></a>The <span style="font-weight: bold;">-o</span>
+ parameter changes the order the profiles tags are searched in. A
+ profile is allowed to contain more than the minimum number of
+ elements or table needed to describe a certain transform, and may
+ contain redundant descriptions. &nbsp;By default, lut based table
+ information will be used first if present, followed by
+ matrix/shaper information, and only using monochrome information
+ if it is all that is present. <b>-o r</b> reverses this order. <br>
+ <br>
+ <a name="p1"></a>The file that will be the source of the ICC
+ profile. This can be either an ICC profile or a TIFF or JPEG file
+ that contains an embedded profile. Typically the first profile in
+ the chain might be taken from an embedded profile from the source
+ TIFF or JPEG file.<br>
+ <br>
+ <a name="d"></a>The <span style="font-weight: bold;">-d</span>
+ parameters selects the direction for the following calibration.
+ The default direction is the normal forward calibration, but if
+ -db is used, then a backwards (inverse) calibration will be
+ applied.<br>
+ <br>
+ <a name="p2"></a>The file that will be the source calibration.
+ This will be an Argyll <a href="File_Formats.html#.cal">.cal</a>
+ format file.<span style="font-weight: bold;"></span><br>
+ </div>
+ <br>
+ <a name="p3"></a>The second last argument should be the name of the
+ source TIFF or JPEG file that is to be processed.<br>
+ <br>
+ <a name="p4"></a>The last argument should be the name of the
+ destination TIFF or JPEG file to hold the results.<br>
+ <br>
+ <span style="font-weight: bold;">cctiff</span> uses very fast
+ integer conversion routines to process the raster. Both 8 and 16 bit
+ per component files can be handled, and up to 8 color channels (The
+ limit can be lifted to 15 re-compiling). JPEG files with no more
+ than 8 bit per component can be handled.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/ccxxmake.html b/doc/ccxxmake.html
new file mode 100644
index 0000000..c4d8059
--- /dev/null
+++ b/doc/ccxxmake.html
@@ -0,0 +1,954 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>ccxxmake</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/ccxxmake</b></h2>
+ <h3>Summary</h3>
+ For Colorimeters that rely on a calibration matrix, <span
+ style="font-weight: bold;">ccxxmake</span> allows creation of a
+ correction matrix file (<a href="File_Formats.html#.ccmx">ccmx</a>)
+ for a particular <span style="font-weight: bold;">Colorimeter &amp;
+ Display</span> combination, by making use a reference <span
+ style="font-weight: bold;">Spectrometer</span> or Colorimeter
+ instrument. This can then be used to improve the accuracy of
+ subsequent measurements with that Colorimeter on that Display by
+ using it with the <a href="dispcal.html#X">dispcal</a>, <a
+ href="dispread.html#X">dispread</a> and <a href="spotread.html#X">spotread</a>
+ -X option. A ccmx file can also be <a href="oeminst.html">installed</a>,
+ and will then appear in the available display type selection (<b>-y</b>
+ option). See <a href="WideGamutColmters.html">Wide Gamut Displays
+ and Colorimeters</a> for more information on why this may be
+ useful. [ <span style="font-weight: bold;">Note</span> that to make
+ use of a <u>colorimeter</u> as a CCMX reference, you will have to
+ provide two .ti3 files rather than using interactive measurement-
+ see <a href="#f"><span style="font-weight: bold;">-f</span></a>. ]<br>
+ <br>
+ For Colorimeters that have sensor spectral sensitivity calibration
+ information built into them&nbsp; (ie. the X-Rite <span
+ style="font-weight: bold;">i1d3</span>, and<span
+ style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
+ DataColor <span style="font-weight: bold;">Spyder4</span>), <span
+ style="font-weight: bold;">ccxxmake</span> allows a creation of a
+ calibration spectral sample (<a href="File_Formats.html#.ccss">ccss</a>)
+ for a particular <span style="font-weight: bold;">Display</span>,
+ by making use a reference <span style="font-weight: bold;">Spectrometer</span>
+ instrument. This can then be used to improve the accuracy of
+ subsequent measurements on that Display using such Colorimeters, by
+ using it with the <a href="dispcal.html#X">dispcal</a>, <a
+ href="dispread.html#X">dispread</a> and <a href="spotread.html#X">spotread</a>
+ -X option, or it can be <a
+ href="file:///D:/src/argyll/doc/oeminst.html">installed</a>, and
+ will then appear in the available display type selection (<b>-y</b>
+ option).<br>
+ <br>
+ The instrument manufacturer may supply spectral sample files (see <a
+ href="oeminst.html">oeminst</a>).<br>
+ <br>
+ There is a <a href="ccmxs.html">list of contributed</a> <span
+ style="font-weight: bold;">ccmx</span> (Colorimeter Correction
+ Matrix) files.<br>
+ <h3>Usage Summary</h3>
+ <small style="font-family: monospace;">ccxxmake [-options]
+ correction.ccmx<br>
+ </small><small style="font-family: monospace;">&nbsp;<a href="#v">-v</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; Verbose mode</small><br>
+ &nbsp; <a href="#S">-S</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Create
+CCSS
+rather
+
+
+
+
+
+
+
+
+
+
+
+
+
+ than CCMX<br>
+ &nbsp; <a href="#f">-f file1.ti3[,file2.ti3]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Create
+from
+one
+or
+two
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .ti3 files rather than measure.<br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><font
+ style="font-family: monospace;" size="-1"><a href="#display">-display
+
+
+
+
+
+
+
+
+
+
+
+
+
+ displayname</a>&nbsp; [X11 only] Choose X11 display name</font><br
+ style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1"></font><font
+ style="font-family: monospace;" size="-1">&nbsp;<a href="#dnm">-d
+ n[,m]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ [X11 only] Choose the display from the following list (default 1),</font><br
+ style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+and
+optionally
+choose
+a
+different
+display
+m
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for VideoLUT access.</font><br style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;<a href="#d">-d
+
+
+
+
+
+
+
+
+
+
+
+
+
+ n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Choose
+the
+display
+from
+the
+following
+list
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (default 1)</font><br>
+ <span style="font-family: monospace;">&nbsp;<a href="#dweb">-dweb[:port]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display via a web server at port (default 8080)</span><br
+ style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;</font><font
+ style="font-family: monospace;" size="-1"><a href="#p">-p</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use telephoto mode (ie. for a projector) (if available)</font><br
+ style="font-family: monospace;">
+ &nbsp; <font size="-1"><span style="font-family: monospace;"><a
+ href="#y">-y X</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display type - instrument specific list to choose from.</span></font><font
+ style="font-family: monospace;" size="-1"> (CCMX)</font><br
+ style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;<a href="#P">-P
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ho,vo,ss[,vs]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Position test
+ window and scale it</font><br style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ho,vi:
+0.0
+=
+left/top,
+0.5
+=
+center,
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0 = right/bottom etc.</font><br style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ss:
+0.5
+=
+half,
+1.0
+=
+normal,
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.0 = double etc.</font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+ ss,vs: = optional horizontal, vertical scale.</span></font><br
+ style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;</font><font
+ style="font-family: monospace;" size="-1"><a href="#F">-F</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fill whole screen with black background</font><br
+ style="font-family: monospace;">
+ <small style="font-family: monospace;">&nbsp;<span
+ style="text-decoration: underline;"></span><a href="#n">-n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+[X11
+only]
+Don't
+set
+override
+redirect
+on
+
+
+
+
+
+
+
+
+
+
+
+
+
+ test window<br>
+ </small><font style="font-family: monospace;" size="-1">&nbsp;<a
+ href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable initial calibration of instrument</font><small
+ style="font-family: monospace;"> if possible<br>
+ </small><span style="font-family: monospace;">&nbsp;</span><font
+ style="font-family: monospace;" size="-1"><a href="#H">-H</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use high resolution spectrum mode (if available)</font><font
+ style="font-family: monospace;" size="-1"></font><br
+ style="font-family: monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;<a href="#C">-C
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "command"</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Invoke shell "command" each time a color is set<br>
+ </font><small style="font-family: monospace;">&nbsp;<a href="#o">-o
+ <i>observ</i></a>&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Choose CIE Observer for CCMX spectral
+ data:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 1931_2 </small><small
+ style="font-family: monospace;"> (def.)</small><small
+ style="font-family: monospace;">, 1964_10, S&amp;B 1955_2, shaw,
+ J&amp;V 1978_2<br>
+ </small><font style="font-family: monospace;" size="-1">&nbsp;<a
+ href="#s">-s steps</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+default
+patch
+sequence
+
+
+
+
+
+
+
+
+
+
+
+
+
+ combination steps (default 3)</font><br style="font-family:
+ monospace;">
+ <font style="font-family: monospace;" size="-1">&nbsp;<a href="#W">-W
+
+
+
+
+
+
+
+
+
+
+
+
+
+ n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+serial
+port
+flow
+control:
+n
+=
+
+
+
+
+
+
+
+
+
+
+
+
+
+ none, h = HW, x = Xon/Xoff</font><br style="font-family:
+ monospace;">
+ <small style="font-family: monospace;">&nbsp;<a href="#D">-D [level]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print
+ debug diagnostics to stderr<br>
+ </small><small style="font-family: monospace;">&nbsp;<a
+ href="ccxxmake.html#E">-E "description"</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+the
+default
+overall
+
+
+
+
+
+
+
+
+
+
+
+
+
+ escription</small><br>
+ <small style="font-family: monospace;">&nbsp;<a href="#I">-I
+ "displayname"</a> &nbsp;&nbsp;&nbsp;&nbsp; </small><span
+ style="font-family: monospace;">Set display make and model
+ description</span><small style="font-family: monospace;"><br>
+ &nbsp;</small><small style="font-family: monospace;"><a href="#T">-T
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "displaytech"</a> &nbsp;&nbsp;&nbsp;&nbsp; </small><span
+ style="font-family: monospace;">Set display technology description</span>
+ (ie. CRT, LCD etc.)<small style="font-family: monospace;"></small><br>
+ <tt>&nbsp;<a href="#U">-U c</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ Set UI selection character(s)</tt><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#Yrn">-<font size="-1">Y</font>
+ r|n</a><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+ &nbsp;&nbsp;&nbsp;&nbsp; Override refresh, non-refresh display
+ mode</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#YA">-<font size="-1">Y</font>A</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Use non-adaptive integration time mode
+ (if available).</span></font><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><font
+ style="font-family: monospace;" size="-1"><a href="#file1"><span
+ style="font-style: italic;">correction.ccmx</span></a> |&nbsp;<a
+ href="#file2"></a></font><font style="font-family: monospace;"
+ size="-1"><a href="ccxxmake.html#file2">calibration.ccss</a></font><font
+ style="font-family: monospace;" size="-1"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File to save result to.</font><br>
+ <h3>Usage Details and Discussion</h3>
+ <a name="v"></a>The <b>-v</b> flag causes extra information to be
+ printed out during chartread operation.<br>
+ <br>
+ <a name="S"></a><span style="font-weight: bold;">-S</span> By
+ default a Colorimeter Correction Matrix (<span style="font-weight:
+ bold;">CCMX</span>) will be created from both <span
+ style="font-weight: bold;">Colorimeter</span> and <span
+ style="font-weight: bold;">Spectrometer</span> readings, which
+ allows correction for errors with a particular Colorimeter and
+ Display combination. If the <span style="font-weight: bold;">-S</span>
+ flag is used, then instead a Colorimeter Calibration Spectral Set (<span
+ style="font-weight: bold;">CCSS</span>) file is created from just
+ the <span style="font-weight: bold;">Spectrometer</span> readings,
+ that allows calibrating any suitable Colorimeter to the Display.<br>
+ <br>
+ <a name="f"></a><span style="font-weight: bold;">-f <span
+ style="font-style: italic;">file1.ti3[,file2.ti3]</span></span>
+ By <span style="text-decoration: underline;">default</span> <span
+ style="font-weight: bold;">ccxxmake</span> creates a <span
+ style="font-weight: bold;">CCMX</span> file by displaying test
+ patches on the screen, and then prompting you to measure them
+ interactively with the two instruments. An alternative is to create
+ a small number of test values using <span style="font-weight:
+ bold;">targen</span> suitable for display profiling (or use the <span
+ style="font-weight: bold;">ref/ccxx.ti1</span> file provided with
+ ArgyllCMS), and then measure them with the two instruments using <span
+ style="font-weight: bold;">dispread</span> to create a reference
+ and target .ti3 files, and then provide the two files as arguments
+ to <span style="font-weight: bold;">ccxxmake -f</span>. Normally
+ the reference file will be created using a spectral instrument and
+ you will want to use the <span style="font-weight: bold;">-s</span>
+ flag with dispread for this. If you want to use a colorimeter as a
+ reference instrument, then make sure that it is the first file
+ provided to the ccxxmake <span style="font-weight: bold;">-f</span>
+ option. The filenames should be concatenated with a <span
+ style="font-weight: bold;">","</span> separator without spaces.
+ You will also have to supply a display name using the <span
+ style="font-weight: bold;">-I</span> option and/or technology
+ description using <span style="font-weight: bold;">-T</span>.<br>
+ When creating a <span style="font-weight: bold;">CCSS</span> file,
+ only spectral readings from the display measured with the reference
+ instrument are needed, and a single <span style="font-weight:
+ bold;">.ti3</span> file should be provided.<br>
+ <br>
+ <a name="display"></a>When running on a UNIX based system that used
+ the X11 Windowing System, <b>ccxxmake</b> will by default use the
+ $DISPLAY environment variable to determine which display and screen
+ to read from. This can be overridden by supplying an X11 display
+ name to the <span style="font-weight: bold;">-display</span>
+ option. Note that if Xinerama is active, you can't select the screen
+ using $DISPLAY or -display, you have to select it using the <span
+ style="font-weight: bold;">-d</span> parameter.<br>
+ <br>
+ <a name="d"></a> By default the main display will be the location of
+ the test window. If the system has more than one display or screen,
+ an alternate display/screen can be selected with the <span
+ style="font-weight: bold;">-d</span> parameter. If you invoke <b>ccxxmake</b>
+ so as to display the usage information (i.e. "dispcal -?" or
+ "dispcal --"), then the discovered displays/screens will be listed.
+ Multiple displays may not be listed, if they appear as a single
+ display to the operating system (ie. the multi-display support is
+ hidden in the video card driver). On UNIX based system that used the
+ X11 Windowing System, the <span style="font-weight: bold;">-d</span>
+ parameter will override the screen specified by the $DISPLAY or
+ parameter.<br>
+ <br>
+ <a name="dnm"></a>Because of the difficulty cause by TwinView and
+ MergedFB in X11 based systems, you can optionally specify a separate
+ display number after the display that is going to be used to present
+ test patches, for accessing the VideoLUT hardware. This must be
+ specified as a single string, e.g. <span style="font-weight: bold;">-d
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1,2</span> . Some experimentation may be needed using <a
+ href="dispwin.html">dispwin</a> on such systems, to discover what
+ screen has access to the VideoLUT hardware, and which screens the
+ test patches appear on.<br>
+ <br>
+ <span style="font-weight: bold;"><a name="dweb"></a>-dweb</span> or
+ <span style="font-weight: bold;">-dweb:port</span> starts a
+ standalone web server on your machine, which then allows a local or
+ remote web browser to display the the color test patches. By default
+ port <span style="font-weight: bold;">8080</span> is used, but this
+ can be overridden by appending a <span style="font-weight: bold;">:</span>
+ and the port number i.e. <span style="font-weight: bold;">-dweb:8001</span>.
+ The URL will be <span style="font-weight: bold;">http://</span>
+ then name of the machine or its I.P. address followed by a colon and
+ the port number - e.g something like <span style="font-weight:
+ bold;">http://192.168.0.1:8080</span>. If you use the verbose
+ option (<span style="font-weight: bold;">-v</span>) then a likely
+ URL will be printed once the server is started, or you could run <span
+ style="font-weight: bold;">ipconfig</span> (MSWin) or <span
+ style="font-weight: bold;">/sbin/ifconfig</span> (Linux or OS X)
+ and identify an internet address for your machine that way.<br>
+ <br>
+ <a name="p"></a>The <span style="font-weight: bold;">-p</span> flag
+ allows measuring in telephoto mode, using instruments that support
+ this mode, e.g. the ColorMunki. Telephoto mode is one for taking
+ emissive measurements from a distance (ie. telespectometer,
+ tele-colorimeter) mode, and typically would be used for measuring
+ projector type displays. If a device does not support a specific
+ telephoto mode, then the normal emissive mode may be suitable for
+ measuring projectors.<br>
+ <br>
+ <a name="y"></a> The <span style="font-weight: bold;">-y</span>
+ flag allows setting the Display Type used as a base for color
+ correction matrix CCMX creation. Only base calibration display types
+ will be listed. The selection typically determines two aspects of of
+ the instrument operation: <span style="font-weight: bold;">1)</span>
+ It may set the measuring mode to suite <a
+ href="http://en.wikipedia.org/wiki/Comparison_of_display_technology"><span
+ style="font-weight: bold;">refresh</span> or <span
+ style="font-weight: bold;">non-refresh</span> displays</a>.
+ Typically only LCD (Liquid Crystal) displays have a non-refresh
+ nature. <span style="font-weight: bold;">2)</span> It may select an
+ instrument internal calibration matrix suitable for a particular
+ display type. The selections available depends on the type and model
+ of instrument, and a list of the options for the discovered
+ instruments will be shown in the <a href="ArgyllDoc.html#CmdLine">usage</a>
+ information. For more details on what particular instruments support
+ and how this works, see <a href="instruments.html">Operation of
+ particular instruments</a>. Any CCMX created will work on top of
+ the selected Display Type, so to be valid, the same Display Type
+ must be selected whenever the CCMX is used with this instrument.
+ Installed CCMX files will automatically select the appropriate base
+ type.<br>
+ <br>
+ <a name="P"></a> The <span style="font-weight: bold;">-P</span>
+ parameter allows you to position and size the test patch window. By
+ default it is places in the center of the screen, and sized
+ appropriately for the type of instrument. The <span
+ style="font-weight: bold;">ho</span> and <span
+ style="font-weight: bold;">vo</span> values govern the horizontal
+ and vertical offset respectively. A value of 0.0 positions the
+ window to the far left or top of the screen, a value of 0.5
+ positions it in the center of the screen (the default), and 1.0
+ positions it to the far right or bottom of the screen. If three
+ parameters are provided, then the <span style="font-weight: bold;">ss</span>
+ parameter is a scale factor for the test window size. A value of 0.5
+ for instance, would produce a half sized window. A value of 2.0 will
+ produce a double size window. If four parameters are provided, then
+ the last two set independent horizontal and vertical scaling
+ factors. Note that the ho,vo,ss or ho,vo,hs,vs numbers must be
+ specified as a single string (no space between the numbers and the
+ comma). For example, to create a double sized test window at the top
+ right of the screen, use <span style="font-weight: bold;">-P 1,0,2</span>
+ . To create a window twice as wide as high: <span
+ style="font-weight: bold;">-P 1,0,2,1</span>.<br>
+ <br>
+ <a name="F"></a> The <span style="font-weight: bold;">-F</span>
+ flag causes the while screen behind the test window to be masked
+ with black. This can aid black accuracy when measuring CRT displays
+ or projectors.<br>
+ <br>
+ <a name="n"></a><span style="font-weight: bold;">-n</span> When
+ running on a UNIX based system that used the X11 Windowing System, <b>dispcal</b>
+ normally selects the override redirect so that the test window will
+ appear above any other windows on the display. On some systems this
+ can interfere with window manager operation, and the <b>-n</b>
+ option turns this behaviour off.<br>
+ <br>
+ <a name="N"></a><span style="font-weight: bold;">-N</span> Any
+ instrument that requires regular calibration will ask for
+ calibration on initial start-up. Sometimes this can be awkward if
+ the instrument is being mounted in some sort of measuring jig, or
+ annoying if several sets of readings are being taken in quick
+ succession. The -<span style="font-weight: bold;">N</span>
+ suppresses this initial calibration if a valid and not timed out
+ previous calibration is recorded in the instrument or on the host
+ computer. It is advisable to only use this option on the second and
+ subsequent measurements in a single session.<br>
+ <br>
+ <a name="L"></a> The -<span style="font-weight: bold;">H</span>
+ option on high resolution spectral mode, if the instrument supports
+ it, such as the Eye-One Pro. See <a href="instruments.html">Operation
+
+
+
+
+
+
+
+
+
+
+
+
+ of particular instruments</a> for more details. This may give
+ better accuracy for display measurements.<br>
+ <br>
+ <a name="C"></a> The -<span style="font-weight: bold;">C</span> <span
+ style="font-weight: bold;">"command" </span>option allows a
+ method of relaying each test value to some other display than that
+ on the system running dispcal (for instance, a photo frame, PDA
+ screen etc.), by causing the given command to be invoked to the
+ shell, with six arguments. The first three arguments are the RGB
+ test color as integers in the range 0 to 255, the second three
+ parameters are the RGB test color as floating point numbers in the
+ range 0.0 to 1.0. The script or tool should relay the given color to
+ the screen in some manner (e.g. by generating a raster file of the
+ given color and sending it to the display being profiled), before
+ returning. Note that a test window will also be created on the
+ system running dispread.<br>
+ <br>
+ <a name="o"></a> (CCMX creation) The <b>-o</b> flag allows
+ specifying a tristimulus observer, and is used to compute
+ tristimulus values from spectral readings.&nbsp; The following
+ choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer. The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ <a name="s"></a>The <b>-s steps</b><span style="font-weight: bold;"></span>
+ parameter overrides the default number of test patch combination
+ steps used in measuring a colorimeter &amp; display combination.<span
+ style="font-weight: bold;"></span><span style="font-weight: bold;"></span><span
+ style="font-weight: bold;"></span>&nbsp; The steps are those out
+ of every combination of R,G &amp; B values of the given number of
+ steps that have at least one colorant at 100%. So 2 steps gives 7
+ test patches, 3 gives 19, 4 gives 37, 5 gives 61, 6 gives 91 etc.
+ Note that typically this won't make much difference to the resulting
+ calibration, since it depends primarily on the underlying spectral
+ characteristics of the display.<br>
+ <br>
+ <a name="W"></a>The <b>-W</b> <span style="font-weight: bold;">n|h|x</span>
+ parameter overrides the default serial communications flow control
+ setting. The value <span style="font-weight: bold;">n</span> turns
+ all flow control off, <span style="font-weight: bold;">h</span>
+ sets hardware handshaking, and <span style="font-weight: bold;">x</span>
+ sets Xon/Xoff handshaking. This commend may be useful in workaround
+ serial communications issues with some systems and cables. <br>
+ <br>
+ <a name="D"></a>The <b>-D</b> flag causes communications and other
+ instrument diagnostics to be printed to stdout. A level can be set
+ between 1 .. 9, that may give progressively more verbose
+ information, depending on the instrument. This can be useful in
+ tracking down why an instrument can't connect.<br>
+ <br>
+ <a name="E"></a>The <b>-E</b> parameter allows overriding the <span
+ style="font-weight: bold;">ccmx/ccss</span> files overall
+ description tag. Normally this is not necessary. With most command
+ line shells, it will be necessary to enclose the parameter with
+ double quotes, so that spaces and other special characters are
+ included in the parameter, and not mistaken for the start of another
+ flag, or as a final command line parameter. <br>
+ <br>
+ <a name="I"></a>The <b>-I</b> parameter allows setting of the
+ display description string in the resulting <span
+ style="font-weight: bold;">ccmx/ccss</span> file. Since the
+ default display description is probably very generic, it is <span
+ style="font-weight: bold;">highly recommended</span> that a
+ description of the make and model of the display be provided here,
+ or set a display technology description using <span
+ style="font-weight: bold;">-T</span> (see below). The default or
+ given display description will be printed before the menu. With most
+ command line shells, it will be necessary to enclose the parameter
+ with double quotes, so that spaces and other special characters are
+ included in the parameter, and not mistaken for the start of another
+ flag, or as a final command line parameters.<br>
+ <br>
+ <a name="T"></a>The <b>-T</b> parameter allows setting of the
+ display technology description string in the resulting <span
+ style="font-weight: bold;">ccmx/ccss</span> file. The
+ applicability of the calibration mainly depends on the technology
+ type of the display, so a description of the technology (ie. "CRT",
+ "LCD", "LCD + backlight type + LCD type",&nbsp; etc.) is <span
+ style="font-weight: bold;">highly recommended</span>, because it
+ can make the calibration more widely usable. With most command line
+ shells, it will be necessary to enclose the parameter with double
+ quotes, so that spaces and other special characters are included in
+ the parameter, and not mistaken for the start of another flag, or as
+ a final command line parameters.<br>
+ <br>
+ <a name="U"></a>The <b>-U</b> parameter allows setting of the user
+ interface selection character this display type can be selected by,
+ if installed. This character will only be used if there is no clash
+ with any preceding selections. Characters in the range 0-9, A-Z a-z
+ can be used.<br>
+ <br>
+ <a name="Yrn"></a>The -<span style="font-weight: bold;">Y r </span>and
+
+
+
+
+
+
+
+
+ <b>-Y n</b> options overrides the refresh display mode set by the <a
+ href="file:///D:/src/argyll/doc/spotread.html#y">-y display type
+ selection</a>, with <b>-Y</b><span style="font-weight: bold;"> r</span>
+ forcing refresh display mode, and <b>-Y n</b> forcing a non-refresh
+ display mode. Not all instruments support a display measurement
+ refresh mode, or the ability to override the mode set by the display
+ type selection.<br>
+ <br>
+ <a name="YA"></a> The -<span style="font-weight: bold;">Y A</span>
+ option uses a non-adaptive integration time emission measurement
+ mode, if the instrument supports it, such as the Eye-One Pro or
+ ColorMunki. By default an adaptive integration time measurement mode
+ will be used for emission measurements, but some instruments support
+ a fixed integration time mode that can be used with display devices.
+ This may give increased consistency and faster measurement times,
+ but may also give less accurate low level readings.<br>
+ <br>
+ <a name="file1"></a>The <span style="font-weight: bold; font-style:
+ italic;">correction.ccmx</span> is the name of the file to save
+ the resulting <a href="File_Formats.html#.ccmx">Colorimeter
+ Correction Matrix</a> to. It is best to give it a short but
+ informative name that includes the Colorimeter model and the display
+ make and model. By convention it should have a <span
+ style="font-weight: bold;">.ccmx</span> file extension.<br>
+ <br>
+ <a name="file2"></a>The <span style="font-weight: bold; font-style:
+ italic;">correction.ccss</span> is the name of the file to save
+ the resulting <a href="File_Formats.html#.ccss">Colorimeter
+ Calibration Spectral Samples</a> to. It is best to give it a short
+ but informative name that includes the display technology or model.
+ By convention it should have a <span style="font-weight: bold;">.ccss</span>
+ file extension.<br>
+ <br>
+ If you are going to use the same CCMX or CCSS file all the time,
+ then you may want to set the <a href="Environment.html">ARGYLL_COLMTER_CAL_SPEC_SET</a>
+ environment variable.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h3>Instrument Communications:</h3>
+ Unlike the other measurement utilities,<span style="font-weight:
+ bold;"> ccxxmake</span> doesn't connect to the instrument until it
+ is about to make a measurement. This allows for the possibility of
+ using a different instrument for each measurement.<br>
+ <br>
+ It will display a menu:<span style="font-style: italic;"></span><br>
+ <br>
+ Press 1 .. 4:<br>
+ 1) Select an instrument, Currently 1 'usb:/bus4/dev2/ (GretagMacbeth
+ i1 Pro)'<br>
+ 2) Measure test patches with current instrument<br>
+ 3) [ Compute Colorimeter Correction Matrix &amp; save it ]<br>
+ 4) Exit<br>
+ <br>
+ For creating a CCMX there are two measurements to be made, after
+ which the correction matrix can be computed and saved. Before each
+ measurement, the instrument may need calibrating. For creating a
+ CCSS a single measurement is needed.<br>
+ <br>
+ &nbsp;A spectral measurement using a spectral instrument is always
+ needed.<br>
+ <br>
+ &nbsp;A measurement using the Colorimeter that the correction matrix
+ is being created for is needed in the case of creating a CCMX, but <span
+ style="font-weight: bold;">not</span> needed when creating a CCSS.<br>
+ <br>
+ There will be a message before the menu indicating which of the
+ measurements has been completed.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h4>Display Setup:</h4>
+ Because ccmx/ccss is measuring spectral matching, the exact levels
+ of each channel is not important, so the display settings or
+ calibration state shouldn't make any difference to the result, as
+ long as it is the same for the readings of both instruments.
+ Similarly, the number and variety of test patches shouldn't make a
+ huge difference, as long as there is at least Red, Green, Blue and
+ White test patches.<br>
+ &nbsp;<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/chartread.html b/doc/chartread.html
new file mode 100644
index 0000000..18d0144
--- /dev/null
+++ b/doc/chartread.html
@@ -0,0 +1,499 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>chartread</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/chartread</b></h2>
+ <h3>Summary</h3>
+ Read a printer test chart using an instrument, to create a&nbsp;<a
+ href="File_Formats.html#.ti3">.ti3</a> data file. The type of
+ instrument is determined by the communication port selected.<br>
+ <br>
+ <span style="font-weight: bold;">chartread</span> can also be used
+ to read transmission values, and to read display values manually.<br>
+ <h3>Usage</h3>
+ <small><span style="font-family: monospace;">chartread [-options]
+ outfile</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Verbose
+
+
+ mode</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c listno</a><span
+ style="font-family: monospace;"> &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; Set communication port from the following
+ list (default 1)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#t">-t</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+Use
+transmission
+
+
+ measurement mode<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#d">-d</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+display
+measurement
+
+
+ mode (white Y relative results)</span></small><small><span
+ style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;"><br>
+ &nbsp;</span></small><font size="-1"><span style="font-family:
+ monospace;"><a href="#y">-y X</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Display type - instrument specific list to choose from.</span></font><br>
+ <small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#e">-e</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+emissive&nbsp;
+measurement
+
+
+ mode (absolute results)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Measure
+patch
+by
+
+
+ patch rather than strip</span></small><br>
+ <small><span style="font-family: monospace;"></span>&nbsp; <a
+ style="font-family: monospace;" href="#x">-x [lx]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Take
+external
+values,
+
+
+ either L*a*b* (-xl) or XYZ (-xx).</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#n">-n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Don't
+
+
+ save spectral information (default saves spectral)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#l">-l</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; Save CIE as D50 L*a*b* rather than XYZ<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#L">-L</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; Save CIE as D50 L*a*b* as well as XYZ</span></small><br>
+ <small><span style="font-family: monospace;">&nbsp;<a href="#r">-r</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Resume
+reading
+partly
+
+
+ read chart<br>
+ &nbsp;<a href="#I">-I</a>
+ file.cal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override
+ calibration info from .ti2 in resulting .ti3<br>
+ &nbsp;</span></small><font size="-1"><span style="font-family:
+ monospace;"><a href="#F">-F filter</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Set filter configuration:<br>
+ &nbsp;
+ n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ None<br>
+ &nbsp;
+ p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Polarising filter<br>
+ &nbsp;
+ 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ D65<br>
+ &nbsp;
+ u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ U.V. Cut</span></font><small><span style="font-family:
+ monospace;"></span><span style="font-family: monospace;"></span></small><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#N">-N</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; Disable initial calibration of instrument unless
+ essential<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#B">-B</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; Disable auto bi-directional strip recognition</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#H">-H</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; Use high resolution spectrum mode (if available)<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span></font><font size="-1"><span
+ style="font-family: monospace;"><a href="#X1">-X file.ccmx</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ Apply Colorimeter Correction Matrix</span></font><br>
+ <span style="font-family: monospace;">&nbsp;<a href="#X2">-X
+ file.ccss</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+Colorimeter
+Calibration
+Spectral
+Samples
+
+
+
+ for calibration</span><br>
+ <small><span style="font-family: monospace;">&nbsp;</span><a style="
+ font-family: monospace;" href="#Q">-Q observ</a><span
+ style="font-family: monospace;">&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Choose CIE Observer for
+ spectral data or CCSS instrument:</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span></small><small><span
+ style="font-family: monospace;">1931_2 </span></small><small><span
+ style="font-family: monospace;"> (def.)</span></small><small><span
+ style="font-family: monospace;">, 1964_10, S&amp;B 1955_2, shaw,
+ J&amp;V 1978_2</span></small><small><span style="font-family:
+ monospace;"></span></small><font size="-1"><span
+ style="font-family: monospace;"></span></font><br>
+ <font size="-1"><span style="font-family: monospace;"> &nbsp;<a
+ href="#T">-T ratio</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Modify
+strip
+patch
+
+
+ consistency tolerance by ratio (if available)<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#S">-S</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Suppress
+wrong
+strip
+
+
+ &amp; unexpected value warnings</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#W">-W n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+
+
+ serial port flow control: n = none, h = HW, x = Xon/Xoff</span></font><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><small
+ style="font-family: monospace;">&nbsp;<a href="#D">-D [level]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print debug
+ diagnostics to stderr</small><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p1"><i>inoutfile</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ &nbsp;Base name for input[</span><a style="font-family:
+ monospace;" href="File_Formats.html#.ti2">.ti2</a><span
+ style="font-family: monospace;">]/output[</span><a
+ style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">] file</span></small> <br>
+ <h3>Usage Details</h3>
+ <a name="v"></a>The <b>-v</b> flag causes extra information to be
+ printed out during chartread operation.<br>
+ <br>
+ <a name="c"></a>Normally instruments are connected via a serial
+ communication port, and the port used should be selected by
+ supplying the correct parameter to the <b>-c</b> flag. If you
+ invoke <span style="font-weight: bold;">chartread</span> so as to
+ display the usage information (i.e. "chartread -?" or "chartread
+ --"), then the discovered serial ports will be listed on Windows and
+ Mac OSX systems.<br>
+ <br>
+ <a name="t"></a>If using an Xrite DTP41T, and printing onto
+ transparent or back lit media, use the <b>-t</b> flag to operate
+ the instrument in transparency mode. If using a Spectrolino or
+ Eye-One Pro (handheld), this triggers a fake transparency mode, that
+ uses a separate backlight (such as a light box). The&nbsp;
+ instrument will be used to calibrate the level of backlight, and use
+ this to compute the transparency of the test chart samples. Note
+ that for good transparency values, the backlight level needs to be
+ neither too bright not too dark, should ideally be incandescent
+ rather than fluorescent (since fluorescent lights often have big
+ dips in their spectrum), and ideally should be of uniform brightness
+ over the measurement area. If using the SpectroScanT, the <span
+ style="font-weight: bold;">-t</span> flag operates the instrument
+ in transparency mode, each reading being manually triggered.<br>
+ <br>
+ <a name="d"></a>The <span style="font-weight: bold;">-d</span> flag
+ allows measuring in display mode using instruments that support this
+ mode, with the brightness normalized to the white patch value in the
+ test chart. While the brightness values are then relative to the
+ white, the readings are otherwise absolute. This corresponds to the
+ raw ICC absolute readings created by <a href="dispread.html">dispread</a>,
+ and is the mode that should be used for creating a normal display
+ ICC profile using manual, spot by spot readings. This can be useful
+ if the display cannot be driven directly by the computer, but can be
+ made manually to display the test charts.<br>
+ <br>
+ <a name="y"></a>&nbsp; The <span style="font-weight: bold;">-y</span>
+ flag allows setting the Display Type. The selection typically
+ determines two aspects of of the instrument operation: <span
+ style="font-weight: bold;">1)</span> It may set the measuring mode
+ to suite <a
+ href="http://en.wikipedia.org/wiki/Comparison_of_display_technology"><span
+ style="font-weight: bold;">refresh</span> or <span
+ style="font-weight: bold;">non-refresh</span> displays</a>.
+ Typically only LCD (Liquid Crystal) displays have a non-refresh
+ nature. <span style="font-weight: bold;">2)</span> It may select an
+ instrument calibration matrix suitable for a particular display
+ type. The selections available depends on the type and model of
+ instrument, and a list of the options for the discovered instruments
+ will be shown in the <a href="ArgyllDoc.html#CmdLine">usage</a>
+ information. For more details on what particular instruments support
+ and how this works, see <a href="instruments.html">Operation of
+ particular instruments</a>. <b>3)</b> Any installed CCSS files
+ (if applicable), or CCMX files. These files are typically created
+ using <a href="ccxxmake.html">ccxxmake</a>, and installed using <a
+ href="oeminst.html">oeminst</a>. The default and Base Calibration
+ types will be indicated in the usage.<br>
+ <br>
+ <a name="e"></a> If using an instrument that supports an emissive
+ measurement mode (such as the Spectrolino), then the <span
+ style="font-weight: bold;">-e</span> flag enables this measurement
+ mode, and the values recorded will be absolute XYZ values. This can
+ be used for media such as backlit film, measuring it on a lightbox,
+ so as to capture the actual illumination characteristics of that
+ particular media. An adaptive integration time will be used in
+ devices that support it. <br>
+ <br>
+ <a name="p"></a> The <span style="font-weight: bold;">-p</span>
+ flag causes chartread to use a spot read mode for an instrument,
+ even if it is capable of faster chart reading modes such as strip
+ reading. This can be useful if strip measurement patch recognition
+ is not reliable for certain media.<br>
+ <br>
+ <a name="x"></a> The <span style="font-weight: bold;">-x</span>
+ flag causes chartread to expect values to be entered for each
+ reading, rather than using an instrument to do the
+ measurements.&nbsp; This mode is ideal if your instrument is not
+ supported by Argyll. Either XYZ or L*a*b* values can be entered,
+ depending on what option follows <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-l</span></span>, <span
+ style="font-weight: bold;">-lx</span> to specify XYZ values, or <span
+ style="font-weight: bold;">-ll</span> to specify L*a*b* values.
+ XYZ values are expected to be scaled to a maximum of 100. It is
+ possible to navigate about the test values being measured, so as to
+ do them in any order, as well as re-do values, in case of any
+ mistakes.<br>
+ <br>
+ <a name="n"></a> <span style="font-weight: bold;">-n</span> By
+ default spectral information as well as D50 standard observer XYZ
+ values will be recorded for each test patch, when such readings are
+ available from a device. The spectral readings allow for choosing a
+ non-standard viewing illuminant, a non-standard observer model, or
+ the use of the Fluorescent Paper Whitener Additive compensation when
+ creating the profile. If the spectral readings are not needed, then
+ prinread operation can be speeded up by specifying the <b>-n</b>
+ flag.<br>
+ <br>
+ <a name="l"></a> <span style="font-weight: bold;">-l</span> By
+ default D50 standard observer XYZ values will be recorded for each
+ test patch, but if the <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-l</span></span> flag is used, D50
+ L*a*b* values will be recorded instead.<br>
+ <br>
+ <a name="L"></a> <span style="font-weight: bold;">-L</span> By
+ default D50 standard observer XYZ values will be recorded for each
+ test patch, but if the <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-L</span></span> flag is used, XYZ <span
+ style="font-weight: bold;">and&nbsp;</span>D50 L*a*b* values will
+ be recorded.<br>
+ <br>
+ <a name="r"></a> <span style="font-weight: bold;">-r</span> By
+ default chartread reads the chart from scratch each time. When
+ reading a chart using a strip instrument or patch by patch you can
+ choose to finish chartread without reading all the patches, and
+ whatever patches have been read will be saved to the output .ti3
+ file. You can then <span style="text-decoration: underline;">resume</span>
+ reading the patches by using the <span style="font-weight: bold;">-r</span>
+ flag, in which case chartread will read the .ti3 file and set the
+ patches to those previously read values, allowing any unread patches
+ to then be read, or to re-read previously read patches.<br>
+ <br>
+ <a name="I"></a> <span style="font-weight: bold;">-I</span> <span
+ style="font-style: italic;">file.cal</span>&nbsp; Normally per
+ channel calibration curves are added to the .ti2 file using the <span
+ style="font-weight: bold;">printtarg -K</span> or <span
+ style="font-weight: bold;">-I</span> options, so that they will be
+ passed on to the .ti3 file by&nbsp; <span style="font-weight:
+ bold;">chartread</span>, so that <span style="font-weight: bold;">colprof</span>
+ is able to correctly compute total ink limits. Where the calibration
+ is being applied in a workflow with native calibration capability<small><span
+ style="font-family: monospace;"></span></small> though, it is
+ sometimes convenient to re-use a profile chart with different
+ calibration curves without going through the process of using <span
+ style="font-weight: bold;">printtarg</span> to re-create it. This
+ would mean though, that the calibration information and subsequent
+ ink limit calculations wouldn't be accurate. To overcome this and
+ allow such a scenario, the <span style="font-weight: bold;">chartread
+
+ -I</span> parameter allows overriding the .ti2 calibration curves
+ placed in the resulting .ti3 file with the actual calibration that
+ was used for that particular print.<br>
+ <br>
+ <a name="F"></a>The <b>-F</b> options allows configuring the
+ instrument to have a particular filter fitted to it. Some
+ instruments (i.e. the Gretag Spectrolino) allow the fitting of
+ various filters, such as a polarizing filter, D65 illuminant
+ simulation, or Ultra Violet Cut filter, and this option allows the
+ instrument to be configured appropriately.<br>
+ <br>
+ <a name="N"></a> <span style="font-weight: bold;">-N</span> Any
+ instrument that requires regular calibration will ask for
+ calibration on initial start-up. Sometimes this can be awkward if
+ the instrument is being mounted in some sort of measuring jig, or
+ annoying if several sets of readings are being taken in quick
+ succession. The -<span style="font-weight: bold;">N</span>
+ suppresses this initial calibration if a valid and not timed out
+ previous calibration is recorded in the instrument or on the host
+ computer. It is advisable to only use this option on the second and
+ subsequent measurements in a single session.<br>
+ <br>
+ <a name="B"></a> <span style="font-weight: bold;">-B</span> Some
+ strip instruments (i.e.. Eye-One Pro, Color Munki) when used with
+ Argyll will automatically recognize a strip when read in the reverse
+ direction by matching the patch readings against their expected
+ values. If the randomized patch layout has not been used, or the
+ expected values are not known accurately enough, this may cause
+ erroneous reverse recognition, so the <span style="font-weight:
+ bold;">-<span style="font-weight: bold;">B</span></span> flag
+ allows this to be turned off, forcing strips to only be read in the
+ forward direction.<br>
+ <br>
+ <a name="H"></a> The -<span style="font-weight: bold;">H</span>
+ option turns on high resolution spectral mode, if the instrument
+ supports it. See <a href="instruments.html">Operation of particular
+ instruments</a> for more details.<br>
+ <br>
+ <a name="X1"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccmx</span></span> option reads
+ a <a href="File_Formats.html#.ccmx">Colorimeter Correction Matrix</a>
+ from the given file, and applies it to the colorimeter instruments
+ readings. This can improve a colorimeters accuracy for a particular
+ type of display. A list of contributed <span style="font-weight:
+ bold;">ccmx</span> files is <a href="ccmxs.html">here</a>.<br>
+ <br>
+ <a name="X2"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccss</span></span> option reads
+ a <a href="File_Formats.html#.ccss">Colorimeter Calibration
+ Spectral Sample</a> from the given file, and uses it to set the
+ colorimeter instruments calibration. This will only work with
+ colorimeters that rely on sensor spectral sensitivity calibration
+ information (ie. the X-Rite <span style="font-weight: bold;">i1d3</span>,
+ or the DataColor <span style="font-weight: bold;">Spyder4</span>).This
+can
+improve
+a
+
+
+ colorimeters accuracy for a particular type of display.<br>
+ <br>
+ <a name="T"></a> The -<span style="font-weight: bold;">T ratio</span>
+ argument modifies the patch consistency tolerance threshold for some
+ strip reading instruments (ie. the Eye-One Pro). In recognizing
+ patches in a strip, an instrument may take multiple readings as the
+ strip is read, and then divide the readings up into each patch. It
+ may then check the consistency of the multiple readings
+ corresponding to each patch, and reject the measurement if they are
+ too inconsistent. For some media (ie. a coarser screens, fabric
+ etc.) the default tolerance may be unreasonably tight, so the <span
+ style="font-weight: bold;">-T ratio</span> argument can be used to
+ modify this criteria. To loosen the tolerance, use a number greater
+ than 1.0 (ie. 1.5, 2.0).<br>
+ <br>
+ <a name="Q"></a> The <b>-Q</b> flag allows specifying a tristimulus
+ observer for a colorimeter when using CCSS instrument calibration
+ capability. The following choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer. The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ <a name="S"></a>The <b>-S</b> flag causes the normal "wrong strip"
+ and "unexpected value" warnings to be suppressed. There may be a lot
+ of these warnings if the expected patch value in the .ti2 file is in
+ fact far from the values actually being measured. It is probably
+ advisable to also use the <span style="font-weight: bold;">-B</span>
+ flag if warnings are turned off, since many warnings indicate that
+ the expected values are not to be relied on. With warnings
+ suppressed, greater care must be taken to read the correct strip.<br>
+ <br>
+ <a name="W"></a>The <b>-W</b> <span style="font-weight: bold;">n|h|x</span>
+ parameter overrides the default serial communications flow control
+ setting. The value <span style="font-weight: bold;">n</span> turns
+ all flow control off, <span style="font-weight: bold;">h</span>
+ sets hardware handshaking, and <span style="font-weight: bold;">x</span>
+ sets Xon/Xoff handshaking. This commend may be useful in workaround
+ serial communications issues with some systems and cables. <br>
+ <br>
+ <a name="D"></a>The <b>-D</b> flag causes communications and other
+ instrument diagnostics to be printed to stdout. A level can be set
+ between 1 .. 9, that may give progressively more verbose
+ information, depending on the instrument. This can be useful in
+ tracking down why an instrument can't connect.<br>
+ <br>
+ <a name="p1"></a> The <i>inoutfile</i> parameters should be the
+ base name of the .ti2 file, and chartread will output an .ti3 that
+ has the same basename and the .ti3 extension. If the incoming .ti2
+ file contains per-channel calibration curves, these will be passed
+ through to the .ti3 so that accurate ink limits can be computed
+ during profiling.<br>
+ <br>
+ <hr style="width: 50%; height: 2px;">
+ <h3>Discussion</h3>
+ For information about the operation of different instruments, see <a
+ href="instruments.html">Operation of particular instruments</a>.<br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/cht_format.html b/doc/cht_format.html
new file mode 100644
index 0000000..1e02db1
--- /dev/null
+++ b/doc/cht_format.html
@@ -0,0 +1,576 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Scan Recognition Format File (.cht)</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2>Description of the .cht format</h2>
+[This is a rather inflexible format, that should really be replaced
+with a CGATS style file.]<br>
+<br>
+The <span style="font-weight: bold;">.cht</span> format file is used
+to hold the image recognition information that allows the <a
+ href="scanin.html">scanin</a> program to align the input image with
+the specified sample boxes.<br>
+<br>
+A raw <span style="font-weight: bold;">.cht</span> file can be
+produced by running <a href="scanin.html">scanin</a>
+with the <a href="scanin.html#g">-g</a> option, although this will
+then need
+cleaning up manually, using a text editor. The cleanup consists of
+deleting
+any unwanted reference lines from the XLIST and YLISTs, adding the the
+sample
+box references, and possibly adding the expected sample values.<br>
+<br>
+The <span style="font-weight: bold;">.cht</span> image recognition
+file is usually set up to recognized a scanned test chart that includes
+the edges of the chart itself, <span style="font-weight: bold;">not</span>
+a cropped version of the chart that excludes the edges of the chart
+itself. This is to allow <span style="font-weight: bold;">scanin</span>
+to be used with scans that have just be roughly cropped, without
+requiring that a scan be treated in detail with an application such as
+Adobe Photoshop.<br>
+<br>
+The keywords and associated data must be used in the following order: <b>BOXES</b>,
+<b>BOX_SHRINK</b>, <b>REF_ROTATION</b>, <b>XLIST</b>, <b>YLIST</b>
+and <b>EXPECTED</b>.<br>
+<br>
+The physical units used for boxes and edge lists are arbitrary units
+(i.e.
+pixels as generated by scanin -g, but could be mm, inches etc. if
+created
+&nbsp;some other way), the only requirement is that the sample box
+definitions need to agree with the X/YLIST definitions. Typically if a
+scanned chart is used to build the reference, the units will be pixels
+of the scanned chart.<br>
+<br>
+The <b>BOXES</b> keyword introduces the list of diagnostic and sample
+boxes.
+The integer following this keyword must be the total number of
+diagnostic
+and sample boxes, but <span style="font-weight: bold;">not</span>
+including any fiducual marks. The lines following the BOXES keyword must
+then
+contain
+the fiducial mark, diagnostic or sample box definitions. Each box
+definition line
+consists
+of 11 space separated parameters, and can generate a grid of sample or
+diagnostic
+boxes:<br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>kl lxs lxe lys lye w h xo yo xi yi</b><br>
+<br>
+with the following usage:<br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>kl</b> is a key letter.<br>
+<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">F</span>
+is used to define four fiducial mZarks that may be used for manual
+alignment of an image to the target. The four marks are nominally a
+top left mark, a top right mark, bottom right mark and a bottom left
+mark. The parameters are labeled as follows:<br>
+&nbsp;<b><br>
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </b><b>F _ _ x0 y0 x1 y1 x2 y2
+x3 y3<br>
+<br>
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </b>Where the first two
+parameters are not used, and a '_' character should be used as
+a place holder, and the follows the X and Y coordinates for the four
+fiducial marks.<span style="font-weight: bold;"></span><span
+ style="font-weight: bold;"></span> Typically fiducial marks are chosen
+to be at the corners of the overall bounding box, or at corner cross
+marks on the chart etc. Fiducial marks may be omitted, but in this case
+manual alignment cannot be used.<br>
+<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<b>D</b> is used for a diagnostic
+box which will show up in the diagnostic raster output, but is not used
+as
+a sample box.&nbsp; The label information can be arbitrary.<br>
+&nbsp;&nbsp; &nbsp;<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<b>X</b> is used for a sequence
+of boxes in which the X label comes first in the concatenated sample
+box label.<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<b>Y</b> is used for a sequence
+of boxes in which the Y label comes first in the concatenated sample
+box label.<br>
+<br>
+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Boxes are created incrementing in
+the X direction fastest, and the Y direction slowest.<br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>lxs</b> is the X axis starting label. This is
+generally a letter or number, and it will be incremented appropriately
+to reach <b>lxe</b><br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>lxe</b> is the X axis ending label. When the X
+label reaches this this value (inclusively), the iteration in the X
+direction will reset.<br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>lys</b> is the Y axis starting label. This is
+generally a letter or number, and it will be incremented appropriately
+to reach <b>lye</b><br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>lye</b> is the Y axis ending label. When the Y
+label reaches this this value (inclusively), the iteration through the
+boxes will end.<br>
+<br>
+&nbsp;&nbsp; &nbsp;The X &amp; Y labels will be concatenated to form
+the sample box label.<br>
+<br>
+&nbsp;&nbsp; &nbsp;A sample label that consists of the character '_' is
+treated as a null label (useful for an array that only iterates in one
+direction).<br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>w</b>,<b> h</b> are the width and height of each
+box in the array.<br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>xo</b>, <b>yo</b> are the origin of the top
+left
+of the array.<br>
+<br>
+&nbsp;&nbsp; &nbsp;<b>xi</b>, <b>yi</b> are the increments between
+each
+box in the array.<br>
+<br>
+A blank line should follow the last box definition line.<br>
+<br>
+The keyword <b>BOX_SHRINK</b> marks the definition of how much each
+sample
+box should be shrunk on each edge before sampling the pixel values.
+This
+allows the sample boxes to be defined at their edges, while allowing a
+safety
+margin for the pixels actually sampled. The units are the same
+arbitrary units
+used for the sample box definitions.<br>
+<br>
+A blank line should follow this keyword.<br>
+<br>
+The optional <b>REF_ROTATION</b> keyword indicates the rotation in
+radians
+clockwise of the reference image when the edge lists were generated.
+This
+amount of rotation is undone to the image before applying the sample
+box
+location information. The rotation is about the origin
+(the
+origin is assumed to be upper left corner). If omitted, the reference
+rotation
+is assumed to be 0.0<br>
+<br>
+A blank line should follow this keyword.<br>
+<br>
+The <b>XLIST</b> is a list of vertical edge reference "ticks", along
+the
+X axis. Ticks are just edge transitions, typically being each edge of
+the sample boxes, but should include edges of any features that have
+significant width and a length that is at least 50% of the available
+space. It is these edge ticks that are used to locate the reference
+cells position within the input raster. The integer after the keyword
+"XLIST" is the number of entries
+in
+the list. The first number in the column is the offset of the tick from
+the
+origin, the second number is used to improve the correlation by
+representing
+the strength of that "tick" relative to the strongest tick which will
+have
+a value 1.0. Strength is measured by the relative length of the edge.<br>
+<br>
+The third number represents the relative number of times this "tick" is
+crossed by lines in the other direction. A line is regarded as crossing
+if part of it is closer to the "tick" line that half the distance to
+the next tick line. The number is normalized so that the largest
+crossing count has a weight of
+1.0. This may be set to 1.0 if it is not known or easily computed.<br>
+<br>
+A blank line should follow the last <b>XLIST</b> edge definition.<br>
+<br>
+The <b>YLIST</b> is same format and details as the <b>XLIST</b>, used
+for
+horizontal edges.<br>
+<br>
+The <b>EXPECTED</b> keyword introduces an optional list of <span
+ style="text-decoration: underline;">approximate</span>
+expected
+sample
+box color values, allowing better identification of the possible
+rotation
+of a chart, particularly if it has no asymmetric patch shapes or
+locations
+in the chart. Following the keyword should either be <b>XYZ</b> or <b>LAB</b>,
+depending on the color space used to describe the reference values,
+then
+an integer indicating the number of entries in the list.<br>
+<br>
+Each following expected color entry consists of four values. The first
+is
+the sample box label, which should correspond to one of those defined
+by
+the <b>BOXES</b> entry above. It is an error if no corresponding box
+has
+been defined. The remaining three values are the <span
+ style="text-decoration: underline;">approximate</span> XYZ or
+L*a*b*
+color value expected for that sample box. The XYZ values are assumed to
+be
+scaled to a maximum Y value of 100. An expected color value doesn't
+have
+to be provided for every defined sample box, nor is it expected to be
+accurate - it just has to represent the approximate expected color.
+(Actual chart reference values are provided as a separate CGATS file to
+<a href="scanin.html"><span style="font-weight: bold;">scanin</span></a>).<br>
+<br>
+A blank line should follow the last <b>EXPECTED</b> box value.<br>
+<br>
+<br>
+<hr size="2" width="100%"><br>
+The following is an example .cht file, suitable for a typical Q60 IT8
+scan target.<br>
+<tt><br>
+<font size="-1"> BOXES 290<br>
+&nbsp; F _ _ _ _ 1 1&nbsp; 615.5 1.5&nbsp; 615 409<br>
+&nbsp; D ALL ALL _ _ 615 409 1 1 0 0<br>
+&nbsp; D MARK MARK _ _ 14 14 1 1 0 0<br>
+&nbsp; Y 01 22 A L 25.625 25.625 26.625 26.625 25.625 25.625<br>
+&nbsp; X GS00 GS23 _ _ 25.625 51.25 0.0 358.75 25.625 0.0<br>
+<br>
+BOX_SHRINK 3.0<br>
+<br>
+REF_ROTATION -0.002006<br>
+<br>
+XLIST 32<br>
+&nbsp; 1.799625 1.000000 0.312500<br>
+&nbsp; 27.064987 0.874039 0.750000<br>
+&nbsp; 52.592403 0.133439 0.687500<br>
+&nbsp; 78.196610 0.264191 0.687500<br>
+&nbsp; 104.117756 0.165427 0.937500<br>
+&nbsp; 129.377994 0.844432 0.937500<br>
+&nbsp; 155.144274 0.501218 0.875000<br>
+&nbsp; 180.839181 0.491428 0.937500<br>
+&nbsp; 206.359758 0.212384 0.937500<br>
+&nbsp; 232.038808 0.851851 0.937500<br>
+&nbsp; 257.854725 0.162956 0.625000<br>
+&nbsp; 283.552463 0.101243 0.812500<br>
+&nbsp; 300.534000 0.024750 0.812500<br>
+&nbsp; 309.507688 0.093829 1.000000<br>
+&nbsp; 334.711314 0.856821 1.000000<br>
+&nbsp; 360.428194 0.787677 1.000000<br>
+&nbsp; 385.849730 0.748130 0.937500<br>
+&nbsp; 386.650071 0.039487 0.687500<br>
+&nbsp; 394.630372 0.024725 0.687500<br>
+&nbsp; 411.835654 0.802501 0.750000<br>
+&nbsp; 414.017731 0.041974 0.937500<br>
+&nbsp; 437.133504 0.674062 0.937500<br>
+&nbsp; 437.975355 0.103714 1.000000<br>
+&nbsp; 462.938460 0.671643 1.000000<br>
+&nbsp; 463.880560 0.093836 0.937500<br>
+&nbsp; 488.517995 0.679022 1.000000<br>
+&nbsp; 514.338544 0.760511 1.000000<br>
+&nbsp; 540.037492 0.111108 0.625000<br>
+&nbsp; 565.856396 0.133330 0.562500<br>
+&nbsp; 591.114717 0.565475 0.562500<br>
+&nbsp; 603.447516 0.032097 0.312500<br>
+&nbsp; 615.984915 0.829608 0.250000<br>
+<br>
+YLIST 22<br>
+&nbsp; 2.477956 0.993407 0.142857<br>
+&nbsp; 12.988903 0.016393 0.190476<br>
+&nbsp; 14.739109 0.036082 0.190476<br>
+&nbsp; 26.746171 0.911487 0.428571<br>
+&nbsp; 52.537114 0.303282 0.904762<br>
+&nbsp; 78.060317 0.585303 0.857143<br>
+&nbsp; 103.498271 0.606862 0.761905<br>
+&nbsp; 128.994535 0.567266 0.761905<br>
+&nbsp; 154.483041 0.550814 0.714286<br>
+&nbsp; 179.935985 0.623055 0.666667<br>
+&nbsp; 205.552940 0.350826 0.714286<br>
+&nbsp; 212.051372 0.016393 0.714286<br>
+&nbsp; 231.153547 0.824618 0.857143<br>
+&nbsp; 256.697418 0.744268 0.952381<br>
+&nbsp; 282.145841 0.736126 0.904762<br>
+&nbsp; 307.899015 0.536075 0.952381<br>
+&nbsp; 333.262903 0.903282 0.809524<br>
+&nbsp; 340.217754 0.019722 0.190476<br>
+&nbsp; 344.988867 0.019671 0.095238<br>
+&nbsp; 346.988885 0.018032 0.095238<br>
+&nbsp; 358.840278 0.999967 1.000000<br>
+&nbsp; 409.201393 1.000000 0.000000<br>
+<br>
+EXPECTED XYZ 264<br>
+&nbsp; A1&nbsp;&nbsp;&nbsp; 3.85 3.22 1.9<br>
+&nbsp; A2&nbsp;&nbsp;&nbsp; 4.89 3.27 1.6<br>
+&nbsp; A3&nbsp;&nbsp;&nbsp; 5.87 3.31 1.33<br>
+&nbsp; A4&nbsp;&nbsp;&nbsp; 6.3 3.38 1.19<br>
+&nbsp; A5&nbsp;&nbsp;&nbsp; 13.01 11.44 7.64<br>
+&nbsp; A6&nbsp;&nbsp;&nbsp; 16.14 11.99 6.81<br>
+&nbsp; A7&nbsp;&nbsp;&nbsp; 19.35 12.41 6.06<br>
+&nbsp; A8&nbsp;&nbsp;&nbsp; 20.41 11.97 5.3<br>
+&nbsp; A9&nbsp;&nbsp;&nbsp; 43.5 42.81 32.65<br>
+&nbsp; A10&nbsp;&nbsp; 45.58 42.37 30.95<br>
+&nbsp; A11&nbsp;&nbsp; 48.99 43.2 29.9<br>
+&nbsp; A12&nbsp;&nbsp; 50.73 44.02 29.96<br>
+&nbsp; A13&nbsp;&nbsp; 74.46 78.76 66.06<br>
+&nbsp; A14&nbsp;&nbsp; 75.66 76.42 64.08<br>
+&nbsp; A15&nbsp;&nbsp; 78.36 81.34 65.41<br>
+&nbsp; A16&nbsp;&nbsp; 70.52 73.3 59.16<br>
+&nbsp; A17&nbsp;&nbsp; 74.98 75.98 60.69<br>
+&nbsp; A18&nbsp;&nbsp; 72.85 77.3 60.25<br>
+&nbsp; A19&nbsp;&nbsp; 73.09 75.52 64.54<br>
+&nbsp; B1&nbsp;&nbsp;&nbsp; 3.47 3.08 1.41<br>
+&nbsp; B2&nbsp;&nbsp;&nbsp; 4.41 3.25 0.9<br>
+&nbsp; B3&nbsp;&nbsp;&nbsp; 5.04 3.23 0.58<br>
+&nbsp; B4&nbsp;&nbsp;&nbsp; 5.19 3.11 0.47<br>
+&nbsp; B5&nbsp;&nbsp;&nbsp; 13.36 11.59 5.56<br>
+&nbsp; B6&nbsp;&nbsp;&nbsp; 15.97 12.03 3.69<br>
+&nbsp; B7&nbsp;&nbsp;&nbsp; 19.2 12.49 2.2<br>
+&nbsp; B8&nbsp;&nbsp;&nbsp; 19.73 11.52 1.17<br>
+&nbsp; B9&nbsp;&nbsp;&nbsp; 42.19 41.84 29.34<br>
+&nbsp; B10&nbsp;&nbsp; 44.83 42.17 25.93<br>
+&nbsp; B11&nbsp;&nbsp; 48.06 42.9 23.01<br>
+&nbsp; B12&nbsp;&nbsp; 49.63 43.08 21.34<br>
+&nbsp; B13&nbsp;&nbsp; 66.21 72.54 64.61<br>
+&nbsp; B14&nbsp;&nbsp; 70.16 67.1 60.33<br>
+&nbsp; B15&nbsp;&nbsp; 75.46 78.69 51.58<br>
+&nbsp; B16&nbsp;&nbsp; 57.47 59.58 47.66<br>
+&nbsp; B17&nbsp;&nbsp; 68.33 66.45 49.05<br>
+&nbsp; B18&nbsp;&nbsp; 63.89 70.29 51.3<br>
+&nbsp; B19&nbsp;&nbsp; 61.12 62.16 59.79<br>
+&nbsp; C1&nbsp;&nbsp;&nbsp; 4.97 4.75 1.98<br>
+&nbsp; C2&nbsp;&nbsp;&nbsp; 5.18 4.65 1.23<br>
+&nbsp; C3&nbsp;&nbsp;&nbsp; 5.51 4.58 0.71<br>
+&nbsp; C4&nbsp;&nbsp;&nbsp; 5.77 4.61 0.67<br>
+&nbsp; C5&nbsp;&nbsp;&nbsp; 24.57 23.44 10.14<br>
+&nbsp; C6&nbsp;&nbsp;&nbsp; 28.1 24.64 5.22<br>
+&nbsp; C7&nbsp;&nbsp;&nbsp; 31.15 25.28 2.2<br>
+&nbsp; C8&nbsp;&nbsp;&nbsp; 30.85 23.68 1.35<br>
+&nbsp; C9&nbsp;&nbsp;&nbsp; 49.16 49.36 32.37<br>
+&nbsp; C10&nbsp;&nbsp; 51.72 50.72 26.53<br>
+&nbsp; C11&nbsp;&nbsp; 55.24 53.14 21.93<br>
+&nbsp; C12&nbsp;&nbsp; 56.87 53.62 18.46<br>
+&nbsp; C13&nbsp;&nbsp; 57.68 65.65 62.7<br>
+&nbsp; C14&nbsp;&nbsp; 63.46 56.66 55.49<br>
+&nbsp; C15&nbsp;&nbsp; 73 76.11 40.78<br>
+&nbsp; C16&nbsp;&nbsp; 44.73 46.38 36.8<br>
+&nbsp; C17&nbsp;&nbsp; 60.64 55.73 38.1<br>
+&nbsp; C18&nbsp;&nbsp; 52.15 60.27 41.5<br>
+&nbsp; C19&nbsp;&nbsp; 48.13 49.18 54.38<br>
+&nbsp; D1&nbsp;&nbsp;&nbsp; 4.19 4.41 1.93<br>
+&nbsp; D2&nbsp;&nbsp;&nbsp; 4.48 4.72 1.24<br>
+&nbsp; D3&nbsp;&nbsp;&nbsp; 4.55 4.78 0.8<br>
+&nbsp; D4&nbsp;&nbsp;&nbsp; 4.32 4.53 0.78<br>
+&nbsp; D5&nbsp;&nbsp;&nbsp; 27.33 28.55 12.95<br>
+&nbsp; D6&nbsp;&nbsp;&nbsp; 28.68 30.04 7.25<br>
+&nbsp; D7&nbsp;&nbsp;&nbsp; 29.51 31.01 3.41<br>
+&nbsp; D8&nbsp;&nbsp;&nbsp; 27.55 28.44 1.83<br>
+&nbsp; D9&nbsp;&nbsp;&nbsp; 56.06 58.19 38.21<br>
+&nbsp; D10&nbsp;&nbsp; 56.03 58.46 30.02<br>
+&nbsp; D11&nbsp;&nbsp; 56.2 59.33 24.44<br>
+&nbsp; D12&nbsp;&nbsp; 56.19 59.41 19.14<br>
+&nbsp; D13&nbsp;&nbsp; 48.21 57.42 59.53<br>
+&nbsp; D14&nbsp;&nbsp; 58.18 49.14 51.36<br>
+&nbsp; D15&nbsp;&nbsp; 70.98 73.73 33.63<br>
+&nbsp; D16&nbsp;&nbsp; 34.31 35.73 28.22<br>
+&nbsp; D17&nbsp;&nbsp; 54.27 47.53 29.58<br>
+&nbsp; D18&nbsp;&nbsp; 41.67 50.64 32.28<br>
+&nbsp; D19&nbsp;&nbsp; 36.95 37.82 48.09<br>
+&nbsp; E1&nbsp;&nbsp;&nbsp; 4.15 4.75 2.03<br>
+&nbsp; E2&nbsp;&nbsp;&nbsp; 4 4.98 1.37<br>
+&nbsp; E3&nbsp;&nbsp;&nbsp; 3.3 4.49 0.86<br>
+&nbsp; E4&nbsp;&nbsp;&nbsp; 3.11 4.3 0.86<br>
+&nbsp; E5&nbsp;&nbsp;&nbsp; 13.11 14.9 7.06<br>
+&nbsp; E6&nbsp;&nbsp;&nbsp; 12.26 15.23 4.18<br>
+&nbsp; E7&nbsp;&nbsp;&nbsp; 11.53 15.57 2.27<br>
+&nbsp; E8&nbsp;&nbsp;&nbsp; 9.69 13.74 1.51<br>
+&nbsp; E9&nbsp;&nbsp;&nbsp; 39.15 42.08 27.33<br>
+&nbsp; E10&nbsp;&nbsp; 37.43 41.51 22.23<br>
+&nbsp; E11&nbsp;&nbsp; 36.99 42.5 18.85<br>
+&nbsp; E12&nbsp;&nbsp; 36.4 42.58 16.27<br>
+&nbsp; E13&nbsp;&nbsp; 39.97 49.81 56.15<br>
+&nbsp; E14&nbsp;&nbsp; 52.08 41.07 46.36<br>
+&nbsp; E15&nbsp;&nbsp; 68.71 70.76 26.45<br>
+&nbsp; E16&nbsp;&nbsp; 25.7 26.97 21.28<br>
+&nbsp; E17&nbsp;&nbsp; 48.53 40.6 22<br>
+&nbsp; E18&nbsp;&nbsp; 31.62 40.82 23.35<br>
+&nbsp; E19&nbsp;&nbsp; 31.19 31.19 43.4<br>
+&nbsp; F1&nbsp;&nbsp;&nbsp; 1.51 1.91 1.06<br>
+&nbsp; F2&nbsp;&nbsp;&nbsp; 1.29 2.04 0.98<br>
+&nbsp; F3&nbsp;&nbsp;&nbsp; 1.16 2.09 0.82<br>
+&nbsp; F4&nbsp;&nbsp;&nbsp; 1.14 2.04 0.8<br>
+&nbsp; F5&nbsp;&nbsp;&nbsp; 6.53 8.25 5.13<br>
+&nbsp; F6&nbsp;&nbsp;&nbsp; 5.61 8.66 4.38<br>
+&nbsp; F7&nbsp;&nbsp;&nbsp; 4.6 8.77 3.7<br>
+&nbsp; F8&nbsp;&nbsp;&nbsp; 3.45 7.63 2.78<br>
+&nbsp; F9&nbsp;&nbsp;&nbsp; 37.8 41.07 30.91<br>
+&nbsp; F10&nbsp;&nbsp; 35.92 40.76 29.03<br>
+&nbsp; F11&nbsp;&nbsp; 35.42 41.99 29.07<br>
+&nbsp; F12&nbsp;&nbsp; 34 41.8 28<br>
+&nbsp; F13&nbsp;&nbsp; 32.13 42.12 51.99<br>
+&nbsp; F14&nbsp;&nbsp; 45.72 33.34 40.77<br>
+&nbsp; F15&nbsp;&nbsp; 66.26 67.29 19.65<br>
+&nbsp; F16&nbsp;&nbsp; 17.02 18.07 14.4<br>
+&nbsp; F17&nbsp;&nbsp; 41.59 32.53 15.16<br>
+&nbsp; F18&nbsp;&nbsp; 26.26 35.26 18.81<br>
+&nbsp; F19&nbsp;&nbsp; 24.3 23.6 37.48<br>
+&nbsp; G1&nbsp;&nbsp;&nbsp; 2.31 3 2.27<br>
+&nbsp; G2&nbsp;&nbsp;&nbsp; 2 3.21 2.58<br>
+&nbsp; G3&nbsp;&nbsp;&nbsp; 1.66 3.21 2.75<br>
+&nbsp; G4&nbsp;&nbsp;&nbsp; 1.58 3.03 2.6<br>
+&nbsp; G5&nbsp;&nbsp;&nbsp; 8.99 11.08 8.79<br>
+&nbsp; G6&nbsp;&nbsp;&nbsp; 7.68 11.3 9.56<br>
+&nbsp; G7&nbsp;&nbsp;&nbsp; 6.52 11.5 10.2<br>
+&nbsp; G8&nbsp;&nbsp;&nbsp; 5.5 10.85 10.55<br>
+&nbsp; G9&nbsp;&nbsp;&nbsp; 38.29 41.75 33.45<br>
+&nbsp; G10&nbsp;&nbsp; 35.83 41.16 34.11<br>
+&nbsp; G11&nbsp;&nbsp; 34.56 41.83 35.63<br>
+&nbsp; G12&nbsp;&nbsp; 33.69 42.14 36.7<br>
+&nbsp; G13&nbsp;&nbsp; 25.95 35.68 48<br>
+&nbsp; G14&nbsp;&nbsp; 40.6 27.62 36.14<br>
+&nbsp; G15&nbsp;&nbsp; 63.72 63.63 14.35<br>
+&nbsp; G16&nbsp;&nbsp; 10.85 11.82 9.58<br>
+&nbsp; G17&nbsp;&nbsp; 37.23 27.64 11.62<br>
+&nbsp; G18&nbsp;&nbsp; 20.28 28.97 14.15<br>
+&nbsp; G19&nbsp;&nbsp; 17.7 16.74 31.7<br>
+&nbsp; H1&nbsp;&nbsp;&nbsp; 2.56 3.04 2.92<br>
+&nbsp; H2&nbsp;&nbsp;&nbsp; 2.34 3.2 4.12<br>
+&nbsp; H3&nbsp;&nbsp;&nbsp; 2.12 3.28 5.43<br>
+&nbsp; H4&nbsp;&nbsp;&nbsp; 2.06 3.18 5.29<br>
+&nbsp; H5&nbsp;&nbsp;&nbsp; 10.07 11.6 11.24<br>
+&nbsp; H6&nbsp;&nbsp;&nbsp; 9.01 11.68 14.81<br>
+&nbsp; H7&nbsp;&nbsp;&nbsp; 8.22 12 19.42<br>
+&nbsp; H8&nbsp;&nbsp;&nbsp; 7.25 11.55 21.45<br>
+&nbsp; H9&nbsp;&nbsp;&nbsp; 39.25 42.31 36.81<br>
+&nbsp; H10&nbsp;&nbsp; 37.58 41.85 40.37<br>
+&nbsp; H11&nbsp;&nbsp; 37.16 43.07 45.79<br>
+&nbsp; H12&nbsp;&nbsp; 36.27 43.78 49.47<br>
+&nbsp; H13&nbsp;&nbsp; 21.47 30.78 44.22<br>
+&nbsp; H14&nbsp;&nbsp; 36.49 23.35 32.38<br>
+&nbsp; H15&nbsp;&nbsp; 61.58 60.55 10.95<br>
+&nbsp; H16&nbsp;&nbsp; 8.21 8.71 6.91<br>
+&nbsp; H17&nbsp;&nbsp; 33.04 23.26 8.38<br>
+&nbsp; H18&nbsp;&nbsp; 16.22 24.35 10.41<br>
+&nbsp; H19&nbsp;&nbsp; 12.86 11.84 26.82<br>
+&nbsp; I1&nbsp;&nbsp;&nbsp; 4.22 4.44 5.28<br>
+&nbsp; I2&nbsp;&nbsp;&nbsp; 4.35 4.48 8.36<br>
+&nbsp; I3&nbsp;&nbsp;&nbsp; 4.4 4.44 11.94<br>
+&nbsp; I4&nbsp;&nbsp;&nbsp; 4.48 4.58 12.17<br>
+&nbsp; I5&nbsp;&nbsp;&nbsp; 15.15 15.78 15.23<br>
+&nbsp; I6&nbsp;&nbsp;&nbsp; 14.56 15.12 19.52<br>
+&nbsp; I7&nbsp;&nbsp;&nbsp; 14.37 14.81 24.48<br>
+&nbsp; I8&nbsp;&nbsp;&nbsp; 14.11 14.76 30.03<br>
+&nbsp; I9&nbsp;&nbsp;&nbsp; 41.03 42.58 36.94<br>
+&nbsp; I10&nbsp;&nbsp; 40.85 42.23 40.73<br>
+&nbsp; I11&nbsp;&nbsp; 40.86 42.33 45.05<br>
+&nbsp; I12&nbsp;&nbsp; 41.31 42.73 47.77<br>
+&nbsp; I13&nbsp;&nbsp; 17.26 25.93 40.23<br>
+&nbsp; I14&nbsp;&nbsp; 32.66 19.63 28.81<br>
+&nbsp; I15&nbsp;&nbsp; 59.37 57.18 7.79<br>
+&nbsp; I16&nbsp;&nbsp; 4.97 5.32 4.32<br>
+&nbsp; I17&nbsp;&nbsp; 28.62 18.88 5.48<br>
+&nbsp; I18&nbsp;&nbsp; 11.58 18.98 7.25<br>
+&nbsp; I19&nbsp;&nbsp; 9.58 8.34 22.87<br>
+&nbsp; I20&nbsp;&nbsp; 0.45 0.4 0.33<br>
+&nbsp; I21&nbsp;&nbsp; 2.28 1.78 0.98<br>
+&nbsp; I22&nbsp;&nbsp; 2.37 1.95 0.85<br>
+&nbsp; J1&nbsp;&nbsp;&nbsp; 2.15 1.9 2.6<br>
+&nbsp; J2&nbsp;&nbsp;&nbsp; 2.57 2 4.72<br>
+&nbsp; J3&nbsp;&nbsp;&nbsp; 2.93 1.95 8.1<br>
+&nbsp; J4&nbsp;&nbsp;&nbsp; 3.15 1.92 10.76<br>
+&nbsp; J5&nbsp;&nbsp;&nbsp; 11.73 11.6 11.81<br>
+&nbsp; J6&nbsp;&nbsp;&nbsp; 12.98 11.93 16.19<br>
+&nbsp; J7&nbsp;&nbsp;&nbsp; 13.91 12.07 20.95<br>
+&nbsp; J8&nbsp;&nbsp;&nbsp; 14.01 11.59 24.35<br>
+&nbsp; J9&nbsp;&nbsp;&nbsp; 40.75 41.22 36.34<br>
+&nbsp; J10&nbsp;&nbsp; 41.26 41.07 39.74<br>
+&nbsp; J11&nbsp;&nbsp; 42.63 41.68 44.51<br>
+&nbsp; J12&nbsp;&nbsp; 44.02 41.78 49.25<br>
+&nbsp; J13&nbsp;&nbsp; 13.82 21.69 35.98<br>
+&nbsp; J14&nbsp;&nbsp; 28.87 16.33 25.08<br>
+&nbsp; J15&nbsp;&nbsp; 56.04 52.29 4.97<br>
+&nbsp; J16&nbsp;&nbsp; 2.46 2.63 2.29<br>
+&nbsp; J17&nbsp;&nbsp; 24.04 14.75 3.15<br>
+&nbsp; J18&nbsp;&nbsp; 8.12 14.49 4.55<br>
+&nbsp; J19&nbsp;&nbsp; 5.98 4.79 17.76<br>
+&nbsp; J20&nbsp;&nbsp; 8.26 5.37 1.04<br>
+&nbsp; J21&nbsp;&nbsp; 11.52 7.81 1.62<br>
+&nbsp; J22&nbsp;&nbsp; 14.67 10.72 2.6<br>
+&nbsp; K1&nbsp;&nbsp;&nbsp; 5.63 4.7 4.86<br>
+&nbsp; K2&nbsp;&nbsp;&nbsp; 6.74 4.58 7.23<br>
+&nbsp; K3&nbsp;&nbsp;&nbsp; 8.04 4.48 9.73<br>
+&nbsp; K4&nbsp;&nbsp;&nbsp; 9.39 4.76 11.79<br>
+&nbsp; K5&nbsp;&nbsp;&nbsp; 16.66 15.39 14.44<br>
+&nbsp; K6&nbsp;&nbsp;&nbsp; 18.72 15.18 18.23<br>
+&nbsp; K7&nbsp;&nbsp;&nbsp; 21.56 15.5 22.97<br>
+&nbsp; K8&nbsp;&nbsp;&nbsp; 23 15.02 25.37<br>
+&nbsp; K9&nbsp;&nbsp;&nbsp; 42.5 42.02 36.05<br>
+&nbsp; K10&nbsp;&nbsp; 44.55 41.63 39.71<br>
+&nbsp; K11&nbsp;&nbsp; 47.19 41.96 44.03<br>
+&nbsp; K12&nbsp;&nbsp; 49.9 43.14 47.21<br>
+&nbsp; K13&nbsp;&nbsp; 10.61 17.44 31.24<br>
+&nbsp; K14&nbsp;&nbsp; 24.84 13.19 21<br>
+&nbsp; K15&nbsp;&nbsp; 53.12 48.05 3.19<br>
+&nbsp; K16&nbsp;&nbsp; 1.05 1.14 1.13<br>
+&nbsp; K17&nbsp;&nbsp; 19.93 11.34 1.67<br>
+&nbsp; K18&nbsp;&nbsp; 5.3 10.47 2.73<br>
+&nbsp; K19&nbsp;&nbsp; 3.95 2.76 13.94<br>
+&nbsp; K20&nbsp;&nbsp; 30.61 26.43 11.04<br>
+&nbsp; K21&nbsp;&nbsp; 34.91 29.6 11.78<br>
+&nbsp; K22&nbsp;&nbsp; 38.95 34.57 18.4<br>
+&nbsp; L1&nbsp;&nbsp;&nbsp; 3.88 3.12 2.32<br>
+&nbsp; L2&nbsp;&nbsp;&nbsp; 4.93 3.2 2.69<br>
+&nbsp; L3&nbsp;&nbsp;&nbsp; 5.75 3.14 3.02<br>
+&nbsp; L4&nbsp;&nbsp;&nbsp; 7.31 3.79 3.4<br>
+&nbsp; L5&nbsp;&nbsp;&nbsp; 13.29 11.54 9.39<br>
+&nbsp; L6&nbsp;&nbsp;&nbsp; 16.22 11.73 10.32<br>
+&nbsp; L7&nbsp;&nbsp;&nbsp; 19.95 12.08 12.06<br>
+&nbsp; L8&nbsp;&nbsp;&nbsp; 20.79 11.31 12.01<br>
+&nbsp; L9&nbsp;&nbsp;&nbsp; 43.22 42.09 33.78<br>
+&nbsp; L10&nbsp;&nbsp; 45.52 41.88 34.65<br>
+&nbsp; L11&nbsp;&nbsp; 49.04 42.87 35.98<br>
+&nbsp; L12&nbsp;&nbsp; 51.03 43.83 37.78<br>
+&nbsp; L13&nbsp;&nbsp; 7.45 12.77 25.59<br>
+&nbsp; L14&nbsp;&nbsp; 21.26 10.76 17.73<br>
+&nbsp; L15&nbsp;&nbsp; 49.45 43.12 2.14<br>
+&nbsp; L16&nbsp;&nbsp; 0.47 0.49 0.5<br>
+&nbsp; L17&nbsp;&nbsp; 16.04 8.49 0.78<br>
+&nbsp; L18&nbsp;&nbsp; 2.91 6.5 1.39<br>
+&nbsp; L19&nbsp;&nbsp; 2.5 1.45 10.28<br>
+&nbsp; L20&nbsp;&nbsp; 38.7 33.98 20.86<br>
+&nbsp; L21&nbsp;&nbsp; 39.36 35.23 21.23<br>
+&nbsp; L22&nbsp;&nbsp; 41.36 38.77 23.51<br>
+&nbsp; GS0&nbsp;&nbsp;&nbsp; 79.47 82.51 69.04<br>
+&nbsp; GS1&nbsp;&nbsp;&nbsp; 72.62 74.94 59.17<br>
+&nbsp; GS2&nbsp;&nbsp;&nbsp; 63.15 65.11 51.57<br>
+&nbsp; GS3&nbsp;&nbsp;&nbsp; 54.72 56.51 45.03<br>
+&nbsp; GS4&nbsp;&nbsp;&nbsp; 48.1 49.81 39.24<br>
+&nbsp; GS5&nbsp;&nbsp;&nbsp; 42.22 43.64 34.45<br>
+&nbsp; GS6&nbsp;&nbsp;&nbsp; 37.33 38.7 30.5<br>
+&nbsp; GS7&nbsp;&nbsp;&nbsp; 32.38 33.61 26.11<br>
+&nbsp; GS8&nbsp;&nbsp;&nbsp; 27.56 28.7 22.11<br>
+&nbsp; GS9&nbsp;&nbsp;&nbsp; 22.5 23.4 17.99<br>
+&nbsp; GS10&nbsp;&nbsp; 18.77 19.55 14.83<br>
+&nbsp; GS11&nbsp;&nbsp; 15.48 16.08 12.04<br>
+&nbsp; GS12&nbsp;&nbsp; 12.69 13.29 9.98<br>
+&nbsp; GS13&nbsp;&nbsp; 10.35 10.81 7.97<br>
+&nbsp; GS14&nbsp;&nbsp; 8.39 8.77 6.37<br>
+&nbsp; GS15&nbsp;&nbsp; 6.45 6.79 4.97<br>
+&nbsp; GS16&nbsp;&nbsp; 4.95 5.18 3.7<br>
+&nbsp; GS17&nbsp;&nbsp; 3.58 3.82 2.76<br>
+&nbsp; GS18&nbsp;&nbsp; 2.76 2.89 2.06<br>
+&nbsp; GS19&nbsp;&nbsp; 1.97 2.08 1.45<br>
+&nbsp; GS20&nbsp;&nbsp; 1.22 1.31 0.98<br>
+&nbsp; GS21&nbsp;&nbsp; 1 1.05 0.74<br>
+&nbsp; GS22&nbsp;&nbsp; 0.87 0.89 0.65<br>
+&nbsp; GS23&nbsp;&nbsp; 0.34 0.32 0.32<br>
+<br>
+</font> </tt><br>
+<tt> <br>
+</tt><br>
+<br>
+</body>
+</html>
diff --git a/doc/collink.html b/doc/collink.html
new file mode 100644
index 0000000..0b94bc7
--- /dev/null
+++ b/doc/collink.html
@@ -0,0 +1,1059 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>collink</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>link/collink</b></h2>
+ <h3>Summary</h3>
+ Link two ICC device profiles to create an ICC device link profile.<br>
+ <br>
+ <b> collink</b> takes two device ICC profiles, and links them
+ together, either in a simple fashion using the standard ICC forward
+ and reverse tables of the specified intent, or using color
+ appearance space and true gamut mapping, together with possibly
+ inverting the forward profile,&nbsp; to allow black ink regeneration
+ or to retain the source black characteristic from the source
+ profile.<br>
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">collink [-options] <span
+ style="font-style: italic;">srcprofile dstprofile
+ linkedprofile</span></span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Verbose<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#A">-A "manufacturer"</a><span
+ style="font-family: monospace;">&nbsp; Set the manufacturer
+ description string</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#M">-M "model"</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set the model
+ description string</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#D">-D "description"</a><span
+ style="font-family: monospace;">&nbsp;&nbsp; Set the profile
+ Description string&nbsp; (Default "</span><span
+ style="font-style: italic; font-family: monospace;">inoutfile</span><span
+ style="font-family: monospace;">")</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#C">-C "copyright"</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; Set the
+ copyright string</span></small><br style="font-family:
+ monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#V">-V</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verify
+existing
+
+
+ profile, rather than link (Debug option)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#q">-q lmhu</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quality - Low, Medium (def),
+ High, Ultra</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#r">-r <i>res</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+clut
+
+
+ res. set by -q</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#n">-n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't
+preserve
+
+
+ device curves in result</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#f">-f</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Special :- Force neutral colors
+ to be K only output.<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#fk">-fk</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Special :- Force K only neutral colors
+ to be K only output<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#fcmy">-fcmy</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; Special :- Force 100% C,M or Y only to stay pure</span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#F">-F</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Special :- Force all colors to be
+ K only output.</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p aprof.icm</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Include
+
+
+ abstract profile in link</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#s">-s</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Simple
+Mode
+
+
+ (default)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#g">-g [src.gam]</a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+ Gamut Mapping Mode [optional source image gamut]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#G">-G [src.gam]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Gamut
+
+
+ Mapping Mode using inverse outprofile A2B [optional source
+ gamut]</span><br style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp;&nbsp; </span><u
+ style="font-family: monospace;">Simple Mode Options:</u><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#si">-i <i>in_intent</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp;&nbsp;&nbsp; p =
+ perceptual, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+s
+
+
+ = saturation, a = absolute colorimetric</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#so">-o </a><i
+ style="font-family: monospace;"><a href="#so">out_intent</a> </i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; p =
+ perceptual, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+s
+
+
+ = saturation, a = absolute colorimetric</span><br
+ style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp;&nbsp; </span><u
+ style="font-family: monospace;">Mapping Mode Options:</u><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#i">-i <i>intent</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ set linking intent from the following choice:</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+a
+-
+
+
+ Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+aw
+-
+
+
+ Absolute Colorimetric (in Jab) with scaling to fit white point<br
+ style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+aa
+-
+
+
+ Absolute Appearance</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+r
+-
+
+
+ White Point Matched Appearance [ICC Relative Colorimetric]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+la
+-
+
+
+ Luminance matched Appearance</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+p
+-
+
+
+ Perceptual (Preferred) [ICC Perceptual]<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+pa
+
+
+ - Perceptual Appearance</span></small><br style="font-family:
+ monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ms
+-
+
+
+ Saturation</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s
+-
+
+
+ Enhanced Saturation [ICC Saturation]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+al
+-
+
+
+ Absolute Colorimetric (Lab)</span><span style="font-family:
+ monospace;"></span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#w">-w [J,a,b]</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; Use forced
+ whitepoint hack [optional color to map the white to]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c <i>viewcond</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp; set source viewing
+ conditions for CIECAM02,</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+either
+
+
+ an enumerated choice, or a parameter</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#d">-d <i>viewcond</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp; set destination
+ viewing conditions for CIECAM02,</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+either
+
+
+ an enumerated choice, or a parameter:value change<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pp - Practical
+ Reflection Print (ISO-3664 P2)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+
+
+ &nbsp; pe - Print evaluation environment (CIE 116-1995)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+
+
+ &nbsp; pc - Critical print evaluation environment (ISO-3664 P1)</span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; mt - Monitor in
+ typical work environment</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+
+
+ mb - Monitor in bright work environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; md - Monitor in darkened work
+ environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; jm - Projector in dim
+ environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; jd - Projector in dark
+ environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene
+ outdoors</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; ob - Original scene - Bright
+ Outdoors</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; cx - Cut Sheet Transparencies
+ on a viewing box</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s:surround
+n
+
+
+ = auto, a = average, m = dim, d = dark,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;
+
+
+ c = transparency (default average)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Adapted
+
+
+ white point as XYZ (default media white)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Adapted
+
+
+ white point as x, y</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+a:adaptation&nbsp;
+Adaptatation
+
+
+ luminance in cd.m^2 (default 50.0)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+b:background&nbsp;
+Background
+%
+
+
+ of image luminance (default 20)<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; l:scenewhite&nbsp;
+ Scene white in cd.m^2 if surround = auto (default 250)<br
+ style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Flare
+light
+
+
+ % of image luminance (default 1)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Flare
+
+
+ color as XYZ (default media white)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Flare
+
+
+ color as x, y</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#t">-t <i>tlimit</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+source
+
+
+ total ink limit, 0 - 400% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#T">-T <i>klimit</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+source
+
+
+ total ink limit, 0 - 100% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; &nbsp; &nbsp;&nbsp; </span><u
+ style="font-family: monospace;">Inverse outprofile A2B Options:</u><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#k">-k tezhxr</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; CMYK Black generation</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+t
+
+
+ = transfer K from source to destination, e = retain K of
+ destination B2A table</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+z
+
+
+ = zero K, h = 0.5 K, x = maximum K, r = ramp K (default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#kp">-k p stle stpo enpo
+ enle shape</a><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+p
+
+
+ = black level generation curve parameters</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#kq">-k q stle0 stpo0
+ enpo0 enle0 shape0 stle2 stpo2 enpo2 enle2 shape2</a><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+q
+
+
+ = transfer source K to dual curve limits</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#K">-K parameters</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Same as -k, but target is K locus rather than K value itself</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#l">-l <i>tlimit</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+destination
+
+
+ total ink limit, 0 - 400% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#L">-L <i>klimit</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+destination
+
+
+ total ink limit, 0 - 100% (estimate by default)<br>
+ </span></small>&nbsp;&nbsp;<small><span style="font-family:
+ monospace;"><a href="#P">-P</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Create
+gamut
+
+
+ gammap_p.wrl and gammap_s.wrl diagostics</span></small><small><br>
+ <br>
+ <span style="font-family: monospace;"></span></small><span
+ style="font-family: monospace;">&nbsp;<span
+ style="text-decoration: underline;"><span style="font-style:
+ italic;"></span></span></span><a href="#p1"><i
+ style="font-family: monospace;">srcprofile</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+source
+ICC
+
+
+ profile. A </span><small><span style="font-family: monospace;">TIFF
+
+
+ or JPEG file with embedded profile may be used here.</span></small><br
+ style="font-family: monospace;">
+ &nbsp; <span style="font-family: monospace;"><span
+ style="text-decoration: underline;"><span style="font-style:
+ italic;"></span></span></span><a href="#p2"><i
+ style="font-family: monospace;">dstprofile</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+destination
+ICC
+
+
+ profile. </span><span style="font-family: monospace;">A </span><small><span
+ style="font-family: monospace;">TIFF or JPEG file with embedded
+ profile may be used here.</span></small><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a href="#p3"><i
+ style="font-family: monospace;">linkedprofile</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ resulting device link profile</span><br>
+ <h3>Usage Details and Discussion</h3>
+ <b><a name="v"></a> -v</b> Turns on verbose mode. Gives progress
+ information as the profile is created. Since gamut map mode inverse
+ profile linking can take a long time to perform, this is often
+ useful. <br>
+ <br>
+ <a name="A"></a>The <b>-A</b> parameter allows setting of the
+ device manufacturer description tag. This parameter may not be
+ relevant for a link profile, but if used should be a string that
+ identifies the manufacturer of the primary device used in the link.
+ With most command line shells, it will be necessary to enclose the
+ parameter with double quotes, so that spaces and other special
+ characters are included in the parameter, and not mistaken for the
+ start of another flag, or as a final command line parameters. By
+ default no manufacturer description string tag will be generated for
+ the profile.<br>
+ <br>
+ <a name="M"></a>The <b>-M</b> parameter allows setting of the
+ device mode description tag. This parameter may not be relevant for
+ a link profile, but if used should be a string that identifies the
+ particular model of primary device used in the link. With most
+ command line shells, it will be necessary to enclose the parameter
+ with double quotes, so that spaces and other special characters are
+ included in the parameter, and not mistaken for the start of another
+ flag, or as a final command line parameters. By default no model
+ description string tag will be generated for the profile.<br>
+ <br>
+ <a name="D"></a>The <b>-D</b> parameter allows setting of the
+ profile description tag. The parameter should be a string that
+ describes the profile. On many systems, it will be this string that
+ will be used to identify the profile from a list of possible
+ profiles. With most command line shells, it will be necessary to
+ enclose the parameter with double quotes, so that spaces and other
+ special characters are included in the parameter, and not mistaken
+ for the start of another flag, or as a final command line parameter.
+ Many programs that deal with ICC profiles use the description tag to
+ identify a profile, rather than the profile filename, so using a
+ descriptive string is important in being able to find a profile. By
+ default, the base name of the resulting profile will be used as the
+ description.<br>
+ <br>
+ <a name="C"></a>The <b>-C</b> parameter allows setting of the
+ profile copyright tag. The parameter should be a string that
+ describes the copyright (if any) claimed on the profile being
+ generated.. With most command line shells, it will be necessary to
+ enclose the parameter with double quotes, so that spaces and other
+ special characters are included in the parameter, and not mistaken
+ for the start of another flag, or as a final command line
+ parameters. By default a generic copyright string will be generated
+ for the profile.<br>
+ <br>
+ <br>
+ <b><a name="V"></a> -V</b> Verifies an existing profile. This is
+ really a debugging option. It is only useful if all the linking
+ parameters are identical to those used during the creation of the
+ profile being verified.<br>
+ <br>
+ <b><a name="q"></a> -q [lmhu]</b>&nbsp; &nbsp; &nbsp; &nbsp;Quality
+ - Low, Medium (def), High, Ultra<br>
+ <b><a name="r"></a> -r res&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+
+
+ &nbsp;Override clut res. set by <b>-q</b><br>
+ <br>
+ This sets the basic quality of the resulting link, by choosing the
+ resolution of various tables in the resulting profile, as well as
+ the resolution of other temporary tables used in creating the link.
+ The <b>-r</b> flag allows overriding the resolution set by the <b>-q</b>
+ option, for the ICC profile CLUT multi-dimensional interpolation
+ table. It is highly recommended that <span style="font-weight:
+ bold;">-qm</span> be used as a starting point, and other settings
+ only tried after this has been evaluated. <span style="font-weight:
+ bold;">-qu</span> should almost never be used, except to prove
+ that it should almost never be used.<br>
+ <br>
+ <a name="n"></a>Normally the per channel device curves in the source
+ and destination profiles are preserved in the resulting device link
+ profile, but the <b>-n</b> option disables this. This can be useful
+ if the device linearisation curves are inappropriate in nature.<br>
+ <br>
+ <a name="f"></a> The <b>-f</b> option is a special purpose flag
+ useful only for 3 or 4 component (RGB, CMY or CMYK) source to CMYK
+ destination linking, that causes the destination to be <span
+ style="font-weight: bold;">K only</span> for neutral axis input.
+ Neutral axis input is assumed for R=G=B or C=M=Y input values. So as
+ to get a smooth mapping from the source to the K only destination,
+ by default the gamut mapping will be adjusted to target the
+ destination K only black, and Perceptual gamut mapping will be
+ selected along with maximum K inking. If other options are selected
+ that conflict with achieving a smooth mapping, warnings messages
+ will be emitted.<br>
+ <br>
+ <a name="F"></a> The <b>-F</b> option is a special purpose flag
+ useful only mapping to a CMYK destination, that causes the
+ destination to be converted to K only monochrome. So as to get a
+ smooth mapping from the source to the K only destination, by default
+ the gamut mapping will be adjusted to target the destination K only
+ black, and Perceptual gamut mapping will be selected along with
+ maximum K inking. If other options are selected that conflict with
+ achieving a smooth mapping, warnings messages will be emitted.<br>
+ <br>
+ <a name="fk"></a>&nbsp;The <b>-fk</b> option is a special purpose
+ flag useful only for CMYK source to CMYK destination linking, that
+ causes K only source values to map to K only destination values.
+ This is often useful in re-targeting CMYK material while preserving
+ K only text and graphics. So as to get a smooth mapping from the
+ source to the K only destination, by default the gamut mapping will
+ be adjusted to assume K only black source to destination K only
+ black for K only values, and Perceptual gamut mapping will be
+ selected along with a black generation rule (<span
+ style="font-weight: bold;">-kt</span>) that preserves the black
+ level from source to destination. If other options are selected that
+ conflict with achieving a smooth mapping, warnings messages will be
+ emitted.<br>
+ <br>
+ <a name="fcmy"></a>&nbsp;The <b>-fcmy</b> options are special
+ purpose flags useful only for CMY or CMYK source to CMY or CMYK
+ destination linking. The <span style="font-weight: bold;">cmy</span>
+ flags may be used independently or in combination (ie. <span
+ style="font-weight: bold;">-fc, -fm, -fy, -fcm, -fcy, -fmy, -fcmy</span>)
+ or combined with the <span style="font-weight: bold;">-fk</span>
+ option.&nbsp; These flags ensure that the pure 100% primary colorant
+ source values map to 100% pure colorant destination values, and may
+ be useful in some situations where CMYK material is being
+ re-targeted. <span style="font-weight: bold;">Note</span> that
+ forcing the 100% colorant values to map this way largely works
+ against the aims of color management in preserving colors
+ appearance.&nbsp; So as to get a smooth mapping from the source
+ to&nbsp; destination, by default the gamut mapping will a Saturation
+ intent with 100 percept alignment of the selected C, M and/or Y cusp
+ values. A Saturation intent is often what is desired in such CMYK to
+ CMYK re-renderings, as it makes best use of the (usually quite
+ similar sized) destination gamut. If other options are selected that
+ conflict with achieving a smooth mapping, warnings messages will be
+ emitted.<br>
+ <br>
+ <a name="p"></a> The <b>-p</b> option alows specifying an abstract
+ profile be applied between the source and destination profiles. An
+ abstract profile is a way of specifying a color adjustment in a
+ device independent way. The abstract profile might have been created
+ using one of the <span style="font-weight: bold;">tweak</span>
+ tools, such as <a href="refine.html">refine</a>.<br>
+ <br>
+ The basic linking style is chosen by using the <b>-s</b> (default),
+ <b>-g</b> or <b>-G</b> flags. The three behaviors are:<br>
+ <br>
+ <a name="s"></a>&nbsp;<b>-s</b>&nbsp;&nbsp; Simple mode. No gamut
+ mapping is performed, the selected intent AtoB and BtoA tables are
+ simply concatenated to create the output link, with the gamut
+ mapping behavior being determined solely by the BtoA table. The -i
+ and -o options allow selection of the source and destination ICC
+ intents. This is typically how other CMS do ICC linking. <a
+ href="#ss">Details</a>.<br>
+ <br>
+ <a name="g"></a> &nbsp;<b>-g</b>&nbsp;&nbsp; Gamut mapping mode. In
+ this mode, the absolute colorimetric AtoB and BtoA tables are used
+ to perform the link, and the intermediate linking color space is
+ (generally) the CIECAM02 Jab appearance space. The source and
+ destination viewing conditions can be selected using the <b>-c</b>
+ and <b>-d</b> options. A gamut mapping is performed between the two
+ spaces, using&nbsp; the intent selected by the <b>-i</b> option.
+ There is an optional argument, which is a source gamut to use
+ instead of that of the source profile. This is to allow optimizing
+ the gamut mapping to a source gamut of &nbsp;a particular image,
+ which can give slightly better results that gamut mapping from the
+ gamut of the source colorspace. Such a source image gamut can be
+ created using the <a href="tiffgamut.html"> tiffgamut</a> tool.
+ More&nbsp; <a href="#gg">details</a> about gamut mapping mode.<br>
+ <br>
+ <a name="G"></a>&nbsp;<b>-G</b>&nbsp; Use the gamut mapped, inverse
+ AtoB table linking method. This is generally the most accurate,
+ smooth and flexible linking method, but takes the longest to
+ perform. The gamut mapping mode&nbsp; (<span style="font-weight:
+ bold;">-g</span>) options <b>-i</b>, <b>-c</b>, <b>-d</b>, <b>-k</b>
+ and <b>-l</b> are effective when this method is selected. There is
+ an optional argument, which is a source gamut to use instead of that
+ of the source profile. This is to allow optimizing the gamut mapping
+ to a source gamut of &nbsp;a particular image, which can give
+ slightly better results that gamut mapping from the gamut of the
+ source colorspace. Such a source image gamut can be created using
+ the <a href="tiffgamut.html"> tiffgamut</a> tool. More <a
+ href="#GG">details</a> about the gamut mapping, inverse AtoB mode.<br>
+ <br>
+ The gamut provided to the <span style="font-weight: bold;">-g</span>
+ or <span style="font-weight: bold;">-G</span> flag should be in the
+ same colorspace that <span style="font-weight: bold;">collink</span>
+ is using internally to connect the two profiles. For all intents
+ except the last one (no. <span style="font-weight: bold;">7</span>),
+
+
+ the space should be Jab appearance space, with the viewing
+ conditions generally being those of the source profile viewing
+ conditions. The source profile will normally be the one used to
+ create a source image gamut using <span style="font-weight: bold;">tiffgamut</span>.<br>
+ &nbsp;<br>
+ <u><a name="ss"></a> Simple mode gamut mapping options:</u><br>
+ <br>
+ <a name="si"></a> &nbsp;&nbsp; &nbsp;&nbsp; <b>-i</b> <i>in_intent</i>&nbsp;
+&nbsp;
+&nbsp;
+
+
+ &nbsp;<b>p</b> = perceptual, <b>r</b> = relative colorimetric,<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <b>s</b>
+ = saturation, <b>a</b> = absolute colorimetric<br>
+ <a name="so"></a> &nbsp;&nbsp; &nbsp;&nbsp; <b>-o</b> <i>out_intent</i>
+ &nbsp; &nbsp;<b>p</b> = perceptual, <b>r</b> = relative
+ colorimetric,<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <b>s</b>
+ = saturation, <b>a</b> = absolute colorimetric<br>
+ <br>
+ These two options simply select the appropriate ICC table, according
+ to desired intent. Generally, it is a good idea to use the same
+ intent for both source and destination. Not all ICC profiles support
+ all four intents.<br>
+ <br>
+ <u><a name="gg"></a> Gamut mapping mode options:</u><br>
+ <br>
+ <a name="i"></a> &nbsp;<b>-i</b> <i>intent</i><br>
+ <br>
+ Select the gamut mapping intent. In gamut mapping mode there is only
+ a single overall intent. The intent is selected using the 1 two
+ letter option parameter, the standard ICC profile being a subset of
+ the available selections.<br>
+ <br>
+ <div style="margin-left: 40px;"><a name="ia"></a>The <span
+ style="font-weight: bold;">a</span> intent, Absolute
+ Colorimetric, is intended to reproduce colors exactly,
+ irrespective of the white point of the each medium. This is done
+ using CIECAM02 Jab appearance colorspace by forcing the source and
+ destination to have a common white point (but other aspects of the
+ individual viewing conditions are active), and colors are mapped
+ directly from source to destination, clipping any out of gamut
+ colors to the closest match. This is equivalent to the ICC <span
+ style="font-weight: bold;">Absolute Colorimetric</span> intent,
+ and is often used for proofing purposes. <br>
+ <br>
+ <a name="iaw"></a>The <span style="font-weight: bold;">aw</span>
+ intent, Absolute Colorimetric with scaling to fit white point, is
+ very similar to the <span style="font-weight: bold;">a</span>
+ intent, except that it will scale the source colorspace down in
+ order to make sure that the source white point isn't clipped by
+ the gamut of the destination. This might be used in some print
+ proofing situations where the source white is lightly lighter than
+ the destination white (as an alternative to using the <a
+ href="#w">-w</a> flag), or it may be useful in some soft
+ proofing situations where the differences in white point of the
+ display destination would cause clipping of the source white
+ point.&nbsp; When the <a href="#v">-v</a> flag is on, the scaling
+ factor used will be displayed during execution.<br>
+ <br>
+ <a name="iaa"></a>The <span style="font-weight: bold;">aa</span>
+ intent, Absolute Appearance, simply maps the Jab colors directly
+ from source to destination, clipping any out of gamut colors to
+ the closest match. This attempts to match the exact appearance of
+ colors as closely as possible, but may not exactly map the white
+ point of the source to the destination, depending on how different
+ the viewing conditions are.<br>
+ <br>
+ <a name="ir"></a>The&nbsp;<span style="font-weight: bold;">r</span>
+ intent is like Absolute Appearance mode, but maps the white point
+ from source to destination precisely, and otherwise maps the Jab
+ colors directly from source to destination, clipping any out of
+ gamut colors to the closest match. This is equivalent to the ICC <span
+ style="font-weight: bold;">Relative Colorimetric</span> intent.<br>
+ <br>
+ <a name="ila"></a>The <span style="font-weight: bold;">la</span>
+ intent, Luminance matched appearance, linearly compresses or
+ expands the the luminance axis to match the source to the
+ destination space, while not otherwise altering the gamut,
+ clipping any out of gamut colors to the closest match. This is
+ often useful for appearance based soft proofing.<br>
+ <br>
+ <a name="ip"></a>The&nbsp; <span style="font-weight: bold;">p</span>
+ intent, Perceptual, uses "knee" type 3 Dimensional compression to
+ make the source gamut fit within the destination gamut. As much as
+ possible, clipping is avoided, hues and the overall appearance is
+ maintained. The white point is mapped precisely from source to
+ destination.This is equivalent to the ICC <span
+ style="font-weight: bold;">Perceptual</span> intent.<br>
+ <br>
+ <a name="ipa"></a>The&nbsp; <span style="font-weight: bold;">pa</span>
+ intent, Perceptual Appearance uses "knee" type 3 Dimensional
+ compression to make the source gamut fit within the destination
+ gamut. As much as possible, clipping is avoided, hues and the
+ overall appearance is maintained. The white point is<span
+ style="font-weight: bold;"> not</span> mapped from source to
+ destination, allowing the apperance parameters to alter the
+ chromatic mapping.<br>
+ <br>
+ <a name="ims"></a>The <span style="font-weight: bold;">ms</span>
+ intent, Saturation, uses 3 Dimensional compression and <span
+ style="text-decoration: underline;">expansion</span> to try and
+ make the source gamut exactly match the destination gamut, and
+ also favours higher saturation over hue or lightness preservation.
+ The white point is mapped precisely from source to destination.<br>
+ <br>
+ <a name="is"></a>The <span style="font-weight: bold;"></span><span
+ style="font-weight: bold;">s</span> intent, Enhanced Saturation,
+ uses the same basic gamut mapping as <span style="font-weight:
+ bold;">ms</span>, Saturation, but increases saturation slightly
+ in highly saturated areas of the gamut. This is equivalent to the
+ ICC <span style="font-weight: bold;">Saturation</span> intent.
+ The white point is mapped precisely from source to destination.<br>
+ <br>
+ <a name="ial"></a>The <span style="font-weight: bold;">al</span>
+ intent, Absolute Appearance (Lab), is similar to intent <span
+ style="font-weight: bold;">a</span>, but L*a*b* colorspace is
+ used rather than CIECAM02 Jab appearance space. This often leads
+ to poor reproduction of blue and red hues, but can be useful as a
+ reference mapping.<br>
+ </div>
+ <br>
+ <a name="w"></a> The <b>-w</b> flag forces the white points to be
+ mapped from source to destination, irrespective of the intent
+ chosen. This is useful if absolute intent is being used, and the two
+ media white points should match, but don't quite due to measurement
+ error.<br>
+ The <b>-w</b> flag can optionally be followed by three numbers,
+ that specify a color that white should be mapped to. This will be in
+ the colorspace used during linking (typically Jab space, which has
+ similar characteristics to L*a*b* space). This options can be useful
+ in fine tuning paper emulation in absolute colorimetric mapping
+ mode.<br>
+ <br>
+ <a name="c"></a><a name="d"></a> The <b>-c</b> and <b>-d</b>
+ options allow specification of the viewing conditions for the source
+ and destination colorspaces respectively. The viewing condition
+ information is used to map the profile PCS (Profile Connection
+ Space, which us either XYZ or L*a*b*) color into appearance space
+ (CIECAM02), which is a better colorspace to do gamut mapping in. The
+ viewing conditions allow the conversion into appearance space to
+ take account of how color will be seen under particular viewing
+ conditions.<br>
+ Viewing conditions can be specified in two basic ways. One is to
+ select from the list of "pre canned", enumerated viewing conditions,
+ choosing one that is closest to the conditions that are appropriate
+ for the media type and situation. Alternatively, the viewing
+ conditions parameters can be specified in detail individually. If
+ both methods are used, them the chosen enumerated condition will be
+ used as a base, and its parameters will then be individually
+ overridden.<br>
+ <br>
+ <a name="t"></a> The <b>-t</b> <i>tlimit</i> parameter sets the
+ total ink limit (TAC, Total Area Coverage) for a CMYK source
+ profile, as a total percentage from 0% to 400%. This affects the
+ gamut assumed for the source profile. By default, a total ink limit
+ will be estimated from the source profile B2A table.<br>
+ <br>
+ <a name="T"></a> The <b>-T</b> <i>klimit</i> parameter sets the
+ black channel ink limit for a CMYK source profile, as a total
+ percentage from 0% to 100%. This affects the gamut assumed for the
+ source profile. By default, a black ink limit will be estimated from
+ the source profile B2A table.<br>
+ <br>
+ <br>
+ <u> <a name="GG"></a>Inverse outprofile A2B Options:</u><br>
+ <br>
+ When the <b>-G</b> flag is used, the A2B table is inverted "on the
+ fly", allowing various additional choices as to what device values
+ are used to reproduce a particular color. (If the <b>-G</b> flag is
+ not used, then such decisions are encoded in the B2A table in the
+ profile, and cannot be altered during linking).<br>
+ <br>
+ <a name="k"></a> -<b>k</b> parameter sets the target level of black
+ (K) when creating a B2A CMYK output tables. This is often called a
+ black level, a black inking rule, black generation, or under color
+ removal.&nbsp; These set the target black level:<br>
+ <br>
+ <b> -kz</b> selects minimum black (0.0)<br>
+ <b> -kh</b> selects a black level value of 0.5<br>
+ <b> -kx</b> selects the maximum possible black (1.0)<br>
+ <b> -kr</b> selects a linear level ramp, starting at minimum black
+ for highlight, and maximum black for shadow (equivalent to -kp 0 0 1
+ 1 1). This is the default.<br>
+ <b>-kt</b>, will preserve the black amount from the source (CMYK)
+ profile to the destination&nbsp; (CMYK) profile as much as possible.
+ This may be most useful in creating a CMYK to CMYK conversion
+ between two different press conditions, while preserving as much as
+ possible the &nbsp;black only use for text etc. in anything
+ converted. Note that if the source black point is darker than the
+ destination, composite black will still be generated for K only
+ input. The <span style="font-weight: bold;">-fk</span> option can
+ be used to avoid this behavior.<br>
+ <b>-ke</b>, will preserve the black amount from the destination
+ profile B2A table (CMYK).<br>
+ <br>
+ <b><a name="kp"></a>-k p stle stpo enpo enle shape</b>&nbsp; allows
+ an arbitrary black locus ramp to be defined, consisting of a
+ starting value (stle) for highlights, a breakpoint L value (stpo)
+ where it starts to transition to the shadow level, an end breakpoint
+ L (enpo) where it flattens out again, and the finishing black level
+ (enle) for the shadows. There is also a curve parameter, that
+ modifies the transition from stle to enle to either be concave
+ (ie.&nbsp; the transition starts gradually and and finished more
+ abruptly) using values 0.0-1.0, with 0.0 being most concave, or
+ convex (the transition starts more abruptly but finishes gradually),
+ using values 1.0-2.0, with 2.0 being the most convex.<br>
+ <br>
+ Typical black value generation curve with parameters something like:
+ -kp 0 .1 .9 1 .5<br>
+ <br>
+ <tt> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0 K &nbsp; |
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;enpo<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+
+
+ &nbsp; &nbsp;_______&nbsp; enle<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+
+ &nbsp; &nbsp;/<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+
+
+ &nbsp; /<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+
+ &nbsp;/<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+
+ /<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ stle&nbsp; | ------/<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; +-------------------<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0 K&nbsp;
+ 0.0&nbsp;&nbsp;&nbsp;
+ stpo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+White&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Black<br>
+ <br>
+ </tt>For minimum sensitivity of printed output to the lighting
+ spectrum, it currently seems best to use the maximum possible black,
+ but other black generation levels (ie. 0.3 to 0.5) may well be
+ preferred if one wants to minimize the noisy appearance of black on
+ an inkjet device, or if the banding behaviour or other rendering
+ flaws of the printer is to be minimized. <br>
+ <br>
+ Note that the black level curve is applied throughout the gamut,
+ resulting in GCR (Grey Component Replacement). There is no facility
+ to restrict black to just neutral colors, hence UCR is not currently
+ supported.<br>
+ <br>
+ <b><a name="kq"></a>-k q stle0 stpo0 enpo0 enle0 shape0 stle2 stpo2
+ enpo2 enle2 shape2</b> is a combination of the <b>-kt</b> and <b>-kp</b>
+ functionality, with the black being preserved in CMYK to CMYK
+ linking, with the output black constrained to be between the first
+ and second set of curve parameters.<br>
+ <br>
+ The <a href="xicclu.html">xicclu</a> tool can be used to plot out
+ the resulting black level for a given set of parameters, by using
+ the <a href="xicclu.html#g">-g</a> flag of a profile already
+ created from the same .ti3 file.<br>
+ <br>
+ <a name="K"></a> <span style="font-weight: bold;">-K parameters.</span>
+ Any of the <span style="font-weight: bold;">-k</span> options above
+ can use the <span style="font-weight: bold;">-K</span> version, in
+ which rather than a black value target being defined by the inking
+ rule, a black <span style="text-decoration: underline;">locus</span>
+ target is defined. For each lookup, the minimum possible black level
+ and the maximum possible black level is determined, the former
+ corresponding to a locus target value of 0, and the latter
+ corresponding to a locus target value of 1. For instance, at the
+ white point, no black will be used in the output, even if the black
+ locus specifies a maximum (since the maximum amount of black that
+ can be used to print white is actually zero). Similarly, at the
+ black point, black may well be used, even if the black locus
+ specifies zero black (since a certain amount of black is needed to
+ achieve the desired density of color). <br>
+ <tt> </tt><br>
+ <a name="l"></a> The <b>-l</b> <i>tlimit</i> parameter sets the
+ total ink limit (TAC, Total Area Coverage) for the CMYK separation,
+ as a total percentage from 0% to 400%. This affects the gamut
+ assumed for the destination profile, as well as the ink limit in the
+ generated device link. The limit value should generally be set a
+ little below the value used in the test chart generation, to avoid
+ the very edges of the gamut. If the test chart ink limit has been
+ chosen to be a little beyond an acceptable level, then this number
+ should be the acceptable level. Although limits can be set below
+ 200%, this will generally restrict the color gamut noticeably, as
+ fully saturated secondary colors will not be reproduced. Values are
+ between 220% and 300% for typical printing devices. By default, a
+ total ink limit will be estimated from the destination profile B2A
+ table. The ink limit will be in final calibrated device values if
+ the profile includes calibration information.<br>
+ <br>
+ <a name="L"></a> The <b>-L</b> <i>klimit</i> parameter sets the
+ black channel ink limit for the CMYK separation, as a total
+ percentage from 0% to 100%. This affects the gamut assumed for the
+ source profile, as well as the ink limit in the generated device
+ link. For printing press like devices, this can be used to prevent
+ the black channel screening pattern "filling in". Typical values
+ might be from 95% to 99%. By default, a black ink limit will be
+ estimated from the source profile B2A table. The ink limit will be
+ in final calibrated device values if the profile includes
+ calibration information.<br>
+ <br>
+ <b><a name="P"></a></b>The <b>-P</b> option causes a diagnostic 3D
+ <a href="File_Formats.html#VRML">VRML</a> plots to be created that
+ illustrate the gamut mapping generated.<br>
+ <br>
+ <a name="p1"></a>The <i><b>inprofile</b></i> argument specifies the
+ source profile. This is the color space/device we are attempting to
+ emulate in the overall conversion. A <small>TIFF or JPEG file with
+ embedded profile may be used here.</small><br>
+ <br>
+ <a name="p2"></a>The<i><b> outprofile</b></i> argument specifies the
+ destination profile. This is the device we are actually displaying
+ on or printing to. A <small>TIFF or JPEG file with embedded profile
+ may be used here.</small><br>
+ <br>
+ <a name="p3"></a>The <i><b>linkedprofile</b></i> argument specifies
+ the resulting device link profile. This profile will contain the
+ color transform from the source space to destination space.<br>
+ <br>
+ For information on typical usage, see the <a href="Scenarios.html">Typical
+
+
+ Usage Scenarios</a> page.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/colorchecker.jpg b/doc/colorchecker.jpg
new file mode 100644
index 0000000..464dd11
--- /dev/null
+++ b/doc/colorchecker.jpg
Binary files differ
diff --git a/doc/colprof.html b/doc/colprof.html
new file mode 100644
index 0000000..de9d5c2
--- /dev/null
+++ b/doc/colprof.html
@@ -0,0 +1,1559 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>colprof</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2> profile/colprof</h2>
+ <h3>Summary</h3>
+ Create an&nbsp;<a href="File_Formats.html#ICC">ICC</a> profile from
+ the&nbsp;<a href="File_Formats.html#.ti3">.ti3</a> test chart patch
+ values.<br>
+ <h3>Usage Summary</h3>
+ &nbsp;<tt><small>colprof [-<i>options</i>] inoutfile<br>
+ &nbsp;<a href="#v">-v</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; Verbose mode<br>
+ &nbsp;<a href="#A">-A "manufacturer"</a>&nbsp; Set the
+ manufacturer description string<br>
+ &nbsp;<a href="#M">-M "model"</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set the model
+ description string<br>
+ &nbsp;<a href="#D">-D "description"</a>&nbsp;&nbsp; Set the
+ profile Description string&nbsp; (Default "<span
+ style="font-style: italic;">inoutfile</span>")<br>
+ &nbsp;<a href="#C">-C "copyright"</a> &nbsp;&nbsp;&nbsp; Set the
+ copyright string<br>
+ &nbsp;<a href="#Za">-Z tmnb &nbsp;</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Attributes:
+ Transparency, Matte, Negative, BlackAndWhite<br>
+ </small></tt><tt><small>&nbsp;<a href="colprof.html#Zi">-Z prsa</a>&nbsp;
+
+ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Default
+ intent: Perceptual, Rel. Colorimetric, Saturation, Abs.
+ Colorimetric</small></tt><tt><br>
+ </tt><tt> </tt><tt><small>&nbsp;<a href="#q">-q lmhu</a>
+ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; Quality - Low,
+ Medium (def), High, Ultra<br>
+ &nbsp;<a href="#b">-b [lmhun]</a>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; Low quality B2A table - or specific B2A quality or none
+ for input device<br>
+ &nbsp;<a href="#y">-y</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; Verify A2B profile<br>
+ &nbsp;<a href="#ni">-ni</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; Don't create input (Device) shaper
+ curves<br>
+ </small></tt><tt><small>&nbsp;<a href="#np">-np</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ Don't create input (Device) grid position curves</small></tt><tt><br>
+ </tt><tt> </tt><tt><small>&nbsp;<a href="#no">-no</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; Don't create output (PCS) shaper
+ curves<br>
+ </small></tt><tt><small>&nbsp;<a href="#nc">-nc</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ Don't put the input .ti3 data in the profile</small></tt><tt><br>
+ </tt><tt> </tt><tt><small>&nbsp;<a href="#k">-k zhxr</a>&nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Black generation: z = zero K,<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;
+h
+=
+0.5
+K
+(def),
+x
+=
+
+
+
+
+
+
+
+
+
+
+
+ max K, r = ramp K<br>
+ &nbsp;<a href="#kp">-k p stle stpo enpo enle shape</a><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;
+stle:
+K
+level
+at
+White
+0.0
+
+
+
+
+
+
+
+
+
+
+
+ - 1.0<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+stpo:
+start
+point
+of
+transition
+Wh
+
+
+
+
+
+
+
+
+
+
+
+ 0.0 - Bk 1.0<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+enpo:
+End
+point
+of
+transition
+Wh
+
+
+
+
+
+
+
+
+
+
+
+ 0.0 - Bk 1.0<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+enle:
+K
+level
+at
+Black
+
+
+
+
+
+
+
+
+
+
+
+ 0.0 - 1.0<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+shape:
+1.0
+=
+straight,
+0.0-1.0
+concave,
+
+
+
+
+
+
+
+
+
+
+
+ 1.0-2.0 convex<br>
+ &nbsp;<a href="#K">-K parameters</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Same as -k, but target is K locus rather than K value itself<br>
+ &nbsp;<a href="#l">-l <i>tlimit</i></a>&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp;&nbsp; override CMYK total ink limit, 0 - 400%
+ (default from .ti3)<br>
+ &nbsp;<a href="#L">-L <i>klimit</i></a>&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp;&nbsp; override black ink limit, 0 - 100% (default
+ from .ti3)<br>
+ &nbsp;<a href="#a">-a lxXgsmGS</a> &nbsp;&nbsp; &nbsp; &nbsp;
+ Algorithm type override<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+l
+=
+Lab
+cLUT
+(def.),
+
+
+
+
+
+
+
+
+
+
+
+ x = XYZ cLUT, X = display XYZ cLUT + matrix<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+g
+=
+gamma+matrix,
+s
+=
+
+
+
+
+
+
+
+
+
+
+
+ shaper+matrix, m = matrix only,<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+G
+=
+single
+gamma+matrix,
+S
+=
+
+
+
+
+
+
+
+
+
+
+
+ single shaper+matrix<br>
+ &nbsp;<a href="#u">-u</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+
+
+
+ If input profile, auto scale WP to allow extrapolation</small></tt><tt><br>
+ </tt><tt> </tt><tt><small><small>&nbsp;<a href="#uc">-uc</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; If input profile, clip cLUT values above WP<br>
+ </small>&nbsp;</small></tt><tt><small><a href="#U">-U <span
+ style="font-style: italic;">scale</span></a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; If input
+ profile, scale media white point by scale</small></tt><tt><br>
+ </tt><tt> </tt><tt>&nbsp;</tt><tt><a href="#R">-R</a></tt><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Restrict
+white
+&lt;=
+1.0,
+black
+and
+
+
+
+
+
+
+
+
+
+
+
+ primaries to be +ve</tt><tt><br>
+ </tt><tt>&nbsp;</tt><tt><small><small><a
+ href="file:///D:/src/argyll/doc/colprof.html#f">-f [<i>illum</i>]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use Fluorescent
+ Whitening Agent compensation [opt. simulated inst. illum.:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ M0, M1, M2, </small></small></tt><tt><small><small><small>A,
+ C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp ]</small></small></small></tt><tt><br>
+ </tt><tt><small><small><small><small>&nbsp;<a
+ href="file:///D:/src/argyll/doc/colprof.html#i">-i <i>illum</i></a>&nbsp;&nbsp;
+
+ &nbsp; &nbsp; &nbsp; &nbsp; Choose illuminant for
+ computation of CIE XYZ from spectral data &amp; FWA:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+A,
+C,
+D50
+(def.),
+D50M2,
+
+ D65, F5, F8, F10 or file.sp</small></small></small><br>
+ &nbsp;<a href="#o">-o <i>observ</i></a>&nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; Choose CIE Observer for spectral data:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1931_2 </small></tt><tt><small>(def.)</small></tt><tt><small>,
+ 1964_10, S&amp;B 1955_2, shaw, J&amp;V 1978_2<br>
+ &nbsp;<a href="#r">-r avgdev</a> &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; Average deviation of device+instrument readings as
+ a percentage (default 0.5%)<br>
+ &nbsp;<a href="#s">-s src.icc</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Apply
+gamut
+mapping
+to
+output
+profile
+perceptual
+B2A
+table
+for
+
+
+
+
+
+
+
+
+
+
+
+ given source<br>
+ &nbsp;<a href="#S">-S src.icc</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Apply gamut mapping to output profile perceptual and saturation
+ B2A table<br>
+ &nbsp;<a href="#nP">-nP</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Use colormetric source gamut to make output profile perceptual
+ table<br>
+ &nbsp;<a href="#nS">-nS</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Use colormetric source gamut to make output profile saturation
+ table<br>
+ &nbsp;<a href="#g">-g src.gam</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use source image
+ gamut as well for output profile gamut mapping<br>
+ &nbsp;<a href="#p">-p aprof.icm,...</a> &nbsp; Incorporate
+ abstract profile(s) into output tables<br>
+ &nbsp;<a href="#t">-t intent</a>&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override gamut
+ mapping intent for output profile perceptual table:<br>
+ &nbsp;<a href="#T">-T intent</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Override gamut mapping intent for output profile saturation
+ table:<br>
+ </small></tt><tt><small> &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ a - Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aw - Absolute Colorimetric
+ (in Jab) with scaling to fit white point<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp; &nbsp;&nbsp; aa - Absolute Appearance<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r - White Point Matched
+ Appearance [ICC Relative Colorimetric]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; &nbsp; la - Luminance matched Appearance<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; p - Perceptual (Preferred) [ICC
+ Perceptual]<br>
+ </small></tt><tt><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ pa - Perceptual Appearance</small></tt><tt><br>
+ </tt><tt> </tt><tt><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ms - Saturation<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; s - Enhanced Saturation [ICC
+ Saturation]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp; &nbsp; al - Absolute Colorimetric (Lab)</small></tt><tt><small><br>
+ &nbsp;<a href="#c">-c viewcond</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ set input viewing conditions for output profile CIECAM02 gamut
+ mapping,<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ either an enumerated choice, or a parameter<br>
+ &nbsp;<a href="#d">-d viewcond</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ set output viewing conditions for output profile CIECAM02, gamut
+ mapping<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ either an enumerated choice, or a parameter:value change<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Also sets out of gamut clipping CAM space.<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Enumerated Viewing Conditions:<br>
+ </small></tt><tt><small>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; &nbsp; pp - Practical Reflection Print (ISO-3664
+ P2)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; &nbsp; pe - Print evaluation environment (CIE
+ 116-1995)<br>
+ </small></tt><tt><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; pc - Critical print evaluation
+ environment (ISO-3664 P1)</small></tt><tt><br>
+ </tt><tt> </tt><tt><small>&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; mt - Monitor in typical work
+ environment<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; mb - Monitor in bright work environment<br>
+ &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; md - Monitor in darkened work environment<br>
+ &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;
+ &nbsp; jm - Projector in dim environment<br>
+ &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp; jd - Projector in dark environment<br>
+ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene outdoors<br>
+ &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; ob - Original scene - Bright Outdoors<br>
+ &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; cx - Cut Sheet Transparencies on a viewing box</small></tt><tt><small><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;&nbsp;&nbsp; s:surround n = auto, a = average, m =
+ dim, d = dark,<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; c = transparency (default average)<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Adapted white point
+ as XYZ (default media white)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Adapted
+ white point as x, y<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a:adaptation&nbsp; Adaptatation
+ luminance in cd.m^2 (default 50.0)<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b:background&nbsp; Background %
+ of image luminance (default 20)<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; l:scenewhite&nbsp;
+ Scene white in cd.m^2 if surround = auto (default 250)<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flare light % of
+ image luminance (default 1)<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ f:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flare color as XYZ
+ (default media white)<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ f:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flare
+ color as x, y<br>
+ &nbsp;<a href="#P">-P</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Create gamut gammap_p.wrl and gammap_s.wrl diagostics<br>
+ </small></tt><tt><small>&nbsp;<a href="#O">-O outputfile</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+
+
+
+
+
+
+
+
+
+
+
+ the default output filename &amp; extension.</small></tt><tt><br>
+ </tt><tt> </tt><tt><small>&nbsp;<a href="#p1"><i>inoutfile</i></a>
+ &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Base name for
+ input.ti3/output.icc file</small></tt><br>
+ <h3>Options<br>
+ </h3>
+ <b><a name="v"></a>-v</b>&nbsp; Turn on verbose mode. Gives progress
+ information as the profile is created. Since colprof can take a long
+ time to generate, this is often useful to monitor progress. If used
+ in combination with the <b>-y</b> flag, the error of each test
+ point to the resulting profile will be printed out.<br>
+ <br>
+ <a name="A"></a>The <b>-A</b> parameter allows setting of the
+ device manufacturer description tag. The parameter should be a
+ string that identifies the manufacturer of the device being
+ profiled. With most command line shells, it will be necessary to
+ enclose the parameter with double quotes, so that spaces and other
+ special characters are included in the parameter, and not mistaken
+ for the start of another flag, or as a final command line
+ parameters. By default no manufacturer description string tag will
+ be generated for the profile.<br>
+ <br>
+ <a name="M"></a>The <b>-M</b> parameter allows setting of the
+ device mode description tag. The parameter should be a string that
+ identifies the particular model of device being profiled. With most
+ command line shells, it will be necessary to enclose the parameter
+ with double quotes, so that spaces and other special characters are
+ included in the parameter, and not mistaken for the start of another
+ flag, or as a final command line parameters. By default no model
+ description string tag will be generated for the profile.<br>
+ <br>
+ <a name="D"></a>The <b>-D</b> parameter allows setting of the
+ profile description tag. The parameter should be a string that
+ describes the device and profile. On many systems, it will be this
+ string that will be used to identify the profile from a list of
+ possible profiles. With most command line shells, it will be
+ necessary to enclose the parameter with double quotes, so that
+ spaces and other special characters are included in the parameter,
+ and not mistaken for the start of another flag, or as a final
+ command line parameter. Many programs that deal with ICC profiles
+ use the description tag to identify a profile, rather than the
+ profile filename, so using a descriptive string is important in
+ being able to find a profile. By default, the base name of the
+ resulting profile will be used as the description.<br>
+ <br>
+ <a name="C"></a>The <b>-C</b> parameter allows setting of the
+ profile copyright tag. The parameter should be a string that
+ describes the copyright (if any) claimed on the profile being
+ generated.. With most command line shells, it will be necessary to
+ enclose the parameter with double quotes, so that spaces and other
+ special characters are included in the parameter, and not mistaken
+ for the start of another flag, or as a final command line
+ parameters. By default a generic copyright string will be generated
+ for the profile.<br>
+ <br>
+ <a name="Za"></a>The <b>-Z</b> parameter allows setting of the
+ profile attribute flags. There are four flags: <span
+ style="font-weight: bold;">t</span> to set Transparency, the
+ default being Reflective; <span style="font-weight: bold;">m</span>
+ to set Matte, the default is Glossy; <span style="font-weight:
+ bold;">n</span> to set Negative, the default is Positive; <span
+ style="font-weight: bold;">b</span> to set BlackAndWhite, the
+ default is Color.<br>
+ <br>
+ <a name="Zi"></a>The <b>-Z</b> parameter allows setting of the
+ profile default intent. The default intent can be one of the four
+ standard intents: <span style="font-weight: bold;">p</span> to set
+ Perceptual, <span style="font-weight: bold;">r</span> to set
+ Relative Colorimetric, <span style="font-weight: bold;">s</span> to
+ set Saturation, and <span style="font-weight: bold;">a</span> to
+ set Absolute colorimetric.<br>
+ <br>
+ <a name="q"></a> The <b>-q</b> parameter sets the level of effort
+ and/or detail in the resulting profile. For table based profiles
+ ("cLUT" profiles), it sets the main lookup table size, and hence
+ detail in the resulting profile. For matrix profiles it sets the per
+ channel curve detail level and fitting "effort". It is <span
+ style="text-decoration: underline;">highly recommended</span> that
+ <span style="font-weight: bold;">-qm</span> be used as a starting
+ point, and other settings only tried after this has been evaluated.
+ <span style="font-weight: bold;">NOTE</span> that <span
+ style="font-weight: bold;">-qu</span> is a <span
+ style="text-decoration: underline;">test mode</span>, and
+ shouldn't be used, except to prove that it is not worth using.<br>
+ <br>
+ <a name="b"></a> The <b>-b</b> flag overrides the <b>-q</b>
+ parameter, and sets the lut resolution for the BtoA (inverse) to a
+ low value. The creation of the B2A table is fairly time consuming,
+ and if the profile is only going to be used by <a
+ href="targen.html">targen</a>, or if it will only be used as an
+ input space profile, or if it will only be linked as an output
+ profile using Argyll's <a href="collink.html">collink</a> tool
+ using the <b>-G</b> option (inverse AtoB option), then a high
+ detail BtoA table is not required, and some time and profile space
+ can be saved. If the profile is to be used as an output space
+ profile with another CMS, or is going to be linked using the simple
+ (-s) or mapping mode (-g) options, then a good quality B2A table is
+ needed, and the -b flag should <span style="font-weight: bold;">NOT</span>
+ be set. Optionally, a specific B2A table quality can be set.<br>
+ <br>
+ For input devices,&nbsp; the presence of a B2A table is not
+ mandatory, and it can be omitted entirely from the profile by using
+ <span style="font-weight: bold;">-bn</span>. Note that input
+ profiles and matrix profiles will only contain a colorimetric intent
+ table or matrix.<br>
+ <br>
+ <a name="y"></a> The <b>-y</b> flag does a verification check on
+ the AtoB profile. This is done by comparing what CIE colors the
+ profile predicts for the test chart test patches, and comparing them
+ to the actual values. A summary of the average and maximum Lab delta
+ E's will be printed out if this flag is set. If the <b>-v</b> flag
+ is also set, then information for each patch will also be printed.<br>
+ <br>
+ <a name="ni"></a><a name="np"></a><a name="no"></a>Normally cLUT
+ base profiles are generated with three major elements:- per device
+ channel (shaper) input curves, the multi-dimensional lut table, and
+ per PCS channel (shaper) output curves. The&nbsp; Using the <b>-ni</b>
+ flag disables the creation of the per device channel curves, while
+ using the <b>-no</b> flag disables the creation of the per PCS
+ channel curves.<br>
+ For cLUT based profiles, the input curves that are written to the
+ profile are composed of two components, a shape to best match the
+ detailed shape of the device behavior, and a shape to distribute the
+ input values evenly across the LUT input indexes. The <span
+ style="font-weight: bold;">-no</span> flag disables the former,
+ while the <span style="font-weight: bold;">-np</span> flag disables
+ the latter. <br>
+ <br>
+ <a name="nc"></a><span style="font-weight: bold;">-nc </span>Normally
+the
+
+
+
+
+
+
+
+
+
+
+
+ device and CIE/spectral sample data and calibration curves used to
+ create a profile is stored in the <span style="font-weight: bold;">'targ'</span>
+ text tag in the resulting ICC profile. To suppress this and make the
+ resulting profile smaller, use the <span style="font-weight: bold;">-nc
+
+
+
+
+
+
+
+
+
+
+ </span>flag. <span style="font-weight: bold;">Note</span> that this
+ will then preclude final calibrated device value ink limits from
+ being computed for the resulting profile in subsequent use (ie. <a
+ href="collink.html">collink</a>, <a href="xicclu.html">xicclu</a>
+ etc.).<br>
+ <br>
+ <a name="k"></a> -<b>k</b> parameter sets the target level of black
+ (K) when creating a B2A CMYK output tables. This is often called a
+ black level, a black inking rule, black generation, or under color
+ removal.&nbsp; These set the target black level.<br>
+ <br>
+ &nbsp;Possible arguments to the <b>-k</b> flag are:<br>
+ <br>
+ <b> -kz</b> selects minimum black (0.0)<br>
+ <b> -kh</b> selects a black value of 0.5<br>
+ <b> -kx</b> selects the maximum possible black (1.0)<br>
+ <b> -kr</b> selects a linear black ramp, starting at minimum black
+ for highlight, and maximum black for shadow (equivalent to -kp 0 0 1
+ 1 1). This is the default.<br>
+ <br>
+ <b><a name="kp"></a>-k p stle stpo enpo enle shape</b>&nbsp; allows
+ an arbitrary black value ramp to be defined, consisting of a
+ starting value (stle) for highlights, a breakpoint L value (stpo)
+ where it starts to transition to the shadow level, an end breakpoint
+ L (enpo) where it flattens out again, and the finishing black level
+ (enle) for the shadows. There is also a curve parameter, that
+ modifies the transition from stle to enle to either be concave
+ (ie.&nbsp; the transition starts gradually and and finished more
+ abruptly) using values 0.0-1.0, with 0.0 being most concave, or
+ convex (the transition starts more abruptly but finishes gradually),
+ using values 1.0-2.0, with 2.0 being the most convex.<br>
+ <br>
+ Typical black value generation curve with parameters something like:
+ -kp 0 .1 .9 1 .5<br>
+ <br>
+ <tt> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0 K &nbsp; |
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;enpo<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;
+ &nbsp;_______&nbsp; enle<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ |&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; /<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;/<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; /<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ stle&nbsp; | ------/<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; +-------------------<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0 K&nbsp;
+ 0.0&nbsp;&nbsp;&nbsp;
+ stpo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+White&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+ Black<br>
+ </tt> <br>
+ For minimum sensitivity of printed output to the lighting spectrum,
+ it currently seems best to use the maximum possible black, but other
+ black generation levels (ie. 0.3 to 0.5) may well be preferred if
+ one wants to minimize the noisy appearance of black on an inkjet
+ device, or if the banding behaviour or other rendering flaws of the
+ printer is to be minimized. <br>
+ <br>
+ Note that the black level curve is applied throughout the gamut,
+ resulting in GCR (Grey Component Replacement). There is no facility
+ to restrict black to just neutral colors, hence UCR is not currently
+ supported.<br>
+ &nbsp; <br>
+ The <a href="xicclu.html">xicclu</a> tool can be used to plot out
+ the resulting black level for a given set of parameters, by using
+ the <a href="xicclu.html#g">-g</a> flag of a profile already
+ created from the same .ti3 file.<br>
+ <br>
+ <a name="K"></a> <span style="font-weight: bold;">-K parameters.</span>
+ Any of the <span style="font-weight: bold;">-k</span> options above
+ can use the <span style="font-weight: bold;">-K</span> version, in
+ which rather than a black value target being defined by the inking
+ rule, a black <span style="text-decoration: underline;">locus</span>
+ target is defined. For each lookup, the minimum possible black level
+ and the maximum possible black level is determined, the former
+ corresponding to a locus target of 0, and the latter corresponding
+ to a locus target of 1. For instance, at the white point, no black
+ will be used in the output, even if the black locus specifies a
+ maximum (since the maximum amount of black that can be used to print
+ white is actually zero). Similarly, at the black point, black may
+ well be used, even if the black locus specifies zero black (since a
+ certain amount of black is needed to achieve the desired density of
+ color). <br>
+ <tt> </tt><br>
+ <a name="l"></a> The <b>-l</b> <i>tlimit</i> parameter sets the
+ total ink limit (TAC, Total Area Coverage) for the CMYK separation,
+ as a total percentage from 0% to 400%, and overrides any ink limit
+ specified in the .ti3 file. The limit value should generally be set
+ a little below the value used in the test chart generation, to avoid
+ the very edges of the gamut. If the test chart ink limit has been
+ chosen to be a little beyond an acceptable level, then this number
+ should be the acceptable level. Although limits can be set below
+ 200%, this will generally restrict the color gamut noticeably, as
+ fully saturated secondary colors will not be reproduced. Values are
+ between 220% and 300% for typical printing devices. Ink limits will
+ be in the final calibrated device values if the <span
+ style="font-weight: bold;">.ti3</span> includes the calibration
+ table.<br>
+ <br>
+ <a name="L"></a> The <b>-L</b> <i>klimit</i> parameter sets the
+ black channel ink limit for the CMYK separation, as a total
+ percentage from 0% to 100%. For printing press like devices, this
+ can be used to prevent the black channel screening pattern "filling
+ in". Typical values might be from 95% to 99%. Note that with the
+ current implementation this can slow down the creation of the
+ profile quite noticeably, so do not use <span style="font-weight:
+ bold;">-L</span> unless you really need to. Ink limits will be in
+ the final calibrated device values if the <span style="font-weight:
+ bold;">.ti3</span> includes the calibration table.<br>
+ <br>
+ <a name="a"></a> The <b>-a</b> parameter allows choosing an
+ alternate profile type. <br>
+ <br>
+ By default (equivalent to <b>-al</b>) profile creates a <span
+ style="font-weight: bold;">cLUT</span> based table profile with a
+ PCS (Profile Connection Space) of L*a*b*, which generally gives the
+ most accurate results, and allows for the four different rendering
+ intents that ICC profiles can support.<br>
+ <br>
+ A cLUT base table profile using a PCS of XYZ can be created if <b>-ax</b>
+ is used, and this may have the advantage of better accuracy for
+ additive type devices (displays, scanners, cameras etc.), may avoid
+ clipping for displays with a colorant chromaticity that can't be
+ encoded in L*a*b* PCS space, and may give a more accurate white
+ point for input devices by avoiding clipping of values above the
+ white point that can occur in L*a*b* based cLUT input profiles. By
+ default cLUT XYZ PCS Display profiles will also have a set of dummy
+ matrix tags included in them, for better compatibility with other
+ systems. The dummy matrix deliberately interchanges Red, Green and
+ Blue channels, so that it is obvious if the cLUT tables are not
+ being used. If it is important for both the cLUT and matrix be
+ accurate, use <span style="font-weight: bold;">-aX</span>, which
+ will create shaper/matrix tags.<br>
+ <br>
+ For RGB input or display profiles, a simpler type of profile using
+ either a gamma curves or a general shaper curves, combined with a
+ matrix can be created, although such a profile cannot support
+ perceptual or saturation intents. Gamma curve and matrix profiles
+ can be created by specifying <b>-ag</b> or <b>-aG</b>, the former
+ creating three independent gamma curves, one for each device
+ channel, and the latter creating one common curve for all the device
+ channels. The latter may be needed with certain applications that
+ will not accept different gamma curves for each channel. General
+ shaper curve and matrix profiles (which are superior to gamma curve
+ profiles) can be created by specifying <b>-as</b> or <b>-aS</b>,
+ the former creating three independent shaper curves, one for each
+ device channel, and the latter creating one common curve for all the
+ device channels. The latter may be needed with certain applications
+ that will not accept different shaper curves for each channel.<br>
+ <br>
+ The <span style="font-weight: bold;">-am</span> option will create
+ a matrix profile with linear (i.e. gamma = 1.0) curves. This may be
+ useful in creating a profile for a device that is known to have a
+ perfectly linear response, such as a camera in RAW mode.<br>
+ <br>
+ <a name="u"></a> <span style="font-weight: bold;">-u:</span> Input
+ profiles will normally be created such that the white patch of the
+ test chart will be mapped to perfect white when used with any of the
+ non-absolute colorimetric intents. This is the expected behavior for
+ input profiles. If such a profile is then used with a sample that
+ has a lighter color than the original test chart, then a cLUT
+ profile will clip the value, since it cannot be represented in the
+ lut table. Using the <b>-u</b> flag causes the media white point to
+ be automatically scaled (using the same type of scaling as the <span
+ style="font-weight: bold;">-U scale</span> option) to avoid
+ clipping values up to full device white. This flag can be useful
+ when an input profile is needed for using a scanner as a "poor mans"
+ colorimeter, or if the white point of the test chart doesn't
+ represent the white points of media that will be used in practice,
+ and that white point adjustment will be done individually in some
+ downstream application.<br>
+ <br>
+ <a name="uc"></a> <span style="font-weight: bold;">-uc:</span> For
+ input profiles it is sometimes desirable that any highlights
+ brighter than the white point, map exactly to white, and this option
+ post processes the cLUT entries to ensure this is the case. Note
+ that due to the finite nature of the cLUT grid, this may affect the
+ accuracy of colors near the light surface of the device gamut.<br>
+ <br>
+ <a name="U"></a><span style="font-weight: bold;"> -U <span
+ style="font-style: italic;">scale</span>:</span> Input profiles
+ will normally be created such that the white patch of the test chart
+ will be mapped to perfect white when used with any of the
+ non-absolute colorimetric intents. This is the expected behavior for
+ input profiles. Sometimes the test chart white is not quite the same
+ as the media being converted through the input profile, and it may
+ be desirable in these cases to adjust the input profile white point
+ to compensate for this. This can happen in the case of a camera
+ profile, where the test chart is not perfectly exposed. The <span
+ style="font-weight: bold;">-U</span> parameter allows this. If the
+ media converted is a little darker than the test chart white, then
+ use a scale factor slightly less than 1.0 to make sure that the
+ media white comes out as white on conversion (ie. try 0.9 for
+ instance). If the media is a little lighter than the test chart
+ white and is "blowing out" the highlights, try a value slightly
+ greater than 1.0 (ie. try 1.1 for instance). The <span
+ style="font-weight: bold;">-u</span> option sets the scale
+ automatically to accomodate a perfect white, but <span
+ style="font-weight: bold;">-U scale</span> can be used on top of
+ this automatic scaling.<br>
+ <br>
+ <a name="R"></a><span style="font-weight: bold;"> -</span><span
+ style="font-weight: bold;">R</span><span style="font-weight:
+ bold;">:</span> Normally the white point, black point and primary
+ locations (for matrix profiles) are computed so as to create
+ profiles that best match the sample data provided. Some programs are
+ not happy with the resulting locations if they have negative XYZ
+ values, or if the white point has a Y value &gt; 1. The <span
+ style="font-weight: bold;">-R</span> option restricts the white,
+ black and primary values, so as to work with these programs, but
+ this will reduce the accuracy of the profile.<br>
+ <br>
+ <a name="f"></a> The <b>-f</b> flag enables Fluorescent Whitening
+ Agent (FWA) compensation. This only works if spectral data is
+ available and, the instrument is not UV filtered.&nbsp; FWA
+ compensation adjusts the spectral samples so that they appear to
+ have been measured using an illuminant that has a different level of
+ Ultra Violet to the one the instrument actually used in the
+ measurement. There are two ways this can be used:<br>
+ <br>
+ The first and most common is to use the <b>-f</b> flag with the <b>-i</b>
+ illuminant parameter, to make the color values more accurately
+ reflect their appearance under the viewing illuminant. This will
+ work accurately if you specify the <span style="text-decoration:
+ underline;">actual illuminant spectrum you are using to view the
+ print</span>, using the <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-i</span></span> flag. If you are
+ doing proofing, you need to apply this to <span
+ style="text-decoration: underline;">both your source profile, and
+ your destination profile</span>. Note that it is not sufficient to
+ specify an illuminant with the same white point as the one you are
+ using, you should specify the spectrum of the illuminant you are <span
+ style="text-decoration: underline;">actually using</span> for the
+ proofing, including its <span style="text-decoration: underline;">Ultra
+
+
+
+
+
+
+
+
+
+
+
+ Violet</span> spectral content, otherwise FWA compensation won't
+ work properly. This means you ideally need to measure your
+ illuminant spectrum using an instrument that can measure down to
+ 300nm. Such instruments are not easy to come by. The best
+ alternative is to use the <a href="illumread.html">illumread</a>
+ utility, which uses an indirect means of measuring an illuminant and
+ estimating its UV content. Another alternative is to simply try
+ different illuminant spectra in the <span style="font-weight:
+ bold;">ref </span>directory, and see if one gives you the result
+ you are after, although this will be fairly a tedious approach. The
+ ref/D50_X.X.sp set of illuminant spectra are the D50 spectrum with
+ different levels of U.V. added or subtracted, ref/D50_1.0.sp being
+ the standard D50 illuminant, and may be somewhere to start.<br>
+ &nbsp;[Note: Generally using <span style="font-weight: bold;">-f</span>
+ with the standard (<b>-i) </b>D50 illuminant spectrum will predict
+ that the device will produce bluer output than the default of not
+ FWA compensation. This is because most instruments use an
+ incandescent illuminant (A type illuminant), which has lower
+ relative levels of UV than D50, so the FWA compensation simulates
+ the effect of the greater UV in the D50. Also note that in an
+ absolute colorimetric color transformation, the more a profile
+ predicts the output device will have blue output, the yellower the
+ result will be, as the overall color correction compensates for the
+ blueness. The opposite will happen for an input profile.]<br>
+ <br>
+ The second way of using the <b>-f</b> flag is to provide it with a
+ instrument simulation illuminant spectrum parameter, in addition to
+ the default D50 or <b>-i</b> parameter&nbsp; CIE XYZ&nbsp;
+ calculation illuminant<b></b>. This more complicated scenario
+ simulates the measurement of the spectral reflectance of the samples
+ under a particular instrument illuminant, then computes the CIE XYZ
+ values of that reflectance spectrum under the default D50 or <b>-i</b>
+ parameter illuminant. This is <u>not</u> used to give a more
+ accurate real world result, but to provide simulations of various
+ standardized measurement conditions. For instance, to reproduce ISO
+ 13655:2009 M2 measurement conditions, the <b>-f D50M2</b> could be
+ used (together with the default <b>-i D50</b> setting). There are
+ shortcuts provided for ISO 13655:2009 conditions:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <b>-f M0</b>&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; equivalent to<b>&nbsp;&nbsp;&nbsp; -f A</b><br>
+ &nbsp;&nbsp;&nbsp; <b>-f M1</b> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ equivalent to<b>&nbsp;&nbsp;&nbsp; -f D50</b><br>
+ &nbsp;&nbsp;&nbsp; <b>-f M2</b> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ equivalent to<b>&nbsp;&nbsp;&nbsp; -f D50M2</b><b><br>
+ </b><br>
+ &nbsp;Note that using <span style="font-weight: bold;">-f</span> <b>M2</b>
+ gives a result that is comparable to that of a U.V. cut filter
+ instrument. See also the discussion <a href="FWA.html">About
+ Fluorescent Whitening Agent compensation</a>.<br>
+ <br>
+ <a name="i"></a> The <b>-i</b> parameter allows specifying a
+ standard or custom illumination spectrum, applied to spectral .ti3
+ data to compute PCS (Profile Connection Space) tristimulus values. <b>A</b>,
+ <b>D50</b>, <b>D65</b>, <b>F5</b>, <b>F8</b>, <b>F10</b> are a
+ selection of standard illuminant spectrums, with <b>D50</b> being
+ the default. If a filename is specified instead, it will be assumed
+ to be an Argyll specific <a href="File_Formats.html#.sp">.sp</a>
+ custom spectrum file. This only works if spectral data is available.
+ Illuminant details are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp; CIE
+ tungsten filament lamp 2848K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D50 CIE daylight 5000K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D65 CIE daylight 6500K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F5&nbsp; CIE Fluorescent
+ 6350K, CRI 72<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F8&nbsp; CIE Fluorescent
+ 5000K, CRI 95<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F10 CIE Fluorescent
+ 5000K, CRI 81<br>
+ <br>
+ Custom illuminants are most often used when a&nbsp; viewing booth or
+ other known viewing conditions is going to be used to view results.
+ Other illuminant reference files could be created using a suitable
+ measuring instrument such as a spectrolino, or an eyeone using <a
+ href="spotread.html">spotread</a>, although such instruments do
+ not themselves provide the necessary response down to Ultra Violet
+ that is needed for accurate operation of Fluorescent Whitening Agent
+ compensation. The best way of measuring a custom illuminant is to
+ use <a href="illumread.html">illumread</a>, since it uses a special
+ method to estimate the illuminant UV in a way that complements FWA
+ compensation. (See the discussion above for the <b>-f</b> flag).<br>
+ <br>
+ Note that if an illuminant other than D50 is chosen, the resulting
+ ICC profile will not be standard, and may not work perfectly with
+ other profiles that that use&nbsp; the standard ICC D50 illuminant,
+ particularly if the absolute rendering intent is used. Profiles
+ should generally be linked with other profiles that have the same
+ illuminant and observer.<br>
+ <br>
+ <a name="o"></a> The <b>-o</b> flag allows specifying a tristimulus
+ observer, and is used to compute tristimulus values. The following
+ choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer. The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ Note that if an observer other than 1931 2 degree is chosen, the
+ resulting ICC profile will not be standard, and cannot be freely
+ interchanged with other profiles that that use the standard 1931 2
+ degree observer. Profiles should only be linked with other profiles
+ that have the same illuminant and observer. The <b>1978_2</b>
+ observer or <span style="font-weight: bold;">shaw</span> observer
+ may give slightly better results than the <b>1931_2</b> observer.<br>
+ <br>
+ <br>
+ <a name="r"></a> The <b>-r</b> parameter specifies the average
+ deviation of device+instrument readings from the perfect, noiseless
+ values as a percentage. Knowing the uncertainty in the reproduction
+ and test patch reading can allow the profiling process to be
+ optimized in determining the behaviour of the underlying system. The
+ lower the uncertainty, the more each individual test reading can be
+ relied on to infer the underlying systems color behaviour at that
+ point in the device space. Conversely, the higher the uncertainty,
+ the less the individual readings can be relied upon, and the more
+ the collective response will have to be used. In effect, the higher
+ the uncertainty, the more the input test patch values will be
+ smoothed in determining the devices response. If the perfect,
+ noiseless test patch values had a uniformly distributed error of +/-
+ 1.0% added to them, then this would be an average deviation of 0.5%.
+ If the perfect, noiseless test patch values had a normally
+ distributed&nbsp; error with a standard deviation of 1% added to
+ them, then this would correspond to an average deviation of 0.564%.
+ For a lower quality instrument (less than say a Gretag Spectrolino
+ or Xrite DTP41), or a more variable device (such as a xerographic
+ print engine, rather than a good quality inkjet), then you might be
+ advised to increase the <span style="font-weight: bold;">-r</span>
+ parameter above its default value (double or perhaps 4x would be
+ good starting values.) <br>
+ <br>
+ <a name="S"></a><a name="s"></a><span style="font-weight: bold;">-s
+ -S&nbsp; </span>In order to generate perceptual and saturation
+ intent B2A tables for output profiles, it is necessary to specify at
+ least one profile to define what source gamut should be used in the
+ source to destination gamut mapping. [For more information on <span
+ style="text-decoration: underline;">why</span> a source gamut is
+ needed, see <a href="iccgamutmapping.html">About ICC profiles and
+ Gamut Mapping</a>] The <b>-S</b> parameter is used to do this,
+ and doing so causes perceptual and saturation tables to be
+ generated. If only a perceptual intent is needed, then the <b>-s</b>
+ flag can be used, and the saturation intent will use the same table
+ as the perceptual intent. Note that a input, output, display or
+ device colororspace profile should be specified, not a non-device
+ colorspace, device link, abstract or named color profile.<br>
+ If no source gamut is specified for a cLUT Display profile, then an
+ ICC Version 2.2.0 profile will be created with only an A2B0 and B2A0
+ tag. If a source gamut is specified, then an ICC Version 2.4.0
+ profile will be created with a full complement of B2A tags to
+ support all intents. The source gamut is created from the
+ corresponding intent table of the provided profile to the output
+ table being created. A TIFF or JPEG file containing an embedded ICC
+ profile may be supplied as the argument.<br>
+ <span style="font-weight: bold;">Note</span> that input profiles and
+ matrix profiles will only contain a colorimetric intent table or
+ matrix, and hence the <span style="font-weight: bold;">-s</span>
+ and <span style="font-weight: bold;">-S</span> option is not
+ relevant.<br>
+ <br>
+ <a name="nP"></a><span style="font-weight: bold;">-nP</span>:
+ Normally when a source profile is provided to define the source
+ gamut for the output profile perceptual table gamut mapping, the
+ perceptual source table is used to determine this gamut. This is
+ because some profile have gamut transformations in their perceptual
+ A2B tables that is not in the colorimetric A2B table, and this needs
+ to be taken into account in creating the perceptual B2A table, so
+ that when the two profiles are linked together with the perceptual
+ intent, the gamut mapping works as intended. The <span
+ style="font-weight: bold;">-nP</span> option causes the source
+ gamut to be taken from the source profile colorimetric table
+ instead, causing the perceptual gamut mapping created for the
+ perceptual table to be from the natural source colorspace gamut to
+ the output space gamut.<br>
+ <br>
+ <a name="nS"></a><span style="font-weight: bold;">-nS</span>:
+ Normally when a source profile is provided to define the source
+ gamut for the output profile saturation table gamut mapping, the
+ saturation source table is used to determine this gamut. This is
+ because some profile have gamut transformations in their saturation
+ A2B tables that is not in the colorimetric A2B table, and this needs
+ to be taken into account in creating the saturation B2A table, so
+ that when the two profiles are linked together with the saturation
+ intent, the gamut mapping works as intended. The <span
+ style="font-weight: bold;">-nS</span> option causes the source
+ gamut to be taken from the source profile colorimetric table
+ instead, causing the saturation gamut mapping created for the
+ saturation table to be from the natural source colorspace gamut to
+ the output space gamut.<small><span style="font-family: monospace;"></span></small><br>
+ <br>
+ <a name="g"></a>The <span style="font-weight: bold;">-g</span> flag
+ and its argument allow the use of a specific source gamut instead of
+ that of the source profile. This is to allow optimizing the gamut
+ mapping to a source gamut of &nbsp;a particular image, which can
+ give slightly better results that gamut mapping from the gamut of
+ the source colorspace. Such a source image gamut can be created
+ using the <a href="tiffgamut.html"> tiffgamut</a> tool. The gamut
+ provided to the <span style="font-weight: bold;">-g</span> <span
+ style="font-weight: bold;"></span> flag should be in the same
+ colorspace that <span style="font-weight: bold;">colprof</span> is
+ using internally to connect the two profiles. For all intents except
+ the last one (no. <span style="font-weight: bold;">7</span>), the
+ space should be Jab appearance space, with the viewing conditions
+ generally being those of the input profile viewing conditions. The
+ input profile will normally be the one used to create a source image
+ gamut using <span style="font-weight: bold;">tiffgamut</span>.<br>
+ <br>
+ <b><a name="p"></a></b>The <b>-p</b> option allows specifying one
+ or more abstract profiles that will be applied to the output tables,
+ after any gamut mapping. An abstract profile is a way of specifying
+ a color adjustment in a device independent way. The abstract profile
+ might have been created using one of the <span style="font-weight:
+ bold;">tweak</span> tools, such as <a href="refine.html">refine</a>.<br>
+ If a single abstract profile is specified, then it will be applied
+ to all the output tables (colorimetric, perceptual and saturation).
+ To specify different abstract profiles for each output table, use a
+ contiguous comma separated list of filenames. Omit a filename
+ between the commas if no abstract profile is to be applied to a
+ table. For instance: -<span style="font-weight: bold;">p
+ colabst.icm,percabst.icm,satabst.icm</span> for three different
+ abstract transforms, or: <span style="font-weight: bold;">-p
+ ,percabst.icm,</span> for just a perceptual table abstract
+ transform.<br>
+ <br>
+ One strategy for getting the best perceptual results with output
+ profile when using ICC profiles with systems that don't accept
+ device link profiles, is as follows: Specify a gamut mapping profile
+ of opposite type to the type of device being profiled, and when
+ linking, use the relative colorimetric intent if the two profiles
+ are of the same type, and perceptual intent if the two profiles are
+ of the opposite type. For instance, if you are creating a CMYK
+ output profile, specify an RGB profile for the <b>-s</b> or <b>-S</b>
+ parameter. If linking that profile with a CMYK source profile, use
+ relative colorimetric intent, or if linking with an RGB profile, use
+ the perceptual intent. Conversely, if creating an RGB output
+ profile, specify a CMYK profile for the <b>-s</b> or <b>-S</b>
+ parameter, and if linking that profile with an RGB source profile,
+ use relative colorimetric intent, or if linking with a CMYK profile,
+ use the perceptual intent.<br>
+ <br>
+ (Note that the perceptual and saturation table gamut mapping doesn't
+ make any allowance for the application of the abstract profile. This
+ is a bug.)<br>
+ <br>
+ <a name="t"></a><a name="T"></a><span style="font-weight: bold;"></span><span
+ style="font-weight: bold;"></span>Normally, the gamut mapping used
+ in creating the perceptual and saturation intent tables for output
+ profiles is set to perceptual and saturation gamut mapping (as would
+ be expected), but it is possible to override this default selection
+ for each intent using the <b>-t</b> and <b>-T</b> flags. The <b>-t</b>
+ flag can be used to set the gamut mapping for the perceptual table,
+ and the <b>-T</b> flag can be used to set the gamut mapping for the
+ saturation table. A more detailed description of the different
+ intents is given in <a href="collink.html#i">collink</a>. Note that
+ selecting any of the absolute intents will probably not function as
+ expected, since the perceptual and saturation tables are inherently
+ relative colorimetric in nature.<br>
+ <br>
+ <a name="c"></a><b><a name="d"></a></b>Since appearance space is
+ used in the gamut mapping (just as it is in <a href="collink.html">
+ collink</a>), the viewing conditions for the source and
+ destination colorspaces should really be specified. The source
+ colorspace is the profile specified with the <b>-s</b> or <b>-S</b>
+ flag, and the destination is the profile being created. The <b>-c</b>
+ and <b>-d</b> options allow specification of their respective,
+ associated viewing conditions. The viewing condition information is
+ used to map the profile PCS (Profile Connection Space, which us
+ either XYZ or L*a*b*) color into appearance space (CIECAM02), which
+ is a better colorspace to do gamut mapping in. The viewing
+ conditions allow the conversion into appearance space to take
+ account of how color will be seen under particular viewing
+ conditions.<br>
+ <br>
+ Viewing conditions can be specified in two basic ways. One is to
+ select from the list of "pre canned", enumerated viewing conditions,
+ choosing one that is closest to the conditions that are appropriate
+ for the media type and situation. Alternatively, the viewing
+ conditions parameters can be specified individually. If both methods
+ are used, them the chosen enumerated condition will be used as a
+ base, and its parameters will then be individually overridden.<br>
+ <br>
+ Appearance space is also used to provide a space to map any
+ remaining out of gamut colors (after a possible gamut mapping has
+ been applied) into the device gamut. <br>
+ <br>
+ <b><a name="P"></a></b>The <b>-P</b> option causes diagnostic 3D <a
+ href="File_Formats.html#VRML">VRML</a> plots to be created that
+ illustrate the gamut mappings generated for the perceptual and
+ saturation intent tables.<br>
+ <br>
+ <a name="O"></a>The <span style="font-weight: bold;">-O</span>
+ parameter allows the output file name &amp; extension to be
+ specified independently of the final parameter basename. Note that
+ the full filename must be specified, including the extension.<span
+ style="font-weight: bold;"></span><br>
+ <br>
+ <a name="p1"></a> The final parameter is the file base name for the
+ <a href="File_Formats.html#.ti3">.ti3</a> input test point data, and
+ the resulting <a href="File_Formats.html#ICC">ICC</a> output
+ profile (.icm extension on the MSWindows platform, .icc on Apple or
+ Unix platforms). The <span style="font-weight: bold;">-O</span>
+ parameter will override this default.
+ <h3>Discussion</h3>
+ Note that monochrome profiling isn't currently supported. It may be
+ supported sometime in the future.<br>
+ <br>
+ If the <b>-v</b> flag is used (verbose), then at the end of
+ creating a profile, the maximum and average fit error of the input
+ points to the resulting profile will be reported. This is a good
+ guide as to whether things have gone smoothly in creating a profile.
+ Depending on the type of device, and the consistency of the
+ readings, average errors of 5 or less, and maximum errors of 15 or
+ less would normally be expected. If errors are grossly higher than
+ this, then this is an indication that something is seriously wrong
+ with the device testing, or profile creation.<br>
+ <br>
+ Given a .ti3 file from a display device that contains calibration
+ curves (generated by <a href="dispcal.html">dispcal</a>, passed
+ through <a href="dispread.html">dispread</a>) and the calibration
+ indicates that the VideoLUTs are accessible for the device, then <span
+ style="font-weight: bold;">colprof</span> will convert the
+ calibration into a <span style="font-weight: bold;">vcgt</span> tag
+ in the resulting profile so that the operating system tools can
+ configure the display hardware appropriately, whenever the profile
+ is used. If the VideoLUTs are not marked as being accessible, <span
+ style="font-weight: bold;">colprof</span> will do nothing with the
+ calibration curves. In this case, to apply calibration, the curves
+ have to be incorporated in the subsequent workflow, either by
+ incorporating them into the profile using <a
+ href="applycal.html#p1">applycal</a>, or including them after the
+ profile in a <a href="cctiff.html#p2">cctiff</a> profile chain.<br>
+ <br>
+ Given a .ti3 file from a print device that contains the per-channel
+ calibration information (generated by <a href="printcal.html">printcal</a>,
+ passed through <a href="printtarg.html">printtarg</a> and <a
+ href="chartread.html">chartread</a>), <span style="font-weight:
+ bold;">colprof</span> will save this along with the .ti3 file in
+ the <span style="font-weight: bold;">'targ'</span> text tag in the
+ profile, <span style="font-weight: bold;"></span> so that
+ subsequent evaluation of ink limits can compute the final calibrated
+ device values.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/cube.jpg b/doc/cube.jpg
new file mode 100644
index 0000000..929273c
--- /dev/null
+++ b/doc/cube.jpg
Binary files differ
diff --git a/doc/dispcal.html b/doc/dispcal.html
new file mode 100644
index 0000000..7327c8f
--- /dev/null
+++ b/doc/dispcal.html
@@ -0,0 +1,2256 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>dispcal</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/dispcal</b></h2>
+ <h3>Summary</h3>
+ Given calibration target information [white point, maximum
+ brightness, and response curve ("gamma")], display a series of test
+ patches on the display, and using the colorimetric values read,
+ create a calibration lookup tables that make the display meet the
+ desired target. The type of instrument is determined by the
+ communication port selected. Emission and display measurement
+ instruments are supported.<br>
+ <h3>Usage</h3>
+ <font size="-1"><span style="font-family: monospace;">dispcal
+ [-options]</span><i style="font-family: monospace;"> inoutfile</i><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v [n]</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Verbose mode<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#display">-display displayname</a><span
+ style="font-family: monospace;"> [X11 only] Choose X11 display
+ name<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#dnm">-d n[,m]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ [X11 only]Choose the display from the following list (default
+ 1),<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+and
+optionally
+choose
+a
+different
+display
+m
+for
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VideoLUT access.</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#d">-d n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Choose
+the
+display
+from
+the
+following
+list
+(default
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1)</span></font><br>
+ <span style="font-family: monospace;">&nbsp;<a href="#dweb">-dweb[:port]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display via a web server at port (default 8080)</span><br
+ style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span>&nbsp; <span style="font-family: monospace;"></span></font><small
+ style="font-family: monospace;"><span style="font-family:
+ monospace;"></span><a style="font-family: monospace;" href="#c">-c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ listno</a><span style="font-family: monospace;"> &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set communication port from
+ the following list (default 1)<br>
+ </span></small><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#r">-r</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Report on the calibrated display then
+ exit</span></font><font size="-1"><span style="font-family:
+ monospace;"></span><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"><br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#R">-R</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Report on the uncalibrated display then
+ exit</span></font><font size="-1"><span style="font-family:
+ monospace;"></span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#m">-m</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; </span></font><font size="-1"><span
+ style="font-family: monospace;">Skip</span><span
+ style="font-family: monospace;"> adjustment of the monitor
+ controls</span></font><br>
+ &nbsp; <font size="-1"><span style="font-family: monospace;"><a
+ href="#o">-o [profile.icm]</a>&nbsp;&nbsp;&nbsp;&nbsp; Create
+ fast matrix/shaper profile [different filename to outfile.icm]<br>
+ &nbsp;<a href="#O">-O description</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fast ICC Profile Description string (Default "outfile")<br>
+ &nbsp;<a href="#u">-u</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Update
+previous
+calibration
+and
+(if
+-o
+used)
+ICC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ profile VideoLUTs</span><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#q">-q [lmh]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Quality - Low, Medium (def), High<br>
+ &nbsp;<a href="#p">-p</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+ Use telephoto mode (ie. for a projector) (if available)<br>
+ &nbsp;</span></font><font size="-1"><span style="font-family:
+ monospace;"><a href="#y">-y X</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display type - instrument specific list to choose from.</span></font><font
+ size="-1"><span style="font-family: monospace;"><br
+ style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#t">-t [temp]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+White
+Daylight
+locus
+target,
+optional
+target
+temperaturee
+in
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ deg. K (deflt.)<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#T">-T [temp]</a><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+White
+Black
+Body
+locus
+target,
+optional
+target
+temperaturee
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ in deg. K</span></font><br style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#w">-w x,y</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set the target white point as chromaticity coordinates</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#b">-b bright</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set the target white brightness in cd/m^2</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#g">-g gamma</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set the target response curve gamma (Def. 2.4)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use "-gl" for L*a*b* curve</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; Use "-gs" for sRGB curve<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+"-g709"
+for
+REC
+709
+curve
+(should
+use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -a as well!)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use "-g240" for SMPTE 240M curve </span></font><font size="-1"><span
+ style="font-family: monospace;">(should use -a as well!)</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use "-G2.4 -f0" for BT.1886</span></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+ <br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#G">-G gamma</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Set the target response curve actual technical gamma<br>
+ &nbsp;<a href="#f">-f [degree]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Amount
+of
+black
+level
+accounted
+for
+with
+output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ offset (default all output offset)<br>
+ &nbsp;<a href="#a">-a ambient</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use viewing condition adjustment for ambient in Lux<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#k">-k factor</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Amount to try and correct black point hue. Default 1.0, LCD
+ default 0.0<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#A">-A rate</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Rate of blending from neutral to black point. Default 4.0</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#B">-B bkbright</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set the target black brightness in cd/m^2</span></font><br
+ style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#e">-e [n]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Run n verify passes on final curves<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#E">-E</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Run only verify pass on installed calibration curves</span></font><br
+ style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;<a href="#P">-P
+ ho,vo,ss[,vs]</a>&nbsp;&nbsp;&nbsp;&nbsp; Position test window
+ and scale it</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ho,vi:
+0.0
+=
+left/top,
+0.5
+=
+center,
+1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = right/bottom etc.</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ss:
+0.5
+=
+half,
+1.0
+=
+normal,
+2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = double etc.<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+ ss,vs: = optional horizontal, vertical scale.</span></font><br>
+ <font size="-1"><span style="font-family: monospace;"> &nbsp;<a
+ href="#F">-F</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fill whole screen with black background</span></font><font
+ size="-1"><span style="font-family: monospace;"></span></font><br
+ style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#n">-n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;
+[X11
+only]
+Don't
+set
+override
+redirect
+on
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ test window<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#J">-J</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Run instrument calibration first<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable initial calibration of instrument if possible</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#H">-H</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Use high resolution spectrum mode (if
+ available)<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;"></span><span style="font-family: monospace;"><br>
+ &nbsp;</span></font><font size="-1"><span style="font-family:
+ monospace;"><span style="text-decoration: underline;"></span><a
+ href="#X1">-X file.ccmx</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Apply Colorimeter Correction Matrix</span></font><br>
+ <span style="font-family: monospace;">&nbsp;<a href="#X2">-X
+ file.ccss</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+Colorimeter
+Calibration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Spectral Samples for calibration</span><font size="-1"><span
+ style="font-family: monospace;"><br>
+ </span></font><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#Q">-Q <i>observ</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp; Choose CIE Observer for spectrometer or CCSS
+ colorimeter data:</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1931_2 </span></small><small><span
+ style="font-family: monospace;">(def.)</span></small><small><span
+ style="font-family: monospace;">, 1964_10, S&amp;B 1955_2, shaw,
+ J&amp;V 1978_2, 1964_10c<br>
+ &nbsp;<a href="#I">-I b|w</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Drift compensation, Black: -Ib, White: -Iw, Both: -Ibw<br>
+ </span></small><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style=" font-family: monospace;"
+ href="#YA">-<font size="-1">Y</font> A</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; Use non-adaptive integration time mode (if
+ available).</span></font><br>
+ <small><span style="font-family: monospace;"> </span></small><font
+ size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#C">-C "command"</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Invoke shell
+ "command" each time a color is set</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#M">-M "command"</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Invoke shell
+ "command" each time a color is measured</span></font><font
+ size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#W">-W n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+serial
+port
+flow
+control:
+n
+=
+none,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ h = HW, x = Xon/Xoff</span></font><font size="-1"><span
+ style="font-family: monospace;"></span></font><br>
+ <font size="-1"><span style="font-family: monospace;"> </span></font><font
+ size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#D">-D [level]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Print debug diagnostics to stderr</span></font><br
+ style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p1"><i>inoutfile</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </span><span style="font-family: monospace;">Base name for created
+ or updated </span></font><font size="-1"><a style="font-family:
+ monospace;" href="cal_format.html">.cal</a><span
+ style="font-family: monospace;"></span></font><font size="-1"><span
+ style="font-family: monospace;">&nbsp; and <a
+ href="File_Formats.html#ICC">.icm</a> output files</span></font><br>
+ <br>
+ <h3>Comments<br>
+ </h3>
+ This is the tool is used for adjusting and calibrating a display to
+ reach specified target behaviour, and optionally profiling it.&nbsp;
+ For best results on a CRT, you should run this against a neutral
+ grey desktop background, and avoid having any bright images or
+ windows on the screen at the time you run dispcal. You could also
+ use the <span style="font-weight: bold;">-B</span> option to black
+ the whole screen out, although this will make it impossible to
+ control dispcal unless you have more than one display.<br>
+ <br>
+ <a name="v"></a> The <b>-v</b> flag reports progress information,
+ as well as other statistics about the progress of calibration. A
+ numerical argument greater than 1 gives greater verbosity.<br>
+ <br>
+ <a name="display"></a>When running on a UNIX based system that used
+ the X11 Windowing System, <b>dispcal</b> will by default use the
+ $DISPLAY environment variable to determine which local or remote
+ display and screen to read from. This can be overridden by supplying
+ an X11 display name to the <span style="font-weight: bold;">-display</span>
+ option. Note that if Xinerama is active, you can't select the screen
+ using $DISPLAY or -display, you have to select it using the <span
+ style="font-weight: bold;">-d</span> parameter.<br>
+ <br>
+ <a name="d"></a> By default the main display will be the location of
+ the test window. If the system has more than one display or screen,
+ an alternate display/screen can be selected with the <span
+ style="font-weight: bold;">-d</span> parameter. If you invoke <span
+ style="font-weight: bold;">dispcal</span> so as to display the
+ usage information (i.e. "dispcal -?" or "dispcal --"), then the
+ discovered displays/screens will be listed. Multiple displays may
+ not be listed, if they appear as a single display to the operating
+ system (ie. the multi-display support is hidden in the video card
+ driver). On UNIX based system that used the X11 Windowing System,
+ the <span style="font-weight: bold;">-d</span> parameter will
+ override the screen specified by the $DISPLAY or parameter.<br>
+ <br>
+ <span style="font-weight: bold;">Note</span> that if VideoLUTs for a
+ display are not accessible (i.e. no hardware calibration
+ capability), <span style="font-weight: bold;">dispcal</span> will
+ will issue a warning, but continue creating a calibration based on
+ the display "as-is" rather than its native response. See the <a
+ href="dispcal.html#o">-o</a> flag for an explanation of the
+ implications of having no access to the VideoLUTs.<br>
+ <br>
+ On X11 the inability to access VideoLUTs could be because you are
+ trying to access a remote display, and the remote display doesn't
+ support the XF86VidMode extension, or perhaps you are running
+ multiple monitors using NVidia TwinView, or MergedFB, and trying to
+ access anything other than the primary monitor. TwinView and
+ MergedFB don't properly support the XF86VidMode extension for
+ multiple displays. You can use <a href="dispwin.html#r">dispwin -r</a>
+ to test whether the VideoLUTs are accessible for a particular
+ display. See also below, on how to select a different display for
+ VideoLUT access. Also note that dispcal will fail if the Visual
+ depth doesn't match the VideoLUT depth. Typically the VideoLUTs have
+ 256 entries per color component, so the Visual generally needs to be
+ 24 bits, 8 bits per color component.<br>
+ <br>
+ <a name="dnm"></a>Because of the difficulty cause by TwinView and
+ MergedFB in X11 based systems, you can optionally specify a separate
+ display number after the display that is going to be used to present
+ test patches, for accessing the VideoLUT hardware. This must be
+ specified as a single string, e.g. <span style="font-weight: bold;">-d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1,2</span> . Some experimentation may be needed using <a
+ href="dispwin.html">dispwin</a> on such systems, to discover what
+ screen has access to the VideoLUT hardware, and which screens the
+ test patches appear on. You may be able to calibrate one screen, and
+ then share the calibration with another screen. Profiling can be
+ done independently to calibration on each screen.<br>
+ <br>
+ <a name="dweb"></a><span style="font-weight: bold;">-dweb</span> or
+ <span style="font-weight: bold;">-dweb:port</span> starts a
+ standalone web server on your machine, which then allows a local or
+ remote web browser to display the the color test patches. By default
+ port <span style="font-weight: bold;">8080</span> is used, but this
+ can be overridden by appending a <span style="font-weight: bold;">:</span>
+ and the port number i.e. <span style="font-weight: bold;">-dweb:8001</span>.
+ The URL will be <span style="font-weight: bold;">http://</span>
+ then name of the machine or its I.P. address followed by a colon and
+ the port number - e.g something like <span style="font-weight:
+ bold;">http://192.168.0.1:8080</span>. If you use the verbose
+ option (<span style="font-weight: bold;">-v</span>) then a likely
+ URL will be printed once the server is started, or you could run <span
+ style="font-weight: bold;">ipconfig</span> (MSWin) or <span
+ style="font-weight: bold;">/sbin/ifconfig</span> (Linux or OS X)
+ and identify an internet address for your machine that way. <b>JavaScript</b>
+ needs to be enabled in your web browser for this to work.<br>
+ <br>
+ Note that if you use this method of displaying test patches, that
+ there is no access to the display VideoLUTs and that the colors will
+ be displayed with 8 bit per component precision, and any
+ screen-saver or power-saver will not be disabled. You will also be
+ at the mercy of any color management applied by the web browser, and
+ may have to carefully review and configure such color management.
+ See the <a href="#o">-o</a> flag for an explanation of the
+ implications of having no access to the VideoLUTs.<br>
+ <br>
+ <a name="c"></a> <span style="font-weight: bold;">-c</span> The
+ instrument is assumed to communicate through a USB or serial
+ communication port, and the port can be selected with the <b>-c</b>
+ option, if the instrument is not connected to the first port. If you
+ invoke <span style="font-weight: bold;">dispcal</span> so as to
+ display the usage information (i.e. "dispcal -?" or "dispcal --"),
+ then the discovered USB and serial ports will be listed. On
+ UNIX/Linux, a list of all possible serial ports are shown, but not
+ all of them may actually be present on your system.<br>
+ <br>
+ <a name="r"></a> The -<span style="font-weight: bold;">r</span> and
+ <span style="font-weight: bold;"><a name="R"></a>-R </span>flags
+ perform a quick measurement of current display behaviour, reports
+ and then exits. If the <span style="font-weight: bold;">-r</span>
+ flag is used the measurement are taken using the currently loaded
+ calibration (Video LUT) curves. If <span style="font-weight: bold;">-R</span>
+ is use, then the uncalibrated ("raw" or "native") behaviour is
+ measured. Reported are: <br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Black Brightness in cd/m^2<br>
+ &nbsp;&nbsp;&nbsp; White Brightness in cd/m^2<br>
+ &nbsp;&nbsp;&nbsp; The approximate Gamma<br>
+ &nbsp;&nbsp;&nbsp; The white point x,y chromaticity co-ordinates<br>
+ &nbsp;&nbsp;&nbsp; The correlated color temperature in Kelvin, and
+ the CIEDE200 to the Black Body locus.<br>
+ &nbsp;&nbsp;&nbsp; The correlated Daylight temperature in Kelvin,
+ and the CIEDE200 to the Daylight locus.<br>
+ &nbsp;&nbsp;&nbsp; The visual color temperature in Kelvin, and the
+ CIEDE200 to the Black Body locus.<br>
+ &nbsp;&nbsp;&nbsp; The visual Daylight temperature in Kelvin, and
+ the CIEDE200 to the Daylight locus.<br>
+ &nbsp;&nbsp;&nbsp; The visual color temperature in Kelvin<br>
+ (for <span style="font-weight: bold;">-R </span>"raw":)<br>
+ &nbsp;&nbsp;&nbsp; The apparent VideoLUT entry number of significant
+ bits.<br>
+ <br>
+ Note that the correlated color temperature is the temperature of a
+ black body radiator that has the closest color to the white point
+ measured using the traditional CIE 1960 UCS space color difference
+ formula. The correlated daylight temperature is a similar thing,
+ except the CIE daylight locus is used. The visual color temperature
+ values are calculated similarly to the correlated color
+ temperatures, but using the modern CIEDE2000 color difference
+ formula to calculate a better visual approximation to the closest
+ temperature to the displays white point. There will be no difference
+ between the UCS and CIEDE2000 temperatures if the display white
+ point actually lies on the particular locus.<br>
+ <br>
+ <a name="m"></a> The -<span style="font-weight: bold;">m</span>
+ option skips the usual process of adjusting the display monitor
+ contrast, brightness and white point controls, and skips straight to
+ calibration.<br>
+ <br>
+ <a name="o"></a><span style="font-weight: bold;">-o [</span><span
+ style="font-style: italic;">profile.icm</span><span
+ style="font-weight: bold;">]</span> Normally <span
+ style="font-weight: bold;">dispcal</span> creates just a
+ calibration file, which can then be used for subsequent
+ characterization using <a href="dispread.html">dispread</a> and
+ profiling using <a href="colprof.html">colprof</a>. If the <span
+ style="font-weight: bold;">-o</span> flag is used, <span
+ style="font-weight: bold;">dispcal</span> will also create a
+ shaper/matrix profile. By default it will create a profile named <span
+ style="font-weight: bold;">inoutfile.icm</span>, but a differently
+ named file can be created or updated by specifying the name after
+ the <span style="font-weight: bold;">-o</span> flag. If the <span
+ style="font-weight: bold;">-u</span> flag is used with <span
+ style="font-weight: bold;">-o</span>, then the ICC profile <span
+ style="font-weight: bold;">vcgt</span> calibration curves will be
+ updated.<br>
+ <br>
+ Note that if VideoLUT access is not possible for the display, that
+ hardware calibration is not possible. dispcal will create
+ calibration curves anyway with a warning, and if a profile is
+ created, it will not contain a 'vcgt' tag, but instead will have the
+ calibration curves incorporated into the profile itself. If
+ calibration parameters are chosen that change the displays white
+ point or brightness, then this will result in a slightly unusual
+ profile that has a white point that does not correspond with
+ R=G=B=1.0. Some systems may not cope properly with this type of
+ profile. See the <a href="Scenarios.html#PM7">tutorial</a> for a
+ further explanation.<br>
+ <br>
+ <a name="O"></a>The <b>-O</b> parameter allows setting of the
+ shaper/matrix profile description tag. The parameter should be a
+ string that describes the device and profile. With most command line
+ shells, it will be necessary to enclose the parameter with double
+ quotes, so that spaces and other special characters are included in
+ the parameter, and not mistaken for the start of another flag, or as
+ a final command line parameter. Many programs that deal with ICC
+ profiles use the description tag to identify a profile, rather than
+ the profile filename, so using a descriptive string is important in
+ being able to find a profile. By default, the profile file name will
+ be used as the description.<br>
+ <br>
+ <a name="u"></a><span style="font-weight: bold;">-u</span> Normally
+ <span style="font-weight: bold;">dispcal</span> creates a new
+ calibration file and optional profile, based on the requested
+ targets and the response of the display. This can take a fair amount
+ of time, particularly if a high quality level has been selected, so
+ to speed up the process of keeping a display in calibration the <span
+ style="font-weight: bold;">-u</span> flag can be used. This uses
+ the same calibration targets as the previous calibration but does a
+ smaller number of refinement passes, enough to improve the accuracy
+ of the calibration to account for drift in the device. If the <span
+ style="font-weight: bold;">-o</span> flag is used as well, then
+ the ICC profile <span style="font-weight: bold;"></span>will have
+ its vcgt tag updated with the new calibration. This keeps the
+ profile up to date with the display. Normally <span
+ style="font-weight: bold;">dispcal -u</span> will use the same
+ quality level that was specified in the previous calibration, but
+ this can be overridden using the <span style="font-weight: bold;">-q</span>
+ flag. Any options that attempt to change the calibration target (ie.
+ white point, brightness, gamma etc.) will be ignored. Adjustment of
+ the display monitor controls is skipped. A profile cannot be updated
+ if the display does not support hardware calibration (no VideoLUT
+ access).<br>
+ <br>
+ <a name="q"></a>&nbsp; Quality - Low, Medium (def), High. The <span
+ style="font-weight: bold;">-q</span> flag determines how much time
+ and effort to go to in calibrating the display. The higher the
+ quality, the more test readings will be done, the more refinement
+ passes will be done, the tighter will be the accuracy tolerance, and
+ the more detailed will be the calibration of the display. The result
+ will ultimately be limited by the accuracy of the instrument, the
+ repeatability of the display and instrument, and the resolution of
+ the Video Lookup table entries and Digital or Analogue output
+ (RAMDAC).<br>
+ <br>
+ <a name="p"></a>The <span style="font-weight: bold;">-p</span> flag
+ allows measuring in telephoto mode, using instruments that support
+ this mode, e.g. the ColorMunki. Telephoto mode is one for taking
+ emissive measurements from a distance (ie. telespectometer,
+ tele-colorimeter) mode, and typically would be used for measuring
+ projector type displays. If a device does not support a specific
+ telephoto mode, then the normal emissive mode may be suitable for
+ measuring projectors.<br>
+ <br>
+ <a name="y"></a>&nbsp; The <span style="font-weight: bold;">-y</span>
+ flag allows setting the Display Type. The selection typically
+ determines two aspects of of the instrument operation: <span
+ style="font-weight: bold;">1)</span> It may set the measuring mode
+ to suite <a
+ href="http://en.wikipedia.org/wiki/Comparison_of_display_technology"><span
+ style="font-weight: bold;">refresh</span> or <span
+ style="font-weight: bold;">non-refresh</span> displays</a>.
+ Typically only LCD (Liquid Crystal) displays have a non-refresh
+ nature. <span style="font-weight: bold;">2)</span> It may select an
+ instrument calibration matrix suitable for a particular display
+ type. The selections available depends on the type and model of
+ instrument, and a list of the options for the discovered instruments
+ will be shown in the <a href="ArgyllDoc.html#CmdLine">usage</a>
+ information. For more details on what particular instruments support
+ and how this works, see <a href="instruments.html">Operation of
+ particular instruments</a>. <b>3)</b> Any installed CCSS files
+ (if applicable), or CCMX files. These files are typically created
+ using <a href="file:///D:/src/argyll/doc/ccxxmake.html">ccxxmake</a>,
+ and installed using <a
+ href="file:///D:/src/argyll/doc/oeminst.html">oeminst</a>. The
+ default and Base Calibration types will be indicated in the usage.<br>
+ <br>
+ <a name="t"></a><span style="text-decoration: underline;"></span> <span
+ style="font-weight: bold;">-t</span> Set the target white point
+ locus to the equivalent of a Daylight spectrum of the given
+ temperature in degrees Kelvin. By default the white point target
+ will be the native white of the display, and it's color temperature
+ and delta E to the daylight spectrum locus will be shown during
+ monitor adjustment, and adjustments will be recommended to put the
+ display white point directly on the Daylight locus. If a Daylight
+ color temperature is given as an argument to <span
+ style="font-weight: bold;">-t</span>, then this will become the
+ target of the adjustment, and the recommended adjustments will be
+ those needed to make the monitor white point meet the target.
+ Typical&nbsp; values might be 5000 for matching printed output, or
+ 6500, which gives a brighter, bluer look. A white point temperature
+ different to that native to the display may limit the maximum
+ brightness possible.<br>
+ <br>
+ <a name="T"></a><span style="text-decoration: underline;"></span> <span
+ style="font-weight: bold;">-T</span>&nbsp; Same functionality as
+ the <span style="font-weight: bold;">-t</span> option, except the
+ white point locus will be the Black Body, or Planckian locus, rather
+ than the Daylight locus. While these two white point loci are quite
+ close, they are subtly different. If a temperature is given as an
+ argument, this will become the Black Body target temperature during
+ adjustment.<br>
+ <br>
+ <a name="w"></a><span style="font-weight: bold;">-w</span>&nbsp; An
+ alternative to specifying a&nbsp; white point target in Daylight or
+ Black Body degrees Kevin, is to specify it in chromaticity
+ co-ordinates. This allows the white point to be a color other than
+ one on the Daylight or Black Body. Note that the x,y numbers must be
+ specified as a single string (no space between the numbers and the
+ comma).<br>
+ <br>
+ <a name="b"></a><span style="font-weight: bold;">-b</span>&nbsp; Set
+ the target brightness of white in cd/m^2. If this number cannot be
+ reached, the brightest output possible is chosen, consistent with
+ matching the white point target. Note that many of the instruments
+ are not particularly accurate when assessing the absolute display
+ brightness in cd/m^2. <span style="font-weight: bold;">NOTE</span>
+ that some LCD screens behave a little strangely near their absolute
+ white point, and may therefore exhibit odd behavior at values just
+ below white. It may be advisable in such cases to set a brightness
+ slightly less than the maximum such a display is capable of.<br>
+ <br>
+ <a name="g"></a><span style="font-weight: bold;">-g gamma</span>&nbsp;
+Set
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the target response curve gamma. This is normally an exponential
+ curve (output = input ^gamma), and defaults to 2.4 on MSWindows and
+ Macintosh OS X 10.6 or latter and Linux/Unix (which is typical of a
+ CRT type displays real response), and 1.8 on a Macintosh (prior to
+ OS X 10.6). Four pre-defined curves can be used as well: the sRGB
+ colorspace response curve, which is an exponent curve with a
+ straight segment at the dark end and an overall response of
+ approximately gamma 2.2 (<span style="font-weight: bold;">-gs</span>),
+the
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ L* curve, which is the response of the CIE L*a*b* perceptual
+ colorspace (<span style="font-weight: bold;">-gl</span>). the REC
+ 709 video standard response curve (<span style="font-weight: bold;">-g709</span>)
+ and the SMPTE 240M video standard response curve (<span
+ style="font-weight: bold;">-g240</span>) <br>
+ <br>
+ <span style="font-weight: bold;">Note</span> that a real display
+ can't reproduce any of these ideal curves, since it will have a
+ non-zero black point, whereas all the ideal curves assume zero light
+ at zero input. In the case of a gamma curve target, dispcal uses an
+ actual technical power curve shape that aims for the same relative
+ output at 50% input as the ideal gamma power curve. To allow for the
+ non-zero black level of a real display, by default <span
+ style="font-weight: bold;">dispcal</span> will offset the target
+ curve values so that zero input gives the actual black level of the
+ display (output offset). This ensures that the target curve better
+ corresponds to the typical natural behavior of displays, but it may
+ not be the most visually even progression from display minimum, but
+ this behavior can be changed using the <span style="font-weight:
+ bold;">-f</span> option (see below).<br>
+ <br>
+ <span style="font-weight: bold;">Also note</span> that many color
+ spaces are encoded with, and labelled as having a gamma of
+ approximately<span style="font-weight: bold;"> 2.2</span> (ie. sRGB,
+ REC 709, SMPTE 240M, Macintosh OS X 10.6), but are actually intended
+ to be displayed on a display with a typical CRT gamma of <span
+ style="font-weight: bold;">2.4</span> viewed in a darkened
+ environment. This is because this <span style="font-weight: bold;">2.2</span>
+ gamma is a source gamma encoding in bright viewing conditions such
+ as a television studio, while typical display viewing conditions are
+ quite dark by comparison, and a contrast expansion of (approx.)
+ gamma 1.1 is desirable to make the images look as intended. So if
+ you are displaying images encoded to the sRGB standard, or
+ displaying video through the calibration, just setting the gamma
+ curve to sRGB or REC 709 (respectively) is probably <span
+ style="font-weight: bold;">not what you want!</span> What you
+ probably want to do, is to set the gamma curve to about gamma 2.4,
+ so that the contrast range is expanded appropriately, or <span
+ style="text-decoration: underline; font-weight: bold;">alternatively</span>
+ use sRGB or REC 709 or a gamm of 2.2 but <span style="font-weight:
+ bold;">also</span> use the <span style="font-weight: bold;">-a</span>
+ parameter to specify the actual ambient viewing conditions, so that
+ <span style="font-weight: bold;">dispcal</span> can make an
+ appropriate contrast enhancement. If your instrument is capable of
+ measuring ambient light levels, then you can do so during the
+ interactive display control adjustment. See
+ &lt;http://www.color.org/sRGB.xalter&gt; for details of how sRGB is
+ intended to be used.<br>
+ <br>
+ It is hard to know whether Apple Macintosh computers prior to OS X
+ 10.6 should also have such an adjustment, since it is not really
+ possible to know whether colors labelled as being in such a
+ colorspace are actually encoded in that gamma with the expectation
+ that they will be displayed on a display with that actual response,
+ or whether they are intended to be displayed on a display that
+ contrast expands by a power 1.1.&nbsp; Both situations might be the
+ case, depending on how source material is created!<br>
+ <br>
+ <a name="G"></a><span style="font-weight: bold;">-G gamma</span>&nbsp;
+As
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explained above, the gamma value provided to the <span
+ style="font-weight: bold;">-g</span> option is used to set and
+ actual response curve that makes an allowance for the non-zero black
+ of the actual display, and will have the same relative output at 50%
+ input as the ideal gamma power curve, and so best matches typical
+ expectations. The <span style="font-weight: bold;">-G</span> option
+ is an alternative that allows the <span style="font-weight: bold;">actual</span>
+ power to be specified instead, meaning that when combined with the
+ displays non-zero black value, the response at 50% input will
+ probably not match that of the ideal power curve with that gamma
+ value.<br>
+ <br>
+ <a name="f"></a><span style="font-weight: bold;">-f [degree]</span>:
+ As explained in for the <span style="font-weight: bold;">-g</span>
+ and <span style="font-weight: bold;">-G</span> options, real
+ displays do not have a zero black response, while all the target
+ response curves do, so this has to be allowed for in some way. The
+ default way of handling this (equivalent to -f 1.0)&nbsp; is to
+ allow for this at the output of the ideal response curve, by
+ offsetting and scaling the output values.<span style="font-weight:
+ bold;"></span> This defined a curve that will match the responses
+ that many other systems provide and may be a better match to the
+ natural response of the display, but will give a less visually even
+ response from black<span style="font-weight: bold;"></span>. The
+ other alternative is to offset and scale the input values into the
+ ideal response curve so that zero input gives the actual non-zero
+ display response. This ensures the most visually even progression
+ from display minimum, but might be hard to achieve since it is
+ different to the naturally response of a display. A subtlety is to
+ provide a split between how much of the offset is accounted for as
+ input to the ideal response curve, and how much is accounted for at
+ the output, and this can be done by providing a parameter <span
+ style="font-weight: bold;">-f degree</span>, where the degree is
+ 0.0 accounts for it all as input offset, and 1.0 accounts for all of
+ it as output offset. If <span style="font-weight: bold;">-f</span>
+ is used without a specified degree, a degree of 0.0 is assumed, the
+ opposite of the default. <span style="font-weight: bold;">Note</span>
+ that using all input offset (degree == 0.0) is equivalent to the use
+ of the <span style="font-weight: bold;">BT.1886</span> transfer
+ function.<br>
+ <br>
+ <a name="a"></a><span style="font-weight: bold;">-a ambient</span>:
+ As explained for the <span style="font-weight: bold;">-g</span>
+ parameter, often colors are encoded in a situation with viewing
+ conditions that are quite different to the viewing conditions of a
+ typical display, with the expectation that this difference in
+ viewing conditions will be allowed for in the way the display is
+ calibrated. The <span style="font-weight: bold;">-a</span> option
+ is a way of doing this. By default <span style="font-weight: bold;">dispcal</span>
+ will not make any allowances for viewing conditions, but will
+ calibrate to the specified response curve, but if the <span
+ style="font-weight: bold;">-a</span> option is used, or the
+ ambient level is measured during the interactive display controls
+ portion of the calibration, an appropriate viewing conditions
+ adjustment will be performed. For a gamma value or sRGB, the
+ original viewing conditions will be assumed to be that of the sRGB
+ standard viewing conditions, while for REC 709 and SMPTE 240M they
+ will be assumed to be television studio viewing conditions. By
+ specifying or measuring the ambient lighting for your display, a
+ viewing conditions adjustment based on the CIECAM02 color appearance
+ model will be made for the brightness of&nbsp; your display and the
+ contrast it makes with your ambient light levels. <br>
+ <br>
+ <a name="k"></a><span style="font-weight: bold;">-k factor</span>:
+ Normally this will be set automatically, based on the measured black
+ level of the display. A <span style="font-weight: bold;">-k</span>
+ factor of 1.0 will make all colors down the neutral axis (R=G=B)
+ have the same hue as the chosen white point. Near the black point,
+ red, green or blue can only be added, not subtracted from zero, so
+ the process of making the near black colors have the desired hue,
+ will <span style="font-weight: bold;">lighten</span> them to some
+ extent. For a device with a good contrast ratio or a black point
+ that has nearly the same hue as the white, this should not affect
+ the contrast ration too severely. If the device contrast ratio is
+ not so good, and the native black hue is noticeably different to
+ that of the chosen white point (which is often the case for <span
+ style="font-weight: bold;">LCD</span> type displays, or <span
+ style="font-weight: bold;">CRT</span> type displays with one
+ channel which has a poor level of black), this could have a
+ noticeably detrimental effect on an already limited contrast ratio,
+ and result in a black that is not as good as it can be, and a lower
+ <span style="font-weight: bold;">-k</span> factor should be used. <span
+ style="font-weight: bold;">-k</span> values can range between 0.0
+ (no correction of black) to 1.0 (full correction of black). If less
+ than full correction is chosen, then the resulting calibration
+ curves will have the target white point down most of the curve, but
+ will then blend over to the native or compromise black point that is
+ blacker, but not of the right hue. The rate of this blend can be
+ controlled with the <span style="font-weight: bold;">-A</span>
+ parameter (see below).<br>
+ <br>
+ <a name="A"></a><span style="font-weight: bold;">-A rate</span>:&nbsp;
+If
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the black point is not being set completely to the same hue as the
+ white point (ie. because the <span style="font-weight: bold;">-k</span>
+ factor is less than 1.0), then the resulting calibration curves will
+ have the target white point down most of the curve, but will then
+ blend over to the native or compromise black point that is blacker,
+ but not of the right hue. The rate of this blend can be controlled
+ with the <span style="font-weight: bold;">-A</span> parameter. The
+ default value 4.0, which results in a target that switches from the
+ white point target to the black, moderately close to the black
+ point. While this typically gives a good visual result with the
+ target neutral hue being maintained to the point where the crossover
+ to the black hue is not visible, it may be asking too much of some
+ displays (typically LCD type displays), and there may be some visual
+ effects due to inconsistent color with viewing angle. For this
+ situation a smaller value may give a better visual result (e.g. try
+ values of 3.0 or 2.0. A value of 1.0 will set a pure linear blend
+ from white point to black point). If there is too much coloration
+ near black, try a larger value, e.g. 6.0 or 8.0.<br>
+ <br>
+ <a name="B"></a><span style="font-weight: bold;">-B</span>&nbsp; Set
+ the target brightness of black in cd/m^2. Setting too high a value
+ may give strange results as it interacts with trying to achieve the
+ target "advertised" gamma curve shape. You could try using -f 1 if
+ this causes a problem.<br>
+ <br>
+ <a name="e"></a><span style="font-weight: bold;">-e [n]</span> Run <span
+ style="font-weight: bold;">n</span> verify passes on the final
+ curves. This is an extra set of instrument readings, that can be
+ used to estimate how well the device will match the targets with the
+ computed calibration curves. Note that the usefulness of the
+ verification is sometimes limited by the repeatability of the device
+ &amp; instrument readings. This is often evident for CRT displays,
+ which (due to their refresh rate) flicker. More than one
+ verification pass can be done by providing the parameter <span
+ style="font-weight: bold;">n</span>, and by then comparing the
+ successive verifications, some idea of the repeatability can be
+ ascertained. The verification uses a fixed number of semi-random
+ test values to test the calibration.<br>
+ <br>
+ <a name="E"></a><span style="font-weight: bold;">-E</span> Run
+ verify pass on the display as it is currently setup (currently
+ installed LUT curves). This will use the usual input parameters to
+ establish the expected (target) characteristic. <span
+ style="font-weight: bold;">Note</span> that if the initial
+ calibration was modified due to it being out of gamut of the
+ display, verify will show the resulting discrepancy. You can use <a
+ href="dispwin.html">dispwin</a> to load a <span
+ style="font-weight: bold;">.cal</span> file into the display
+ before running dispcal <span style="font-weight: bold;">-E</span>.
+ Note that if you set an Ambient light level interactively during the
+ calibration, you need to enter the same number that was measured and
+ set using the <span style="font-weight: bold;">-a</span> parameter
+ for verify.<br>
+ <br>
+ <a name="P"></a> The <span style="font-weight: bold;">-P</span>
+ parameter allows you to position and size the test patch window. By
+ default it is places in the center of the screen, and sized
+ appropriately for the type of instrument. The <span
+ style="font-weight: bold;">ho</span> and <span
+ style="font-weight: bold;">vo</span> values govern the horizontal
+ and vertical offset respectively. A value of 0.0 positions the
+ window to the far left or top of the screen, a value of 0.5
+ positions it in the center of the screen (the default), and 1.0
+ positions it to the far right or bottom of the screen. If three
+ parameters are provided, then the <span style="font-weight: bold;">ss</span>
+ parameter is a scale factor for the test window size. A value of 0.5
+ for instance, would produce a half sized window. A value of 2.0 will
+ produce a double size window. If four parameters are provided, then
+ the last two set independent horizontal and vertical scaling
+ factors. Note that the ho,vo,ss or ho,vo,hs,vs numbers must be
+ specified as a single string (no space between the numbers and the
+ comma). For example, to create a double sized test window at the top
+ right of the screen, use <span style="font-weight: bold;">-P 1,0,2</span>
+ . To create a window twice as wide as high: <span
+ style="font-weight: bold;">-P 1,0,2,1</span>.<br>
+ <br>
+ <a name="F"></a> The <span style="font-weight: bold;">-F</span>
+ flag causes the while screen behind the test window to be masked
+ with black. This can aid black accuracy when measuring CRT displays
+ or projectors.<br>
+ <br>
+ <a name="n"></a><span style="font-weight: bold;">-n</span> When
+ running on a UNIX based system that used the X11 Windowing System, <b>dispcal</b>
+ normally selects the override redirect so that the test window will
+ appear above any other windows on the display. On some systems this
+ can interfere with window manager operation, and the <b>-n</b>
+ option turns this behaviour off.<br>
+ <br>
+ <a name="J"></a> The -<span style="font-weight: bold;">J</span>
+ option runs through the black and sensor relative calibration
+ routines for the Xrite DTP92 and DTP94 instruments, the black level
+ calibration for the Eye-One Display 1, and a CRT frequency
+ calibration for the Eye-One Display 2. For the black calibration the
+ instrument should be placed on an opaque, black surface, and any
+ stray light should be avoided by placing something opaque over the
+ instrument. If a Spectrolino is being used, then a white and black
+ calibration will always be performed before the instrument can be
+ placed on the display, unless the <a href="dispcal.html#N">-N</a>
+ flag is used. Generally it is not necessary to do a calibration
+ every time an instrument is used, just now and again. There is also
+ no point in doing&nbsp; a CRT frequency calibration, as this will be
+ done automatically at the commencement of patch reading, and will be
+ lost between runs.<br>
+ <br>
+ <a name="N"></a> <span style="font-weight: bold;">-N</span> Any
+ instrument that requires regular calibration will ask for
+ calibration on initial start-up. Sometimes this can be awkward if
+ the instrument is being mounted in some sort of measuring jig, or
+ annoying if several sets of readings are being taken in quick
+ succession. The -<span style="font-weight: bold;">N</span>
+ suppresses this initial calibration if a valid and not timed out
+ previous calibration is recorded in the instrument or on the host
+ computer. It is advisable to only use this option on the second and
+ subsequent measurements in a single session.<br>
+ <br>
+ <a name="H"></a> The -<span style="font-weight: bold;">H</span>
+ option turns on high resolution spectral mode, if the instrument
+ supports it, such as the Eye-One Pro. See <a
+ href="instruments.html">Operation of particular instruments</a>
+ for more details. This may give better accuracy for display
+ measurements.<br>
+ <br>
+ <a name="X1"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccmx</span></span> option reads
+ a <a href="File_Formats.html#.ccmx">Colorimeter Correction Matrix</a>
+ from the given file, and applies it to the colorimeter instruments
+ readings. This can improve a colorimeters accuracy for a particular
+ type of display. A list of contributed <span style="font-weight:
+ bold;">ccmx</span> files is <a href="ccmxs.html">here</a>.<br>
+ <br>
+ <a name="X2"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccss</span></span> option reads
+ a <a href="File_Formats.html#.ccss">Colorimeter Calibration
+ Spectral Sample</a> from the given file, and uses it to set the
+ colorimeter instruments calibration. This will only work with
+ colorimeters that rely on sensor spectral sensitivity calibration
+ information (ie. the X-Rite <span style="font-weight: bold;">i1d3</span>,
+ or the DataColor <span style="font-weight: bold;">Spyder4</span>).This
+can
+improve
+a
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ colorimeters accuracy for a particular type of display.<br>
+ <br>
+ <a name="Q"></a> The <b>-Q</b> flag allows specifying a tristimulus
+ observer, and is used to compute PCS (Profile Connection Space)
+ tristimulus values from spectral readings or using a colorimeter
+ that has CCSS capability. The following choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer. The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ &nbsp; <b>1964_10c</b> selects a version of the CIE 1964 10 degree
+ observer that has been adjusted using a 3x3 matrix to better agree
+ with the 1931 2 degree observer.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that if you select
+ anything other than the default 1931 2 degree observer, that the Y
+ values will not be cd/m^2, due to the Y curve not being the CIE 1924
+ photopic V(&#955;) luminosity function.<br>
+ <br>
+ <a name="I"></a> The -<span style="font-weight: bold;">I <span
+ style="font-style: italic;">b|w</span></span> options invoke
+ instrument black level, and display white level compensation
+ (respectively). Instrument black level drift compensation attempts
+ to combat instrument black calibration drift by using a display
+ black test patch as a reference. If an instrument is not
+ acclimatised sufficiently to the measurement conditions, changes in
+ temperature can affect the black readings. Display white level drift
+ compensation attempts to combat changes in display brightness as it
+ warms up by measuring a white patch every so often, and using it to
+ normalise all the other readings. If just instrument black drift
+ compensation is needed, use <span style="font-weight: bold;">-Ib</span>.
+ If just display white level compensation is needed, use <span
+ style="font-weight: bold;">-Iw</span>. If both are needed, use <span
+ style="font-weight: bold;">-Ibw</span> or <span
+ style="font-weight: bold;">-Iwb</span>.<span style="font-weight:
+ bold;"> </span><br>
+ <br>
+ <a name="YA"></a> The -<span style="font-weight: bold;">Y A</span>
+ option uses a non-adaptive integration time emission measurement
+ mode, if the instrument supports it, such as the Eye-One Pro or
+ ColorMunki. By default an adaptive integration time measurement mode
+ will be used for emission measurements, but some instruments support
+ a fixed integration time mode that can be used with display devices.
+ This may give increased consistency and faster measurement times,
+ but may also give less accurate low level readings.<br>
+ <br>
+ <a name="C"></a> The -<span style="font-weight: bold;">C</span> <span
+ style="font-weight: bold;">"command" </span>option allows a
+ method of relaying each test value to some other display than that
+ on the system running dispcal (for instance, a photo frame, PDA
+ screen etc.), by causing the given command to be invoked to the
+ shell, with six arguments. The first three arguments are the RGB
+ test color as integers in the range 0 to 255, the second three
+ parameters are the RGB test color as floating point numbers in the
+ range 0.0 to 1.0. The script or tool should relay the given color to
+ the screen in some manner (e.g. by generating a raster file of the
+ given color and sending it to the display being profiled), before
+ returning. Note that a test window will also be created on the
+ system running dispread.<br>
+ <br>
+ <a name="M"></a> The -<span style="font-weight: bold;">M</span> <span
+ style="font-weight: bold;">"command" </span>option allows a
+ method of gathering each test value from some external source, such
+ as an instrument that is not directly supported by Argyll. The given
+ command is involked to the shell, with six arguments. The first
+ three arguments are the RGB test color as integers in the range 0 to
+ 255, the second three parameters are the RGB test color as floating
+ point numbers in the range 0.0 to 1.0. The script or tool should
+ create a file called <span style="font-weight: bold;">"command.meas</span>"
+ that contains the XYZ values for the given RGB (or measured from the
+ test window) in cd/m^2 as three numbers separated by spaces, before
+ returning. If the command returns a non-zero return value, dispcal
+ will abort. Note that a test window will also be created on the
+ system running dispcal.<br>
+ <br>
+ <a name="W"></a>The <b>-W</b> <span style="font-weight: bold;">n|h|x</span>
+ parameter overrides the default serial communications flow control
+ setting. The value <span style="font-weight: bold;">n</span> turns
+ all flow control off, <span style="font-weight: bold;">h</span>
+ sets hardware handshaking, and <span style="font-weight: bold;">x</span>
+ sets Xon/Xoff handshaking. This commend may be useful in workaround
+ serial communications issues with some systems and cables. <br>
+ <br>
+ <a name="D"></a>The <b>-D</b> flag causes communications and other
+ instrument diagnostics to be printed to stdout. A level can be set
+ between 1 .. 9, that may give progressively more verbose
+ information, depending on the instrument. This can be useful in
+ tracking down why an instrument can't connect.<br>
+ <br>
+ <a name="p1"></a><span style="font-weight: bold;">inoutfile</span>
+ The final parameter on the command line is the base filename for the
+ <a href="cal_format.html">.cal</a> file and the optional ICC
+ profile. Normally this will be created (or an existing file will be
+ overwritten). If the <span style="font-weight: bold;">-u</span>
+ flag is used, then these files will be updated. If a different ICC
+ profile name needs to be specified, do so as an argument to the <span
+ style="font-weight: bold;">-o</span> flag.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that on an X11 system,
+ if the environment variable <span style="font-weight: bold;">ARGYLL_IGNORE_XRANDR1_2</span>
+ is set (ie. set it to "yes"), then the presence of the XRandR 1.2
+ extension will be ignored, and other extensions such as Xinerama and
+ XF86VidMode extension will be used. This may be a way to work around
+ buggy XRandR 1.2 implementations.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h2><a name="Adjustment"></a>Discussion and guide to display control
+ adjustment:</h2>
+ <br>
+ The adjustment of the display controls (brightness, contrast, R, G
+ &amp; B channel controls etc.) is very dependent on the particular
+ monitor. Different types and brands of monitors will have different
+ controls, or controls that operate in different ways. Some displays
+ have almost no user controls, and so you may well be best skipping
+ display adjustment, and going straight to calibration.<br>
+ <br>
+ Almost all LCD displays lack a real <span style="font-weight:
+ bold;">contrast</span> control. Those that do present such a
+ control generally fake it by adjusting the video signal. For this
+ reason it is usually best to set an LCD's <span style="font-weight:
+ bold;">contrast</span> control at its neutral setting (ie. the
+ setting at which it doesn't change the video signal). Unfortunately,
+ it can be hard to know what this neutral setting is. On some
+ displays it is 50%, others 75%. If the LCD display has a "reset to
+ factory defaults" mode, then try using this first, as a way of
+ setting the <span style="font-weight: bold;">contrast</span>
+ control to neutral. The LCD <span style="font-weight: bold;">brightness</span>
+ control generally adjusts the level of backlighting the display
+ gets, which affects the maximum brightness, and also tends to raise
+ or lower the black level in proportion, without changing the
+ displays response curve shape or overall contrast ratio. If your LCD
+ display has a <span style="font-weight: bold;">backlight</span>
+ control as well as a <span style="font-weight: bold;">brightness</span>
+ control, then the brightness control is also probably being faked,
+ and you are probably better off setting it to it's neutral setting,
+ and using the <span style="font-weight: bold;">backlight</span>
+ control in place of <span style="font-weight: bold;">brightness</span>
+ in the following adjustments.<br>
+ <br>
+ Some high end displays have the ability to mimic various standard
+ colorspaces such as sRGB or AdobeRGB. You could choose to calibrate
+ and profile the display in such an emulation mode, although you
+ probably don't want to fight the emulations white point and gamma.
+ To get the best out of such a display you really want to choose it's
+ "Native Gamut" setting, whatever that is called. Note that some
+ people have reported bad experiences in trying to use "6-axis custom
+ controls" on displays such as the Dell U2410, so attempting to use
+ such a mode should be approached with caution. Ideally such a mode
+ should be used to give just the underlying native display response,
+ but the settings to achieve this may be very difficult to determine,
+ and/or it may not be possible, depending on how such a mode distorts
+ the RGB signals.<br>
+ <br>
+ On CRT based displays, the <span style="font-weight: bold;">brightness</span>
+ control generally adjusts the black level of the display (sometimes
+ called the <span style="font-weight: bold;">offset</span>), and as
+ a side effect, tends to change the maximum brightness too. A CRT <span
+ style="font-weight: bold;">contrast</span> control generally
+ adjusts the maximum brightness (sometimes called <span
+ style="font-weight: bold;">gain</span>) without affecting the
+ black level a great deal. On a CRT both the <span
+ style="font-weight: bold;">brightness</span> and <span
+ style="font-weight: bold;">contrast</span> controls will tend to
+ affect the shape or gamma of the display response curve.<br>
+ <br>
+ Many displays have some sort of color temperature adjustment. This
+ may be in the form of some pre-set color temperatures, or in the
+ form of individual Red, Green and Blue channel gain adjustments.
+ Some CRT displays also have R, G &amp; B channel offset adjustments
+ that will affect the color temperatures near black, as well as
+ affect the individual channels curve shape. The color temperature
+ adjustment will generally affect the maximum brightness, and may
+ also affect the black level and the shape of the display response
+ curves.<br>
+ <br>
+ Some special (expensive) LCD displays may have a white point
+ adjustment that changes the color of the backlight. If you do not
+ have one of these types of LCD displays, then attempting to change
+ the white point of the display (even if it appears to have a "<span
+ style="font-weight: bold;">white point selection</span>" or <span
+ style="font-weight: bold;">R/G/B</span> "<span style="font-weight:
+ bold;">gain</span>" controls") may not be a good idea, as once
+ again these controls are probably being faked by manipulating the
+ signal levels. Even if you do manage to change the white point
+ significantly, it may do things like change the mid tone color too
+ dramatically, or create a display response that is hard to correct
+ with calibration, or results in side effects such as quantization
+ (banding) or other undesirable effects. You may have to try out
+ various controls (and your aim points for the display calibration),
+ to decide what is reasonable to attempt on an LCD display.<br>
+ <br>
+ Due to the variety of controls as well as the interaction between
+ them, it can be an iterative process to arrive at a good monitor
+ set-up, before proceeding on to calibrating and profiling a display.
+ For this reason, <span style="font-weight: bold;">dispcal</span>
+ offers a menu of adjustment modes, so that the user can
+ interactively and iteratively adjust the display controls to meet
+ the desired targets.<br>
+ <br>
+ &nbsp; 1) Black level (CRT: Brightness)<br>
+ &nbsp; 2) White point (Color temperature, R,G,B, Gain/Contrast)<br>
+ &nbsp; 3) White level (CRT: Gain/Contrast, LCD:
+ Brightness/Backlight)<br>
+ &nbsp; 4) Black point (R,G,B, Offset/Brightness)<br>
+ &nbsp; 5) Check all<br>
+ &nbsp; 6) Measure and set ambient for viewing condition adjustment<br>
+ &nbsp; 7) Continue on to calibration<br>
+ &nbsp; 8) Exit<br>
+ <br>
+ There are four basic adjustment modes. Normally one would proceed
+ through them in the order above, then perhaps repeat the first
+ adjustment, before checking the overall settings. The White point
+ and White level modes operate slightly differently, depending on
+ whether a white target point has been set using the <span
+ style="font-weight: bold;">-t -T</span> or <span
+ style="font-weight: bold;">-w</span> options, and on whether a
+ brightness target has been set using the <span style="font-weight:
+ bold;">-b</span> option.<br>
+ <br>
+ <br>
+ The first mode lets you adjust the black level of a CRT display.
+ Given the current white level, it calculates a value that should
+ produce a 1% display brightness if the black level is set correctly.
+ After doing some initial measurements, it will show the target
+ brightness value (in cd/m^2) on one line, and then underneath it
+ will show continuously updated readings from the display. The left
+ most character will switch from '\' to '/' or back again each time a
+ reading is updated. Some instruments can be quite slow in measuring
+ dark colors, and it's best to wait for a reading update before
+ changing the controls more than once. Underneath the target value is
+ displayed the current reading, and to the right of this is a '+',
+ '-' or '=' symbol, which gives a hint as to which way to adjust the
+ brightness control to improve the match to the target.<br>
+ <br>
+ <small style="font-weight: bold;"><span style="font-family:
+ monospace;">&nbsp; Adjust CRT brightness to get target level.
+ Press space when done.</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; &nbsp; Target
+ 0.60</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; / Current 0.68&nbsp;
+ -</span></small><br>
+ <br>
+ Once happy with the adjustment, press space to go back to the menu.<br>
+ <br>
+ <br>
+ The second mode lets you adjust the color of the white point of the
+ display. If a target white point has been set, it will show the
+ target brightness value (in cd/m^2) on one line, together with the
+ target chromaticity co-ordinates for the white point, and then
+ underneath it will show continuously updated readings from the
+ display. The left most character will switch from '\' to '/' or back
+ again each time a reading is updated. Underneath the target
+ brightness value is displayed the current reading, and then the
+ current chromaticity co-ordinate values. To the right of this is the
+ current delta E of the white point from the target, and further to
+ the right are hints '+', '-' or '='&nbsp; as to which direction to
+ adjust the individual Red, Green and Blue gain settings to move the
+ white point in the direction of the target, and reduce the delta E.
+ If the symbol is doubled, then this channel will have the greatest
+ effect. If you do not have individual channel gain controls, then
+ try choosing amongst color temperature pre-sets, to find one with
+ the lowest delta E. Depending on the stability of the display, the
+ coarseness of the controls, and the repeatability of the instrument,
+ you may not be able to get a perfectly zero delta E.<br>
+ <br>
+ &nbsp;&nbsp; <small style="font-weight: bold;"><span
+ style="font-family: monospace;">Adjust R,G &amp; B gain to get
+ target x,y. Press space when done.<br>
+ &nbsp;&nbsp; &nbsp; Target B 60.00, x 0.3451, y 0.3516<br>
+ &nbsp; / Current B 60.05, x 0.3426, y 0.3506&nbsp; DE&nbsp;
+ 1.4&nbsp; R+&nbsp; G+&nbsp; B--</span><span style="font-family:
+ monospace;"></span></small><br>
+ <br>
+ If you did not set a white point target, then the information shown
+ is a little different - it will show the initial white point value,
+ as well as the color temperature, and the CIEDE2000 of the white
+ point to either the Daylight or Black Body locus (depending on
+ whether the <span style="font-weight: bold;">-T</span> flag was
+ set). The constantly updated values show the same thing, and the
+ Red, Green and Blue control hints show the direction to adjust the
+ controls to place the white point on the locus. The control that
+ will have the most direct effect on the color temperature will be
+ the Blue, while the Green will most directly move the white point
+ towards or away from the locus, thereby reducing the delta E of the
+ white point to the locus (but there is interaction).<br>
+ <br>
+ <small style="font-weight: bold;"><span style="font-family:
+ monospace;">Adjust R,G &amp; B gain to desired white point.
+ Press space when done.</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; Initial B 47.25, x
+ 0.3417, y 0.3456, CDT 5113 DE&nbsp; 6.9</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">\ Current B 47.38, x 0.3420,
+ y 0.3460&nbsp; CDT 5104 DE&nbsp; 6.7&nbsp; R-- G+&nbsp; B-</span></small><br>
+ <br>
+ &nbsp;The brightness value is just there as a guide to what effect
+ the adjustment is having on the overall brightness. Usually the
+ white level brightness is adjusted using the next adjustment mode.
+ Once happy with the adjustment, press space to go back to the menu.<br>
+ <br>
+ <br>
+ The third mode lets you adjust the brightness of white on the
+ display. If you set a target brightness using the <span
+ style="font-weight: bold;"><span style="font-weight: bold;">-b</span></span>
+ parameter, it will show the target brightness value (in cd/m^2) on
+ one line, and then underneath it will show continuously updated
+ readings from the display. The left most character will switch from
+ '\' to '/' or back again each time a reading is updated. Underneath
+ the target value is displayed the current reading, and to the right
+ of this is a '+', '-' or '=' symbol, which gives a hint as to which
+ way to adjust the CRT contrast or LCD brightness control to improve
+ the match to the target.<br>
+ <br>
+ &nbsp;&nbsp; <small style="font-weight: bold;"><span
+ style="font-family: monospace;">Adjust CRT Contrast or LCD
+ Brightness to get target level. Press space when done.<br>
+ &nbsp;&nbsp; &nbsp; Target 60.00<br>
+ &nbsp; / Current 59.96&nbsp; +</span><span style="font-family:
+ monospace;"></span></small><br>
+ <br>
+ If you did not set a brightness target, it will show the initial
+ brightness as the target, and the current brightness, which you can
+ then set any way you want:<br>
+ <br>
+ <small style="font-weight: bold;"><span style="font-family:
+ monospace;">Adjust CRT Contrast or LCD Brightness to desired
+ level. Press space when done.</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp; Initial 47.32</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">/ Current 47.54</span></small><br>
+ <br>
+ Once happy with the adjustment, press space to go back to the menu.<br>
+ <br>
+ <br>
+ The fourth mode lets you adjust the color of the black point of the
+ display, if the display has Red, Green and Blue channel offset
+ controls. It will show the target 1% brightness value (in cd/m^2) on
+ one line, together with the target chromaticity co-ordinates for the
+ black point, and then underneath it will show continuously updated
+ readings from the display. The left most character will switch from
+ '\' to '/' or back again each time a reading is updated. Underneath
+ the target brightness value is displayed the current reading, and
+ then the current chromaticity co-ordinate values. To the right of
+ this is the current delta E of the black point from the target, and
+ further to the right are hints '+', '-' or '='&nbsp; as to which
+ direction to adjust the individual Red, Green and Blue offset
+ settings to move the black point in the right direction. If the
+ symbol is doubled, then this channel will have the greatest effect.
+ <br>
+ <br>
+ <span style="font-family: monospace;"><span style="font-weight:
+ bold;">&nbsp; Adjust R,G &amp; B offsets to get target x,y.
+ Press space when done.<br>
+ &nbsp;&nbsp; &nbsp; Target B 0.60, x 0.3451, y 0.3516<br>
+ &nbsp; \ Current B 0.62, x 0.2782, y 0.2331&nbsp; DE&nbsp;
+ 10.3&nbsp; R+&nbsp; G++ B-</span></span><small
+ style="font-weight: bold;"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span></small><br>
+ <br>
+ The 1%&nbsp; brightness value is just there as a guide to what
+ effect the adjustment is having on the 1% brightness level. The
+ combined channel offsets may have an effect on this in combination
+ with the CRT brightness control. Press space to go back to the menu.<br>
+ <br>
+ <br>
+ The fifth selection checks on the overall settings.&nbsp; If targets
+ have been set, it will be like:<br>
+ <br>
+ <small style="font-weight: bold;"><span style="font-family:
+ monospace;">&nbsp; Target Brightness = 50.00, Current = 47.44,
+ error = -5.1%<br>
+ &nbsp; Target 50% Level&nbsp; = 10.32, Current =&nbsp; 8.10,
+ error = -4.4%<br>
+ &nbsp; Target Near Black =&nbsp; 0.47, Current =&nbsp; 0.68,
+ error =&nbsp; 0.4%<br>
+ &nbsp; Target white = x 0.3458, y 0.3586, Current = x 0.3420, y
+ 0.3454, error =&nbsp; 7.55 DE<br>
+ &nbsp; Target black = x 0.3458, y 0.3586, Current = x 0.2908, y
+ 0.2270, error = 29.69 DE</span><span style="font-family:
+ monospace;"></span></small><br>
+ <br>
+ or if no targets are set:<br>
+ <br>
+ <small style="font-weight: bold;"><span style="font-family:
+ monospace;">&nbsp; Current Brightness = 46.28</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; Target 50%
+ Level&nbsp; = 10.07, Current =&nbsp; 7.52, error = -5.5%</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; Target Near Black
+ =&nbsp; 0.46, Current =&nbsp; 0.46, error = -0.0%</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; Current white = x
+ 0.3439, y 0.3466, VCT 5098K DE&nbsp; 3.0</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; Target black = x
+ 0.3439, y 0.3466, Current = x 0.3093, y 0.2165, error = 30.30 DE</span></small><br>
+ <br>
+ and will then go back to the menu.<br>
+ <br>
+ The sixth selection <span style="font-weight: bold;">6)</span>
+ allows the reading of you ambient lighting conditions if your
+ instrument supports such a mode. Doing so will enable the <span
+ style="font-weight: bold;">-a</span> option to compensate for your
+ viewing conditions in the subsequent calibration. See <a
+ href="dispcal.html#a">-a</a>.<br>
+ <br>
+ Once&nbsp; you're happy with the display set-up, you can either
+ proceed on to the rest of the calibration by selecting <span
+ style="font-weight: bold;">7)</span>, or exit and re-start by
+ selecting <span style="font-weight: bold;">8)</span>. You might
+ want to re-start if you want to change the calibration targets.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h2>Other caveats:</h2>
+ NOTE that some <span style="font-weight: bold;">LCD</span> screens
+ behave a little strangely near their absolute white point, and may
+ therefore exhibit odd behavior at values just below white. It may be
+ advisable in such cases to set a brightness slightly less than the
+ maximum such a display is capable of.<br>
+ <br>
+ The program attempts to stop any screensaver or powersaver from
+ interfering with the measurements, but this may not be effective on
+ some systems, so it may be necessary to manually disable the
+ screensaver and/or powersaver before commencing the calibration with
+ a large number of patches.<br>
+ <br>
+ The calibration tables produced maintain the maximum level of
+ precision available on a system. If the display has VideoLUTs
+ available (Video Lookup Tables that the frame buffer values pass
+ through on their way to the display) and thier outputs are better
+ than 8 bits per component, then the resulting curves can reflect
+ this, although few current operating systems and/or display cards
+ actually support better than 8 bit per component output.<br>
+ <br>
+ If calibration curves are created for a display in which VideoLUTs
+ are not available, then the resulting calibration file will be
+ marked to indicate this, and a subsequent profile created with the
+ calibration will not have the calibration converted to the 'vcgt'
+ tag, since such a tag can't be loaded into the displays VideoLUTs.<br>
+ <br>
+ If communications break down with a USB connected instrument, you
+ may have to unplug it, and plug it in again to recover operation.<br>
+ <br>
+ Some systems (Apple OSX in particular) have a special set of user
+ interface controls ("Universal Access") that allows altering the
+ display in ways designed to assist visually impaired users, by
+ increasing contrast etc. This will interfere badly with any attempts
+ to calibrate or profile such a system, and must be turned off in
+ order to do so. Note that certain magic keyboard sequences can turn
+ this on by accident.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/dispprofloc.html b/doc/dispprofloc.html
new file mode 100644
index 0000000..b583914
--- /dev/null
+++ b/doc/dispprofloc.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <meta content="text/html; charset=ISO-8859-1"
+ http-equiv="content-type">
+ <title>Display profile locations</title>
+ </head>
+ <body>
+ <h2>Where display profiles are stored, and how to load them
+ automatically.<br>
+ </h2>
+ <br>
+ Installing a display profile for your monitor is very operating
+ system
+ dependent, which is why <a href="dispwin.html#I">dispin -I</a> is a
+ good way of taking care of all these details. On some systems it is
+ not
+ the operating system itself that
+ supports display profiles, but individual applications, or helper
+ programs.<br>
+ <br>
+ Please choose from the detailed instructions below that suite your
+ system:<br>
+ <br>
+ <span style="font-weight: bold;"><a href="#MSW">Microsoft
+ Windows</a><br>
+ <a href="#OSX">Apple OS X</a><br>
+ <a href="#Linux">Linux/UNIX X11</a></span><br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><a name="MSW"></a>On <span
+ style="font-weight: bold;">Microsoft Windows</span>, display
+ profiles are typically in one of the
+ following directories:<br>
+ <p>&nbsp;&nbsp;&nbsp; MS Windows Me and 98: C:\Windows\System\Color<br>
+ </p>
+ <p>&nbsp;&nbsp;&nbsp; MS Windows NT:
+ C:\Winnt\system32\spool\drivers\color
+ </p>
+ <p>&nbsp;&nbsp;&nbsp; MS Window 2000, XP, Vista and 7:
+ C:\Windows\system32\spool\drivers\color</p>
+ <p>An alternative to using <span style="font-weight: bold;">dispwin
+ -I</span>
+ to install your display profiles,
+ is to use the Display
+ Property dialog, advanced settings, Color management tab, and
+ locate
+ the profile and install it there. This in
+ itself does not cause the profile to be made use of anywhere in
+ your
+ system.<br>
+ </p>
+ <p>If you are using Adobe Photoshop on your system, then you can
+ tell
+ it to use your monitor profile by editing the appropriate registry
+ key,
+ typically "My
+ Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Color\Monitor\Monitor0",
+ to
+ contain the name of the display profile, and then restart
+ Photoshop
+ This is the simplest way of ensuring that the Adobe calibration
+ loader
+ tool Adobe Gamma loads the video hardware lookup tables from the
+ vcgt tag, and
+ uses the profile as its display profile.<br>
+ </p>
+ <p>The adobe gamma tool can be told to use your profile, but the
+ procedure is slightly tricky: Open adobe gamma from photoshop (in
+ the
+ Help-&gt;Color Management... menu item), select "Open Adobe
+ Gamma", and
+ select the "Load.." button. Select your profile and "Open". Select
+ "OK"
+ in the Adobe Gamma, it will then ask you to save it's modified
+ version
+ of your profile under a different name. Chose a name for the
+ modified
+ profile, and save it. Exit from Photoshop. Copy the profile you
+ want to
+ use, over the modified profile that you saved in Adobe Gamma. (If
+ you
+ don't do the last step, the profile Photoshop will be using will
+ have
+ been modified in strange ways from what you intended.)<br>
+ </p>
+ <p>Installing a profile on Microsoft Windows generally doesn't mean
+ that the profiles calibration will be automatically loaded into a
+ display on startup. A separated tool is usually needed to achiev
+ this.<br>
+ </p>
+ <p>Some Microsoft Windows applications may come with
+ "Gamma/VCGT/RAMDAC/Video LUT"
+ loader tools, consult their documentation and check your Start
+ Menu
+ Startup folders. If you don't want to use any of these 3rd party
+ tools, you can also use the <a
+ href="file:///D:/src/argyll/doc/dispwin.html">dispwin</a>
+ tool to do this for you, as it takes either a <a
+ href="file:///D:/src/argyll/doc/cal_format.html">.cal</a> or ICC
+ file
+ as an argument. The <a
+ href="http://freshmeat.net/projects/xcalib/">xcalib</a>
+ tool could also be used.<br>
+ </p>
+ <p>To add a startup item that will load a profiles calibration into
+ the
+ display using <span style="font-weight: bold;">dispwin</span>,
+ use the
+ following
+ instructions:<br>
+ </p>
+ <p style="margin-left: 40px;">On the task bar, right click and
+ select
+ "Properties", then select the "Advanced" tab, then click "Add..".
+ then
+ browse till you locate dispwin.exe. In the box containing the path
+ to
+ <span style="font-weight: bold;">dispwin.exe</span>, add a space
+ then
+ the option <span style="font-weight: bold;">-L</span>, eg:<br>
+ </p>
+ <p style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; <span
+ style="font-weight: bold;">c:\bin\argyll\dispwin -L</span></p>
+ <p style="margin-left: 40px;">If you don't want to use the default
+ installed profile, you could explicitly set the calibration file
+ to use
+ as an argument:</p>
+ <p style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; <span
+ style="font-weight: bold;">c:\bin\argyll\dispwin
+ c:\myprofiles\mydisplay.icm<br>
+ </span></p>
+ <p style="margin-left: 40px;">Click "Next &gt;", select the
+ "Startup"
+ folder, then name the item (ie.
+ "Argyll Calibration Loader"), then press "Finish".<br>
+ <br>
+ You can test it out by simply navigating the "Start" menu to the
+ "Startup" folder and selecting the item you've just created. If
+ you
+ want to alter any of the details, navigate to the item again and
+ right
+ click it, and select "Properties". More than one startup item can
+ be
+ created to set the calibration for more than one display. You may
+ want
+ to cut and paste the "Target" line to a normal Command Prompt
+ shell to
+ check that it works as expected, as it is impossible to catch
+ error
+ messages in the startup.<br>
+ </p>
+ Microsoft Windows <span style="font-weight: bold;">XP</span> has an
+ optional <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, which handles installation and registering of the a
+ display
+ profile, and will also automatically set the display calibration on
+ system startup. The applet is started from the control panel, and
+ first
+ you have to "Install..." the profile in the <span
+ style="font-weight: bold;">Profiles</span> tab, then associate it
+ with
+ the display in the <span style="font-weight: bold;">Devices</span>
+ tab, but <span style="font-weight: bold;">NOTE</span> 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!<br>
+ <br>
+ On
+ Microsoft <span style="font-weight: bold;">Vista</span> you can set
+ the display profile in
+ Control&nbsp;Panel&nbsp;-&gt;&nbsp;Hardware&nbsp;and&nbsp;Sound
+ -&gt;&nbsp;Color&nbsp;Management, as an alternative to <span
+ style="font-weight: bold;">dispwin -I</span>.&nbsp;In&nbsp;Devices&nbsp;
+you&nbsp;select&nbsp;"Use&nbsp;my&nbsp;settings&nbsp;for&nbsp;this
+device",&nbsp;and&nbsp;then&nbsp;add&nbsp;the&nbsp;profile&nbsp;you've&nbsp;created.
+Unfortunately
+ though, it doesn't use the 'vcgt'
+ calibration curves on system startup, so a tool such as <span
+ style="font-weight: bold;">dispwin</span> will still have to be
+ used
+ to do this. Note that currently Vista also has a <span
+ style="font-weight: bold;">bug</span> that causes the calibration
+ curves to be reset whenever the User Account Dialog (and similar) is
+ displayed. This problem can only be worked around manually, by
+ re-running the startup item whenever this happens. Note that due to
+ the
+ details of this bug it is necessary to actually reset the
+ calibration
+ to something else before re-setting it. This can be done quite
+ conveniently in dispwin by adding the <span style="font-weight:
+ bold;">-c</span>
+ flag: e.g.: <span style="font-weight: bold;">c:\bin\argyll\dispwin
+ -c
+ -L</span><br>
+ <br>
+ On
+ Microsoft <span style="font-weight: bold;">Windows 7</span> you can
+ set
+ the display profile by opening the <span class="phrase">Color
+ Management control by clicking the <span class="ui">Start</span>
+ button and then clicking <span class="ui">Control Panel</span>.
+ In the search box, type <span class="userInput">color management</span>,
+ and then click <span class="ui">Color Management</span>.</span>
+ Make sure the correct display device is selected in "Device:", and
+ then tick the "Use my settings for this device" box. Select "Add..."
+ and then "Browse..." to locate and load the profile. (Alternately
+ you can use the normal file browser to locate the profile, and then
+ right click on it and select "Install Profile". In the Color Manager
+ "Add..." dialog you can then select it.). Make sure that the new
+ profile has been marked "(default)" if you want it to be
+ automatically used for your display.<br>
+ <br>
+ By default Windows 7 seems to automatically load the default display
+ profiles calibration on startup, but needs to be told to do this at
+ all other times by changing the system defaults, or if some 3rd
+ party tool to load display calibration has been installed. This can
+ be done by logging on with a user account that has administrative
+ privileges, then opening the <span class="phrase">Color Management
+ (see above), and then select the "</span><span class="ui">Advanced</span>"
+ tab, and then "<span class="ui">Change system defaults...", then
+ select the </span><span class="phrase">"</span><span class="ui">Advanced</span>"
+ tab, and select/un-select the "<span class="ui">Use <span
+ class="notLocalizable">Windows</span> display calibration</span>"
+ check box. (You could use <span style="font-weight: bold;">dispwin
+ -I</span> as an alternative to this if you really wanted.)<br>
+ <br>
+ &nbsp;<br>
+ <hr style="width: 100%; height: 2px;"><a name="OSX"></a>On <span
+ style="font-weight: bold;">Apple OSX</span>, the display
+ profile are in one of the following
+ locations:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; /Network/Library/ColorSync/Profiles<br>
+ &nbsp;&nbsp;&nbsp; /System/Library/Colorsync/Profiles<br>
+ &nbsp;&nbsp;&nbsp; /Library/ColorSync/Profiles<br>
+ &nbsp;&nbsp;&nbsp; ~/Library/ColorSync/Profiles<br>
+ <br>
+ Note though that&nbsp; /System/Library/Colorsync/Profiles is only
+ for
+ profiles supplied by Apple. You can use <a href="dispwin.html#S">dispwin
+ -S</a>&nbsp; to select the appropriate scope when installing a
+ profile
+ using <a href="dispwin.html#I">dispwin -I</a>. You can use the
+ "System
+ Preferences-&gt;Displays-&gt;Color" tool to check that the profile
+ has been installed correctly. Note that the contents of
+ the description tag (the argument to the <span style="font-weight:
+ bold;"><span style="font-weight: bold;">-D</span></span>
+ flag used with the <span style="font-weight: bold;">colprof</span>
+ tool) will be used to identify the profile.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><a name="Linux"></a>On <span
+ style="font-weight: bold;">Linux</span> and other <span
+ style="font-weight: bold;">Unix</span> style systems, there is no
+ universally agreed location for ICC profiles yet,
+ although the following locations have been suggested at various
+ times:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; /usr/share/color/icc<br>
+ &nbsp;&nbsp;&nbsp; /usr/local/share/color/icc<br>
+ &nbsp;&nbsp;&nbsp; ~/.color/icc<br>
+ <br>
+ although particular applications may use their own locations, such
+ as:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; /usr/local/share/Scribus/profiles<br>
+ <br>
+ Argyll <a href="dispwin.html">dispwin</a> follows uses the <a
+ href="ucmm.html">ucmm</a> scheme for storing user and system
+ display
+ profiles, and when a display is set to use a profile correctly, it
+ will
+ follow <a
+ href="http://www.burtonini.com/computing/x-icc-profiles-spec-0.2.html">this
+ convention</a> to make it available to applications.<br>
+ &nbsp;&nbsp; <br>
+ If you want the display calibration to be loaded, you should
+ consider
+ installing a tool to do so at startup, such as <a
+ href="file:///D:/src/argyll/doc/dispwin.html">dispwin</a>
+ or <a href="http://freshmeat.net/projects/xcalib/">xcalib</a>.<br>
+ <br>
+ Using <a href="dispwin.html">dispwin</a> the currently installed
+ profile for a particular display can be loaded using the <a
+ href="dispwin.html#L">-L</a> option of <a href="dispwin.html">dispwin:</a><br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">dispwin -L</span><span
+ style="font-style: italic;"><span style="font-weight: bold;"></span><br>
+ <br>
+ </span>which will both upload the installed profile <span
+ style="font-style: italic;"></span>into the <span
+ style="font-weight: bold;"></span>root
+ window _ICC_PROFILE property, and also load it into the display
+ VideoLUTs. <br>
+ <br>
+ You can use the <span style="font-weight: bold;">dispwin</span> <a
+ href="file:///D:/src/argyll/doc/dispwin.html#d">-d</a> parameter
+ in
+ the usual way to select other
+ displays to store or load the calibration using the _ICC_PROFILE
+ property.<br>
+ <br>
+ To do this when you start your X11 server, you could put the above
+ command in your <span style="font-weight: bold;">.xinitrc</span>
+ file
+ in your home directory for each screen.<br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/dispread.html b/doc/dispread.html
new file mode 100644
index 0000000..e1ce861
--- /dev/null
+++ b/doc/dispread.html
@@ -0,0 +1,926 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>dispread</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/dispread</b>&nbsp;</h2>
+ <h3>Summary</h3>
+ Display test patches on a monitor, read the colorimetric value
+ result with the colorimeter, and create the chart readings file. The
+ type of instrument is determined by the communication port selected.
+ Emission and display measurement instruments are supported.<br>
+ <br>
+ If you want to read a display manually rather than automatically,
+ see <a href="chartread.html">chartread</a> and the <a
+ href="chartread.html#d">-d</a> option.<br>
+ <h3>Usage</h3>
+ <small style="font-family: monospace;">dispread [-options]<i>
+ inoutfile</i><br>
+ &nbsp;<a href="#v">-v</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp;&nbsp;&nbsp;&nbsp; Verbose mode<br>
+ &nbsp;</small><font size="-1"><a style="font-family: monospace;"
+ href="#display">-display displayname</a><span
+ style="font-family: monospace;"> [X11 only] Choose X11 display
+ name<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#dnm">-d n[,m]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ [X11 only]Choose the display from the following list (default
+ 1),<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+and
+optionally
+choose
+a
+different
+display
+m
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for VideoLUT access.</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#d">-d n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Choose
+the
+display
+from
+the
+following
+list
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (default 1)</span></font><small style="font-family: monospace;"><br>
+ </small><span style="font-family: monospace;">&nbsp;<a href="#dweb">-dweb[:port]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display via a web server at port (default 8080)</span><br>
+ <small style="font-family: monospace;"> <span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#c">-c listno</a><span style="font-family: monospace;">
+ &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set
+ communication port from the following list (default 1)<br>
+ </span></small><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#p">-p</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use telephoto mode (ie. for a projector) (if available)</span></font><br>
+ &nbsp; <font size="-1"><span style="font-family: monospace;"><a
+ href="#y">-y X</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Display
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type - instrument specific list to choose from.</span></font><br>
+ <small style="font-family: monospace;">&nbsp;<span
+ style="text-decoration: underline;">-</span><a href="#k">k
+ file.cal</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Load calibration file into display while reading<br>
+ </small><small style="font-family: monospace;">&nbsp;<span
+ style="text-decoration: underline;">-</span><a href="#K">K
+ file.cal</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Apply
+
+
+
+
+
+
+
+
+
+
+
+
+
+ calibration file to test values while reading</small><br>
+ <small style="font-family: monospace;">&nbsp;<a href="#s">-s</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp;&nbsp;&nbsp;&nbsp; Save spectral information (default don't
+ save)<br>
+ </small><font style="font-family: monospace;" size="-1">&nbsp;<a
+ href="#P">-P ho,vo,ss[,vs]</a>&nbsp;&nbsp;&nbsp;&nbsp; Position
+ test window and scale it<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ho,vi:
+0.0
+=
+left/top,
+0.5
+=
+center,
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0 = right/bottom etc.<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ss:
+0.5
+=
+half,
+1.0
+=
+normal,
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.0 = double etc.<br>
+ </font><font size="-1"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+ ss,vs: = optional horizontal, vertical scale.</span></font><br>
+ <font style="font-family: monospace;" size="-1"> &nbsp;</font><font
+ size="-1"><span style="font-family: monospace;"><a href="#F">-F</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fill whole screen with black background</span></font><br
+ style="font-family: monospace;">
+ <small style="font-family: monospace;">&nbsp;<span
+ style="text-decoration: underline;"></span><a href="#n">-n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;
+[X11
+only]
+Don't
+set
+override
+redirect
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on test window<br>
+ </small><small style="font-family: monospace;">&nbsp;<a href="#J">-J</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp;&nbsp;&nbsp;&nbsp; Run calibration first</small><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable initial calibration of instrument if possible<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#H">-H</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Use high resolution spectrum mode (if
+ available)</span></font><font size="-1"><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"><br>
+ &nbsp;<a href="#w">-w</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Disable
+normalisation
+of
+white
+to
+Y
+=
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100</span></font><small><span style="font-family: monospace;"></span></small><br>
+ &nbsp; <font size="-1"><span style="font-family: monospace;"><a
+ href="#X1">-X file.ccmx</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Apply Colorimeter Correction Matrix</span></font><br>
+ <span style="font-family: monospace;">&nbsp;<a href="#X2">-X
+ file.ccss</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+Colorimeter
+Calibration
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Spectral Samples for calibration</span><font size="-1"><span
+ style="font-family: monospace;"><br>
+ </span></font><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#Q">-Q <i>observ</i></a><span
+ style="font-family: monospace;">&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp; Choose CIE Observer for spectrometer or CCSS
+ colorimeter data:</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1931_2 </span></small><small><span
+ style="font-family: monospace;">(def.)</span></small><small><span
+ style="font-family: monospace;">, 1964_10, S&amp;B 1955_2, shaw,
+ J&amp;V 1978_2, 1964_10c</span></small><br>
+ <small><span style="font-family: monospace;">&nbsp;<a
+ href="dispread.html#I">-I b|w</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Drift
+compensation,
+Black:
+-Ib,
+White:
+-Iw,
+Both:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -Ibw<br>
+ </span></small><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style=" font-family: monospace;"
+ href="#YA">-<font size="-1">Y</font> A</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+ Use non-adaptive integration time mode (if available).</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#C">-C "command"</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Invoke shell
+ "command" each time a color is set<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#M">-M "command"</a><span style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Invoke shell
+ "command" each time a color is measured</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#W">-W n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+serial
+port
+flow
+control:
+n
+=
+
+
+
+
+
+
+
+
+
+
+
+
+
+ none, h = HW, x = Xon/Xoff</span></font><br>
+ <small style="font-family: monospace;">&nbsp;<a href="#D">-D [level]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print debug
+ diagnostics to stderr</small><br>
+ <small style="font-family: monospace;">&nbsp;<a href="#p1"><i>inoutfile</i></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base name for input[<a href="File_Formats.html#.ti1">.ti1</a>]/output[<a
+ href="File_Formats.html#.ti3">.ti3</a>] file.<br>
+ </small> <br>
+ <b>Examples</b><br>
+ <br>
+ dispread -c1 -i92 mycrt<br>
+ <h3>Comments<br>
+ </h3>
+ This is the tool for exercising a display, in order to measure its
+ color characteristics. The device test colors are defined by the
+ outfile.ti1 file, while the resulting device+colorimetric and
+ optional spectral readings are stored in the outfile.ti3 file.
+ Display calibration curves can be applied during the measurements,
+ and the curves included in the resulting .ti3 data file using the <span
+ style="font-weight: bold;">-k</span>flag. See <a
+ href="dispcal.html">dispcal</a> for information on how&nbsp; to
+ calibrate the display before profiling it. For best results, you
+ should run this against a neutral grey desktop background, and avoid
+ having any bright images or windows on the screen at the time you
+ run it.<br>
+ <br>
+ <a name="v"></a> The <b>-v</b> flag reports progress information.<br>
+ <br>
+ <a name="display"></a><span style="font-weight: bold;">-display</span>:
+ When running on a UNIX based system that used the X11 Windowing
+ System, <b>dispread</b> will by default use the $DISPLAY
+ environment variable to determine which display and screen to read
+ from. This can be overridden by supplying an X11 display name to the
+ <span style="font-weight: bold;">-display</span> option. Note that
+ if Xinerama is active, you can't select the screen using $DISPLAY or
+ -display, you have to select it using the <span style="font-weight:
+ bold;">-d</span> parameter.<br>
+ <br>
+ <a name="d"></a> <span style="font-weight: bold;">-d</span>: By
+ default the main display will be the location of the test window. If
+ the system has more than one display or screen, an alternate
+ display/screen can be selected with the <span style="font-weight:
+ bold;">-d</span> parameter. If you invoke <span
+ style="font-weight: bold;">dispread</span> so as to display the
+ usage information (i.e. "dispread -?" or "dispread --"), then the
+ discovered displays/screens will be listed. Multiple displays may
+ not be listed, if they appear as a single display to the operating
+ system (ie. the multi-display support is hidden in the video card
+ driver). On UNIX based system that used the X11 Windowing System,
+ the <span style="font-weight: bold;">-d</span> parameter will
+ override the screen specified by the $DISPLAY or <span
+ style="font-weight: bold;">-display</span> parameter.<br>
+ <br>
+ On X11 the inability to access VideoLUTs could be because you are
+ trying to access a remote display, and the remote display doesn't
+ support the XF86VidMode extension, or perhaps you are running
+ multiple monitors using NVidia TwinView, or MergedFB, and trying to
+ access anything other than the primary monitor. TwinView and
+ MergedFB don't properly support the XF86VidMode extension for
+ multiple displays. You can use <a href="dispwin.html#r">dispwin -r</a>
+ to test whether the VideoLUTs are accessible for a particular
+ display. See also below, on how to select a different display for
+ VideoLUT access. Also note that dispcal will fail if the Visual
+ depth doesn't match the VideoLUT depth. Typically the VideoLUTs have
+ 256 entries per color component, so the Visual generally needs to be
+ 24 bits, 8 bits per color component.<br>
+ <br>
+ <a name="dnm"></a>Because of the difficulty cause by TwinView and
+ MergedFB in X11 based systems, you can optionally specify a separate
+ display number after the display that is going to be used to present
+ test patches, for accessing the VideoLUT hardware. This must be
+ specified as a single string, e.g. <span style="font-weight: bold;">-d
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1,2</span> . Some experimentation may be needed using <a
+ href="dispwin.html">dispwin</a> on such systems, to discover what
+ screen has access to the VideoLUT hardware, and which screens the
+ test patches appear on. You may be able to calibrate one screen, and
+ then share the calibration with another screen. Profiling can be
+ done independently to calibration.<br>
+ <br>
+ <a name="dweb"></a><span style="font-weight: bold;">-dweb</span> or
+ <span style="font-weight: bold;">-dweb:port</span> starts a
+ standalone web server on your machine, which then allows a local or
+ remote web browser to display the the color test patches. By default
+ port <span style="font-weight: bold;">8080</span> is used, but this
+ can be overridden by appending a <span style="font-weight: bold;">:</span>
+ and the port number i.e. <span style="font-weight: bold;">-dweb:8001</span>.
+ The URL will be <span style="font-weight: bold;">http://</span>
+ then name of the machine or its I.P. address followed by a colon and
+ the port number - e.g something like <span style="font-weight:
+ bold;">http://192.168.0.1:8080</span>. If you use the verbose
+ option (<span style="font-weight: bold;">-v</span>) then a likely
+ URL will be printed once the server is started, or you could run <span
+ style="font-weight: bold;">ipconfig</span> (MSWin) or <span
+ style="font-weight: bold;">/sbin/ifconfig</span> (Linux or OS X)
+ and identify an internet address for your machine that way.
+ <b> JavaScript</b> needs to be enabled in your web browser for this
+ to work.<br>
+ <br>
+ Note that if you use this method of displaying test patches, that
+ there is no access to the display VideoLUTs and that the colors will
+ be displayed with 8 bit per component precision, and any
+ screen-saver or power-saver will not be disabled. You will also be
+ at the mercy of any color management applied by the web browser, and
+ may have to carefully review and configure such color management.
+ See the <a href="dispcal.html#o">-o</a> flag for an explanation of
+ the implications of having no access to the VideoLUTs.<br>
+ <br>
+ <a name="c"></a> <span style="font-weight: bold;">-c</span>: The
+ instrument is assumed to communicate through a USB or serial
+ communication port, and the port can be selected with the <b>-c</b>
+ option, if the instrument is not connected to the first port. If you
+ invoke <span style="font-weight: bold;">dispread</span> so as to
+ display the usage information (i.e. "dispread -?" or "dispread --"),
+ then the discovered USB and serial ports will be listed. On
+ UNIX/Linux, a list of all possible serial ports are shown, but not
+ all of them may actually be present on your system.<br>
+ <br>
+ <a name="p"></a>The <span style="font-weight: bold;">-p</span> flag
+ allows measuring in telephoto mode, using instruments that support
+ this mode, e.g. the ColorMunki. Telephoto mode is one for taking
+ emissive measurements from a distance (ie. telespectometer,
+ tele-colorimeter) mode, and typically would be used for measuring
+ projector type displays. If a device does not support a specific
+ telephoto mode, then the normal emissive mode may be suitable for
+ measuring projectors.<br>
+ <br>
+ <a name="y"></a>The <span style="font-weight: bold;">-y</span> flag
+ allows setting the Display Type. The selection typically determines
+ two aspects of of the instrument operation: <span
+ style="font-weight: bold;">1)</span> It may set the measuring mode
+ to suite <a
+ href="http://en.wikipedia.org/wiki/Comparison_of_display_technology"><span
+ style="font-weight: bold;">refresh</span> or <span
+ style="font-weight: bold;">non-refresh</span> displays</a>.
+ Typically only LCD (Liquid Crystal) displays have a non-refresh
+ nature. <span style="font-weight: bold;">2)</span> It may select an
+ instrument calibration matrix suitable for a particular display
+ type. The selections available depends on the type and model of
+ instrument, and a list of the options for the discovered instruments
+ will be shown in the <a href="ArgyllDoc.html#CmdLine">usage</a>
+ information. For more details on what particular instruments support
+ and how this works, see <a href="instruments.html">Operation of
+ particular instruments</a>. <b>3)</b> Any installed CCSS files
+ (if applicable), or CCMX files. These files are typically created
+ using <a href="file:///D:/src/argyll/doc/ccxxmake.html">ccxxmake</a>,
+ and installed using <a
+ href="file:///D:/src/argyll/doc/oeminst.html">oeminst</a>. The
+ default and Base Calibration types will be indicated in the usage.<br>
+ <br>
+ <a name="s"></a><span style="font-weight: bold;">-s</span>: By
+ default only the colorimetric information (XYZ value) will be saved,
+ but for instruments that support spectral readings (such as the
+ Gretag Spectrolino), the <b>-s</b> option will save the spectral
+ readings to the .ti3 file as well.<br>
+ <br>
+ <a name="k"></a> <span style="font-weight: bold;">-k: </span>If a
+ display video lookup table calibration <a
+ href="File_Formats.html#.cal">.cal</a> file is provided, it will
+ be loaded into the display <span style="font-weight: bold;">ViedoLUTs</span>
+ while the measurements are being taken, thereby being applied to the
+ measurement values, and the calibration will also included in the
+ resulting .ti3 data file, so that <a href="colprof.html">colprof</a>
+ can include it as a <span style="font-weight: bold;">vcgt</span>
+ tag in the resulting profile. This is the <span style="font-weight:
+ bold;">normal</span> way to profile a calibrated display. The
+ calibration file has usually been created using <a
+ href="dispcal.html">dispcal</a>. If a calibration file is not
+ created, then the display will be read in whatever calibration state
+ it is in. If the calibration file indicates that the displays
+ VideoLUTs are not accessible, or if they prove not to be accessible,
+ then dispread will switch to <span style="font-weight: bold;">-K</span>
+ mode (see below). <span style="font-weight: bold;">NOTE</span> that
+ the calibration is loaded into the display hardware just before the
+ instrument starts measurement, after the test window first appears.<br>
+ <br>
+ <a name="K"></a> <span style="font-weight: bold;">-K: </span>If a
+ display video lookup table calibration <a
+ href="File_Formats.html#.cal">.cal</a> file is provided, it will
+ be applied to the test values for each measurement, and also
+ included in the resulting .ti3 data file, so that <a
+ href="colprof.html">colprof</a> can include it as a <span
+ style="font-weight: bold;">vcgt</span> tag in the resulting
+ profile. This is <span style="font-weight: bold;">NOT</span>
+ normally the best way to profile a calibrated display, since the
+ frame buffer may have lower precision than the VideoLUTs output
+ values.<br>
+ <br>
+ <a name="P"></a> The <span style="font-weight: bold;">-P</span>
+ parameter allows you to position and size the test patch window. By
+ default it is places in the center of the screen, and sized
+ appropriately for the type of instrument. The <span
+ style="font-weight: bold;">ho</span> and <span
+ style="font-weight: bold;">vo</span> values govern the horizontal
+ and vertical offset respectively. A value of 0.0 positions the
+ window to the far left or top of the screen, a value of 0.5
+ positions it in the center of the screen (the default), and 1.0
+ positions it to the far right or bottom of the screen. If three
+ parameters are provided, then the <span style="font-weight: bold;">ss</span>
+ parameter is a scale factor for the test window size. A value of 0.5
+ for instance, would produce a half sized window. A value of 2.0 will
+ produce a double size window. If four parameters are provided, then
+ the last two set independent horizontal and vertical scaling
+ factors. Note that the ho,vo,ss or ho,vo,hs,vs numbers must be
+ specified as a single string (no space between the numbers and the
+ comma). For example, to create a double sized test window at the top
+ right of the screen, use <span style="font-weight: bold;">-P 1,0,2</span>
+ . To create a window twice as wide as high: <span
+ style="font-weight: bold;">-P 1,0,2,1</span>.<br>
+ <br>
+ <a name="F"></a> The <span style="font-weight: bold;">-F</span>
+ flag causes the while screen behind the test window to be masked
+ with black. This can aid black accuracy when measuring CRT displays
+ or projectors.<br>
+ <br>
+ <a name="n"></a><span style="font-weight: bold;">-n</span>: When
+ running on a UNIX based system that used the X11 Windowing System, <b>dispread</b>
+ normally selects the override redirect so that the test window will
+ appear above any other windows on the display. On some systems this
+ can interfere with window manager operation, and the <b>-n</b>
+ option turns this behaviour off.<br>
+ <br>
+ <a name="J"></a> The -<span style="font-weight: bold;">J</span>
+ option runs through the black and sensor relative calibration
+ routines for the Xrite DTP92 and DTP94 instrument, the black level
+ calibration for the Eye-One Display 1, and a CRT frequency
+ calibration for the Eye-One Display 2. For the black calibration the
+ instrument should be placed on an opaque, black surface, and any
+ stray light should be avoided by placing something opaque over the
+ instrument. If a Spectrolino is being used, then a white and black
+ calibration will always be performed before the instrument can be
+ placed on the display, unless the <a href="#N">-N</a> flag is used.
+ Generally it is not necessary to do a calibration every time an
+ instrument is used, just now and again. There is no point in
+ doing&nbsp; a CRT frequency calibration, as this will be done
+ automatically at the commencement of patch reading.<br>
+ <br>
+ <a name="N"></a> <span style="font-weight: bold;">-N</span> Any
+ instrument that requires regular calibration will ask for
+ calibration on initial start-up. Sometimes this can be awkward if
+ the instrument is being mounted in some sort of measuring jig, or
+ annoying if several sets of readings are being taken in quick
+ succession. The -<span style="font-weight: bold;">N</span>
+ suppresses this initial calibration if a valid and not timed out
+ previous calibration is recorded in the instrument or on the host
+ computer. It is advisable to only use this option on the second and
+ subsequent measurements in a single session.<br>
+ <br>
+ <a name="H"></a> The -<span style="font-weight: bold;">H</span>
+ option turns on high resolution spectral mode, if the instrument
+ supports it. See <a href="instruments.html">Operation of particular
+ instruments</a> for more details. This may give better accuracy
+ for display measurements.<br>
+ <br>
+ <a name="w"></a>The <b>-w</b> flag disables the normalisation of
+ the white patch value to 100.0, resulting in values that are in
+ cd/m^2. This is mainly for diagnostic purposes.<br>
+ <br>
+ <a name="X1"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccmx</span></span> option reads
+ a <a href="File_Formats.html#.ccmx">Colorimeter Correction Matrix</a>
+ from the given file, and applies it to the colorimeter instruments
+ readings. This can improve a colorimeters accuracy for a particular
+ type of display. A list of contributed <span style="font-weight:
+ bold;">ccmx</span> files is <a href="ccmxs.html">here</a>.<br>
+ <br>
+ <a name="X2"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccss</span></span> option reads
+ a <a href="File_Formats.html#.ccss">Colorimeter Calibration
+ Spectral Sample</a> from the given file, and uses it to set the
+ colorimeter instruments calibration. This will only work with
+ colorimeters that rely on sensor spectral sensitivity calibration
+ information (ie. the X-Rite <span style="font-weight: bold;">i1d3</span>,
+ or the DataColor <span style="font-weight: bold;">Spyder4</span>).This
+can
+improve
+a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ colorimeters accuracy for a particular type of display.<br>
+ <br>
+ <a name="Q"></a> The <b>-Q</b> flag allows specifying a tristimulus
+ observer, and is used to compute PCS (Profile Connection Space)
+ tristimulus values from spectral readings or using a colorimeter
+ that has CCSS capability. The following choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer. The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ &nbsp; <b>1964_10c</b> selects a version of the CIE 1964 10 degree
+ observer that has been adjusted using a 3x3 matrix to better agree
+ with the 1931 2 degree observer.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that if you select
+ anything other than the default 1931 2 degree observer, that the Y
+ values will not be cd/m^2, due to the Y curve not being the CIE 1924
+ photopic V(&#955;) luminosity function.<br>
+ <br>
+ <a name="I"></a> The -<span style="font-weight: bold;">I <span
+ style="font-style: italic;">b|w</span></span> options invoke
+ instrument black level, and display white level compensation
+ (respectively). Instrument black level drift compensation attempts
+ to combat instrument black calibration drift by using a display
+ black test patch as a reference. If an instrument is not
+ acclimatised sufficiently to the measurement conditions, changes in
+ temperature can affect the black readings. Display white level drift
+ compensation attempts to combat changes in display brightness as it
+ warms up by measuring a white patch every so often, and using it to
+ normalise all the other readings. If just instrument black drift
+ compensation is needed, use <span style="font-weight: bold;">-Ib</span>.
+ If just display white level compensation is needed, use <span
+ style="font-weight: bold;">-Iw</span>. If both are needed, use <span
+ style="font-weight: bold;">-Ibw</span> or <span
+ style="font-weight: bold;">-Iwb</span>.<span style="font-weight:
+ bold;"> <br>
+ <br>
+ </span><a name="YA"></a> The -<span style="font-weight: bold;">Y A</span>
+ option uses a non-adaptive integration time emission measurement
+ mode, if the instrument supports it, such as the Eye-One Pro or
+ ColorMunki. By default an adaptive integration time measurement mode
+ will be used for emission measurements, but some instruments support
+ a fixed integration time mode that can be used with display devices.
+ This may give increased consistency and faster measurement times,
+ but may also give less accurate low level readings.<br>
+ <span style="font-weight: bold;"> <br>
+ </span><a name="C"></a> The -<span style="font-weight: bold;">C</span>
+ <span style="font-weight: bold;">"command" </span>option allows a
+ method of relaying each test value to some other display than that
+ on the system running dispread (for instance, a photo frame, PDA
+ screen etc.), by causing the given command to be invoked to the
+ shell, with six arguments. The first three arguments are the RGB
+ test color as integers in the range 0 to 255, the second three
+ parameters are the RGB test color as floating point numbers in the
+ range 0.0 to 1.0. The script or tool should relay the given color to
+ the screen in some manner (e.g. by generating a raster file of the
+ given color and sending it to the display being profiled), before
+ returning. Note that a test window will also be created on the
+ system running dispread.<br>
+ <br>
+ <a name="M"></a> The -<span style="font-weight: bold;">M</span> <span
+ style="font-weight: bold;">"command" </span>option allows a
+ method of gathering each test value from some external source, such
+ as an instrument that is not directly supported by Argyll. The given
+ command is involked to the shell, with six arguments. The first
+ three arguments are the RGB test color as integers in the range 0 to
+ 255, the second three parameters are the RGB test color as floating
+ point numbers in the range 0.0 to 1.0. The script or tool should
+ create a file called <span style="font-weight: bold;">"command.meas</span>"
+ that contains the XYZ values for the given RGB (or measured from the
+ test window) in cd/m^2 as three numbers separated by spaces, before
+ returning. If the command returns a non-zero return value, dispread
+ will abort. Note that a test window will also be created on the
+ system running dispread.<br>
+ <br>
+ <a name="W"></a>The <b>-W</b> <span style="font-weight: bold;">n|h|x</span>
+ parameter overrides the default serial communications flow control
+ setting. The value <span style="font-weight: bold;">n</span> turns
+ all flow control off, <span style="font-weight: bold;">h</span>
+ sets hardware handshaking, and <span style="font-weight: bold;">x</span>
+ sets Xon/Xoff handshaking. This commend may be useful in workaround
+ serial communications issues with some systems and cables. <br>
+ <br>
+ <a name="D"></a>The <b>-D</b> flag causes communications and other
+ instrument diagnostics to be printed to stdout. A level can be set
+ between 1 .. 9, that may give progressively more verbose
+ information, depending on the instrument. This can be useful in
+ tracking down why an instrument can't connect.<br>
+ <br>
+ <a name="p1"></a> The final parameter on the command line is the
+ base filename for the <a href="File_Formats.html#.ti1">.ti1</a>
+ input file, and the <a href="File_Formats.html#.ti3">.ti3</a>
+ output file. <b>dispread</b> will add the .ti1 and .ti3 extensions
+ automatically.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that on an X11 system,
+ if the environment variable <span style="font-weight: bold;">ARGYLL_IGNORE_XRANDR1_2</span>
+ is set (ie. set it to "yes"), then the presence of the XRandR 1.2
+ extension will be ignored, and other extensions such as Xinerama and
+ XF86VidMode extension will be used. This may be a way to work around
+ buggy XRandR 1.2 implementations.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ If a large number of patches is being read, the screensaver on many
+ systems can interfere with the operation of dispread. It is
+ therefore advisable in these cases to manually turn off the
+ screensaver before commencing the measurements.<br>
+ <br>
+ If communications break down with a USB connected instrument, you
+ may have to unplug it, and plug it in again to recover.<br>
+ <br>
+ Some systems (Apple OSX in particular) have a special set of user
+ interface controls ("Universal Access") that allows altering the
+ display in ways designed to assist visually impaired users, by
+ increasing contrast etc. This will interfere badly with any attempts
+ to calibrate or profile such a system, and must be turned off in
+ order to do so. Note that certain magic keyboard sequences can turn
+ this on by accident.<br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/dispwin.html b/doc/dispwin.html
new file mode 100644
index 0000000..a07d50f
--- /dev/null
+++ b/doc/dispwin.html
@@ -0,0 +1,593 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>dispwin</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/dispwin</b></h2>
+ <h3>Summary</h3>
+ This tool has several different but related functions. When given as
+ a file argument an ICC profile containing vcgt "gamma" curves, or an
+ Argyll video calibration .cal file, it will load that calibration
+ into the chosen display. It can also install or uninstall a profile
+ in the system for the chosen display, or set the display calibration
+ to that in the currently installed system profile. By default it
+ displays a test window the same as that used by dispcal and
+ dispread, to test this functionality. It can also be used to test
+ the ability to load video card LUT curves to each display, and to
+ test how the console Bell will sound when used with some instruments
+ (ie. Eye-One Pro).<br>
+ <br>
+ [Note that in OS X 10.7 Lion, changes to the default system profile
+ permissions mean that you can't set a calibration persistently when
+ the default system profile is being used, unless you run as root
+ (ie. use sudo). Note that you do <span style="font-weight: bold;">not</span>
+ need to run as root to install a user profile (-Su, the default
+ install type.)]<br>
+ <h3>Usage</h3>
+ <font size="-1"><span style="font-family: monospace;">dispwin
+ [options] [<span style="font-style: italic;">calfile</span>]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose
+
+
+
+
+
+
+
+ mode<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#display">-display displayname</a><span
+ style="font-family: monospace;"> [<span style="font-weight:
+ bold;">X11 only</span>] Choose X11 display name<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#dnm">-d n[,m]</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ [<span style="font-weight: bold;">X11 only</span>] Choose the
+ display from the following list (default 1),<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+and
+optionally
+
+
+
+
+
+
+
+ choose a different display m for Video LUT access.<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#d">-d n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+[Not
+X11]
+
+
+
+
+
+
+
+ Choose the display from the following list (default 1)<br>
+ </span></font><span style="font-family: monospace;">&nbsp;<a
+ href="#dweb">-dweb[:port]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+ Display via a web server at port (default 8080)</span><br
+ style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;<a href="#P">-P
+ ho,vo,ss[,vs]</a>&nbsp;&nbsp;&nbsp;&nbsp; Position test window
+ and scale it</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ho,vi:
+0.0
+
+
+
+
+
+
+
+ = left/top, 0.5 = center, 1.0 = right/bottom etc.</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ss:
+0.5
+
+
+
+
+
+
+
+ = half, 1.0 = normal, 2.0 = double etc.<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+ ss,vs: = optional horizontal, vertical scale.<br>
+ &nbsp;</span></font><font size="-1"><span style="font-family:
+ monospace;"><a href="#F">-F</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Fill
+whole
+
+
+
+
+
+
+
+ screen with black background</span></font><br
+ style="font-family: monospace;">
+ <font size="-1"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#i">-i</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Run forever with random values<br>
+ &nbsp;<a href="#G">-G <span style="font-style: italic;">filename</span></a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display RGB
+ colors from CGATS file<br>
+ &nbsp;</span></font><font size="-1"><a style="font-family:
+ monospace;" href="#m">-m</a><span style="font-family:
+ monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Manually step through colors</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#r">-r</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test
+just
+
+
+
+
+
+
+
+ video LUT loading &amp; Beeps<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#n">-n</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Test
+native
+
+
+
+
+
+
+
+ display values (rather than through Video LUT)<br>
+ &nbsp;<a href="#s">-s <span style="font-style: italic;">filename.cal</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Save
+the
+
+
+
+
+
+
+
+ currently loaded Video LUT to 'filename'<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#c">-c</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Load
+a
+
+
+
+
+
+
+
+ linear display calibration (clear calibration)</span></font><font
+ size="-1"><span style="font-family: monospace;"><br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#V">-V</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verify
+that
+
+
+
+
+
+
+
+ calfile/profile cal. is currently loaded in LUT<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#I">-I</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">Install profile for display and use it's calibration<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#U">-U</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">Un-install profile for display<br>
+ &nbsp;<a href="#S">-S d</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Specify
+the
+
+
+
+
+
+
+
+ install/uninstall scope for OS X [nlu] or Vista [lu]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+d
+is
+
+
+
+
+
+
+
+ one of: n = network, l = local system, u = user (default)<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;"></span></font><font size="-1"><span
+ style="font-family: monospace;">&nbsp;<a href="#L">-L</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">Load installed profiles cal. into Video LUT<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#E">-E</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+ [<span style="font-weight: bold;">X11 only</span>] Run in daemon
+ loader mode for given X11 server <br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;</span><a style="font-family: monospace;"
+ href="#D">-D [level]</a><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Print
+debug
+
+
+
+
+
+
+
+ diagnostics to stderr</span></font><font size="-1"><span
+ style="font-family: monospace;"></span></font><font size="-1"><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"><br>
+ &nbsp;</span></font><a style="font-family: monospace;"
+ href="#p1"><font size="-1"><span style="font-family: monospace;"></span></font></a><font
+ size="-1"><a style="font-family: monospace;" href="#p1"><i>calfile</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Load
+display
+
+
+
+
+
+
+
+ calibration (<a href="cal_format.html">.cal</a> or .icm) into
+ LUT, and exit.</span><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span></font><br>
+ <br>
+ <h3>Comments<br>
+ </h3>
+ <a name="v"></a> The <b>-v</b> flag makes the program more
+ verbose..<br>
+ <br>
+ <a name="display"></a><span style="font-weight: bold;">display</span>:
+ When running on a UNIX based system that used the X11 Windowing
+ System, <b>dispwin</b> will by default use the $DISPLAY environment
+ variable to determine which display and screen to read from. This
+ can be overridden by supplying an X11 display name to the <span
+ style="font-weight: bold;">-display</span> option. Note that if
+ Xinerama is active, you can't select the screen using $DISPLAY or
+ -display, you have to select it using the <span style="font-weight:
+ bold;">-d</span> parameter.<br>
+ <br>
+ <a name="d"></a><span style="font-weight: bold;">-d</span>: By
+ default the location of the test window will be the main display. If
+ the system has more than one display or screen, an alternate
+ display/screen can be selected with the <span style="font-weight:
+ bold;">-d</span> parameter. If you invoke <span
+ style="font-weight: bold;">dispwin</span> so as to display the
+ usage information (i.e. "dispcal -?" or "dispcal --"), then the
+ discovered displays/screens will be listed. Multiple displays may
+ not be listed if they appear as a single display to the operating
+ system (ie. the multi-display support is hidden in the video card
+ driver). On UNIX based system that used the X11 Windowing System,
+ the <span style="font-weight: bold;">-d</span> parameter will
+ override the screen specified by the $DISPLAY or <span
+ style="font-weight: bold;">-display</span> parameter.<br>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;">Note</span> that if VideoLUTs for a
+ display are not accessible (i.e. no hardware calibration
+ capability), <span style="font-weight: bold;">dispwin</span> will
+ will issue a warning or fail when it attempts to access them.<br>
+ <br>
+ On X11 the inability to access VideoLUTs could be because you are
+ trying to access a remote display, and the remote display doesn't
+ support the XF86VidMode extension, or perhaps you are running
+ multiple monitors using NVidia TwinView, or MergedFB, and trying to
+ access anything other than the primary monitor. TwinView and
+ MergedFB don't properly support the XF86VidMode extension for
+ multiple displays. You can use <a href="dispwin.html#r">dispwin -r</a>
+ to test whether the VideoLUTs are accessible for a particular
+ display. See also below, on how to select a different display for
+ VideoLUT access. Also note that dispcal will fail if the Visual
+ depth doesn't match the VideoLUT depth. Typically the VideoLUTs have
+ 256 entries per color component, so the Visual generally needs to be
+ 24 bits, 8 bits per color component.<br>
+ <br>
+ <a name="dnm"></a><span style="font-weight: bold;">-d n[,m]</span>Because
+of
+the
+
+
+
+
+
+
+
+ difficulty cause by TwinView and MergedFB in X11 based systems, you
+ can optionally specify a separate display number after the display
+ that is going to be used to present test patches, for accessing the
+ VideoLUT hardware. This must be specified as a single string, e.g. <span
+ style="font-weight: bold;">-d 1,2</span> . Some experimentation
+ may be needed on such systems, to discover what screen has access to
+ the VideoLUT hardware, and which screens the test patches appear on.
+ You may be able to calibrate one screen, and then share the
+ calibration with another screen. Profiling can be done independently
+ to calibration.<br>
+ <br>
+ <a name="dweb"></a><span style="font-weight: bold;">-dweb</span> or
+ <span style="font-weight: bold;">-dweb:port</span> starts a
+ standalone web server on your machine, which then allows a local or
+ remote web browser to display the the color test patches. By default
+ port <span style="font-weight: bold;">8080</span> is used, but this
+ can be overridden by appending a <span style="font-weight: bold;">:</span>
+ and the port number i.e. <span style="font-weight: bold;">-dweb:8001</span>.
+ The URL will be <span style="font-weight: bold;">http://</span>
+ then name of the machine or its I.P. address followed by a colon and
+ the port number - e.g something like <span style="font-weight:
+ bold;">http://192.168.0.1:8080</span>. If you use the verbose
+ option (<span style="font-weight: bold;">-v</span>) then a likely
+ URL will be printed once the server is started, or you could run <span
+ style="font-weight: bold;">ipconfig</span> (MSWin) or <span
+ style="font-weight: bold;">/sbin/ifconfig</span> (Linux or OS X)
+ and identify an internet address for your machine that way. <b>JavaScript</b>
+ needs to be enabled in your web browser for this to work.<br>
+ <br>
+ Note that if you use this method of accessing a display, that there
+ is no access to the display Video Lookup tables, and that any
+ operation that depends on accessing the VideoLUTs will either
+ generate a warning or fail.<br>
+ <br>
+ <a name="P"></a> The <span style="font-weight: bold;">-P</span>
+ parameter allows you to position and size the test patch window. By
+ default it is places in the center of the screen, and sized
+ appropriately for the type of instrument. The <span
+ style="font-weight: bold;">ho</span> and <span
+ style="font-weight: bold;">vo</span> values govern the horizontal
+ and vertical offset respectively. A value of 0.0 positions the
+ window to the far left or top of the screen, a value of 0.5
+ positions it in the center of the screen (the default), and 1.0
+ positions it to the far right or bottom of the screen. If three
+ parameters are provided, then the <span style="font-weight: bold;">ss</span>
+ parameter is a scale factor for the test window size. A value of 0.5
+ for instance, would produce a half sized window. A value of 2.0 will
+ produce a double size window. If four parameters are provided, then
+ the last two set independent horizontal and vertical scaling
+ factors. Note that the ho,vo,ss or ho,vo,hs,vs numbers must be
+ specified as a single string (no space between the numbers and the
+ comma). For example, to create a double sized test window at the top
+ right of the screen, use <span style="font-weight: bold;">-P 1,0,2</span>
+ . To create a window twice as wide as high: <span
+ style="font-weight: bold;">-P 1,0,2,1</span>.<br>
+ <br>
+ <a name="F"></a> The <span style="font-weight: bold;">-F</span>
+ flag causes the while screen behind the test window to be masked
+ with black. This can aid black accuracy when measuring CRT displays
+ or projectors.<br>
+ <br>
+ By default <span style="font-weight: bold;">dispwin</span> will put
+ a test window on the selected display, and display some test colors,
+ before darkening&nbsp; then brightening the screen by loading video
+ LUT values, test the bell sounds, then restore the original values
+ and exit.<br>
+ <br>
+ If the&nbsp;<a name="i"></a><span style="font-weight: bold;">-i</span>
+ flag is set, then <span style="font-weight: bold;">dispwin</span>
+ will display the preset sequence, then random test colors forever.<br>
+ <br>
+ If the&nbsp;<a name="G"></a><span style="font-weight: bold;">-G</span>
+ parameter is set, then <span style="font-weight: bold;">dispwin</span>
+ will display the sequence of RGB color in the supplied CGATS file,
+ e.g. a .ti1 file. Typically this might the used with the <span
+ style="font-weight: bold;">-m</span> option to manually measure a
+ set of test patches.<br>
+ <br>
+ If the&nbsp;<a name="m"></a><span style="font-weight: bold;">-m</span>
+ flag is set, then <span style="font-weight: bold;">dispwin</span>
+ will display the preset sequence then exits, but advances manually
+ after each return key.<br>
+ <br>
+ If the&nbsp;<a name="r"></a><span style="font-weight: bold;">-r</span>
+ flag is set, then <span style="font-weight: bold;">dispwin</span>
+ will test just the loading of video LUT values by first darkening,
+ then lightening the screen, before exiting.<br>
+ <br>
+ If the&nbsp;<a name="n"></a><span style="font-weight: bold;">-n</span>
+ flag is set, then <span style="font-weight: bold;">dispwin</span>
+ will display the colors directly on the display, rather than having
+ the color values translated through the currently loaded Video LUTs.<br>
+ <br>
+ <a name="s"></a> If a <span style="font-weight: bold;">-s <span
+ style="font-style: italic;">filename.cal</span></span> option is
+ used, then rather than displaying a test window, <span
+ style="font-weight: bold;">dispwin</span> will save the currently
+ loaded calibration curves to the given calibration file. Note that
+ other functions such as clearing or loading a calibration can be
+ performed after this action.<br>
+ <br>
+ <a name="c"></a> If a <span style="font-weight: bold;">-c</span>
+ flag is used, then rather than displaying a test window, <span
+ style="font-weight: bold;">dispwin</span> will load the selected
+ display with a linear set of Video LUT curves, effectively clearing
+ the calibration, and will then exit. Note that other functions such
+ as loading a calibration can be performed after this action.<span
+ style="font-style: italic;"></span><br>
+ <br>
+ <a name="V"></a> If a <span style="font-weight: bold;">-V</span>
+ flag is used, then rather than loading the calibration specified as
+ the final argument, the currently loaded calibration will be
+ verified as being the same as the given calibration file. If this is
+ combined with the <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-L</span></span> flag, the currently
+ loaded calibration will be verified as being the same as the
+ installed system profile for the display.<br>
+ <br>
+ <a name="I"></a><span style="font-weight: bold;">-I</span>: The ICC
+ profile specified as the final argument will be installed as the
+ default operating system profile for the chosen display, and the
+ display calibration will be set to the calibration tag ('vcgt' tag,
+ if any) in that profile.. On MSWindows and OS X this means that the
+ profile will be copied to the appropriate color profile directory
+ and registered with the operating system. For Linux X11 systems, the
+ profile will be installed using the <a href="ucmm.html">ucmm</a>
+ convention, and the X11 _ICC_PROFILE property in the root window,
+ and also the the XrandR 1.2 X11 _ICC_PROFILE output property on
+ systems that are running XrandR 1.2 or later. The latter is
+ following this <a
+ href="http://www.burtonini.com/computing/x-icc-profiles-spec-0.2.html">convention</a>
+ for allowing applications to locate the display profile for a
+ particular X11 display, and expands it to accomodate XrandR 1.2.
+ Note that for X11 systems, the properties are not persistent, and
+ will need to be loaded each time the X11 server is started (see the
+ <a href="#L">-L</a> flag).<br>
+ <br>
+ <a name="U"></a><span style="font-weight: bold;">-U</span>: The ICC
+ profile specified as the final argument will be un-installed as the
+ default operating system profile for the chosen display. The display
+ calibration will remain unchanged.<br>
+ <br>
+ <a name="S"></a><span style="font-weight: bold;">-S</span> d: Some
+ systems have more than one profile scope that an installed profile
+ will apply to, and this parameter allows overriding the default user
+ scope. On OS X, there is a choice of three scopes: <span
+ style="font-weight: bold;">n</span>: for network scope, if people
+ are sharing profiles over a network, <span style="font-weight:
+ bold;">l</span>: local system scope, which installs the profile
+ for all users of a system, and the default <span
+ style="font-weight: bold;">u</span>, which covers just the user
+ installing the profile. On Linux or Microsoft Vista, just the local
+ system <span style="font-weight: bold;">l</span> and user <span
+ style="font-weight: bold;">u</span> scope are available. Note that
+ you may need to run dispwin with elevated privileges(sudo) to be
+ able to successfully use network or local system scope. This option
+ also applies to uninstalling a profile. Note that to install a user
+ profile for the root account, you will have to login as root (sudo
+ will not achieve this).<br>
+ <br>
+ <a name="L"></a> <span style="font-weight: bold;">-L</span>: This
+ option fetches the current installed system profile for the chosen
+ display, and sets the display to the calibration tag ('vcgt' tag, if
+ any) in the profile. This is a convenient way of initializing the
+ display on system startup from the installed display profile, if the
+ system doesn't not do this automatically .<br>
+ <br>
+ <a name="E"></a> <span style="font-weight: bold;">-E</span>: Daemon
+ mode (experimental). When running on a UNIX based system that used
+ the X11 Windowing System, this option runs dispwin in a "daemon"
+ mode where it monitors the given X11 server, waiting for any changes
+ in monitors that may require loading a matching ICC profile (ie.
+ such as re-configuring, plugging in a different monitor etc.)&nbsp;
+ This only works if XRandR 1.2 is available on the server. By default
+ dispwin runs silently, and will not terminate. If the <span
+ style="font-weight: bold;">-v</span> option is given, it will emit
+ messages to stdout to show what it is doing. When it is first
+ invoked, it will load the installed profiles of all the screens of
+ the given X11 server.<br>
+ <br>
+ <a name="D"></a>The <b>-D</b> flag causes diagnostics to be printed
+ to stdout. A level can be set between 1 .. 9, that may give
+ progressively more verbose information. This can be useful in
+ tracking down why an operation fails.<br>
+ <br>
+ <a name="p1"></a> The final optional parameter on the command line
+ is the name of an ICC profile that contains a Video LUT <span
+ style="font-weight: bold;">vcgt</span> tag, or an Argyll <a
+ href="cal_format.html">.cal</a> format display calibration. If
+ this parameter is provided, then the selected display will be loaded
+ with the given calibration. If the <span style="font-weight: bold;">-V</span>
+ flag was given, then it is verified that this calibration is the
+ currently loaded one.&nbsp; This may be useful in initializing a
+ system to the current calibration on system startup, although a
+ better way may be to install the profile (<span style="font-weight:
+ bold;">-I</span> option), and then just use <span
+ style="font-weight: bold;">-L</span>. Note that the vcgt tag
+ interpretation within Argyll is consistent with that of the
+ originators of the tag. Other ICC profile vcgt implementations may
+ not be so consistent.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that on an X11 system,
+ if the environment variable <span style="font-weight: bold;">ARGYLL_IGNORE_XRANDR1_2</span>
+ is set (ie. set it to "yes"), then the presence of the XRandR 1.2
+ extension will be ignored, and other extensions such as Xinerama and
+ XF86VidMode extension will be used. This may be a way to work around
+ buggy XRandR 1.2 implementations.<br>
+ <span style="font-weight: bold;"><br>
+ NOTE</span> on MSWin systems that you will have to disable any
+ other calibration installer program if you want to be able to
+ control calibration using dispwin. Note also that there are other
+ programs that will interfere with calibration loading, such as
+ igfxpers.exe that gets installed with nVidia "Optimus" technology.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/evalInputTargets.html b/doc/evalInputTargets.html
new file mode 100644
index 0000000..91a38f1
--- /dev/null
+++ b/doc/evalInputTargets.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Evauating Input Targets</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta content="Graeme Gill" name="author">
+</head>
+<body>
+<h2 style="text-decoration: underline; font-weight: bold;">Evaluating
+input targets<br>
+</h2>
+There are a variety of color profiling targets available for
+characterizing input targets, and it is sometimes hard to decide which
+one will be best for your particular purpose. Listed here are some
+criteria to evaluate:<br>
+<h4>Color gamut</h4>
+The resulting profile will only be accurate between or near the color
+values contained on the chart. This means that if the colors you are
+actually processing with your device go outside the gamut of your test
+chart, the color values will have been extrapolated by the profile, and
+are therefore likely to be not very accurate. <br>
+<h4>Color Resolution</h4>
+The profile will be most accurate for colors that are near those
+contained on the chart. This means that the more closely and evenly
+spaced within the color gamut the value of<br>
+the test chart are, the more accurate overall the chart will be. So
+typically the greater the number of test values, the better.<br>
+<h4>Dynamic range and White point</h4>
+Similar to color gamut, the profile will only be accurate over the
+range of lightness levels exercised by the chart. At the dark end the
+ideal black test value will be a light trap. At the white end the ideal
+white test value would be the perfect 100% reflective diffuser. In
+practice there is another consideration, which is that by default the
+white point of the profile is set by the white value of the test chart,
+and any values over this may be clipped by the profile. So ideally the
+white patches should represent the white value of the work you will be
+using the input device for.<br>
+<h4>Spectral similarity</h4>
+One of the fundamental problems with colorimetrically characterizing
+input devices, is that typically input devices don't have the same
+spectral sensitivity as a human observer. This means that it "sees"
+color differently, and that there is no way to perfectly compensate for
+this in a device profile. [There will be some spectral values that look
+the same to the device but appear different to us, and visa-versa.] A
+colorimetric profile will best compensate for such differences when the
+target test colors have the same spectral reflectance characteristics
+as the the intended work. What this translates to is that you will get
+best results when the test chart uses a similar printing process to
+whatever work you will be using the input device for. So if you are
+intending to scan photographic prints, you should use a photographic
+based test chart. If you were scanning artworks, then you should use a
+test chart that has pigments that are similar to paint used on such
+artworks, etc. When characterizing camera's, an additional source of
+spectral differences is the illuminating light source used. Once again,
+it will be best to choose a light source to characterize the camera
+that is going to be most similar to the light source you will typically
+shoot photographs under. <br>
+<br>
+</body>
+</html>
diff --git a/doc/extracticc.html b/doc/extracticc.html
new file mode 100644
index 0000000..73e572b
--- /dev/null
+++ b/doc/extracticc.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>extracticc</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>xicc/extracticc</b></h2>
+ <h3>Summary</h3>
+ Extract an embedded ICC profile from a TIFF or JPEG raster file.<br>
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">usage: extracticc&nbsp;
+ [-v] infile.tif/jpg outfile.icm<br>
+&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Verbose</span></small><small><span style="font-family:
+ monospace;"></span><br style="font-family: monospace;">
+ </small><br>
+ <h3>Usage Details and Discussion<br>
+ </h3>
+ The<b> -v</b> flag may give extra information.<br>
+ <br>
+ <span style="font-weight: bold;">infile.tif/jpg</span> &nbsp;&nbsp;
+ should be the path to the TIFF or JPEG image file that contains the
+ embedded
+ ICC profile<br>
+ <br>
+ <span style="font-weight: bold;">outfile.icm</span>&nbsp; should be
+ the
+ path to the file that will be created to hold the ICC profile
+ extract
+ from the TIFF or JPEG file. The appropriate extension should be used
+ for the
+ platform, i.e. <span style="font-weight: bold;">icm</span> for
+ MSWindows, and <span style="font-weight: bold;">icc</span> for OS X
+ or
+ Unix/Linux.<br>
+ </body>
+</html>
diff --git a/doc/extractttag.html b/doc/extractttag.html
new file mode 100644
index 0000000..90174b4
--- /dev/null
+++ b/doc/extractttag.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>extractttag</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>xicc/extractttag</b></h2>
+<h3>Summary</h3>
+<small><span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;"></span>Extract a text tag (ie. CGATS
+.ti3 data or CAL) from an ICC profile.</small>
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;">usage: extractttag&nbsp;
+[-v] infile.icm outfile<br>
+&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose<br>
+&nbsp;-t tag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Extract this tag
+rather than default 'targ'<br>
+&nbsp;-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Extract calibration file from 'targ' tag</span></small><small><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+</small><br>
+<h3>Usage Details and Discussion<br>
+</h3>
+The<b> -v</b> flag may give extra information.<br>
+<br>
+<span style="font-weight: bold;">infile.icm</span> &nbsp;&nbsp;
+should be the path to the ICC profile<br>
+<br>
+<span style="font-weight: bold;">outfile</span>&nbsp; should be the
+path to the file that will be created to hold the contents of the text
+tag. The appropriate extension should be used for the contents of the
+tag (ie. <span style="font-weight: bold;">.ti3</span> for the&nbsp;
+for the
+'targ' tag, <span style="font-weight: bold;">.cal</span> for a
+calibration, etc.)<span style="font-weight: bold;"></span><span
+ style="font-weight: bold;"></span>.<br>
+</body>
+</html>
diff --git a/doc/fakeCMY.html b/doc/fakeCMY.html
new file mode 100644
index 0000000..3122073
--- /dev/null
+++ b/doc/fakeCMY.html
@@ -0,0 +1,73 @@
+<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+ <title>fakeread</title>
+</head>
+<body>
+<h2> <b>xicc/fakeCMY</b></h2>
+<h3> Summary</h3>
+Using a CMYK <a href="File_Formats.html#ICC">ICC</a> profile, create a
+<a href="File_Formats.html#.ti3">.ti3</a> file containing device CMY to
+colorimetric
+values. This can then be used to create a CMY profile, that can be
+linked
+with the original CMYK profile to form a CMY to CMYK separation
+transform.
+<h3> Usage</h3>
+<small><span style="font-family: monospace;">fakeCMY [</span><i
+ style="font-family: monospace;">options</i><span
+ style="font-family: monospace;">]&nbsp; </span><i
+ style="font-family: monospace;">cmykprofile.</i><span
+ style="font-family: monospace;">icm </span><i
+ style="font-family: monospace;">fakecmy</i><span
+ style="font-family: monospace;">.ti3
+</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose mode </span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-r </span><i
+ style="font-family: monospace;">res</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set the resolution of the resulting </span><a
+ style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">
+file (default 3). </span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-l </span><i
+ style="font-family: monospace;">tlimit</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set a total ink limit, 0 .. 400%&nbsp; (estimate by default)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-l </span><i
+ style="font-family: monospace;">klimit</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set a black ink limit, 0 .. 100%&nbsp; (estimate by default) </span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><i
+ style="font-family: monospace;">profile.</i><span
+ style="font-family: monospace;">icm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CMYK&nbsp; </span><a style="font-family: monospace;"
+ href="File_Formats.html#ICC">ICC</a><span
+ style="font-family: monospace;"> input profile to
+use </span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><i
+ style="font-family: monospace;">outfile</i><span
+ style="font-family: monospace;">.ti3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Name for output </span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;"> file </span></small><br>
+&nbsp;
+<h3> Comments</h3>
+This tool is a means of producing a CMY to CMYK separation. A fake
+CMY profile is created from the output of fakeCMY, and this is then
+linked to
+the original CMYK profile using <a href="collink.html">collink</a>, to
+create
+a separation containing the desired black generation. <br>
+</body>
+</html>
diff --git a/doc/fakeread.html b/doc/fakeread.html
new file mode 100644
index 0000000..aa2847c
--- /dev/null
+++ b/doc/fakeread.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>fakeread</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>spectro/fakeread</b></h2>
+<h3>Summary</h3>
+Simulate the measurement of a devices response, using an existing
+device profile, or measured test point data set. The device profile can
+be either
+an <a href="File_Formats.html#ICC">ICC</a> or <a
+ href="File_Formats.html#MPP">MPP</a> profile, or the data set can be a
+<a href="File_Formats.html#.ti3">.ti3</a> file. A device link
+separation or color space conversion can be applied before the
+print/measure simulation.<br>
+<h3>Usage</h3>
+<small><span style="font-family: monospace;">fakeread [-v] [-s] </span></small><small><span
+ style="font-family: monospace;">[<span style="font-style: italic;">separation.ic<span
+ style="font-family: monospace;">m</span></span>] </span></small><small><span
+ style="font-family: monospace;"></span><i
+ style="font-family: monospace;">profile.</i><span
+ style="font-family: monospace;">[icm|mpp|ti3] </span><i
+ style="font-family: monospace;">inoutfile</i><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp; &nbsp; &nbsp; Verbose mode</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp; &nbsp; &nbsp; Lookup </span><a style="font-family: monospace;"
+ href="File_Formats.html#MPP">MPP</a><span
+ style="font-family: monospace;"> spectral values</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+separation profile</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Output
+Lab rather than XYZ<br>
+&nbsp;-k
+file.cal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Apply
+calibration (after sep.) and include in .ti3<br>
+&nbsp;-i
+file.cal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Include
+calibration in .ti3 (but don't apply it)<br>
+</span></small><small><span style="font-family: monospace;">&nbsp;-r
+level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Add
+average random deviation of &lt;level&gt;% to input device values
+(after sep. &amp; cal.)</span></small><br
+ style="font-family: monospace;">
+<small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;-0
+pow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Apply
+power to input device chanel 0-9 (after sep. cal. &amp; rand.)</span><br
+ style="font-family: monospace;">
+&nbsp;
+<span style="font-family: monospace;">-R
+level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Add
+average random deviation of &lt;level&gt;% to output PCS values<br>
+</span></small><small><span style="font-family: monospace;">&nbsp;-u
+&nbsp; &nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Make
+random deviations have uniform distributions rather than normal<br>
+&nbsp;-S
+seed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set
+random seed<br style="font-family: monospace;">
+</span></small><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;-b
+L,a,b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Scale
+black point to target Lab value<br>
+&nbsp;-I
+intent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+r = relative colorimetric, a = absolute (default)<br
+ style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;[<span
+ style="font-style: italic;">separation.ic<span
+ style="font-family: monospace;">m</span></span>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Device
+link separation profile</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><i
+ style="font-family: monospace;">profile.</i><span
+ style="font-family: monospace;">[icm|mpp|ti3] &nbsp; &nbsp; </span><a
+ style="font-family: monospace;" href="File_Formats.html#ICC">ICC</a><span
+ style="font-family: monospace;">, </span><a
+ style="font-family: monospace;" href="File_Formats.html#MPP">MPP</a><span
+ style="font-family: monospace;">
+or&nbsp;</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">
+profile/file to use</span><br style="font-family: monospace;">
+&nbsp;
+<span style="font-family: monospace;"></span><i
+ style="font-family: monospace;">inoutfile</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp; &nbsp; Base name for
+input[</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti1">.ti1</a><span
+ style="font-family: monospace;">]/output[</span><a
+ style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">] file</span></small><br>
+<b><br>
+Examples</b><br>
+<br>
+fakeread profile.icm testvalues<br>
+fakeread -p separation.icm profile.icm testvalues<br>
+<h3>Comments<br>
+</h3>
+The <span style="font-weight: bold;">-v</span> flag does nothing at
+the moment.<br>
+The <span style="font-weight: bold;">-s</span> flag works only with
+MPP profiles that contain spectral model
+information.<br>
+The <span style="font-weight: bold;">-p</span> flag enables a device
+to device value conversion before
+converting to expected PCS values.<br>
+The <span style="font-weight: bold;">-l</span> flag causes the CIE
+output values to be L*a*b* rather than the
+default XYZ values.<br>
+<br>
+The <b>-k file.cal</b> parameter specifies a printer
+calibration file created by <a href="printcal.html">printcal</a>, and
+the supplied calibration curves will be applied to the chart device
+values after any separation. This allows emulating a system that uses
+per device channel calibration. The calibration curves will also be
+included in
+the resulting .ti3 file, so that they can be passed through to the ICC
+profile allowing accurate computation of ink
+limits.<br>
+<br>
+<a name="i"></a> The <b>-i file.cal</b> parameter specifies a printer
+calibration file created by <a href="printcal.html">printcal</a>,
+and the calibration curves will be
+included in the included in
+the resulting .ti3 file, so that they can be passed through to the ICC
+profile, to allow accurate computation of ink limits.
+The calibration <span style="font-weight: bold;">is not applied</span>
+to tchart values. <span style="font-weight: bold;">Note</span> that if
+the supplied ICC profile contains calibration curves, that these will
+be included in the resulting .ti3 by default.<br>
+<span style="font-weight: bold;"></span><br>
+The <span style="font-weight: bold;">-r</span> parameter is a way of
+simulating instability in the behaviour of
+the simulated
+printing system. The parameter supplied to the flag will be used to
+scale a random offset added to the device values (after any separation
+and calibration is applied). The offset will be a normally distributed
+error with an
+average deviation of level%. A typically value supplied
+might be 1.0 to simulate 1% randomness.<br>
+<br>
+The <span style="font-weight: bold;">-0, -1, -2 .. -9</span>
+parameters are a way of simulating changes in the
+behaviour of the simulated printing system. The parameter supplied to
+the flag will be used to modify the device values (after any
+separation, calibration and device randomness
+is applied) by raising them to the power of the parameter. This applies
+a transfer curve to the simulated device response.<br>
+<br>
+The <span style="font-weight: bold;">-R</span> parameter is a way of
+simulating instability in the behaviour of
+the simulated
+measuring system. The parameter supplied to the flag will be used to
+scale a random offset added to the PCS values. The offset will be a
+normally distributed error with an average deviation of level%. A
+typically value supplied
+might be 1.0 to simulate 1% randomness. <br>
+<br>
+The <span style="font-weight: bold;">-u</span> flag changes the
+distribution of the random offsets applied using the <span
+ style="font-weight: bold;">-r</span> or <span
+ style="font-weight: bold;">-R</span> flags, from the default standard
+deviation, to a uniform deviation distribution. The level is still
+specified as an average deviation.<br>
+<br>
+The <span style="font-weight: bold;">-S</span> parameter lets a
+particular random seed be used when generating random offsets, so that
+the randomness can be made repeatable. Normally a different seed will
+be used for each run. <br>
+<br>
+The <span style="font-weight: bold;">-b</span> parameter is a way of
+simulating devices that have a different black point to the profile
+used. This only works if an ICC profile is used, and scales the black
+point to the parameter value. This will be done in XYZ space by
+default, and in L*a*b* space if the <span style="font-weight: bold;">-l</span>
+flag is used.<br>
+<br>
+The <span style="font-weight: bold;">-I</span> parameter allows
+changing the intent used in looking up the ICC profile colors to
+relative colorimetric. This would <span
+ style="text-decoration: underline;">not</span> be used if you intend
+to make a profile from the resulting .ti3 file, since profiles are
+always made from absolute colorimetric measurement values. Note that
+this flag does nothing if the profile is an MPP or .ti3 file.<br>
+<br>
+Fakeread is useful in creating artificial test value for testing <a
+ href="colprof.html">colprof</a>, as well as providing one path for
+turning an MPP profile into an ICC profile. If a <a
+ href="File_Formats.html#.ti3">.ti3</a> file is
+specified instead of an <a href="File_Formats.html#ICC">ICC</a> or <a
+ href="File_Formats.html#MPP">MPP</a> profile,
+then the closest matching measured points in the .<a
+ href="File_Formats.html#.ti3">.ti3</a> are substituted
+for the test values in the <a href="File_Formats.html#.ti1">.ti1</a>
+file on
+output. If the <a href="File_Formats.html#.ti1">.ti1</a>
+file is a monochrome test file with a White device value, then an RGB <a
+ href="File_Formats.html#ICC">ICC</a> profile, <a
+ href="File_Formats.html#MPP">MPP</a> or <a
+ href="File_Formats.html#.ti3">.ti3</a> may be used, and the White
+values will be translated to equal RGB values. If the <a
+ href="File_Formats.html#.ti1">.ti1</a>
+file is a monochrome test file with a Black device value, then a CMYK <a
+ href="File_Formats.html#ICC">ICC</a> profile, <a
+ href="File_Formats.html#MPP">MPP</a> or <a
+ href="File_Formats.html#.ti3">.ti3</a> may be used, and the Black
+values will be translated to equal CMY = 0, K = grey values. <span
+ style="font-weight: bold;">Note</span> that
+any calibration within a supplied ICC profile is <span
+ style="text-decoration: underline;">not</span> applied during the
+conversion, although it will be included in the .ti3 output (see <span
+ style="font-weight: bold;">-k</span> and <span
+ style="font-weight: bold;">-i</span> flags for how apply calibration
+curves during the conversion and/or include
+a specific calibration curves in the output).<br>
+<br>
+If a separation device profile is provided (e.g. from CMY -&gt; CMYK,
+or perhaps CMYK-&gt;CMYK, to simulate a color correction step before
+"printing"), then this will be applied to the .ti1 device values,
+before converting the the device values into .ti3 PCS values.<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/filmread.html b/doc/filmread.html
new file mode 100644
index 0000000..2109b99
--- /dev/null
+++ b/doc/filmread.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>filmread</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>spectro/filmread</b></h2>
+<h3>Summary</h3>
+Read film colorimetric values using a Gretag SpectroScanT spectrometer.<br>
+<h3>Usage</h3>
+<small><span style="font-family: monospace;">filmread [-v] [-s] [-c
+comport] outfile</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose mode</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Gather spectral data also</span><br style="font-family: monospace;">
+&nbsp;
+<span style="font-family: monospace;"></span></small><small
+ style="font-family: monospace;"><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">-c listno</span><span
+ style="font-family: monospace;"> &nbsp; &nbsp;&nbsp; Set communication
+port from the following list (default 1)</span></small><small><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;outfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Base
+name for input[</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti2">.ti2</a><span
+ style="font-family: monospace;">]/output[</span><a
+ style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">] file</span></small><br>
+<h3>Comments</h3>
+This tool allows reading of film test patches, one at a time using
+the
+transparent mode of the Gretag SpectroscanT. <br>
+<br>
+The instrument is assumed to communicate through a
+serial
+communication port, and the port can be selected with the <b>-c</b>
+option,
+if the instrument is not connected to the first port. If you invoke <span
+ style="font-weight: bold;">filmread</span> so as to display the usage
+information (i.e. "filmread -?" or "filmread --"), then the discovered
+serial ports will be listed on Windows and Mac OSX systems.<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/filmtarg.html b/doc/filmtarg.html
new file mode 100644
index 0000000..ba1c060
--- /dev/null
+++ b/doc/filmtarg.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>filmtarg</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>target/filmtarg</b></h2>
+<h3>Summary</h3>
+Create film recorder TIFF files from an Argyll&nbsp;<a
+ href="File_Formats.html#.ti1">.ti1</a> device
+test values.<br>
+<h3>Usage</h3>
+f<small><span style="font-family: monospace;">ilmtarg [-v] [-r] [-g
+gamma] [-f format] </span><i style="font-family: monospace;">basename<br>
+</i><span style="font-family: monospace;">
+&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose mode</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;-r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't randomise patch location</span><br style="font-family: monospace;">
+<span style="font-family: monospace;"> &nbsp;-g
+gamma&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gamma correction / linearization</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;"> &nbsp;-f
+format&nbsp;&nbsp;&nbsp;&nbsp; Select format from:</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Acad_Full&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [3656 x 2664]</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Acad_Half&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [1828 x 1332]</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Cscope_Full&nbsp;&nbsp;&nbsp; [3656 x 3112]</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Cscope_Half&nbsp;&nbsp;&nbsp; [1828 x 1556]</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+FullAp_Full&nbsp;&nbsp;&nbsp;&nbsp; [4096 x 3112]</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+FullAp_Half&nbsp;&nbsp;&nbsp; [2048 x 1556]</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Vista_Full&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [4096 x 6144]</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Vista_Half&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [2048 x 3072]</span><br
+ style="font-family: monospace;">
+<i style="font-family: monospace;"> &nbsp;basename</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Base
+name for input[</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti1">.ti1</a><span
+ style="font-family: monospace;">]/output[</span><a
+ style="font-family: monospace;" href="File_Formats.html#.ti2">.ti2</a><span
+ style="font-family: monospace;">] and output </span><a
+ style="font-family: monospace;" href="File_Formats.html#TIFF">TIFF</a><span
+ style="font-family: monospace;"> files.</span></small>
+<h3>Comments</h3>
+The TIFF files will have a name "basename.XXXX.tiff", where XXXX is the
+patch number.<br>
+The TIFF files generate are 16 bit, RGB files.<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/gamma.html b/doc/gamma.html
new file mode 100644
index 0000000..2a9cec3
--- /dev/null
+++ b/doc/gamma.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>About Gamma</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+<h2 style="text-decoration: underline; font-weight: bold;">About Gamma</h2>
+When calibrating display devices, the notion of "gamma value" quickly
+becomes a topic for discussion. Various numbers are often bandied about
+as if they have a well known and accepted meaning, but it turns out
+that gamma values are not a very precise way of specifying real world
+device behavior at all.<br>
+<br>
+A "gamma" curve is typically thought of as an ideal power curve, but no
+real world device has the necessary zero output at zero input to be
+able to match such a curve, and in general a display may not exactly
+reproduce an idealized power curve shape at all. The consequence of
+this is that there are countless ways of matching a real world curve
+with the ideal gamma power one, and each different method of matching
+will result in a different notional gamma value.<br>
+<br>
+Argyll's approximate specification and reading is simply the gamma of
+the ideal curve that matches the real 50% stimulus relative-to-white
+output level. I think this is a reasonable (robust and simple)
+approximation,
+because it matches the overall impression of brightness for an image. A
+more sophisticated approximation that could be adopted would be to
+locate the idea power curve that minimizes the total delta E of some
+collection of test values, but there are still many details that the
+final result will depend on, such as what distribution of test values
+should be used, what delta E measure should be used, and how can a
+delta E be computed if the colorimetric behavior of the device is not
+known ? Some approaches do things such as minimize the sum of the
+squares of the output value discrepancy for linearly sampled input
+values, and while this is mathematically elegant, it is hard to justify
+the choice of device space as the metric.<br>
+<br>
+There are many other ways in which it could be done, and any such
+approximation may have a quite different numerical value, even though
+the visual result is very similar. This is because the numerical power
+value is very sensitive to what's happening near zero, the very point
+that is non-ideal. Consider the sRGB curve for instance. It's
+technically composed of a power curve segment with a power of 2.4, but
+when combined with its linear segment near zero, has an overall curve
+best approximated by a power curve of gamma 2.2. Matching the 50%
+stimulus would result in yet another slightly different approximation
+value of about 2.224. All these different gamma values represent curves
+that are very visually similar.<br>
+<br>
+<img style="width: 400px; height: 400px;"
+ alt="Plot of sRGB curve vs. power of 2.224" src="srgbplot.gif"
+ align="left"><br>
+<br>
+The result of this ambiguity about what gamma values mean when applied
+to real world curves, is that it shouldn't be expected that there are
+going to be good matches between various gamma numbers, even for curves
+that are very visually similar, unless the precise method of matching
+the ideal gamma curve to the real world curve is known.<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/gamutmapping1.jpg b/doc/gamutmapping1.jpg
new file mode 100644
index 0000000..e962666
--- /dev/null
+++ b/doc/gamutmapping1.jpg
Binary files differ
diff --git a/doc/greytiff.html b/doc/greytiff.html
new file mode 100644
index 0000000..caccece
--- /dev/null
+++ b/doc/greytiff.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>greytiff</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>imdi/greytiff</b></h2>
+<h3>Summary</h3>
+Convert a TIFF file to monochrome colorimetrically, using an ICC device
+profile.<br>
+<h3>Usage<br>
+</h3>
+<small><span style="font-family: monospace;">greytiff [-options] </span><i
+ style="font-family: monospace;">profile.icm infile.tif
+outfile.tif</i><span style="font-family: monospace;"></span><i
+ style="font-family: monospace;"></i><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Verbose</span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Use slow
+precise floating point conversion, rather than fast integer routines.<br>
+</span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="greytiff.html#c">-j</a><span
+ style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Use CIECAM02 space for removing color,
+rather than default L*a*b* space.</span></small><small><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#p1"><i>profile.icm</i></a><span
+ style="font-family: monospace;"> &nbsp; &nbsp; &nbsp; &nbsp; Profile
+to define the colorspace of the </span></small><small><a
+ style="font-family: monospace;" href="File_Formats.html#TIFF">TIFF</a><span
+ style="font-family: monospace;">
+Raster file</span></small><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">.</span><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#p2"><i>infile.tif</i></a><span
+ style="font-family: monospace;"> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+A </span><a style="font-family: monospace;"
+ href="File_Formats.html#TIFF">TIFF</a><span
+ style="font-family: monospace;">
+Raster file that will be the input raster to be transformed.</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#p3"><i>outfile.tif</i></a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; A </span><a style="font-family: monospace;"
+ href="File_Formats.html#TIFF">TIFF</a><span
+ style="font-family: monospace;">
+Raster file created from the input raster, that will have had the color
+removed.</span></small><b><br>
+<br>
+Examples</b><br>
+<br>
+greytiff sRGB.icm infile.tif outfile.tif<br>
+<h3>Comments<br>
+</h3>
+<a name="v"></a> The -v flag reports extra information about the ICC
+profile.<br>
+<a name="p"></a> The -p
+option is intended to aid debugging.<br>
+<a name="j"></a> The -j
+option uses CIECAM02 colorspace to remove the color in. This may
+produce better subjective results for images with highly chromatic
+colors.<br>
+<a name="p2"></a>The second last argument should be the name of the
+TIFF file that is to be processed.<br>
+<a name="p3"></a>The last argument should be the name of the TIFF file
+to hold the results.<br>
+<span style="font-weight: bold;"></span><br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/i1d.jpg b/doc/i1d.jpg
new file mode 100644
index 0000000..e7cc159
--- /dev/null
+++ b/doc/i1d.jpg
Binary files differ
diff --git a/doc/i1d3_1.jpg b/doc/i1d3_1.jpg
new file mode 100644
index 0000000..afb77a3
--- /dev/null
+++ b/doc/i1d3_1.jpg
Binary files differ
diff --git a/doc/i1d3_2.jpg b/doc/i1d3_2.jpg
new file mode 100644
index 0000000..306f830
--- /dev/null
+++ b/doc/i1d3_2.jpg
Binary files differ
diff --git a/doc/i1m.jpg b/doc/i1m.jpg
new file mode 100644
index 0000000..efbf55f
--- /dev/null
+++ b/doc/i1m.jpg
Binary files differ
diff --git a/doc/i1p.jpg b/doc/i1p.jpg
new file mode 100644
index 0000000..7e59c06
--- /dev/null
+++ b/doc/i1p.jpg
Binary files differ
diff --git a/doc/i1pro2.jpg b/doc/i1pro2.jpg
new file mode 100644
index 0000000..8b3cbec
--- /dev/null
+++ b/doc/i1pro2.jpg
Binary files differ
diff --git a/doc/i1proDriver.html b/doc/i1proDriver.html
new file mode 100644
index 0000000..0894f59
--- /dev/null
+++ b/doc/i1proDriver.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>The i1pro Driver</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta content="Graeme Gill" name="author">
+</head>
+<body>
+<h2 style="text-decoration: underline; font-weight: bold;">How can I
+have confidence in the i1pro Driver ?<br>
+</h2>
+A question that has been asked is : "<span style="font-weight: bold;">You've
+written your own driver for the Eye-One Pro. How can I have confidence
+that the measurements are accurate, and will match those made with the
+original manufacturers driver </span>?"<br>
+<br>
+This is a quite reasonable question. The following attempts to answer
+it.<br>
+<h4 style="text-decoration: underline;">Why does Argyll use it's own
+i1pro driver ?</h4>
+Primarily because the Original Manufacturers Driver (OMD) isn't
+available for all the platforms that ArgyllCMS supports (Linux in
+particular). A side benefit is that it's possible to tweak many of the
+driver parameters for slightly better results and more flexibility. It
+has also helped in understanding the characteristics and limitations of
+such instruments.<br>
+<h4 style="text-decoration: underline;">Does it match the OMD ?</h4>
+In principle the behaviour should be very similar. While the Argyll
+driver has been written from scratch, it does use exactly the same
+calibration values from<br>
+inside the instrument, and attempts to use the calibration values and
+process the raw instrument readings in an equivalent manner to that of
+the OMD.<br>
+<br>
+But the proof of the pudding is in the measuring, so to actually verify
+this, the following experiment was conducted:<br>
+<br>
+The Argyll version used was V1.2.0<br>
+<br>
+The Macbeth 24 patch ColorChecker was used as a sample target. For each
+patch (and the calibration tile), the following steps were performed:<br>
+<br>
+1) Place the instrument on the calibration tile.<br>
+<br>
+2) Use Argyll spotread to calibrate the Argyll driver.<br>
+<br>
+3) Change drivers to the OMD.<br>
+<br>
+4) Use the OMD to calibrate the instrument.<br>
+<br>
+5) Move the instrument to the patch on the ColorChecker.<br>
+<br>
+6) Read the color using the OMD.<br>
+<br>
+7) Change the back to the Argyll driver.<br>
+<br>
+8) Using the calibration made in step 2), read the color using Argyll.<br>
+<br>
+Each calibration or reading was performed 15 seconds from the previous
+one, to put the instrument lamp in a repeatable state.<br>
+The instrument was kept in exactly the same position for calibration
+and patch measurement with the two drivers.<br>
+(The whole idea is to reduce all other sources of error, other than the
+driver itself.)<br>
+<br>
+This measurement was repeated just once for each patch + the
+calibration tile. This was done in one run, and the readings were not
+specially selected.<br>
+<h4 style="text-decoration: underline;">Results:</h4>
+The following D50 L*a*b* values were recorded for each measurement:<br>
+<br>
+A) &nbsp;&nbsp; The OMD internally calculated L*a*b* value<br>
+B) &nbsp;&nbsp; The L*a*b* value calculated by Argyll from the OMD
+spectral values.<br>
+C) &nbsp;&nbsp; The L*a*b* value calculated from the Argyll measured
+spectral values.<br>
+D) &nbsp;&nbsp; The L*a*b* value calculated from the Argyll
+Hi-Resolution mode measured spectral values.<br>
+<br>
+<span style="text-decoration: underline;">A is compare to B, to check
+that the spectral to standard observer calculations are equivalent.</span><br>
+<br>
+&nbsp;&nbsp;&nbsp; The result was an average Delta E (CIE76) of 0.006,
+with a maximum of 0.012.<br>
+<br>
+&nbsp;&nbsp;&nbsp; This shows that there is very close agreement in the
+way spectral values are converted to XYZ and L*a*b*.<br>
+<br>
+<span style="text-decoration: underline;">B is compared to C to check
+that the Argyll driver behaves the same as the OMD.</span><br>
+<br>
+&nbsp;&nbsp;&nbsp; The result was an average Delta E (CIE76) of 0.028,
+with a maximum of 0.051.<br>
+<br>
+&nbsp;&nbsp;&nbsp; This shows that the OMD and Argyll driver are in
+close agreement in spectral measurement.<br>
+&nbsp;&nbsp;&nbsp; This error is an order of magnitude smaller than
+uniformity induced errors typical in the media being measured.<br>
+<br>
+<span style="text-decoration: underline;">A is compared to C to check
+that the Argyll driver and spectral to XYZ differences don't compound.</span><br>
+<br>
+&nbsp;&nbsp;&nbsp; The result was an <span style="font-weight: bold;">average</span>
+Delta E (CIE76) of <span style="font-weight: bold;">0.026</span>, with
+a <span style="font-weight: bold;">maximum</span> of <span
+ style="font-weight: bold;">0.048</span>.<br>
+<br>
+&nbsp;&nbsp;&nbsp; Rather than compounding, any spectral to XYZ
+differences tend to cancel
+out slightly. This is the <span style="font-weight: bold;">bottom line</span>
+experimental difference between
+the two drivers. The actual underlying difference may in fact be less
+than this, but it would be necessary to do multiple test runs to
+filter out experimental error.<br>
+<br>
+<span style="text-decoration: underline;">C is compare to D to check
+that the Argyll Hi-Resolution mode is behaving reasonably.</span><br>
+<br>
+&nbsp;&nbsp;&nbsp; The result was an average Delta E (CIE76) of 0.158,
+with a maximum of 0.353.<br>
+<br>
+&nbsp;&nbsp;&nbsp; Because the ColorChecker samples have relatively
+smooth reflectance spectra, it can be expected that<br>
+&nbsp;&nbsp;&nbsp; the normal and Hi-Res mode results should be fairly
+similar. And indeed, this is the case. The biggest<br>
+&nbsp;&nbsp;&nbsp; differences are for patches
+with the largest spectral transitions in them, which is to be expected
+as the<br>
+&nbsp;&nbsp;&nbsp; Hi-Res measurement more
+closely follows the spectral shape, while the differences for
+spectrally flat<br>
+&nbsp;&nbsp;&nbsp; patches is neglegable, since both can follow the
+spectral shape well.<br>
+<br>
+Example Yellow-Green Patch, Hi-Res &amp; Normal spectrum:<br>
+<img style="width: 709px; height: 259px;"
+ alt="Yellow-Green patch, Hi-Res vs. Normal" src="YellowGreen.jpg"><br>
+<br>
+<h4 style="text-decoration: underline;">Conclusions:</h4>
+The experimental average difference of <span style="font-weight: bold;">0.026</span>
+Delta E76 shown above provides evidence that despite using a completely
+different instrument driver to that supplied with the instrument, the
+ArgyllCMS Eye-One pro measurement values have comparable accuracy, and
+can be relied upon to match measurements made using the original
+manufactures driver.<br>
+<h4 style="text-decoration: underline;">Raw Data:</h4>
+The raw data is available in this <a href="i1proDriver.xls">spread
+sheet</a>.<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/i1proDriver.xls b/doc/i1proDriver.xls
new file mode 100644
index 0000000..ca1cdf5
--- /dev/null
+++ b/doc/i1proDriver.xls
Binary files differ
diff --git a/doc/i1scan14.jpg b/doc/i1scan14.jpg
new file mode 100644
index 0000000..94b68fb
--- /dev/null
+++ b/doc/i1scan14.jpg
Binary files differ
diff --git a/doc/iccdump.html b/doc/iccdump.html
new file mode 100644
index 0000000..8be51f3
--- /dev/null
+++ b/doc/iccdump.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>iccdump</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>icclib/iccdump</b></h2>
+<br>
+Dump the contents of an ICC profile as human readable text.<br>
+<h3>Usage</h3>
+<small><span style="font-family: monospace;">&nbsp;iccdump [-v level]
+[-t tagname] [-s] </span><i style="font-family: monospace;">infile</i><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v
+level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Verbose level 1-3 (default 2)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-t
+tag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dump this tag only (can
+be used multiple times)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Search for embedded profile</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp; </span><i
+ style="font-family: monospace;">infile</i><span
+ style="font-family: monospace;"> &nbsp; &nbsp; &nbsp; </span><a
+ style="font-family: monospace;" href="File_Formats.html#ICC">ICC</a><span
+ style="font-family: monospace;"> profile</span></small><br>
+<h3><b> Examples</b></h3>
+iccdump sRGB.icm<br>
+<br>
+iccdump -v3 -t rTRC sRGB.icm<br>
+<h3>Comments</h3>
+This tool will dump the contents of the header, and each known type
+of tag within the ICC profile. For more detail on each tag, the -v flag
+should be used, typically with verbose level 3.<br>
+<br>
+The <span style="font-weight: bold;">-s</span> flag causes iccdump to
+do a brute force search for any embedded
+profiles within the file, and dumps them all. This won't work if the
+profile data is
+segmented or compressed.<br>
+<br>
+The <span style="font-weight: bold;">-t</span> parameter may be used
+multiple times, to dump just specific tags, e.g. <span
+ style="font-weight: bold;">iccdump -v3 -t clrt -t clot devicelink.icm</span><br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/iccgamut.html b/doc/iccgamut.html
new file mode 100644
index 0000000..6d2f5ba
--- /dev/null
+++ b/doc/iccgamut.html
@@ -0,0 +1,334 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>iccgamut</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>xicc/iccgamut</b></h2>
+ <br>
+ Create a gamut file or VRML file &nbsp;of the color gamut of an ICC
+ profile.<br>
+ <span style="font-weight: bold;"> iccgamut</span> allows creation of
+ gamut files from the forward or backwards
+ table of an ICC profile, in Lab or CIECAM02 Jab colorspace, and can
+ also
+ representing the gamut as a VRML file.<br>
+ <h3>Usage<br>
+ </h3>
+ <small><span style="font-family: monospace;">iccgamut [-options] </span><i
+ style="font-family: monospace;">profile</i><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Verbose</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-d
+ sres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Surface
+ resolution details 1.0 - 50.0</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+emit
+ VRML .wrl file as well as CGATS .gam file</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't
+ add VRML axes or white/black point</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;-k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Add
+ VRML markers for prim. &amp; sec. "cusp" points</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-f
+ function&nbsp;&nbsp; f =
+ forward*, b = backwards</span><br style="font-family:
+ monospace;">
+ &nbsp;
+ <span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">-i
+ intent&nbsp;&nbsp;&nbsp;&nbsp; p =
+ perceptual, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s
+ = saturation, a = absolute (default), d = profile default</span></small><small><span
+ style="font-family: monospace;"></span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;-o
+ order&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n = normal
+ (priority: lut &gt; matrix &gt; monochrome)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+r
+ = reverse (priority: monochrome &gt;
+ matrix &gt; lut)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><span
+ style="font-family: monospace;">-p oride</span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l
+ =
+ Lab_PCS (default), j = CIECAM02 Appearance Jab</span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-l
+ tlimit&nbsp;&nbsp;&nbsp;&nbsp; set total
+ ink limit, 0 - 400% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-L
+ klimit&nbsp;&nbsp;&nbsp;&nbsp; set black ink
+ limit, 0 - 100% (estimate by default)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-c
+ viewcond&nbsp;&nbsp; set
+ viewing conditions for CIECAM02,</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+either
+ an enumerated choice, or a series of
+ parameters:value changes</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pp - Practical Reflection
+ Print
+ (ISO-3664 P2)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; pe - Print evaluation environment (CIE 116-1995)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; pc - Critical print evaluation environment (ISO-3664 P1)</span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; &nbsp; mt - Monitor in typical work environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; mb - Monitor in bright work environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; md - Monitor in darkened work
+ environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; jm - Projector in dim environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; jd - Projector in dark environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene
+ outdoors</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; ob - Original scene - Bright Outdoors</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; cx - Cut Sheet Transparencies on a viewing
+ box</span></small><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s:surround&nbsp;&nbsp;
+ n = auto, a = average, m = dim, d = dark,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; &nbsp;&nbsp; c = transparency (default average)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Adapted white point
+ as XYZ (default media white)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Adapted white point as
+ x, y</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+a:adaptation
+ Adaptation luminance in cd.m^2 (default 50.0)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+b:background
+Background
+ % of image luminance (default 20)<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; l:scenewhite Scene
+ white in
+ cd.m^2 if surround = auto (default 250)<br style="font-family:
+ monospace;">
+ </span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Flare
+ light % of image luminance (default 1)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Flare color as
+ XYZ (default media white)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Flare color as x, y<br>
+ &nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Create
+ special cube surface topology plot<br style="font-family:
+ monospace;">
+ </span><i style="font-family: monospace;">profile</i><span
+ style="font-family: monospace;"> &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; The
+ name of the </span><a style="font-family: monospace;"
+ href="File_Formats.html#ICC">ICC</a><span style="font-family:
+ monospace;">
+ profile, as well as the basename of the </span><a
+ style="font-family: monospace;" href="File_Formats.html#.gam">gamut</a><span
+ style="font-family: monospace;"> [.gam] and/or </span><a
+ style="font-family: monospace;" href="File_Formats.html#.wrl">VRML</a><span
+ style="font-family: monospace;"> [.wrl] file.</span></small>
+ <br>
+ <h3>Comments</h3>
+ The parameters are all those that control which table in the ICC
+ profile to use, as well as what color space to convert it to. <br>
+ <br>
+ The<b> -v</b> flag dumps out the ICC profile header information.
+ Using <b>-v</b> <b>-w</b> will also print the gamut volume in
+ cubic L*a*b* units.<br>
+ <br>
+ The <b>-d</b> parameter controls the level of detail displayed in
+ the
+ surface. The parameter roughly corresponds to a deltaE value, so
+ smaller
+ values give greater detail. The default value is around 10, and is a
+ good
+ place to start. Small values may take a lot of time to generate, and
+ will
+ produce big files.<br>
+ <br>
+ The <b>-w</b> flag causes a VRML file to be produced, as well as a
+ gamut file.<br>
+ <br>
+ The <b>-n</b> flag suppresses the L*a*b* axes being created in
+ the VRML.<br>
+ <br>
+ The <span style="font-weight: bold;">-k</span> flag adds markers
+ for
+ each of the primary and secondary "cusp" points (Red, Yellow, Green,
+ Cyan, Blue &amp; Magenta). No markers will be displayed if the cusps
+ cannot be determined.<br>
+ <br>
+ The <b>-f </b>parameter allows choosing the ICC table to be used
+ in
+ plotting the gamut. The backwards tables generally incorporate gamut
+ compression, and therefore don't reflect the native capabilities of
+ the
+ device.<br>
+ <br>
+ The <b>-i</b> flag selects the intent transform used for a lut
+ based
+ profile. It also selects between relative and absolute colorimetric
+ for
+ non-lut base profiles. Note that anything other than colorimetric
+ may
+ not represent the
+ native capabilities of the device. The default intent will be
+ absolute
+ colorimetic for L*a*b* output, and CIECAM02 appearance for Jab
+ output.<br>
+ <br>
+ An ICC profile is allowed to contain more than the minimum number of
+ elements or table needed to describe a certain transform, and may
+ contain redundant descriptions. &nbsp;By default, lut based table
+ information will be used first if present, followed by matrix/shaper
+ information, and only using
+ monochrome information if it is all that is present. The <b>-o</b>
+ flag,
+ reverses this order.&nbsp;&nbsp;&nbsp; <br>
+ <br>
+ <span style="font-weight: bold;">-p</span>: By default the gamut
+ will
+ be created in L*a*b* colorspace. If&nbsp; <span style="font-weight:
+ bold;">-pj</span> is selected, then CIECAM02
+ appearance space Jab will be used for the output, and the viewing
+ conditions will be taken into account. Jab space is what is normally
+ needed to be compatible with the default intents used in <a
+ href="colprof.html">colprof</a>. <span style="font-weight: bold;"><br>
+ </span>Note that the CIECAM02 output space selection by default uses
+ the colorimetric transform of the profile resulting in the
+ appearance
+ of the native device, but that the perceptual or
+ saturation transforms may be used by selecting them using the <span
+ style="font-weight: bold;">-i</span> parameter, which may give a
+ different result with some profiles. This may be desirable if an
+ image
+ is to be transformed through the perceptual or saturation tables of
+ a
+ profile as part of a link with an Argyll generated output profile,
+ since it will then represent the apparent gamut of the image when
+ subject to these tables. If the absolute colorimetric intent is
+ chosen
+ using <span style="font-weight: bold;">-ia</span> in combinations
+ with
+ <span style="font-weight: bold;">-pj</span>, then&nbsp; Jab with
+ a fixed white reference is used, which emulates an absolute CIECAM02
+ Jab
+ appearance space. <br>
+ <br>
+ The <b>-l</b> parameter allows setting a total ink limit (TAC) for
+ printing
+ devices. If a device has a total ink limit, and hasn't been
+ characterised with device values above this limit, then plotting the
+ gamut in these areas will almost certainly be misleading. tables. By
+ default, a total ink limit will
+ be estimated from the profile tables. The ink limit
+ will be in final calibrated device values if the profile includes
+ calibration information.<br>
+ <br>
+ The <b>-L</b> parameter allows setting a black ink limit for
+ printing
+ devices. If a device is to be used with a black ink limit, then it
+ is
+ useful to evaluate
+ the gamut with the limit in place. By default, a black ink limit
+ will
+ be estimated from the profile tables. The ink limit
+ will be in final calibrated device values if the profile includes
+ calibration information.<br>
+ <br>
+ The <b>-c</b> parameter allows setting the CIECAM02 viewing
+ conditions,
+ either by choosing a typical viewing environment, or controlling
+ particular viewing condition parameters.<br>
+ <br>
+ The <span style="font-weight: bold;">-s</span> flag creates a
+ special
+ hyper-cube surface plot that is artificially colored. This can be
+ useful for identifying the topology of the black ink color response.<br>
+ <h3>Example<br>
+ </h3>
+ To create a view in L*a*b* of the absolute gamut of a CMYK file with
+ an
+ ink limit of 260%, one might use:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-style: italic;">iccgamut -w
+ -ff
+ -ia -l260 profile.icm</span><br>
+ <br>
+ and the resulting files will be <span style="text-decoration:
+ underline;">profile.gam</span> and <span style="text-decoration:
+ underline;">profile.wrl</span>.<br>
+ <br style="font-weight: bold;">
+ <span style="font-weight: bold;"></span><br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/iccgamutmapping.html b/doc/iccgamutmapping.html
new file mode 100644
index 0000000..d180372
--- /dev/null
+++ b/doc/iccgamutmapping.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>About ICC profiles and Gamut Mapping</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+<h2><u>About ICC profiles and Gamut Mapping</u></h2>
+<h3>How ICC profiles support different intents</h3>
+cLUT (Color Lookup Table) based ICC profiles support multiple <span
+ style="font-weight: bold;">intents</span> by having a table for each
+intent. In a typical device cLUT profile, there are up to 6 cLUT's,
+three for input (AtoB tables, that convert from device space to PCS
+(Profile connection space)), and three for output (BtoA tables, that
+convert from PCS to device space). The tables allow the use of
+different color transforms, each transform being tailored for a
+different effect:<br>
+<br>
+AtoB0, BtoA0:&nbsp;&nbsp; Perceptual<br>
+AtoB1, BtoA1:&nbsp;&nbsp; Colorimetric<br>
+AtoB2, BtoA2:&nbsp;&nbsp; Saturation<br>
+<br>
+The colorimetric intent is meant to convey the exact device color
+behaviour, without any gamut mapping. Typically it is used to store the
+devices behaviour (characterization), and is also used where exact
+color reproduction is required, such as for proofing. The Colorimetric
+tables double up for both relative colorimetric and
+absolute colorimetric with the application of a white point restoration.<br>
+<br>
+The Perceptual and Saturation tables are meant to contain gamut mapping
+combined with the device characterization. The allowance for this in
+both the AtoB direction, as well as the BtoA direction permits a
+profile to gamut map from the device gamut to some intermediate gamut,
+and then from the intermediate gamut to the device gamut.<br>
+<br>
+[Note that Shaper/Matrix profiles are always Colorimetric intent, since
+there is only a single transformation, and it does not have the
+necessary flexibility to accommodate gamut mapping.]<br>
+<h3>ICC Version 2 behaviour<br>
+</h3>
+Apart from defining the general purpose of the different tables, the
+ICC Version 2 specification doesn't specify exactly how they are to
+achieve this, so it is up to the profile maker to make a choice in this
+regard. There is no common gamut boundary specified for the PCS, and
+such an approach limits the achievable intents in any case (see ICC
+Version 4 behaviour for an explanation why).<br>
+<br>
+What I've chosen to do with Argyll profiles, is to make all the AtoB
+tables the same as colorimetric. This means that the conversion used
+for the source profile is always colorimetric, and also means that the
+source gamut seen by the destination profile is the source colorspace
+gamut. This means that the gamut mapping is done solely in the BtoA
+tables,
+and that their task is to map the source colorspace gamut to the
+destination colorspace gamut. So to construct the perceptual and
+saturation intent mapping tables, a source profile or source gamut
+needs to be specified, so that a gamut mapping can be constructed.<br>
+<br>
+The advantages of this approach is that the behaviour is precisely
+defined, a full range of gamut mapping options is available, and
+compatibility with matrix profiles (which do not have gamut mapping
+transforms) and other foreign profiles can be assured, by simply using
+such profiles as colorimetric sources. The main disadvantage is that
+the gamut mapping will only operate exactly as intended when the
+profile is linked with the source profile it was setup for. This is
+really a fundamental limitation of the idea of having pre-computed
+gamut mapping color transforms, that the ICC profile format was
+intended to support.<br>
+<br>
+Some non-Argyll profile have gamut mapping transforms in their
+Perceptual and Saturation A2B tables, and this means that the apparent
+gamut of a source through these tables may be different to the actual
+device gamut. To accommodate using these profiles with CMM's (Color
+Management Modules) that do not permit the separate choice of intent
+tables for the source and destination profiles, Argyll will by default
+use the gamut defined by the source profile perceptual table to
+create the gamut mapping of the destination perceptual table, and the
+source saturation table to make the destination saturation table. Note
+that this can affect the exact nature of the gamut mapping, the
+distortion of the source gamut changing the apparent relationship
+between it and the destination gamut - see "ICC Version 4 behavior" for
+an illustration of the kind of changes this causes. [This default can
+be overridden though using the colprof -nP and -nS flags.]<br>
+<h3>ICC Version 4 behaviour</h3>
+(Note that Argyll does not currently support ICC V4)<br>
+<br>
+By default, ICC Version 4 profile operate exactly the same as the ICC
+V2 profile in regard to gamut mapping. A slight adjustment was made to
+the permitted tag contents, to allow things like Display profiles to
+contain the full range of AtoB and BtoA tables, so that they could also
+be gamut mapped. But an optional part of ICCV4, is to use the <span
+ style="font-weight: bold;">Profile Reference Medium Gamut</span>
+(PRMG) as an
+intermediate gamut boundary between the source colorspace, and the
+destination colorspace. If this option is used, then an additional tag
+in the ICCV4 profile indicates that this is the case. This then solves
+the problem of the gamut mapping having to know the source and
+destination gamuts to operate. Instead, the gamut mapping is split into
+two parts, the first where the source gamut to RMG is done by the AtoB
+tables, and then the RMG to destination gamut is done by the BtoA
+tables. Profiles can therefore be mix and matches, while retaining true
+gamut mapping.<br>
+<br>
+This approach has a number of drawbacks though. One is that the colors
+get gamut mapped twice. Gamut mapping is sometimes not very precise,
+and the geometry of the transforms may not cancel out, especially since
+different profile vendors may choose different algorithms in their
+gamut mapping. By "cancel out", I mean that even if you were linking
+the same source colorspace to the same destination colorspace, the
+gamut may be expanded (say) in the process of mapping to the PRMG, and
+then compressed again in mapping from the RMG to the device space, and
+these expansions and compressions may not quite match. Given that the
+PRMG is a relatively large gamut, larger than many real devices actual
+behavior, this sort of expansion and re-compression will be the normal
+thing.<br>
+<br>
+The chief drawback, is that only one (non colorimetric) intent can
+really be supported, that of saturation. <br>
+<br>
+The typically expected behaviour of perceptual intent gamut mapping, is
+to
+compress any areas of the source gamut that lie outside the destination
+gamut, but for areas that fall within the destination gamut, change
+them as little as possible, consistent with keeping smooth and
+proportional with respect to the compressed colors. This preserves the
+source "look" as much as
+possible, while ensuring that out of gamut colors are smoothly brought
+within the destination gamut.<br>
+<br>
+Typical behavior of a saturation intent, is (at least), to not only
+compress out of gamut source colors to fit within the destination, but
+to expand any source boundary that falls within the destination gamut
+outwards match the destination gamut. Some practical saturation gamut
+mappings may go further than this, and expand a little beyond the
+destination gamut to ensure fully saturated boundary colors, and also
+enhance the saturation of all colors mapped through it.<br>
+<br>
+&nbsp;By mapping the source gamut to
+the RMG in the A2B, all information about what areas of the source
+gamut are
+inside or outside of the destination gamut are lost, so the destination
+gamut mapping can not known which colors may be left unchanged, and
+which really need compressing. All it can do is map the RMG to match
+the destination gamut,
+thereby effecting a saturation style intent. <br>
+<br>
+Once again, this is a fundamental limitation of using pre-computed
+gamut mappings. The only effective way of overcoming such limitations
+is to move to a more active color management architecture, in which
+gamut mappings are computed at link time, to accommodate the actual
+source and destination gamuts.<br>
+<br>
+<br>
+<img alt="Illustration of perceptual and saturation gamut mapping."
+ src="gamutmapping1.jpg" style="width: 665px; height: 215px;"><br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/icclu.html b/doc/icclu.html
new file mode 100644
index 0000000..9a95fbf
--- /dev/null
+++ b/doc/icclu.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>icclu</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>icclib/icclu</b></h2>
+<h3>Summary</h3>
+Lookup individual color values through any ICC profile table, either
+interactively, or as a batch.<br>
+<h3>Usage summary<br>
+</h3>
+<small><span style="font-family: monospace;">icclu [-v level] [-f func]
+[-i intent] [-o order] profile</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v level
+&nbsp;&nbsp;&nbsp;&nbsp; Verbosity level 0 -
+2 (default = 1)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-f </span><i
+ style="font-family: monospace;">function</i><span
+ style="font-family: monospace;">&nbsp;&nbsp; f = forward, b =
+backwards, g =
+gamut, p = preview</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-i </span><i
+ style="font-family: monospace;">intent</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; p =
+perceptual, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s = saturation, a = absolute</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-p </span><i
+ style="font-family: monospace;">oride</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x =
+XYZ_PCS, l = Lab_PCS, y = Yxy,</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-o </span><i
+ style="font-family: monospace;">order</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n =
+normal
+(priority: lut &gt; matrix &gt; monochrome)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+r = reverse (priority: monochrome &gt; matrix &gt;
+lut)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-s</span><span
+ style="font-style: italic; font-family: monospace;"> scale</span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scale
+device range 0.0 - scale rather than 0.0 - 1.0</span></small><br>
+<br>
+The colors to be translated should be fed into standard input,<br>
+one input color per line, white space separated.<br>
+A line starting with a # will be ignored.<br>
+A line not starting with a number will terminate the program.<br>
+<h3></h3>
+<h3>Flags and Parameters</h3>
+The <b>-v</b> parameter sets the level of verbosity.
+Default is level 1, which repeats each input value, the colorspaces of
+input and output, the type of conversion algorithm used, and if the
+result was clipped. Level 2 adds prints extra information about the
+profile before doing the conversions. Level 0 turns off all verbosity,
+just outputting the results of each conversion. Use the latter to
+capture batch output ready for further processing.<br>
+<br>
+The <b>-f</b> flag selects which type of table or conversion is to be
+used.<br>
+<br>
+The <b>-i</b> flag selects the intent for a lut based profile.<br>
+<br>
+Normally the native PCS (Profile Connection Space) of a device or
+abstract profile is used, but the <b>-p</b> flag<br>
+allows this to be overridden, and XYZ, L*a*b* or Yxy space to be used.<br>
+<br>
+A profile is allowed to contain more than the minimum number of
+elements or table needed to<br>
+describe a certain transform, and may contain redundant descriptions.
+&nbsp;By default, lut based<br>
+table information will be used first if present, followed by
+matrix/shaper information, and<br>
+only using monochrome information if it is all that is present. <b>-o
+r</b> reverses this order. <br>
+<br>
+Usually device values are processed and displayed using a normalized
+value range between 0.0 and 1.0<br>
+Sometimes other systems scale them to some other range (such as 100 or
+255) due to an underlying<br>
+binary representation. The <span style="font-weight: bold;">-s</span>
+flag lets you input and display such data in its normal range. For
+instance,<br>
+if your device values have a range between 0 and 255, use <span
+ style="font-weight: bold;">-s 255.</span><br>
+<h3>Usage Details and Discussion</h3>
+Typical usage for an output profile might be:<br>
+<br>
+&nbsp;&nbsp;&nbsp; icclu -ff -ip profile.icm<br>
+<br>
+Normally the program is interactive, allowing the user to type in input
+color values, each number separated by a space, and the resulting
+output
+color being looked up and displayed after pressing return. To batch
+process
+a group of color values, prepare a text file containing each input
+value on
+a separate line, and use the input indirection facilities of your
+command
+line shell to redirect this input file into the standard input of
+icclu.
+The output can be captured to a file by redirecting standard output to
+a file. In most shells this would be done something like this:<br>
+<br>
+&nbsp;&nbsp;&nbsp; icclu -ff -ip profile.icm &lt; inputvalues.txt &gt;
+outputvalues.txt<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/illumread.html b/doc/illumread.html
new file mode 100644
index 0000000..03b5648
--- /dev/null
+++ b/doc/illumread.html
@@ -0,0 +1,319 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>illumread</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/illumread</b></h2>
+ <h3>Summary</h3>
+ Use an instrument or instruments to measure an illuminant spectrum,
+ including estimate
+ its Ultra Violet content. A combination of direct illumination
+ readings
+ and readings from a piece of paper having some FWA content are used
+ for
+ this. (If the UV content is not needed, or a suitable instrument is
+ not
+ available, then <a href="spotread.html">spotread</a> should be used
+ instead.)<br>
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">illumread [-options]
+ illuminant.sp</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; &nbsp; Verbose mode</span><span style="font-family:
+ monospace;"></span></small><small><span style="font-family:
+ monospace;"></span></small><br style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#S">-S</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; &nbsp; Plot
+ the readings in a graph window.</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c comport</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set
+ COM port, 1..4
+ (default 1)</span><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span></small><small><span style="font-family:
+ monospace;"></span></small><font size="-1"><span
+ style="font-family: monospace;"></span></font><font size="-1"><span
+ style="font-family: monospace;"><br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Disable
+ initial calibration of instrument</span></font> if possible<br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#H">-H</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Use high resolution spectrum mode (if
+ available)<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#W">-W n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+ serial port flow control: n = none, h = HW, x = Xon/Xoff</span></font><br>
+ <small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#D">-D [level]</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Print
+ debug diagnostics to stderr</span></small><br>
+ &nbsp;
+ <font size="-1"><span style="font-family: monospace;"><a
+ href="#file"><span style="font-style: italic;">illuminant.sp</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+File
+ to save measurement to<br style="font-family: monospace;">
+ </span></font><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span></small><br>
+ <h3>Usage Details and Discussion</h3>
+ <b>illumread</b> uses a suitable instrument to read an illuminant
+ spectrum, and uses an indirect method to estimate the Ultra Violet
+ content of the illuminant, so as to provide better accuracy with <a
+ href="FWA.html">FWA
+ compensation</a>. An instrument or combination of instruments
+ capable
+ of spectral measurement of both
+ emissive measurement and reflective measurement without a U.V.
+ filter
+ is required for this.<br>
+ <br>
+ <a name="v"></a>The <b>-v</b> flag causes extra information to be
+ printed out during
+ chartread operation.<br>
+ <br>
+ <a name="S"></a>The <b>-S</b> flag enables the plotting of the
+ spectral
+ reflectance/transmittance values. You must select the plot window
+ and
+ strike a key
+ in it to continue with another measurement.<br>
+ <br>
+ <a name="c"></a> The instrument is assumed to communicate through a
+ USB or serial communication port, and the initial port can be
+ selected
+ with the
+ <b>-c</b>
+ option,
+ if the instrument is not connected to the first port. If you invoke
+ <span style="font-weight: bold;">illumread</span>
+ so as to display the usage
+ information (i.e. "illumread -?" or "illumread --"), then the
+ discovered
+ USB and serial ports will be listed. On
+ UNIX/Linux, a list of all possible serial ports are shown, but not
+ all
+ of them may
+ actually be present on your system.<br>
+ <br>
+ <a name="N"></a><span style="font-weight: bold;">-N</span> Any
+ instrument that requires regular calibration will ask for
+ calibration on initial start-up. Sometimes this can be awkward if
+ the instrument is being mounted in some sort of measuring jig, or
+ annoying if several sets of readings are being taken in quick
+ succession. The -<span style="font-weight: bold;">N</span>
+ suppresses this initial calibration if a valid and not timed out
+ previous calibration is recorded in the instrument or on the host
+ computer. It is advisable to only use this option on the second and
+ subsequent measurements in a single session.<br>
+ <br>
+ <a name="H"></a> The -<span style="font-weight: bold;">H</span>
+ option
+ turns on high resolution spectral mode, if the instrument supports
+ it.
+ See <a href="instruments.html">Operation of particular instruments</a>
+ for more details.<br>
+ <br>
+ <a name="W"></a>The <b>-W</b> <span style="font-weight: bold;">n|h|x</span>
+ parameter overrides the default serial communications
+ flow control setting. The value <span style="font-weight: bold;">n</span>
+ turns all flow control off, <span style="font-weight: bold;">h</span>
+ sets hardware handshaking, and <span style="font-weight: bold;">x</span>
+ sets Xon/Xoff handshaking. This commend may be useful in workaround
+ serial communications issues with some systems and cables. <br>
+ <br>
+ <a name="D"></a>The <b>-D</b> flag causes communications
+ and other instrument diagnostics to be printed to stdout. A level
+ can
+ be set between 1 .. 9, that may give progressively more verbose
+ information, depending on the instrument. This can be useful in
+ tracking
+ down why an instrument can't connect.<br>
+ <br>
+ <a name="file"></a>The <span style="font-weight: bold; font-style:
+ italic;">illuminant.sp</span> is
+ the name of the file to save the resulting illuminant spectrum to.
+ The
+ format used is <a href="File_Formats.html#.sp">.sp</a>.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ Unlike the other measurement utilities, <span style="font-weight:
+ bold;">illumread</span> doesn't connect to the
+ instrument until it is about to make a measurement. This allows for
+ the
+ possibility of using a different instrument for each measurement.<br>
+ <br>
+ It will display a menu:<br>
+ <br>
+ Press 1 .. 6<br>
+ 1) Measure direct illuminant<br>
+ 2) Measure illuminant reflected from paper<br>
+ 3) Measure paper<br>
+ 4) Select another instrument, Currently 1 'usb:/bus4/dev2/
+ (GretagMacbeth i1 Pro)'<br>
+ 5) Compute illuminant spectrum, average result with 0 previous
+ readings
+ &amp; save it<br>
+ 6) Compute illuminant spectrum from this reading &amp; save result<br>
+ 7) Exit<br>
+ <br>
+ There are three measurements to be made, after which the illuminant
+ can
+ be computed and saved. Before each measurement, the instrument may
+ need
+ calibrating.<br>
+ <br>
+ The first measurement needs a spectral instrument capable of reading
+ in
+ an ambient or emissive mode. For instance, a Spectrolino, Eye-One
+ Pro
+ or ColorMunki would be suitable instruments.<br>
+ <br>
+ The second measurement needs a spectral instrument capable of
+ reading
+ in an projector or emissive mode. For instance, a Spectrolino,
+ Eye-One
+ Pro or ColorMunki would be suitable instruments.<br>
+ <br>
+ The third measurement needs a spectral instrument capable of reading
+ in
+ reflective mode with UV included. For instance, a Spectrolino,
+ Eye-One
+ Pro, DTP20, DTP22 or&nbsp; DTP41 would be suitable instruments, as
+ long
+ as they are not fitted with UV filters.<br>
+ <br>
+ To be able to estimate the level of Ultra Violet (UV) light in the
+ illuminant, a reasonable sized piece of white paper needs to be
+ used.
+ The paper should have some noticeable level of FWA (Fluorescent
+ Whitener Additive, or Optical Brightening Agents) in it, so that it
+ responds to UV light. A piece of cheap copier paper is ideal, since
+ cheap paper is typically whitened with large amounts of FWA. If the
+ paper is thin (less than 160 gsm) then two or three sheets should be
+ used to prevent any background showing through. [If the intention is
+ to
+ use the illuminant spectrum for proofing to a particular paper, then
+ an
+ alternative might be to use a piece of the intended paper for this
+ purpose. It's unclear which may give a better result.]<br>
+ <br>
+ The first measurement <span style="font-weight: bold;">1)</span>,
+ is
+ to use either the ambient or emissive measurement mode to measure
+ the
+ illumination directly.<br>
+ <br>
+ <div style="margin-left: 40px;">If the instrument supports an
+ ambient
+ measurement capability, then it will be used. If the insrument
+ does not
+ have an ambient mode, then an emissive measurement mode can be
+ used,
+ although typically many illuminants are too bright to directly
+ point
+ the instrument at. A work-around is to reflect the illuminant from
+ a
+ spectrally flat white surface. A good candidate for this is a
+ piece of
+ white, fine textured polystyrene foam. [The suitability of a
+ reflector
+ can be checked using <span style="font-weight: bold;">spotread -S</span>
+ to check that the reflection characteristic is close to flat.]<br>
+ <br>
+ <img style="width: 228px; height: 300px;" alt="Measuring Ambient"
+ src="illumread_1.jpg"><img style="width: 141px; height: 282px;"
+ alt="Measuring Ambient" src="illumread_2.jpg">&nbsp; <img
+ style="width: 226px; height: 282px;" alt="Measuring Ambient"
+ src="illumread_3.jpg"><br>
+ </div>
+ <br>
+ The second measurement <span style="font-weight: bold;">2)</span>,
+ is
+ to measure the illuminant after it has reflected from the paper.<br>
+ <br>
+ <div style="margin-left: 40px;">This is done by placing the paper
+ such
+ that it is uniformly illuminated with reasonable brightness, and
+ then
+ placing the instrument so that it receives the reflected light
+ from the
+ paper. This is typically achieved by placing the instrument close
+ to
+ the paper at about 45&ordm;, so that it's aperture has a clear
+ view of
+ the illuminated paper, but avoiding shadowing the region that is
+ in
+ view. <br>
+ <br>
+ <img style="width: 219px; height: 261px;" alt="Measuring via
+ Paper" src="illumread_5.jpg"><img style="width: 252px; height:
+ 259px;" alt="Measuring via Paper" src="illumread_4.jpg"><br>
+ </div>
+ <br>
+ The third measurement <span style="font-weight: bold;">3)</span>,
+ is
+ to measure the paper directly using the instrument reflective mode
+ measurement.<br>
+ <div style="margin-left: 40px;"><img style="width: 186px; height:
+ 162px;" alt="Measuring Paper" src="illumread_6.jpg"><br>
+ </div>
+ If a different instrument is needed, use <span style="font-weight:
+ bold;">4)</span> to select from the available
+ instruments attached to your computer.<br>
+ <br>
+ Once these three measurements have been made, then the illuminant
+ readings spectrum
+ can be computed and save using <span style="font-weight: bold;">6)</span>,
+ or a series of readings can be made with each reading being averages
+ with the previous readings before saving it by using <span
+ style="font-weight: bold;">5)</span>. Note that the averaged
+ readings
+ will be weighted by their absolute intensities, and that while the
+ direct and indirect illumination needs measuring for each reading,
+ the
+ same paper measurement can be used each time.<br>
+ <br>
+ If plotting is enabled, a plot of the
+ measured (black) and with estimated UV (red) is plotted. This is
+ followed by a plot showing measured paper reflectance (black) and
+ the
+ FWA calculated paper reflectance (red).<br>
+ <br>
+ <br>
+ Illumread can then be terminated using <span style="font-weight:
+ bold;">7)</span>.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/illumread_1.jpg b/doc/illumread_1.jpg
new file mode 100644
index 0000000..97b5382
--- /dev/null
+++ b/doc/illumread_1.jpg
Binary files differ
diff --git a/doc/illumread_2.jpg b/doc/illumread_2.jpg
new file mode 100644
index 0000000..6fef757
--- /dev/null
+++ b/doc/illumread_2.jpg
Binary files differ
diff --git a/doc/illumread_3.jpg b/doc/illumread_3.jpg
new file mode 100644
index 0000000..fcab321
--- /dev/null
+++ b/doc/illumread_3.jpg
Binary files differ
diff --git a/doc/illumread_4.jpg b/doc/illumread_4.jpg
new file mode 100644
index 0000000..6c955c0
--- /dev/null
+++ b/doc/illumread_4.jpg
Binary files differ
diff --git a/doc/illumread_5.jpg b/doc/illumread_5.jpg
new file mode 100644
index 0000000..5462e8f
--- /dev/null
+++ b/doc/illumread_5.jpg
Binary files differ
diff --git a/doc/illumread_6.jpg b/doc/illumread_6.jpg
new file mode 100644
index 0000000..a91a63e
--- /dev/null
+++ b/doc/illumread_6.jpg
Binary files differ
diff --git a/doc/instruments.html b/doc/instruments.html
new file mode 100644
index 0000000..896c0e5
--- /dev/null
+++ b/doc/instruments.html
@@ -0,0 +1,2214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Operation of particular instruments</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ </head>
+ <body>
+ <h2><u>Operation of particular instruments</u></h2>
+ <span style="font-weight: bold;">Please note that instruments are
+ being driven by ArgyllCMS drivers, and that any problems or
+ queries regarding instrument<br>
+ operation </span><span style="font-weight: bold;">should be
+ directed to the Argyll's author(s) or the Argyll mailing list, and
+ not to any</span> <span style="font-weight: bold;">other party.</span><span
+ style="font-weight: bold;"></span><br>
+ <br>
+ The following instruments are directly supported:<br>
+ (Please <span style="font-weight: bold;">note</span> the <a
+ href="Installing.html">installation instructions</a> for each
+ platform - they contain important information for getting your
+ instruments working.)<br>
+ <br>
+ X-Rite:<br>
+ &nbsp;&nbsp;&nbsp; <a href="#DTP20">DTP20 "Pulse"</a>&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - "swipe" type reflective spectrometer, that can be used untethered.<br>
+ &nbsp;&nbsp;&nbsp; <a href="#DTP22">DTP22 Digital Swatchbook</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - spot type reflective spectrometer.<br>
+ &nbsp;&nbsp;&nbsp; <a href="#DTP41">DTP41</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - spot and strip reading reflective spectrometer.<br>
+ &nbsp;&nbsp;&nbsp; <a href="#DTP41">DTP41T</a> &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - spot and strip reading reflective/transmissive spectrometer.<br>
+ &nbsp;&nbsp;&nbsp; <a href="#dtp51">DTP51</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - strip reading reflective colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="#DTP92">DTP92</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - CRT display colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="#DTP94">DTP94</a> <font size="-1">"Optix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ XR"</font> or "Optix XR2" or "Optix Pro"- display colorimeter.<br>
+ <a href="#ColorMunki"><span style="text-decoration: underline;"></span></a>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <a href="#ColorMunki"><span style="text-decoration: underline;">ColorMunki</span></a>
+ Design or Photo&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - spot and "swipe"
+ reflective/emissive spectrometer (UV cut only).<br>
+ &nbsp;&nbsp;&nbsp; <a href="#i1d"><span style="text-decoration:
+ underline;">ColorMunki</span></a> Create or Smile&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display
+ colorimeter. (Similar to an Eye-One Display 2)<br>
+ &nbsp;&nbsp;&nbsp; <a href="#Huey">Lenovo W</a> &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - built in laptop
+ Huey display colorimeter.<br>
+ &nbsp;&nbsp;&nbsp; <a href="#i1d3">Eye-One Display 3</a> &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; - i1 DisplayPro and ColorMunki Display<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ The OEM
+ i1Display Pro and<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ NEC SpectraSensor Pro are also reported to work.]<br>
+ &nbsp; &nbsp; <a href="instruments.html#i1p2">Eye-One Pro2</a>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; - spot and
+ "swipe" reflective/emissive spectrometer.<br>
+ <br>
+ Gretag-Macbeth (now X-Rite):<br>
+ &nbsp; &nbsp; <a href="#sl">Spectrolino</a> &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - spot reflective/emissive
+ spectrometer<br>
+ &nbsp; &nbsp; <a href="#ss">SpectroScan</a> &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; - spot reflective/emissive, XY table
+ reflective spectrometer&nbsp; <br>
+ &nbsp; &nbsp; <a href="#ss">SpectroScanT</a> &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; - spot reflective/emissive/transmissive, XY
+ table reflective spectrometer<br>
+ &nbsp; &nbsp; <a href="#i1p">Eye-One Pro</a> "EFI ES-1000" &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; - spot and "swipe" reflective/emissive
+ spectrometer<br>
+ &nbsp; &nbsp; <a href="instruments.html#i1m">Eye-One Monitor</a>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; - spot and "swipe" emissive spectrometer<br>
+ &nbsp;&nbsp;&nbsp; <a href="#i1d">Eye-One Display 1 or 2&nbsp; or
+ LT</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display
+ colorimeter<br>
+ &nbsp;&nbsp;&nbsp; <a href="instruments.html#i1d">HP DreamColor or
+ APS</a>&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter. (Treated as a Eye-One Display 2)<br>
+ &nbsp;&nbsp;&nbsp; <a href="#i1d">CalMAN X2</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter. (Treated as a Eye-One Display 2)<br>
+ &nbsp;&nbsp;&nbsp; <a href="#Huey">Huey</a> &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter<br>
+ <br>
+ Sequel imaging (Now X-Rite):<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="#mox">MonacoOPTIX</a> &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter (Treated
+ as an Eye-One Display 1)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [The Sequel Chroma 4 may also work.]<br>
+ <br>
+ Lacie Blue
+ Eye:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - see <a href="#i1d">Eye-One Display</a><br>
+ <br>
+ DataColor ColorVision:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="#spyd2">Spyder 2</a> &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter (Note
+ that the user must <a href="oeminst.html">supply</a> firmware)<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [The Spyder 1 also seems to work.]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="#spyd3">Spyder 3</a> &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter.<br>
+ &nbsp;&nbsp;&nbsp;&nbsp; <a href="#spyd4">Spyder 4</a> &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - display colorimeter (Note
+ that the user must <a href="oeminst.html">supply</a> calibration
+ data)<br>
+ <br>
+ Other:<br>
+ &nbsp;&nbsp;&nbsp; <span class="titre"><a href="#HCFR">Colorim&egrave;tre
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HCFR</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter<br>
+ </span>&nbsp;&nbsp;&nbsp;
+ ColorHug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+ - display colorimeter. Experimental only, does not work on all
+ platforms.<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+ Set environmental variable ENABLE_COLORHUG=true to test it.<span
+ class="titre"><br>
+ </span><br>
+ Other instruments can be supported indirectly, since patch result
+ files created by other packages can be imported into Argyll.<br>
+ <span class="titre"><br>
+ General information about:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <a href="#strip">Strip reading instruments</a><br>
+ </span>&nbsp;&nbsp;&nbsp; <a href="#xy">X-Y Table instruments</a><br>
+ &nbsp;&nbsp;&nbsp; <a href="#spot">Spot reading instruments</a><br>
+ <span style="font-weight: bold;"></span><br>
+ <br>
+ There is a <a href="ccmxs.html">list of contributed</a> <span
+ style="font-weight: bold;">ccmx</span> (Colorimeter Correction
+ Matrix) files.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h3><a name="strip"></a>Strip reading instruments</h3>
+ When used with a <span style="font-weight: bold;">DT20</span>, <span
+ style="font-weight: bold;">DTP41</span>, <span
+ style="font-weight: bold;">DTP51</span>, <span
+ style="font-weight: bold;">Eye-One Pro<span style="font-weight:
+ bold;"> </span></span>or <span style="font-weight: bold;">ColorMunki</span>
+ strip reading instrument, chartread will first establish
+ communications with the instrument, and then set it up ready to read
+ the strips. The strips are labeled A to ZZ, and for each strip it
+ will prompt:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; About to read strip XX&nbsp; :<br>
+ <br>
+ where XX is the strip label, and this is followed by the available
+ options to navigate, read the strip, or finish. Note that the normal
+ (forward) direction of strip reading is one that starts at the strip
+ label.<br>
+ <br>
+ For the <span style="font-weight: bold;">DTP51</span> you should
+ feed the strip into the instrument, and the microswitch will trigger
+ the read.<br>
+ <br>
+ For the <span style="font-weight: bold;">DTP41</span> you should
+ line the appropriate strip up in the machine, and press its button.<br>
+ <br>
+ For the <span style="font-weight: bold;">Eye-One Pro</span> you
+ should set the guide to the appropriate strip, place the instrument
+ <span style="text-decoration: underline;">ahead</span> of the first
+ patch on blank paper, and then press and hold the instruments
+ button. When you hear a beep from the computer, you can then move
+ the instrument steadily over the patches, releasing the button after
+ the instrument is past the last patch. Moving the instrument too
+ fast or changing speeds may cause a mis-read, or a scan with few
+ samples read per patch.<br>
+ <br>
+ For the <span style="font-weight: bold;">ColorMunki</span> with the
+ default chart, the patches are the same width as the silver portion
+ of body (white version), or the textured portion of the body (black
+ version). Place aperture of the the instrument (located at its
+ center) in the white space ahead of the first patch, and then press
+ and hold the instruments button. When you hear a beep from the
+ computer, you can then move the instrument steadily over the
+ patches, releasing the button after the instrument is past the last
+ patch. Moving the instrument too fast or changing speeds may cause a
+ mis-read, or a scan with few samples read per patch. For the <span
+ style="font-weight: bold;">high density</span> ColorMunki chart (<a
+ href="printtarg.html#h">printtarg -h</a>), the patches are
+ arranged so that three rows are exactly the width of the&nbsp; body
+ of the instrument. If you are careful you can use this to guide the
+ center of the instrument over each row, or you may prefer to use
+ something like a plastic ruler to help guide the instrument.<br>
+ <br>
+ Using the <span style="font-weight: bold;">DTP20</span> or the <span
+ style="font-weight: bold;">Eye-One Pro</span> or <span
+ style="font-weight: bold;">ColorMunki</span> with a randomized
+ chart layout, the strip may be scanned from either direction. If a
+ randomized chart layout has not been used for the <span
+ style="font-weight: bold;">Eye-One Pro</span> or <span
+ style="font-weight: bold;">ColorMunki</span>, then the chart
+ should only be read in the one direction (use <a
+ href="chartread.html#B">chartread -B</a>).<br>
+ <br>
+ Note that you may have to check that system alert sounds are enabled
+ and at a suitable volume to in order to hear the beep prompt. For
+ the Eye-One Pro and ColorMunki, a second beep will sound after a
+ successfully read strip, or a double beep will sound,&nbsp;
+ indicating a failure or warning that needs attention. See also the
+ note on Linux in <a href="Installing_Linux.html">installation</a>.<br>
+ <br>
+ If the strip is read successfully there will be a single "success"
+ beep, and the line will be followed with:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Ready to read strip&nbsp; XX&nbsp; : <br>
+ &nbsp;&nbsp;&nbsp; Strip read OK<br>
+ <br>
+ If there is an error of some sort there will be a double "fail"
+ beep, and a message will be issued, and you will be asked whether to
+ abort the chart reading, or retry the<br>
+ failed strip:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Ready to read strip XX&nbsp; : <br>
+ &nbsp;&nbsp;&nbsp; Strip read failed due to misread (Not enough
+ patches)<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Hit Esc to give up, any other key to retry:<br>
+ <br>
+ If you are unable to successfully read a strip after several
+ retries, you can skip that strip using the <span
+ style="font-weight: bold;">'n'</span> key, and save<br>
+ the chart readings without that strip.<br>
+ <br>
+ If the strip is read successfully, but the patches values don't seem
+ to be what is expected, you will get a double "fail" beep&nbsp; and
+ the following type of warning:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Ready to read strip&nbsp; XX&nbsp; :<br>
+ &nbsp;&nbsp;&nbsp; (Warning) Seem to have read strip&nbsp; YY&nbsp;
+ rather than&nbsp; XX !<br>
+ &nbsp;&nbsp;&nbsp; Hit Return to use it anyway, any other key to
+ retry, Esc, ^C or Q to give up:<br>
+ <br>
+ This could be because you have accidentally read the wrong strip (a
+ common mistake), or it could be that the device response is so
+ different from what is expected that warning is erroneous, or you
+ may get a lot of these sorts of warnings if you are accidentally
+ reading the wrong chart. You may also get this sort of warning if
+ you are not using bi-direction reading (chartread -B), and read the
+ strip from the wrong end.<br>
+ If you are absolutely sure you lined up the correct strip, then hit
+ return, otherwise line the appropriate strip up again, and hit some
+ other key (ie. space).<br>
+ Erroneous warnings are less likely if a previous profile for a
+ device was given to <span style="font-weight: bold;">targen</span>
+ to set more accurate expectations.<br>
+ <br>
+ You may also see the following type of warning:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Ready to read strip&nbsp; XX&nbsp; :<br>
+ &nbsp;&nbsp;&nbsp; (Warning) Patch error YY.YYY (&gt;35 not good,
+ &gt;95 bad)<br>
+ &nbsp;&nbsp; There is at least one patch with an very unexpected
+ response!<br>
+ &nbsp;&nbsp;&nbsp; Hit Return to use it anyway, any other key to
+ retry, Esc, ^C or Q to give up:<br>
+ <br>
+ Similar to the previous warning, this indicates that while the right
+ strip appears to have been read, one of the patch readings is quite
+ different to what is expected. This may indicate an error of some
+ sort (ie. damaged test chart, or bad instrument positioning), or may
+ be erroneous if the actual device response is quite different to the
+ expectation. Erroneous warnings are less likely if a previous
+ profile for a device was given to <span style="font-weight: bold;">targen</span>
+ to set more accurate expectations.<br>
+ <br>
+ You can also navigate the next strip to be read using the <span
+ style="font-weight: bold;">'f'</span> key to move forward and the
+ <span style="font-weight: bold;">'b'</span> keys<span
+ style="font-weight: bold;"></span><span style="font-weight: bold;"></span>
+ to move backwards. The prompt will indicate whether this strip has
+ already been read or not, or whether all strips have been read. You
+ can also use <span style="font-weight: bold;">'n'</span> to move
+ forward to the next unread strip. After each successful reading it
+ will move forward to the next unread strip. When you are finished,
+ use the <span style="font-weight: bold;">'d'</span> to indicate
+ that you are done. You can choose to finish before all the strips
+ are read, and the patches that have been read will be saved to the
+ .ti3 file. This is useful if you are unable to read a particular
+ strip successfully, or if you are unable to finish the chart in one
+ session, and you can later <span style="text-decoration:
+ underline;">resume</span> reading the chart by using the <span
+ style="font-weight: bold;">chartread -r</span> flag. [You could
+ resume reading the chart patch by patch using the <span
+ style="font-weight: bold;">chartread -r -p</span> if you are
+ unable to read a strip successfully.]<br>
+ <br>
+ When reading in patch by patch mode, there are a few additional
+ navigation options, such as <span style="font-weight: bold;"><span
+ style="font-weight: bold;">F</span></span> to move forward 10
+ patches, <span style="font-weight: bold;">B</span> to move
+ backwards 10 patches, and <span style="font-weight: bold;">g</span>
+ to go to a specific patch.<br>
+ <br>
+ You can abort the whole process at any time by hitting Escape, and
+ the readings will not be saved.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h3><a name="xy"></a>X-Y Table instruments</h3>
+ When you are using an XY table type instrument, such as a Gretag <span
+ style="font-weight: bold;">SpectroScan</span>, &nbsp;chartread
+ will first establish communications with the instrument, and then
+ set it up ready to read the chart. You will be prompted for each
+ sheet with a message such as:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Please make sure that the white reference is in
+ slot 1, then<br>
+ &nbsp;&nbsp;&nbsp; place sheet 1 of 4 on table, then<br>
+ &nbsp;&nbsp;&nbsp; hit return to continue, Esc to give up<br>
+ <br>
+ After hitting return you will be prompted to line up three squares
+ on the sheet, one at a time:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Using the XY table controls, locate patch A1 with
+ the sight,<br>
+ &nbsp;&nbsp;&nbsp; then hit return to continue, Esc to give up<br>
+ <br>
+ On completing this, the instrument will commence reading each sheet.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;">
+ <h3><a name="spot"></a>Spot reading instruments</h3>
+ When used with a <span style="font-weight: bold;">DT22</span> or <span
+ style="font-weight: bold;">SpectroLino</span> or use the patch by
+ patch reading mode (<span style="font-weight: bold;">chartread -p</span>)
+ with the <span style="font-weight: bold;"></span> <span
+ style="font-weight: bold;">Eye-One Pro<span style="font-weight:
+ bold;"> </span></span>or <span style="font-weight: bold;">ColorMunki</span>
+ instrument, or use the external values mode (<span
+ style="font-weight: bold;">chartread -x</span>), chartread will
+ first establish communications with the instrument, and then set it
+ up ready to read the patches. The patches are typically labeled by
+ column A to ZZ, and row 1-999. Each patch will prompt:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Ready to read patch 'XX'&nbsp; :<br>
+ <br>
+ where XX is the patch label, and this is followed by the available
+ options to navigate, read the strip, or finish.<br>
+ <br>
+ Place the instrument on the indicated patch, and trigger a reading
+ using one of the available methods (typically using the instrument
+ switch of pressing a key).<br>
+ <br>
+ There should be an audible prompt on a successful or failed reading.
+ <br>
+ <br>
+ Note that you may have to check that system alert sounds are enabled
+ and at a suitable volume to in order to hear the beep prompt. For
+ the Eye-One Pro and ColorMunki, a second beep will sound after a
+ successfully read strip, or a double beep will sound,&nbsp;
+ indicating a failure or warning that needs attention. See also the
+ note on Linux in <a href="Installing_Linux.html">installation</a>.<br>
+ <br>
+ If the patch is read successfully, the line will be completed with:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Ready to read patch&nbsp; XX&nbsp; :<br>
+ &nbsp;&nbsp;&nbsp; Patch read OK<br>
+ <br>
+ If there is an error of some sort, a message will be issued, and you
+ will be asked whether to abort the chart reading, or retry the<br>
+ failed patch:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Ready to read patch XX&nbsp; : read_strip
+ returned 'Strip misread' (Bad reading)<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; Strip read failed due to misread<br>
+ &nbsp;&nbsp;&nbsp; Hit Esc to give up, any other key to retry:<br>
+ <br>
+ You can navigate the next patch to be read using the <span
+ style="font-weight: bold;">'f'</span> key to move forward and the
+ <span style="font-weight: bold;">'b'</span> keys<span
+ style="font-weight: bold;"></span><span style="font-weight: bold;"></span>
+ to move backwards, while <span style="font-weight: bold;">'F'</span>
+ and <span style="font-weight: bold;">'B'</span> will move forward
+ and backwards by 10 patches. The prompt will indicate whether this
+ patch has already been read or not, or whether all patches have been
+ read. You can also use <span style="font-weight: bold;">'n'</span>
+ to move forward to the next unread patch. When you are finished, use
+ the <span style="font-weight: bold;">'d'</span> to indicate that
+ you are done. You can choose to finish before all the patches are
+ read, and they will be saved to the .ti3 file. This is useful if you
+ are unable to finish the chart in one session, and you can later <span
+ style="text-decoration: underline;">resume</span> reading the
+ chart by using the <span style="font-weight: bold;">chartread -r</span>
+ flag.<br>
+ <br>
+ You can abort the whole process at any time by hitting Escape, and
+ the readings will not be saved.<br>
+ <br>
+ <span style="font-weight: bold;"></span>
+ <hr style="width: 100%; height: 2px;">
+ <h3><a name="displaytype"></a>Display Type<br>
+ </h3>
+ Many of the colorimeters have a <span style="font-weight: bold;">display
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type</span> selection parameter. Depending on the instrument, this
+ may combine two related functions: 1) Changing the measurement mode
+ to suite either refresh-type, or non-refresh displays, and 2)
+ Changing the calibration to suite a particular displays spectral
+ characteristics.<br>
+ <br>
+ A refresh type display uses a technology that presents different
+ portions of the image at different times, doing so at a high enough
+ rate that this is normally imperceptible. This time varying
+ characteristic can interfere with measuring a display color unless
+ the instrument makes allowances for it, typically by making its
+ measurement period a multiple of the display refresh period. Display
+ types that <span style="font-weight: bold;">refresh</span> are CRT
+ (Cathode Ray Tube), Single chip DLP (Digital Light Processing) and
+ Plasma displays. An example of a <span style="font-weight: bold;">non-refresh</span>
+ display technology is LCD (Liquid Crystal Display), although is a
+ few cases the back-light illumination may have a low enough
+ frequency flicker to benefit from the refresh mode.<br>
+ <br>
+ Instruments in which the display type selection only changes the
+ measurement mode (i.e. i1d3), will typically have some other
+ independent option to set the calibration type. Simpler instruments
+ combine the measurement mode with a calibration selections,
+ typically refresh+CRT and non-refresh+LCD. Some instruments are a
+ hybrid of both (Spyder4), where the display type can select between
+ generic refresh/non-refresh that can then use a .CCSS to set the
+ calibration type, or a combined selection of non-refresh and a
+ particular display type.<br>
+ <br>
+ See <a
+ href="http://en.wikipedia.org/wiki/Comparison_of_display_technology">Comparison_of_display_technology</a>
+ for some background on different display technologies.<br>
+ <br>
+ <hr size="2" width="100%"><br>
+ <h3><a name="refreshmeasurement"></a>Refresh Rate Measurement</h3>
+ <p>Most of the colorimeters that have a refresh display type
+ selection, also have an ability to measure the refresh rate of a
+ display. Some of the spectrometers also have a display refresh
+ rate measurement capability when in an emissive measurement mode,
+ even though they don't use this to support a refresh display mode.
+ You can do a display refresh rate measurement in <a
+ href="spotread.html">spotread</a> using the <b>'F' </b>key.
+ The particular instruments have a range of accuracy when making
+ this measurement. A rough guide is as follows:<br>
+ <br>
+ </p>
+ <table border="1" cellpadding="2" cellspacing="2" height="230"
+ width="372">
+ <tbody>
+ <tr>
+ <td valign="top"><b>Instrument</b></td>
+ <td valign="top"><b>Typical error in Hz.</b></td>
+ </tr>
+ <tr>
+ <td valign="top">DTP92<br>
+ </td>
+ <td valign="top">0.1<br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">i1 Display 2<br>
+ </td>
+ <td valign="top">0.5<br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">Spyder 2<br>
+ </td>
+ <td valign="top">0.7<br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">Spyder 3<br>
+ </td>
+ <td valign="top">3<br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">Spyder 4<br>
+ </td>
+ <td valign="top">3<br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">i1 Display Pro<br>
+ </td>
+ <td valign="top">0.05<br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">i1 Pro Spectro.<br>
+ </td>
+ <td valign="top">0.05<br>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">ColorMunki Spectro.<br>
+ </td>
+ <td valign="top">0.05<br>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p><br>
+ </p>
+ <hr style="width: 100%; height: 8px;"><br>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;"><a name="ColorMunki"></a><span
+ style="font-weight: bold;">ColorMunki </span>Design or Photo <span
+ style="font-weight: bold;">reflective/emissive spectrometer</span><br>
+ <br>
+ <img style="width: 272px; height: 243px;" alt="" title="ColorMunki
+ (White)" src="ColorMunki.jpg">&nbsp;&nbsp; <br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">ColorMunki</span> <span
+ style="font-weight: bold;">Design or Photo </span>from <a
+ href="http://www.xrite.com/">X-Rite</a>&nbsp; is currently
+ available in two different packages from the manufacturer. These
+ packages differ in what features the manufacturers software
+ provides, as well as cosmetic differences between the instrument
+ (white and black). This comparison <a
+ href="http://www.colormunki.com/product/show?page=2">chart</a>
+ illustrates the differences. Used with Argyll, there are no
+ differences in operation of a ColorMunki instrument, irrespective of
+ which package it came with. The ColorMunki Design has the lowest
+ RRP, but the Photo package may be cheaper with discounting .<br>
+ <br>
+ <span style="font-weight: bold;">Limitations &amp; Features:</span><br>
+ <br>
+ Unlike the Eye-One Pro, the ColorMunki is only available in a U.V.
+ Cut (ie. "Ultra Violet filtered") model. This means that it is not
+ suitable for use with the&nbsp; Fluorescent Whitener Additive
+ Compensation option in Argyll (see <a href="FWA.html">here</a> for
+ a discussion about what FWA compensation is).<br>
+ <br>
+ Like the Eye-One Pro, this instrument does support the <a
+ href="spotread.html#H">high resolution</a> spectral mode.<br>
+ <br>
+ <span style="font-weight: bold;">OS X and X-Rite drivers</span><br>
+ <br>
+ Please note the installation <a
+ href="Installing_OSX.html#ColorMunki">instructions</a>.<br>
+ <br>
+ <span style="font-weight: bold;">Tips &amp; Tricks:<br>
+ <br>
+ </span>In handling the instrument when about to make a reading, be
+ very careful not to accidentally press the switch - it is large and
+ easily pressed by accident. A guide of some sort (ie. a plastic
+ ruler) can help a lot in&nbsp; keeping the instrument over a line
+ of&nbsp; patches. <br>
+ <br>
+ <span style="font-weight: bold;">Patch recognition:</span><br>
+ <br>
+ For the best chances of good patch recognition, the instrument
+ should be drawn smoothly and not too rapidly over the strip. (This
+ can be a little tricky due to the two small rubber feet on the
+ bottom of the device that aid its spot reading guide.) If there is a
+ misread, try slowing down slightly. Generally a higher quality set
+ of readings will result if slower scans are used, since there will
+ then be more samples averaged for each patch. <br>
+ <br>
+ In <a href="chartread.html">chartread</a>, the -<span
+ style="font-weight: bold;">T ratio</span> argument modifies the
+ patch consistency tolerance threshold for the ColorMunki. In
+ recognizing patches in a strip, the instrument takes multiple
+ readings as the strip is read, and then divide the readings up into
+ each patch. It then check the consistency of the multiple readings
+ corresponding to each patch, and reject the measurement if they are
+ too inconsistent. For some media (ie. a coarser screens, fabric
+ etc.) the default tolerance may be unreasonably tight, so the <span
+ style="font-weight: bold;">-T ratio</span> argument can be used to
+ modify this criteria. To loosen the tolerance, use a number greater
+ than 1.0 (ie. 1.5, 2.0). <br>
+ <br>
+ Note that <a href="printtarg.html">printtarg</a> provides the <a
+ href="printtarg.html#h">-h</a> option that allows the choice of
+ two different patch row widths with ColorMunki test charts. [Some
+ people have successfully used the i1Pro patch layout with the
+ ColorMunki, by making a guide to keep it over the much narrower
+ patchs.]<br>
+ <br>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><span
+ style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
+ <hr style="width: 100%; height: 2px;"><span style="font-weight:
+ bold;"><br>
+ <a name="DTP20"></a></span><span style="font-weight: bold;">DTP20
+ "Pulse" reflective spectrometer<br>
+ <br>
+ </span><span style="font-weight: bold;"><img title="DTP20" alt=""
+ src="DTP20.jpg" style="width: 304px; height: 210px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">DTP20</span> from <a
+ href="http://www.xrite.com/">X-Rite</a> was discontinued during
+ 2007, but may still be available from old stock or second hand. <br>
+ <br>
+ <span style="font-weight: bold;">Special features:</span><br>
+ <br>
+ The <span style="font-weight: bold;">DTP20</span> has a couple of
+ unique features that Argyll can take advantage of. One is that it
+ can operate un-tethered (off line). A whole chart can be read
+ un-tethered by first clearing any previous readings in the
+ instrument, then reading the chart TID strip, before reading all the
+ other strips. The instrument can then be connected up to <span
+ style="font-weight: bold;">chartread</span>, which will recognize
+ the chart, and download all the measurements.<br>
+ If there is no chart in the instrument when chartread connects to
+ it, then it will use the strip by strip tethered mode, just like the
+ other strip instruments. If the right number of spot readings are
+ present in the instrument, these will be used by <span
+ style="font-weight: bold;">chartread</span> too.<br>
+ <br>
+ Un-tethered spot measurements can also be read in using&nbsp; <span
+ style="font-weight: bold;">spotread</span>, which will notice the
+ stored readings, and offer to print them out, or they can be
+ ignored, and tethered readings taken. This will clear any saved spot
+ readings.<br>
+ <br>
+ <span style="font-weight: bold;">Note</span> that tethered (on-line)
+ strip reading will only work if the firmware in the device is
+ version 1.03 or greater. You can check the firmware version by
+ running with the verbose option: <span style="font-weight: bold;">-v<br>
+ <br>
+ Chart printing:<br>
+ <span style="font-weight: bold;"><br>
+ </span></span>Because the DTP20 measures exact distances using the
+ markings on its ruler, it's critical that the chart be printed out
+ exactly the right size. If the chart gets re-sized at all in the
+ process of printing it, the DTP20 is likely to fail in reading it.
+ If you have a problem with this, you might want to increase the page
+ margins using the <span style="font-weight: bold;">printtarg -m</span>
+ parameter, or find a printing path that preserves the test chart
+ size correctly.<br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><span
+ style="font-weight: bold;">Operation:<br>
+ <br>
+ </span>When reading in tethered (on-line) mode, that the instrument
+ takes <span style="font-weight: bold;">several seconds</span> to
+ download the measurements after each strip, and that the indicator
+ will be in "rainbow" mode while this occurs. <span
+ style="text-decoration: underline;">Wait</span> until the
+ indicator turns solid green again before starting to measure the
+ next strip.<br>
+ <br>
+ To <span style="font-weight: bold;">reset</span> the instrument and
+ clear any stored readings: press the button three times in quick
+ succession. The indicator will turn solid blue. Then hold the button
+ down until the instrument beeps and the indicator goes out. Release
+ the button and the indicator should flash then return to solid green
+ (ready).<br>
+ <br>
+ To <span style="font-weight: bold;">calibrate</span> the
+ instrument, place it on its calibration tile, then press the button
+ three times in quick succession.The indicator will turn solid blue.
+ Click the button another three times in quick succession, and the
+ indicator should turn yellow. Then hold the button down until the
+ instrument beeps and the indicator goes out. Release the button and
+ the instrument should flash and then turn solid green.<br>
+ <br>
+ If the chart is particularly <span style="font-weight: bold;">small</span>,
+ the patches may end up printed very close to the edge of the chart,
+ and therefore it may be difficult to confine your scan to the chart,
+ and passing<br>
+ the instrument over the edge of the chart may prevent it reading
+ successfully. One way of working around this is to place the chart
+ on a larger piece of paper of the same type.<br>
+ <br>
+ The <span style="font-weight: bold;">speed</span> of scan can be
+ quite critical with this instrument. In particular, it doesn't work
+ very well if the scan is too <span style="font-weight: bold;">slow</span>.
+ You don't want to go too fast either, as this reduces the number of
+ samples per patch.<br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><span
+ style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
+ <hr style="width: 100%; height: 2px;"><span style="font-weight:
+ bold;"><br>
+ <a name="DTP22"></a></span><span style="font-weight: bold;">DTP22
+ Digital Swatchbook reflective spectrometer</span><br>
+ <span style="font-weight: bold;"><br>
+ <img alt="" src="DTP22.jpg" style="width: 222px; height: 193px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">DTP22</span> from <a
+ href="http://www.xrite.com/">X-Rite</a> is a discontinued
+ instrument.&nbsp; It may still be available second hand. It is
+ capable of reading colored patches one at a time.<br>
+ <br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
+ <hr style="width: 100%; height: 2px;"><span style="font-weight:
+ bold;"><br>
+ <a name="DTP41"></a>DTP41 reflective, DTP41T
+ reflective/transmissive spectrometers<br>
+ <br>
+ <img alt="" src="DTP41.jpg" style="width: 263px; height: 298px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">DTP41</span> and <span
+ style="font-weight: bold;">DTP41T</span> from <a
+ href="http://www.xrite.com/">X-Rite</a> is a discontinued
+ instrument.&nbsp; It may still be available second hand. <br>
+ <br>
+ The series II instruments (<span style="font-weight: bold;">DTP41B</span>
+ and <span style="font-weight: bold;">DTP41TB</span>) offer both
+ serial and USB connection. Note that currently only serial operation
+ using Argyll is possible with these instruments.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <a name="dtp51"></a><span style="font-weight: bold;">DTP51
+ reflective colorimeter<br>
+ <br>
+ <img alt="" src="DTP51.jpg" style="width: 263px; height: 223px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">DTP51</span> from <a
+ href="http://www.xrite.com/">X-Rite</a> is a discontinued
+ instrument.&nbsp; It may still be available second hand. <br>
+ <br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"><br>
+ </span></span>The DTP51's switch is triggered by inserting a strip
+ into the slot.<br>
+ <br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
+ <hr style="width: 100%; height: 2px;"><span style="font-weight:
+ bold;"><br>
+ <a name="DTP92"></a>DTP92 CRT display colorimeter<br>
+ <br>
+ <img alt="" src="DTP92.jpg" style="width: 223px; height: 180px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">DTP92</span><span
+ style="font-weight: bold;"></span> from <a
+ href="http://www.xrite.com/">X-Rite</a> is a discontinued
+ instrument.&nbsp; It may still be available second hand. It will
+ only read CRT technology displays.<br>
+ <br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">c</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRT display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Cathode Ray
+ Tube display, that is of the Refresh type [Default, CB2].<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="DTP94"></a>DTP94, </span><font
+ size="-1">"Optix XR"</font> or "Optix XR2" or "Optix Pro" <span
+ style="font-weight: bold;">display colorimetrers</span><br>
+ <span style="font-weight: bold;"><br>
+ <img title="DTP94" alt="" src="DTP94.jpg" style="width: 138px;
+ height: 171px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; <img alt="" title="Optix XR/Pro" src="moxxr.jpg"
+ style="width: 155px; height: 190px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">DTP94 </span>from <a
+ href="http://www.xrite.com/">X-Rite</a> is a discontinued
+ instrument, although it is still being supplied to OEMs.&nbsp; It
+ may still be available as old stock, or second hand. It was sold as
+ an instrument without software as the DTP94, and packaged with
+ software from the manufacturer as the "Optix XR" range.<br>
+ <br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">l</span>&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LCD display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Liquid
+ Crystal Display, that is of the Non-Refresh type [default, CB1].<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">c</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRT display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Cathode Ray
+ Tube display, that is of the Refresh type [CB2].<br>
+ &nbsp;&nbsp;&nbsp; <b>g</b>&nbsp;&nbsp;&nbsp;
+ Generic&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Generic
+ display [CB3]<br>
+ &nbsp;&nbsp; <br>
+ <br>
+ <span style="font-weight: bold;"></span>
+ <hr style="width: 100%; height: 2px;"><span style="font-weight:
+ bold;"><br>
+ <a name="sl"></a>Spectrolino reflective/emissive spectrometer<br>
+ <br>
+ <img alt="" src="sl.jpg" style="width: 239px; height: 200px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">Spectrolino </span>from
+Gretag
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MacBeth (Now X-Rite) is a discontinued instrument. It is often
+ available second hand. If buying it second hand, make sure it comes
+ with all it's accessories, including white reference, spot reading
+ adapter, display reading adapters, filters (UV, polarizing, D65),
+ serial cable adapter and power supply.<br>
+ <span style="font-weight: bold;"><br>
+ </span>
+ <hr style="width: 100%; height: 2px;"><span style="font-weight:
+ bold;"><br>
+ <a name="ss"></a>SpectroScan reflective/emissive and SpectroScanT
+ reflective/emissive/transmissive spectrometers<br>
+ <br>
+ <img style="width: 336px; height: 294px;" alt="" src="ss.jpg"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">SpectroScan</span> and
+ <span style="font-weight: bold;">SpectroScanT</span> from Gretag
+ MacBeth (Now X-Rite) is a discontinued instrument. It is the
+ combination of an X-Y table and the <span style="font-weight:
+ bold;">Spectrolino</span> instrument. The <span
+ style="font-weight: bold;">SpectroScanT</span> is capable of
+ measuring transparency. It is often available second hand. If buying
+ it second hand, make sure it comes with all it's accessories,
+ including white reference, spot reading adapter, display reading
+ adapters, filters (UV, polarizing, D65) and power supply.<br>
+ <br>
+ If measuring transparencies using a SpectroScanT, the <b>Enter</b>
+ key on the instrument may be used to trigger each reading. It will
+ be recognized after each previous reading has been completed.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <br>
+ <span style="font-weight: bold;"><a name="i1p2"></a>Eye-One Pro2:</span><br>
+ <img style=" width: 357px; height: 234px;" alt="Eye-One Pro 2"
+ src="i1pro2.jpg"><br>
+ <br>
+ There is support for some of the new features of the Eye-One Pro2
+ (also known as the Eye-One Pro Rev E), in particular the&nbsp; Rev E
+ measurement mode, spectrometer stray light reduction, wavelength
+ calibration, and improved black level tracking. This new support can
+ be disabled and an Eye-One Pro2 operated in legacy mode by setting
+ the environment variable ARGYLL_DISABLE_I1PRO2_DRIVER. See <a
+ href="file:///D:/src/argyll/doc/instruments.html#i1p">Eye-One Pro
+ reflective/emissive spectrometer</a><span style="font-weight:
+ bold;"> </span>below for details on the operation of this type of
+ instrument.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="i1p"></a>Eye-One Pro and
+ Eye-One Pro2 reflective/emissive spectrometer<br>
+ <br>
+ <img alt="" src="i1p.jpg" style="width: 347px; height: 234px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">Eye-One Pro</span> from
+ <a href="http://www.xrite.com/">X-Rite</a> (was Gretag MacBeth) is
+ available in two packages from the manufacturer. These packages
+ differ partly in what accessories come with the instrument, but
+ primarily in what features the manufacturers software provides. This
+ comparison <a
+ href="http://www.xrite.com/product_overview.aspx?ID=812">chart</a>
+ illustrates the differences. Used with Argyll, there are no
+ differences in operation of an Eye-One Pro instrument, irrespective
+ of which package it came with. The lowest cost package is the <a
+ href="http://www.xrite.com/product_overview.aspx?ID=1461">i1 Basic
+ Pro</a>.<br>
+ <br>
+ The EFI ES-1000 (which is a re-badged Eye-One Pro) is also reported
+ to work with Argyll.<br>
+ <br>
+ Unless you know what you're doing, and have a very specific reason
+ to buy an instrument fitted with a UV (Ultra Violet) filter, make
+ sure that you buy an instrument without the filter. A UV filtered
+ instrument can't deal intelligently with FWA (Fluorescent Whitener
+ Additive) effects in paper. (Look <a href="FWA.html">here</a> for
+ more information about FWA compensation.) Using FWA compensation you
+ can make measurements using ISO 13655:2009 M0, M1 and M2 conditions.
+ The M2 condition emulates a UV cut instrument.<br>
+ <br>
+ There have been four revisions of the Eye-One Pro, Rev. A, B, D and
+ E (AKA Eye-One Pro2). The rev B, D and E are capable of sampling
+ twice as fast as the Rev. A version of the instrument, and are also
+ available with an ambient light reading capability.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> for those running on
+ older versions of Linux with a Rev. D, there was a problem with the
+ Linux USB stack that causes the instrument to stop working once it
+ has been used. The only workaround is to unplug and replug the
+ instrument in again, whereupon it can be used one time again. A fix
+ for this problem was in the&nbsp; Linux 2.6.26 kernel release.<br>
+ <br>
+ See also <a href="i1proDriver.html">How can I have confidence in
+ the i1pro Driver ?</a><br>
+ <br>
+ <span style="font-weight: bold;">Patch recognition:</span><br>
+ <br>
+ For the best chances of good patch recognition, the instrument
+ should be drawn smoothly and not too rapidly over the strip. If
+ there is a misread, try slowing down slightly. The Rev A and B.
+ instruments have a slower sampling rate than the latter revision
+ instruments, and hence must be used a bit more slowly. Generally a
+ higher quality set of readings will result if slower scans are used,
+ since there will then be more samples averaged for each patch.<br>
+ <br>
+ In <a href="chartread.html">chartread</a>, the -<span
+ style="font-weight: bold;">T ratio</span> argument modifies the
+ patch consistency tolerance threshold for the Eye-One Pro. In
+ recognizing patches in a strip, the instrument takes multiple
+ readings as the strip is read, and then divide the readings up into
+ each patch. It then check the consistency of the multiple readings
+ corresponding to each patch, and reject the measurement if they are
+ too inconsistent. For some media (ie. a coarser screens, fabric
+ etc.) the default tolerance may be unreasonably tight, so the <span
+ style="font-weight: bold;">-T ratio</span> argument can be used to
+ modify this criteria. To loosen the tolerance, use a number greater
+ than 1.0 (ie. 1.5, 2.0). <span style="font-weight: bold;"></span><br>
+ <br>
+ <span style="font-weight: bold;">Special features:</span><br>
+ <br>
+ A feature unique to Argyll when used with the Eye-One Pro, is the
+ high resolution spectral mode. This returns spectral measurements at
+ 3.333 nm spacing, rather than the default 10nm spacing, and also
+ extends the range of wavelengths very slightly. This high resolution
+ may assist in giving better accuracy for "peaky" emissive sources
+ such as illuminants and displays. The high resolution mode is
+ selected by using the <span style="font-weight: bold;">-H</span>
+ flag on the command line to <span style="font-weight: bold;">dispcal</span>,
+ <span style="font-weight: bold;">dispread</span>, <span
+ style="font-weight: bold;">chartread</span>, and <span
+ style="font-weight: bold;">spotread</span>. It can also be toggled
+ on and off within <span style="font-weight: bold;">spotread</span>
+ using the <span style="font-weight: bold;">h</span> key. The
+ extended range down to 350nm may give some information about an
+ illuminants ultra violet content, although the accuracy of the
+ readings between 350-380, and 730-740nm should not be relied upon.<br>
+ <br>
+ <img alt="High res. and standard res. spectrum."
+ src="Fluorescent.jpg" style="width: 750px; height: 375px;"><br>
+ <br>
+ <img alt="C.R.T high res. and standard res. spectrum."
+ src="CRTspectrum.jpg" style="width: 750px; height: 375px;"><br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="i1m"></a>Eye-One Monitor
+ emissive spectrometer<br>
+ <br>
+ <img alt="" src="i1m.jpg" style="width: 347px; height: 234px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">Eye-One Monitor</span>
+ from <a href="http://www.xrite.com/">X-Rite</a> (was Gretag
+ MacBeth) is a discontinued instrument. It was a lower cost version
+ of the <span style="font-weight: bold;">Eye-One Pro</span> without
+ reflective measurement capability. See <a href="#i1p">Eye-One Pro
+ reflective/emissive spectrometer</a><span style="font-weight:
+ bold;"> </span>for details on the operation of this instrument.<br>
+ <br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="i1d"></a>Eye-One Display
+ 1, Eye-One Display 2, Eye-One Display LT, ColorMunki Create,
+ ColorMunki Smile colorimeters,<br>
+ <br>
+ <img style=" width: 124px; height: 168px;" alt="ColorMunki Smile"
+ src="Smile.jpg"><img alt="Eye-One Display 2" src="i1d.jpg"
+ style="width: 145px; height: 168px;"> <img style="width: 133px;
+ height: 168px;" alt="ColorMunki Create"
+ src="ColorMunkiCreate.jpg"><br>
+ <br>
+ Instrument Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">ColorMunki Smile</span>
+ colorimeter is a currently available instrument.<br>
+ The <span style="font-weight: bold;">Eye-One Display LT</span> and
+ <span style="font-weight: bold;">Eye-One Display 2</span> are
+ discontinued products, although they may still be available from
+ some retailers, second hand, and may still be shipped with some
+ displays as part of their calibration capability.<br>
+ The <span style="font-weight: bold;">ColorMunki Create</span>
+ colorimeter is a discontinued product, although they may still be
+ available from some retailers or second hand,can also be used. They
+ will appear as an i1Display2 colorimeter.<br>
+ The <span style="font-weight: bold;">HP DreamColor</span>
+ colorimeter can also be used, and will appear as an i1Display2
+ colorimeter [note that it is calibrated for the DreamColor display].<br>
+ The <span style="font-weight: bold;">HP APS</span> (Advanced
+ Profiling Solution) colorimeter is also reported to work, and will
+ appear as an i1Display2.<br>
+ The <span style="font-weight: bold;">CalMAN X2</span> colorimeter
+ is also reported to work, and will appear as an i1Display2
+ colorimeter.<br>
+ The&nbsp; <span style="font-weight: bold;">Lacie Blue Eye</span> <span
+ style="font-weight: bold;"></span> colorimeter is also reported to
+ work, and will appear as an i1Display2 colorimeter.<br>
+ <br>
+ <span style="font-weight: bold;"></span>The <span
+ style="font-weight: bold;">Eye-One Display 1</span> is a
+ discontinued instrument. <br>
+ <br>
+ The Eye-One Display LT came with a less expensive<span
+ style="text-decoration: underline;"></span> package with more
+ limited software from the manufacture.<br>
+ The Eye-One Display 2 package came with more software
+ features,&nbsp; but the instruments are virtually identical, and
+ will operate identically using Argyll.<br>
+ The ColorMunki Create<span style="text-decoration: underline;"></span>
+ package is another alternative, and will operate identically using
+ Argyll.<br>
+ <br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <br>
+ The Display Selections for the <span style="font-weight: bold;">ColorMunki
+
+
+
+
+
+
+ Smile</span> are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">f</span>
+ &nbsp;&nbsp; LCD with CCFL back-light&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; A Liquid Crystal display that uses a Cold
+ Cathode Fluorescent back lighting. [Default, CB1]<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">e</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+ LCD with LED back-light&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A Liquid Crystal display that uses
+ Light Emitting Diode back lighting.<br>
+ <br>
+ other instruments will offer:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">l</span>&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LCD display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Liquid
+ Crystal Display, that is of the Non-Refresh type. [Default, CB1]<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">c</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRT display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A
+ Cathode Ray Tube display, that is of the Refresh type. [CB2]<br>
+ <br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="i1d3"></a></span>&nbsp; <span
+ style="font-weight: bold;">i1 DisplayPro and ColorMunki Display<span
+ style="font-weight: bold;"> colorimeters (i1 Display 3)</span><br>
+ <br>
+ <img alt="i1 Display Pro" src="i1d3_1.jpg" style="width: 194px;
+ height: 223px;"> <img style="width: 176px; height: 222px;"
+ alt="ColorMunki Display" src="i1d3_2.jpg"><br>
+ <br>
+ Instrument Availability:<br>
+ <br>
+ </span>Both instruments are currently available..<br>
+ <br>
+ The ColorMunki Display is a less expensive <a
+href="http://xritephoto.com/ph_product_overview.aspx?id=1513&amp;catid=149">package</a>
+ with more limited software from the manufacture, and takes a
+ noticeably longer time to make most measurements (a minimum of 1
+ second), but both instruments will take longer for very dark
+ samples, and under these conditions the speed difference is less
+ significant.<br>
+ <br>
+ The i1Display Pro <a
+href="http://xritephoto.com/ph_product_overview.aspx?id=1454&amp;catid=109">package</a>
+ comes with i1Profiler, and the instrument is generally faster than
+ the ColorMunki Display, but other than this and the software
+ package, the instruments appear to be virtually identical. (Note
+ though that the ColorMunki Display is <u>unable</u> to measure the
+ refresh period, so is less repeatable in this mode than the
+ i1Display Pro).<br>
+ <br>
+ Both instruments are capable of using CCSS (<a
+ href="File_Formats.html#ccss">Colorimeter Calibration Spectral
+ Sample</a>) files, and this also gives the instrument the
+ capability of using a non-default standard observer. CCSS files can
+ be created using the <a href="ccxxmake.html">ccxxmake</a> tool, and
+ installed or translated from the .EDR files that are provided with
+ the instrument CD using the <a href="oeminst.html">oeminst</a>
+ utility using a spectrometer as a reference.<br>
+ <br>
+ There are some OEM versions of this instrument around too, and the <a
+ href="http://www.spectracal.com/">SpectraCal OEM i1Display</a>, <a
+ href="http://www.chromapure.com/">ChromaPure</a> and <a
+ href="http://www.necdisplay.com/p/sensors/mdsvsensor3">NEC
+ SpectraSensor Pro</a> instruments are also reported to work. They
+ will appear as a be a the same as the i1Display Pro.<br>
+ <span style="font-weight: bold;">[Note</span> that if you have an
+ OEM version of this instrument, it's worth checking if they come
+ with any extra .edr files, that can then be translated for use with
+ ArgyllCMS using <a href="oeminst.html">oeminst</a>.]<br>
+ <br>
+ On MSWindows, if you have installed the Manufacturers applications,
+ you may have to shut the i1Profiler tray application down before
+ Argyll can open the instrument.<br>
+ <br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">n</span><span
+ style="font-weight: bold;"></span>&nbsp;&nbsp;&nbsp;&nbsp; A
+ non-refresh type display [Default, CB1].<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">r</span>
+ &nbsp;&nbsp;&nbsp; A refresh type display&nbsp; - The refresh period
+ is measured, and the integration time adjusted appropriately. [CB2]<br>
+ <br>
+ With the manufacturers .edr files &amp; reference Argyll .ccss files
+ installed, the following selections are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">n</span><span
+ style="font-weight: bold;"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A
+ non-refresh type display [Default, CB1].<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">r</span>
+ &nbsp;&nbsp;&nbsp;&nbsp; A refresh type display&nbsp; - The refresh
+ period is measured, and the integration time adjusted appropriately.
+ [CB2]<br>
+ &nbsp;&nbsp;&nbsp; <b>c</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CRT
+ (Hitachi CM2112MET, Diamond View 1772ie)<br>
+ &nbsp;&nbsp;&nbsp; <b>l</b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LCD CCFL
+ IPS (CCFL AC EIZO HP with CORRECTION)<br>
+ &nbsp;&nbsp;&nbsp; <b>L</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LCD CCFL
+ Wide Gamut IPS (WG CCFL NEC241 271)<br>
+ &nbsp;&nbsp;&nbsp; <b>b&nbsp;</b>&nbsp;&nbsp;&nbsp;&nbsp; LCD RGB
+ LED IPS (RGBLED HP SOYO)<br>
+ &nbsp;&nbsp;&nbsp; <b>e</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LCD White
+ LED IPS (WLED AC LG Samsung)<br>
+ &nbsp;&nbsp;&nbsp; <b>p</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Projector
+ (Marantz HP Panasonic Projectors Hybrid EDR)<br>
+ <br>
+ <b>Note when measuring CRT displays:<br>
+ </b><br>
+ The small magnet in the ambient light cover used to signal what
+ position it is in, can interfere in the operation of the CRT
+ display, particularly if the ambient cover is in it's natural
+ position at 180 degrees away from the measuring lens. One way of
+ minimizing this is to swing the cover down so that it touches the
+ display adjacent to the lens, thereby moving the magnet away from
+ the display surface. A more thorough but inconvenient way of
+ avoiding this problem is to unclip the ambient light cover and slide
+ it down the cable.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="Huey"></a>Huey colorimeter<br>
+ <br>
+ <img alt="" src="Huey.jpg" style="width: 128px; height: 202px;"><br>
+ <br>
+ Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">Huey </span>is widely
+ available under the <a href="http://www.pantone.com/">Pantone</a>
+ name as well as the manufacturer, <a href="http://www.xrite.com/">X-Rite</a>.
+ There lower cost Huey is now discontinued, while the <a
+href="http://www.pantone.com/pages/products/product.aspx?pid=562&amp;ca=2">Huey
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pro</a> is still available.<br>
+ <span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">l</span>&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LCD display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Liquid
+ Crystal Display, that is of the Non-Refresh type. [Default, CB1]<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">c</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRT display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Cathode Ray
+ Tube display, that is of the Refresh type. [CB2]<br>
+ <br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="mox"></a>MonacoOPTIX
+ colorimeters<br>
+ <br>
+ <img alt="" src="mox.jpg" style="width: 115px; height: 147px;">
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <img alt="" src="Chroma4.jpg"
+ style="width: 135px; height: 146px;"><br>
+ <br>
+ Instrument Availability:<br>
+ </span><br>
+ <span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">MonacoOPTIX</span> from
+ Monaco Soft is a discontinued instrument.&nbsp; It may still be
+ available as old stock, or second hand. It was sold packaged with
+ software from the manufacturer. The Sequel Chroma 4 appears to be a
+ similar instrument, and both seem to operate as if they were an
+ Eye-One Display 1 using Argyll.<br>
+ <br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">c</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRT display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Cathode Ray
+ Tube display, that is of the Refresh type.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">l</span>&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LCD display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Liquid
+ Crystal Display, that is of the Non-Refresh type.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="spyd2"></a>Spyder 2
+ colorimeter<br>
+ <br>
+ <img alt="" src="Spyd2.jpg" style="width: 218px; height: 232px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">Spyder 2 </span><span
+ style="font-weight: bold;"></span>has been superseded by the
+ Spyder 3 &amp; 4, but may be available second hand.<br>
+ [The Spyder 1 has also been reported as working, but this has not
+ been confirmed.]<br>
+ <span style="font-weight: bold;"><br>
+ </span><span style="font-weight: bold;">Operation:<br>
+ </span><br>
+ <span style="font-weight: bold;">Important Note </span>about the
+ ColorVision Spyder 2 instrument support:<br>
+ <br>
+ This instrument cannot function without the driver software having
+ access to the vendor supplied PLD firmware pattern for it.<br>
+ This firmware is not provided with Argyll, since it is not available
+ under a compatible license.<br>
+ <br>
+ The purchaser of a Spyder 2 instrument should have received a copy
+ of this firmware along with their instrument, and should therefore
+ be able to enable the Argyll driver for this instrument by using the
+ <a href="oeminst.html">oeminst</a> tool.<span style="font-weight:
+ bold;"></span><br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">l</span>&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LCD display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; A Liquid Crystal
+ Display, that is of the Non-Refresh type. [Default, CB1]<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">c</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRT display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Cathode Ray
+ Tube display, that is of the Refresh type. [CB2]<br>
+ <br>
+ <br>
+ <span style="font-weight: bold;">Linux USB hub problems:<br>
+ <br>
+ </span>Note that the Spyder doesn't appear to operate at all well on
+ Linux if attached to a secondary USB hub. You may have such a
+ secondary hub built into your motherboard. If Argyll has difficulty
+ in reliably talking to the Spyder, try connecting it directly to the
+ computer rather than via a usb hub, or try using a USB port on your
+ computer that connects directly to a root hub. This is probably due
+ to a bug in the Linux EHCI driver, and a fix is due to appear in the
+ Linux kernel sometime after July 2011. The name of the fix is "EHCI:
+ fix direction handling for interrupt data toggles".<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="spyd3"></a>Spyder 3
+ colorimeter<br>
+ <br>
+ <img style="width: 262px; height: 220px;" alt="Spyder3"
+ src="Spyd3.jpg"> <img style="width: 193px; height: 220px;"
+ alt="Spyder3Express" src="Spyd3x.jpg"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">Spyder3Elite</span>, <span
+ style="font-weight: bold;">Spyder3Pro</span> and <span
+ style="font-weight: bold;">Spyder3Express</span> are being
+ superseded by the Spyder4, but may still stocked by some dealers,
+ and may be available second hand. The <span style="font-weight:
+ bold;">Spyder3Elite</span> and <span style="font-weight: bold;">Spyder3Pro</span>
+ appear to be identical hardware with different software from the
+ manufacturer. The <span style="font-weight: bold;">Spyder3Express</span>
+ lacks the ambient sensor.<br>
+ <br>
+ [Note that this instrument doesn't seem particularly suited to
+ measuring CRT displays, since it no longer seems to synchronise its
+ readings to a CRT refresh, and you can no longer remove the LCD
+ filter, reducing its sensitivity compared to the Spyder 2 in CRT
+ mode. The Spyder 2 or one of the other instruments may be a better
+ choice if you particularly need to measure CRTs or Refresh
+ displays.]<br>
+ <span style="font-weight: bold;"><br>
+ </span><span style="font-weight: bold;">Operation:<br>
+ </span><br>
+ The ambient light sensor can be used with the <span
+ style="font-weight: bold;">Spyder3Elite</span> and <span
+ style="font-weight: bold;">Spyder3Pro</span> instruments, but is
+ only capable of monochrome readings.<span style="font-weight: bold;"><br>
+ </span><br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">n</span> | <span
+ style="font-weight: bold;">l</span>&nbsp;&nbsp;&nbsp;&nbsp; A
+ non-refresh type display [Default, CB1]<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">r | c</span>
+ &nbsp;&nbsp;&nbsp; A refresh type display. [CB2]<br>
+ <br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ <span style="font-weight: bold;"><a name="spyd4"></a>Spyder 4
+ colorimeter<br>
+ <br>
+ <img style=" width: 262px; height: 220px;" alt="Spyder4"
+ src="Spyd4.jpg"> <br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;">Spyder4Elite</span>, <span
+ style="font-weight: bold;">Spyder4Pro</span> and <span
+ style="font-weight: bold;">Spyder4Express</span> are a currently
+ available instruments. The <span style="font-weight: bold;">Spyder4Elite</span>
+ and <span style="font-weight: bold;">Spyder4Pro</span> appear to be
+ identical hardware with different software from the manufacturer.
+ The <span style="font-weight: bold;">Spyder4Express</span> lacks
+ the ambient sensor.<br>
+ <span style="font-weight: bold;"><br>
+ </span><span style="font-weight: bold;">Operation:<br>
+ </span><br>
+ These instruments are capable of using using CCSS (<a
+ href="File_Formats.html#ccss">Colorimeter Calibration Spectral
+ Sample</a>) files, and this also gives the instrument the
+ capability of using a non-default standard observer. CCSS files can
+ be created using the <a href="ccxxmake.html">ccxxmake</a> tool
+ using a spectrometer as a reference.<br>
+ <br>
+ <span style="font-weight: bold;">Important Note </span>about the
+ DataColor Spyder 4 vendor display type/calibration support:<br>
+ <br>
+ This instrument does not have a full range of display type
+ calibration selections available without the vendor supplied
+ calibration data for it.<br>
+ This calibration data is not provided with Argyll, since it is not
+ available under a compatible license.<br>
+ You can use CCSS files as an alternative (see above), or as the
+ purchaser of a Spyder 4 instrument you should have received a copy
+ of the calibration data along with their instrument, and should
+ therefore be able to enable the full range of display type
+ selections in Argyll by using the <a href="oeminst.html">oeminst</a>
+ tool.<br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">n</span> | <span
+ style="font-weight: bold;">l</span>&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp; A non-refresh type display with a generic calibration
+ [Default, CB1].<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">r | c</span> <span
+ style="font-weight: bold;"></span> &nbsp; &nbsp; &nbsp;&nbsp; A
+ refresh type display with a generic calibration.[CB2]<br>
+ <br>
+ The Display Selections for this instrument when the manufacturers
+ calibration information has been installed is:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">n&nbsp;&nbsp; </span><span
+ style="font-weight: bold;"></span>&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; A non-refresh type display with a generic
+ calibration [Default, CB1].<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">r</span> <span
+ style="font-weight: bold;"></span> &nbsp; &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; A refresh type display with a generic
+ calibration.[CB2]<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">f &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; </span>&nbsp;&nbsp;&nbsp;&nbsp; LCD, CCFL
+ Backlight&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - normal gamut Liquid Crystal Display with standard Cold Cathode
+ Fluorescent Lamp backlight.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">L</span>&nbsp;
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; Wide Gamut LCD, CCFL
+ Backlight&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - wide gamut Liquid Crystal
+ Display with Cold Cathode Fluorescent Lamps backlight.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">e</span>
+ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; LCD, White
+ LED Backlight&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - normal
+ gamut Liquid Crystal Display with a White LED backlight.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">B</span>&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; Wide Gamut LCD, RGB LED
+ Backlight - wide gamut Liquid Crystal Display with RGB LED
+ backlight.<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">x</span>
+ &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; LCD, CCFL
+ Type 2
+ Backlight&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - normal gamut Liquid Crystal Display with alternative Cold Cathode
+ Fluorescent Lamp backlight (Laptop ?)<br>
+ <br>
+ The ambient light sensor can be used with the <span
+ style="font-weight: bold;">Spyder4Elite</span> and <span
+ style="font-weight: bold;">Spyder4Pro</span> instruments, but is
+ only capable of monochrome readings.<span style="font-weight: bold;"></span><br>
+ <span style="font-weight: bold;"></span><br>
+ <hr style="width: 100%; height: 2px;"><a name="HCFR"></a><span
+ style="font-weight: bold;" class="titre">Colorim&egrave;tre HCFR
+ colorimeter<br>
+ <br>
+ <img alt="" src="HCFR.jpg" style="width: 203px; height: 194px;"><br>
+ <br>
+ </span><span style="font-weight: bold;">Availability:<br>
+ <br>
+ </span>The <span style="font-weight: bold;" class="titre">Colorim&egrave;tre
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HCFR Probe</span> is a kit instrument from <span
+ style="font-weight: bold;"></span> <a
+ href="http://www.homecinema-fr.com/colorimetre/index_en.php">HCFR</a>.
+ <br>
+ <br>
+ <span style="font-weight: bold;">OS X</span><br>
+ <br>
+ Please note the installation <a href="Installing_OSX.html#HCFR">instructions</a>.<br>
+ <br>
+ <span style="font-weight: bold;">Operation:</span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><br>
+ The accuracy of this instrument does not seem to be comparable to
+ the commercial instruments when used for measuring displays,
+ particularly in the area of measuring dark colors, and I've seen the
+ best results when used with a CRT display. It may well give good
+ results in calibrating projectors, since this was what it was
+ designed to do.<br>
+ <br>
+ The Display Selections for this instrument are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">l</span>&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LCD display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Liquid
+ Crystal Display [Default].<br>
+ &nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">c</span>&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRT display&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; A Cathode Ray
+ Tube display.<br>
+ &nbsp;&nbsp;&nbsp; <b>R</b> &nbsp; Raw&nbsp;
+ Reading&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Raw sensor readings,
+ used for calibration [CB1]<br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/invprofcheck.html b/doc/invprofcheck.html
new file mode 100644
index 0000000..9851774
--- /dev/null
+++ b/doc/invprofcheck.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>invprofcheck</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>profile/invprofcheck</b></h2>
+<h3>Summary</h3>
+Check <a href="File_Formats.html#ICC">ICC</a> forward against reverse
+lookup.
+<br>
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;">usage: invprofcheck
+[-options] </span><span
+ style="font-style: italic; font-family: monospace;">profile.icm</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v [level]&nbsp;&nbsp;
+verbosity level (default 1), 2 to print each DE</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-l
+limit&nbsp;&nbsp;&nbsp;&nbsp; set total ink
+limit (estimate by default)<br>
+</span></small><small><span style="font-family: monospace;">&nbsp;-L
+klimit &nbsp;&nbsp; set black channel ink
+limit (estimate by default)</span></small><br
+ style="font-family: monospace;">
+<small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;-h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+high res test (27)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Ultra high res test (61)<br>
+&nbsp;-R res&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Specific grid
+resolution<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Show CIE94 delta E values</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Show CIEDE2000 delta E values</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+create VRML visualisation (profile.wrl)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use VRML axes</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Color vectors acording to delta E</span><br
+ style="font-family: monospace;">
+<span style="font-style: italic; font-family: monospace;">&nbsp;profile.icm</span><span
+ style="font-family: monospace;">&nbsp;
+Profile to check</span></small>
+<br>
+<h3>Usage Details and Discussion</h3>
+<b>invprofcheck</b> provides a way of checking how well an&nbsp;<a
+ href="File_Formats.html#ICC">ICC</a> profile inverse transform inverts
+the forward transform. For devices with more than 4 channels, a total
+ink limit is assumed, and (if no <span style="font-weight: bold;">-l</span>
+parameter is given) a reasonable number is deduced from the reverse
+table. A grid of device values is created, and the transform from
+PCS-&gt;device, and then device-&gt;PCS is computed in L*a*b* space.
+The average, maximum and RMS error delta E values are computed and
+displayed in the chosen delta E metric. A <a
+ href="File_Formats.html#VRML">VRML</a> plot of the error vectors can
+be created. <span style="font-weight: bold;">invprofcheck</span> tries
+to only test in-gamut color values. Note that because it scans a device
+grid, for a CMYK device, the density of test points will be
+progressively higher in the dark regions, and the average and RMS
+values will be distorted by the denser sampling.<br>
+<br>
+The <b>-v</b> flag prints out extra information during the checking. A
+value greater than 1 will print the color values of each test point.<br>
+<br>
+The <b>-l</b> flag allows setting a total ink limit (TAC) for printing
+devices. If a device has a total ink limit, and hasn't been
+characterised with device values above this limit, then plotting the
+gamut in these areas will almost certainly be misleading. The ink limit
+will be in final calibrated device values if the profile includes
+calibration information.<br>
+<br>
+The <b>-L</b> flag allows setting a black channel ink limit for
+printing
+devices. If a device has a black ink limit, and hasn't been
+characterised with device values above this limit, then plotting the
+gamut in these areas will almost certainly be misleading. The black ink
+limit
+will be final calibrated device values if the profile
+includes calibration information.<br>
+<br>
+The default device grid is relativy low, and 11 (ie. 11 x 11 x 11 for
+an RGB device, 11 x 11 x 11 x 11 for a CMYK device etc.).<br>
+<br>
+The <span style="font-weight: bold;">-h</span> flag selects a higher
+device grid resolution of 27.<br>
+<br>
+The <span style="font-weight: bold;">-u</span> flag selects an
+extremely high device grid resolution of 61. This will probably take a
+long time to run.<br>
+<br>
+The <span style="font-weight: bold;">-G res</span> option allows a
+specific grid resolution to be used.<br>
+<br>
+The <b>-c</b> option causes the error differences to be
+displayed
+in CIE94 delta E, rather than plain L*a*b* delta E. CIE94 delta E has a
+closer
+correspondence with perceived color differences than the default CIE76
+delta E values.<br>
+<br>
+The <b>-k</b> option causes the error differences to be
+displayed
+in CIEDE2000 delta E, rather than plain L*a*b* delta E. CIEDE2000 delta
+E has a
+closer
+correspondence with perceived color differences than either CIE76 or
+CIE94 delta E values.<br>
+<br>
+The <b>-w</b> creates a <a href="File_Formats.html#VRML">VRML</a> 3D
+visualization
+of the differences between the test points and the profiles prediction
+of
+the resulting colors.<br>
+<br>
+The <b>-x</b> flag adds Lab axes to the VRML output.<br>
+<br>
+The <span style="font-weight: bold;">-e</span> flag causes the error
+vectors in the VRML output to be color coded according to their
+lengths, from longest to shortest: yellow, red, magenta, blue, cyan and
+green.<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/kodak2ti3.html b/doc/kodak2ti3.html
new file mode 100644
index 0000000..5485506
--- /dev/null
+++ b/doc/kodak2ti3.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>kodak2ti3</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>profile/kodak2ti3</b></h2>
+<h3>Summary</h3>
+Convert Kodak Colorflow format CMYK test chart into Argyll&nbsp;<a
+ href="File_Formats.html#.ti3">.ti3</a> CGATS format.<br>
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;">kodak2gcats [-v] [-l
+limit] infile outfile<br>
+</span></small><small><b style="font-family: monospace;"> -v</b><span
+ style="font-family: monospace;"> <span style="font-style: italic;">&nbsp;
+&nbsp; &nbsp;</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+verbose mode<br>
+</span></small><small><b style="font-family: monospace;"> -l</b><span
+ style="font-family: monospace;"> </span><i
+ style="font-family: monospace;">limit</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+set
+ink
+limit, 0 - 400%</span></small><br style="font-family: monospace;">
+<small><span style="font-family: monospace;"></span><b
+ style="font-family: monospace;"> -r</b><span
+ style="font-family: monospace;"> <span style="font-style: italic;">filename</span>
+&nbsp;&nbsp;&nbsp; Use an alternate 928 patch reference file</span><br
+ style="font-family: monospace;">
+<i style="font-family: monospace;"> infile</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Base name for input.pat file</span><br style="font-family: monospace;">
+<i style="font-family: monospace;"> outfile</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Base
+name for output</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">
+file</span></small>
+<br>
+<h3>Usage Details and Discussion</h3>
+kodak2ti3 takes the Kodak Colorflow CMYK printer spectrometer data
+file, and turns them into Argyll .ti3 CGATS files.<br>
+By default kodak2ti3 expects a standard 928 patch test chart has been
+used. If an alternate 928 test chart has been used, an alternate device
+reference file can be supplied using the -r parameter.<br>
+The Argyll <a href="File_Formats.html#.ti3">.ti3</a>
+format usually contains an ink limit or TAC (Total Area Coverage) limit
+value,
+used to specify the gamut limits during profile creation. the <b>-l</b>
+flag allows this to be specified, and included in the created <a
+ href="File_Formats.html#.ti3">.ti3</a> file.<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/monitorcontrols.html b/doc/monitorcontrols.html
new file mode 100644
index 0000000..83ab695
--- /dev/null
+++ b/doc/monitorcontrols.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>About display monitor settings and targets</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+</head>
+<body>
+<h2 style="text-decoration: underline; font-weight: bold;">About
+display monitor settings and
+targets</h2>
+Setting monitor controls and target behaviour for monitor calibration
+boils down to two things:<br>
+<br>
+&nbsp;&nbsp; What is the equipment capable of without introducing side
+effects ?<br>
+<br>
+&nbsp;&nbsp; What are you trying to do ?<br>
+<br>
+There are three reasons you may want to adjust display settings and set
+calibration targets:<br>
+<br>
+1) You want to change how non-color managed applications appear.<br>
+2) You want to change basic behaviour of the display that the profile
+based<br>
+&nbsp;&nbsp; color management doesn't usually change, such as white
+point and brightness.<br>
+3) You want to improve the behaviour of the device so that the normal
+profile based<br>
+&nbsp;&nbsp; color management does a better job of controlling the
+display.<br>
+<br>
+<br>
+You can make adjustments to a display using it's controls and/or the
+video
+card LUTs. Generally the former are more powerful and have less side
+effects. There can be exceptions though, for instance LCD's have no
+native contrast control capability, only brightness, so contrast is
+usually faked by manipulating the lookup curves, which can introduce
+side effects. The same applies to white point control on an LCD (unless
+it has
+R/G/B LED back lighting). So generally LCD displays are much less
+flexible than CRT displays in targeting some non-native colorspace
+without introducing side effects, so it is generally best to set all
+the LCD controls except back lighting brightness to their default
+settings.<br>
+<br>
+Brightness depends on what you are trying to do. If you are trying to
+do soft proofing for instance, you will have some brightness level in
+mind dictated by the hard proofing booth you are comparing to, or the
+ambient brightens level. For good color judgement and low fatigue it's
+desirable that the display brightness roughly match that of the ambient
+lighting.<br>
+<br>
+In terms of what you are trying to do, it comes down to what colorspace
+you want the display to be, and how far from native for that display it
+is. A CRT can be reasonably flexible in the behaviour it can be given
+without side effects, an LCD less so. If you want to minimize artefacts
+on an LCD you want to set the contrast and white points to their native
+values (ie. where the monitor is not manipulating the digital signal
+levels). It may not be easy to figure out what this is. In this
+scenario you would probably only want calibration to set the transfer
+characteristic and neutral axis, and leave the white point native.<br>
+<br>
+For typical MSWindows/Linux this would probably be the typical CRT
+transfer
+("gamma") curve, or a gamma of about 2.4. For OS X it would probably <br>
+be a gamma of 1.8 for versions 10.5 or earlier, or 2.4 for 10.6 or
+latter ("Snow Leopard").<br>
+<br>
+The nominal white point of a display is D65 (set by Television
+standards), and an LCD's native white point is somewhere near there,
+but this is dictated by their backlight color. The CRT's will give
+maximum brightness with a much higher white point (9000K or so), but
+this can be reduced with fewer side effects (just reduced brightness)
+using typical CRT controls. <br>
+<br>
+If you have specific requirements (trying to do soft proofing) then you
+may want to target a specific white point and brightness, and be
+prepared to compromise other aspects of the display to achieve this. By
+all means use the controls to move the display in the direction you
+want to go, and then use the calibration curves to get there. If you
+are moving far from native (especially on an LCD) you may find the side
+effects unacceptable though.<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/mox.jpg b/doc/mox.jpg
new file mode 100644
index 0000000..f3c7166
--- /dev/null
+++ b/doc/mox.jpg
Binary files differ
diff --git a/doc/moxxr.jpg b/doc/moxxr.jpg
new file mode 100644
index 0000000..579d7fc
--- /dev/null
+++ b/doc/moxxr.jpg
Binary files differ
diff --git a/doc/mppcheck.html b/doc/mppcheck.html
new file mode 100644
index 0000000..cd44989
--- /dev/null
+++ b/doc/mppcheck.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>mppcheck</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>profile/mppcheck</b>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;<br>
+</h2>
+<h3>Summary</h3>
+Check an&nbsp;<a href="File_Formats.html#MPP">MPP</a> profile
+against&nbsp;<a href="File_Formats.html#.ti3">.ti3</a>
+test chart data.<br>
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;">mppcheck [-v] [-s] -[y]
+values.ti3 profile.mpp</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; Verbose mode</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; Show CIE94 delta E values</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-k
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Show CIEDE2000 delta E values</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; Check spectral model too</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; Detail each value</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">values.ti3&nbsp; &nbsp; Test
+values to check against</span><br style="font-family: monospace;">
+<i style="font-family: monospace;"> profile.mpp</i><span
+ style="font-family: monospace;"> &nbsp; Profile to check</span></small>
+<br>
+<h3>Usage Details and Discussion</h3>
+mppcheck provides a way of checking how well an&nbsp;<a
+ href="File_Formats.html#MPP">MPP</a> profile conforms to the test
+sample data that was used to create it. This is the same sort of check
+done within the profile making tool (<a href="mppprof.html">mppprof</a>),
+but having a separate tool provides some flexibility. <br>
+<br>
+The <b>-v</b> flag prints out extra information during the checking.<br>
+<br>
+The <b>-c</b> option causes the differences between the test values
+and
+the profile prediction of the color for each device value to be
+displayed
+in CIE94 delta E, rather than plain L*a*b* delta E. CIE94 delta E has a
+closer
+correspondence with perceived color differences than the default CIE76
+delta E values.<br>
+<br>
+The <b>-k</b> option causes the differences between the test values
+and
+the profile prediction of the color for each device value to be
+displayed
+in CIEDE2000 delta E, rather than plain L*a*b* delta E. CIEDE2000 delta
+E has a
+closer
+correspondence with perceived color differences than either CIE76 or
+CIE94 delta E values.<br>
+<br>
+The <b>-s</b> flag causes the spectral model (if present) to be
+checked against the test data spectral values (if present). Errors are
+given as a percentage error for each reflectance band, as well as a
+delta E of the resulting CIE color computed from the spectral values.<br>
+<br>
+The <b>-y</b> flag when used in combination with the <b>-v</b> flag,
+causes each test value and its error to be printed. <br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/mpplu.html b/doc/mpplu.html
new file mode 100644
index 0000000..2f0b955
--- /dev/null
+++ b/doc/mpplu.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>mpplu</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>xicc/mpplu</b></h2>
+<h3>Summary</h3>
+Lookup individual color values though an&nbsp;<a
+ href="File_Formats.html#MPP">MPP</a> profile. Also
+create MPP gamut files or&nbsp;<a href="File_Formats.html#VRML">VRML</a>
+views.<br>
+<h3>Usage</h3>
+<small><span style="font-family: monospace;">mpplu [-v level] [-f func]
+[-i intent] [-o order] profile.mpp</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">-f </span><i
+ style="font-family: monospace;">function</i><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp;f = forward, b =
+backwards</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">-p </span><i
+ style="font-family: monospace;">oride</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x
+= XYZ_PCS, l =
+Lab_PCS, y = Yxy, s = spectral,</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-l </span><i
+ style="font-family: monospace;">limit</i><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp; override
+default
+ink limit, 1 - N00%</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">-i </span><i
+ style="font-family: monospace;">illum</i><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp; Choose
+illuminant for
+print/transparency spectral data:</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp; A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-o </span><i
+ style="font-family: monospace;">observ</i><span
+ style="font-family: monospace;">&nbsp; &nbsp; &nbsp; Choose CIE
+Observer for spectral
+data:</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp; </span></small><small><span
+ style="font-family: monospace;">1931_2 </span></small><small><span
+ style="font-family: monospace;"> (def.)</span></small><small><span
+ style="font-family: monospace;">, 1964_10, S&amp;B
+1955_2, shaw, J&amp;V 1978_2</span></small><small><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; Use Fluorescent Whitening Agent compensation</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; Create gamut output</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; Create gamut VRML as well<br>
+-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't add VRML axes<br>
+-a n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gamut
+transparency level<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">-d
+n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; Gamut
+surface detail level</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">-t num&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; Invoke debugging test code
+"num" 1..n</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp; 1 - check partial derivative for device
+input</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp; 2 - create overlap diagnostic VRML gamut
+surface</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">profile.mpp &nbsp; Profile to be
+used</span><br style="font-family: monospace;">
+<br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; The colors to
+be translated should be fed into
+standard input,</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; one input
+color per line, white space separated.</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; A line
+starting with a # will be ignored.</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; A line not
+starting with a number will terminate the
+program.</span></small>
+<br>
+<h3>Usage Details and Discussion</h3>
+This is an analogous tool to <a href="icclu.html"> icclu </a>, but
+applying
+to <a href="File_Formats.html#MPP">MPP</a> profile, rather than <a
+ href="File_Formats.html#ICC">ICC</a> profiles. Because MPP profiles
+can also contain a spectral description of device behavior, there are
+extra options in mpplu to describe how to convert spectral values into
+CIE tristimulus values.<br>
+Some additional functionality is included in mpplu, analogous to <a
+ href="iccgamut.html"> iccgamut</a>, allowing gamut files and images to
+be generated from MPP profiles.<br>
+<br>
+The <b>-v</b> flag causes extra information about the profile to be
+printed.<br>
+<br>
+The <b>-f</b> flag is experimental, and should be ignored.<br>
+<br>
+Normally L*a*b* is displayed, but this can be changed using the the <b>-p</b>
+flag and XYZ, Yxy, or spectral values to be be displayed.<br>
+<br>
+If an illuminant, observer or Fluorescent Whitening Agent compensation
+is selected, then the CIE tristimulus values will be computed from the
+spectral information in the MPP profile (if present).<br>
+<br>
+The <b>-l</b> flag overrides any default ink limit (Total Area
+Coverage) recorded in the profile. The ink limit has an effect on the
+results of a gamut
+generated from the profile.<br>
+<br>
+The <b>-i</b> flag allows specifying a standard or custom illumination
+spectrum, applied to reflective spectral profile data to compute CIE
+tristimulus
+values. <b>A</b>, <b>D50</b>, <b>D65</b>, <b>F5</b>, <b>F8</b>, <b>F10</b>
+are a selection of standard illuminant spectrums, with <b>D50</b>
+being the
+default. If a filename is specified instead, it will be assumed to be
+an
+Argyll specific <a href="File_Formats.html#.sp">.sp</a> spectrum file.<br>
+<br>
+<a name="o"></a> The <b>-o</b> flag allows specifying a tristimulus
+observer, and is used to compute PCS (Profile Connection Space)
+tristimulus values. The following choices are available:<br>
+<b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree observer.
+The default.<br>
+&nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree observer.<br>
+&nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+observer<br>
+&nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree observer<br>
+&nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+observer<br>
+<br>
+The <b>-u</b> flag enables Fluorescent Whitening Agent compensation,
+which compensates for the effect a different illuminant will have, on
+any Fluorescent Whitening Agent present in the reflective media.<br>
+<br>
+The <b>-g</b> flag causes mpplu to simply generate a gamut surface
+description from the profile, creating a <a
+ href="File_Formats.html#.gam">.gam</a> file with the same base name as
+the given profile.<br>
+<br>
+The <b>-w</b> flag causes the gamut surface to be generated in <a
+ href="File_Formats.html#VRML">VRML</a> format
+as well as <a href="File_Formats.html#.gam">.gam</a> format.<br>
+<br>
+<small><span style="font-family: monospace;">The <span
+ style="font-weight: bold;">-n</span> flag suppresses the VRML axes.<br>
+<br>
+The <span style="font-weight: bold;">-a</span> <span
+ style="font-weight: bold;">n</span> parameter sets a transparency
+level in the VRML surface.</span></small><br>
+<br>
+The <b>-d</b> parameter controls the level of detail displayed in the
+gamut surface. The parameter roughly corresponds to a deltaE value, so
+smaller values give greater detail. The default value is around 10, and
+is a good place to start. Small values may take a lot of time to
+generate, and will produce big files.<br>
+<br>
+The <b>-t</b> parameter invokes special MPP test and diagnostic output.<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/mppprof.html b/doc/mppprof.html
new file mode 100644
index 0000000..5446451
--- /dev/null
+++ b/doc/mppprof.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>mppprof</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>profile/mppprof</b></h2>
+<h3>Summary</h3>
+Create a Model Printer Profile (<a href="File_Formats.html#MPP">MPP</a>)
+from the&nbsp;<a href="File_Formats.html#.ti3">.ti3</a> test data.<br>
+<h3>Usage summary</h3>
+<small><span style="font-family: monospace;">mppprof [options] outfile</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose mode</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-q [lmhs]&nbsp;&nbsp;
+Quality - Low, Medium (def), High, Simple</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-l limit&nbsp;&nbsp;&nbsp;
+override default ink limit, 1 -
+n00%</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Generate spectral model too</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Generate ink mixing model</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verify profile<br>
+&nbsp;-L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Output
+Lab values<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;</span><i
+ style="font-family: monospace;">inoutfile</i><span
+ style="font-family: monospace;">&nbsp;&nbsp; Base name for input</span><a
+ style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">/output.</span><a
+ style="font-family: monospace;" href="File_Formats.html#MPP">MPP</a><span
+ style="font-family: monospace;"> file</span></small><br>
+<h3>Usage Details and Discussion</h3>
+This is an analogous tool to&nbsp;<a href="colprof.html">colprof</a>,
+but applying to
+<a href="File_Formats.html#MPP">MPP</a> profiles, rather than <a
+ href="File_Formats.html#ICC">ICC</a> profiles. This tool creates an
+MPP profile given the <a href="File_Formats.html#.ti3">.ti3</a> test
+chart information. The model based device profile is an Argyll specific
+format, used to hold the parameters to a general model based device
+characterization.
+This is a less precise and general format than and ICC profile, but is
+a compact way of representing a devices response when it has a large
+number
+of color channels, or when very few measured data points are available
+for its construction.<br>
+<br>
+The <b>-v</b> flag causes extra information to be printed as the
+profile is being created, including the delta E statistics for the test
+data fit against the profile.<br>
+<br>
+The <b>-q</b> parameter sets the level of effort and hence quality in
+the resulting profile. Different quality profile use different numbers
+of
+model parameters.<br>
+&nbsp;&nbsp;&nbsp; <b>s &nbsp; &nbsp; &nbsp;</b>simple - use a close
+variation
+of the Neugenbauer model, with a single parameter, per device
+linearisation curve.<br>
+&nbsp;&nbsp;&nbsp; <b>l</b> &nbsp;&nbsp; &nbsp; &nbsp;low quality
+profiles
+have more detail terms to account for device linearisation.<br>
+&nbsp;&nbsp;&nbsp; <b>m</b> &nbsp; &nbsp; medium quality profiles, add
+color channel cross mixing terms, as well as using more detail
+parameters.<br>
+&nbsp;&nbsp;&nbsp; <b>h</b> &nbsp;&nbsp; &nbsp; high quality profiles,
+use more detail terms and more profile refinement iterations.<br>
+<br>
+The <b>-l</b> flag overrides any default ink limit (Total Area
+Coverage) recorded in the .ti3 file.<br>
+<br>
+The <b>-s</b> flag enables the creation of spectral model values, as
+well as the tri-stimulus model.<br>
+<br>
+The <b>-m</b> flag is currently not implemented.<br>
+<br>
+The <b>-y</b> flag causes each test value and its error to be printed.<br>
+<br>
+The <b>-L</b> flag causes the CGATS output file to contain D50 L*a*b*
+parameters rather than XYZ.<br>
+<br>
+The <i>inoutfile</i> parameters should be the base name of the .ti3
+file, and mppprof will output an mpp that has the same basename and the
+.mpp extension.<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/oeminst.html b/doc/oeminst.html
new file mode 100644
index 0000000..7334d8d
--- /dev/null
+++ b/doc/oeminst.html
@@ -0,0 +1,323 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>oeminst</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/oeminst</b></h2>
+ <h3>Summary</h3>
+ A special purpose tool that installs various Instruments
+ Manufacturers support files to enable various instrument operations
+ when used with Argyll, as well as install colorimeter calibration
+ and spectral sample files so that they appear in the display type
+ list (<b>-y</b> option).<br>
+ For the Spyder 2, it can install the instrument manufacturers PLD
+ firmware pattern, which is necessary for it to operate.<br>
+ For the Spyder 4, it can enable the full range of manufacturers
+ colorimeter calibration selections, as well as install CCSS files.<br>
+ For the eye-one display 3 it can&nbsp; locate and translate X-Rite
+ .EDR files to CCSS files and install them to enable a full range of
+ colorimeter calibration selections, as well as install CCSS files.<br>
+ For all colorimeters it can install CCMX files make for that model
+ of colorimeter.<br>
+ <h3>Usage summary<br>
+ </h3>
+ <small><span style="font-family: monospace;">oeminst [-options] [<span
+ style="font-style: italic;">inputfile</span></span>s]<span
+ style="font-family: monospace;"></span></small><br>
+ <span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+ Verbose</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+ Don't install, show where files would be installed</span><br>
+ <span style="font-family: monospace;">&nbsp;-c
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+ Don't install, save files to current directory</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-S
+ d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+ Specify the install scope u = user (def.), l = local system]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;infile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+ setup.exe CD install file(s) or .dll(s) containing install files</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;infile.[edr|ccss|ccmx]&nbsp;
+
+
+
+
+
+
+
+
+ EDR file(s) to translate and install or CCSS or CCMX files to
+ install</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+ </span><small><span style="font-family: monospace;">If no file is
+ provided, oeminst will look for the install CD.</span></small>
+ <h3></h3>
+ <h3>Flags and Parameters</h3>
+ The <span style="font-style: italic;">inputfiles</span> arguments
+ are optional, and and can be used to specify the MSWindows setup.exe
+ file from the installation CD or other files to install. If files
+ are specified, then they can be any combination of the setup.exe
+ file, .dll libraries that contain the files to be installed, or
+ X-Rite .edr files to convert or the equivalent to an Argyll .ccss
+ files, or<br>
+ .ccss or .ccmx files created using <a href="ccxxmake.html">ccxxmake</a>.<br>
+ <br>
+ The <b>-v</b> flag enables verbosity. This may be of use in
+ figuring out what went wrong if it doesn't work, and where files
+ have been installed.<br>
+ <br>
+ The <span style="font-weight: bold;">-n</span> flag causes oeminst
+ to show where the files would be installed or saved to, rather than
+ actually doing it.<br>
+ <br>
+ The <span style="font-weight: bold;">-c</span> flag causes oeminst
+ to save the files to the current directory, rather than the install
+ location.<br>
+ <br>
+ The <span style="font-weight: bold;">-S</span> option allows
+ installing the file(s) in a local system location, rather than the
+ default user accessible location. With this option you may need to
+ run this as superuser using the "sudo" command on OS X and Linux
+ systems.<span style="font-weight: bold;"><span style="font-weight:
+ bold;"><span style="font-weight: bold;"></span></span></span><br>
+ <h3>Usage Details and Discussion</h3>
+ <p>The <span style="font-weight: bold; text-decoration: underline;">Spyder
+
+
+
+
+
+
+
+
+
+ 2</span> instrument cannot function without the presence of the
+ instrument vendors PLD firmware pattern for the device. This
+ firmware is not provided with Argyll, since it has not been made
+ available under a compatible license.<br>
+ <br>
+ The purchaser of a Spyder 2 instrument should have received a copy
+ of this firmware along with their instrument from the original
+ vendor, and <span style="font-weight: bold;">oeminst</span>
+ enables their instrument, by locating the firmware in the users
+ copy of the instrument install files.<br>
+ <br>
+ On Microsoft Windows or Apple OS X platforms, <span
+ style="font-weight: bold;">oeminst</span> will look to see if
+ the vendors drivers have been installed on the users machine, and
+ locate the firmware pattern from there. If the vendors drivers
+ have not been installed, or the user does not wish to install
+ them, or no vendors drivers are available for the users platform
+ (i.e. Linux), then <span style="font-weight: bold;">oeminst</span>
+ will also attempt to locate the Spyder 2 installation CDROM, and
+ make use of the firmware pattern from there.<br>
+ <br>
+ If the instrument firmware pattern is successfully located, then
+ oeminst will create a <span style="font-weight: bold;">spyd2PLD.bin</span>
+ file in a subdirectory of the users home directory, or if the <span
+ style="font-weight: bold;">-S l</span> option is used, will
+ store it in a system wide location. (the <a
+href="http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html">XDG
+
+
+
+
+
+
+
+
+
+ Base Directory specifications</a> are used as a basis for
+ storing the file). Programs that access instruments such as&nbsp;
+ <span style="font-weight: bold;">spotread</span>, <span
+ style="font-weight: bold;">dispcal</span> and <span
+ style="font-weight: bold;">dispread</span>, can then locate and
+ load the firmware into the instrument.<br>
+ <br>
+ <span style="font-weight: bold;">Note</span> that the <span
+ style="font-weight: bold;">spyd2PLD.bin</span> file created by
+ oeminst contains the proprietary and copyrighted firmware provided
+ by the instrument vendor, and while the vendor has provided the
+ firmware to the end user to facilitate the use of their purchased
+ instrument, the instrument vendor (typically) does not permit the
+ user to distribute such a file or make copies for purposes other
+ than making use of their own instrument.<br>
+ </p>
+ <p><br>
+ The <span style="font-weight: bold; text-decoration: underline;">Spyder
+
+
+
+
+
+
+
+
+
+ 4</span> instrument does not have the full range of vendor
+ instrument calibration options without the presence of the
+ instrument vendors calibration information for the device. This
+ calibration information is not provided with Argyll, since it has
+ not been made available under a compatible license.<br>
+ <br>
+ The purchaser of a Spyder 4 instrument should have received a copy
+ of this calibration information along with their instrument from
+ the original vendor, and <span style="font-weight: bold;">oeminst</span>
+ enables the full range of calibration choice for their instrument,
+ by locating the necessary information in the users copy of the
+ instrument install files.</p>
+ <p>On Microsoft Windows or Apple OS X platforms, <span
+ style="font-weight: bold;">oeminst</span> will look to see if
+ the vendors drivers have been installed on the users machine, and
+ locate the calibration information from there. If the vendors
+ drivers have not been installed, or the user does not wish to
+ install them, or no vendors drivers are available for the users
+ platform (i.e. Linux), then <span style="font-weight: bold;">oeminst</span>
+ will also attempt to locate the Spyder 4 installation CDROM, and
+ make use of the calibration information from there.</p>
+ <br>
+ <span style="font-weight: bold;"></span>The <span
+ style="font-weight: bold; text-decoration: underline;">i1d3</span>
+ family of instruments can make use of display specific spectral
+ calibration information, which improves their accuracy when used on
+ displays of a similar type. The manufacturer provides 5 of these <b>.edr</b>
+ calibration files that cover various projectors and LCD displays
+ with the instrument on the install CD. The <span
+ style="font-weight: bold;">oeminst</span> utility allows you to
+ translate these files into Argyll <span style="font-weight: bold;">CCSS</span>
+ format, and install them where the measurement tools can
+ automatically find them, so that they can be selected using the <span
+ style="font-weight: bold;">-y</span> option.<br>
+ Also provided with Argyll in the ref directory is <span
+ style="font-weight: bold;">CRT.ccss</span> to cover CRT type
+ displays. <span style="font-weight: bold;">oeminst</span> allows
+ this file to be installed too.<br>
+ <br>
+ On Microsoft Windows or Apple OS X platforms, <span
+ style="font-weight: bold;">oeminst</span> will look to see if the
+ manufacturers files have been installed on the users machine, and
+ locate them from there. If the manufacturers files have not been
+ installed, or the user does not wish to install them, or no
+ manufacturers installation is available for the users platform (i.e.
+ Linux), then <span style="font-weight: bold;">oeminst</span> will
+ also attempt to locate the i1d3 installation CDROM, and make use of
+ the .edr files from there.<br>
+ <br>
+ If the .edr files are successfully located, then oeminst will
+ translate them to .ccss files and copy them into a <span
+ style="font-weight: bold;"></span> subdirectory of the users home
+ directory, or if the <span style="font-weight: bold;">-S l</span>
+ option is used, will store it in a system wide location. (the <a
+href="http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html">XDG
+
+
+
+
+
+
+
+
+
+
+ Base Directory specifications</a> are used as a basis for storing
+ the file). Programs that access instruments such as&nbsp; <span
+ style="font-weight: bold;">spotread</span>, <span
+ style="font-weight: bold;">dispcal</span> and <span
+ style="font-weight: bold;">dispread</span>, can then locate and
+ list the installed .ccss as possible choices for the <span
+ style="font-weight: bold;">-y</span> option.<br>
+ <br>
+ You can also install <b>CCSS</b> and <b>CCMX</b> files that you
+ have created using <a href="ccxxmake.html">ccxxmake</a>, and these
+ will then be listed and selected as a display type selection using
+ the <b>-y</b> option of the utilities that access colorimeter
+ devices. Note that <b>CCMX</b> selections will only show up for the
+ colorimeter model that they were created for.<br>
+ <br>
+ If you are going to use the same CCSS or CCMX file all the time,
+ then you may want to set the <a
+ href="file:///D:/src/argyll/doc/Environment.html">ARGYLL_COLMTER_CAL_SPEC_SET</a>
+ environment variable.<br>
+ <br>
+ <br>
+ To allow <span style="font-weight: bold;">oeminst</span> to install
+ files from the CDROM, it should be in a CD drive prior to running
+ oeminst. If your Linux system is not running automount, or your
+ automount is setup to mount CDROM's somewhere other than <span
+ style="font-style: italic;">/media</span>,<span style="font-style:
+ italic;"> /mnt/cdrom</span>, <span style="font-style: italic;">/media/cdrom</span>
+ or <span style="font-style: italic;">/cdrom</span>, then you will
+ have to mount the CDROM manually, and give oeminst the path to the
+ CDROM setup/setup.exe file as the argument <span style="font-style:
+ italic;">inputfile</span>.<span style="font-weight: bold;"><br>
+ <br>
+ NOTE </span>that under <span style="font-weight: bold;">OS X
+ 10.6</span> (Snow Leopard) and latter, you may need to run oeminst
+ as root to be able to mount the CDROM's ISO partition. The simplest
+ way of doing this is to use the "sudo" commands. e.g. "sudo
+ oeminst", which will then ask you to enter the root password.<br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/printcal.html b/doc/printcal.html
new file mode 100644
index 0000000..89264c5
--- /dev/null
+++ b/doc/printcal.html
@@ -0,0 +1,399 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>printcal</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme W. Gill">
+ </head>
+ <body>
+ <h2> profile/printcal</h2>
+ <h3>Summary</h3>
+ Create a printer linearization calibration file from <a
+ href="File_Formats.html#.ti3">.ti3</a> test chart patch values.<br>
+ <h3>Usage Summary</h3>
+ &nbsp;<span style="font-family: monospace;">printcal</span><small
+ style="font-family: monospace;"> [-<i>options</i>] [prevcal]
+ inoutfile<br>
+ &nbsp;<a href="#v">-v verbosity</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Set verbosity level<br>
+ </small><small style="font-family: monospace;">&nbsp;<a href="#p">-p</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; Plot graphs.<br>
+ &nbsp;<a href="#i">-i</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+ &nbsp; &nbsp; &nbsp;&nbsp; Initial calibration, set targets,
+ create .cal<br>
+ </small><small style="font-family: monospace;">&nbsp;<a href="#r">-r</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; Re-calibrate against previous .cal and create new
+ .cal</small><br style="font-family: monospace;">
+ <span style="font-family: monospace;"></span><small
+ style="font-family: monospace;">&nbsp;<a href="#e">-e</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+
+ &nbsp; &nbsp;&nbsp; Verify against previous .cal<br>
+ </small><small style="font-family: monospace;">&nbsp;<a href="#I">-I</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; Create imitation target from .ti3 and null
+ calibration</small><br>
+ <small style="font-family: monospace;">&nbsp;<a href="#d">-d</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; Go through the motions but don't write any files</small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#A">-A "manufacturer"</a><span
+ style="font-family: monospace;">&nbsp; Set the manufacturer
+ description string</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#M">-M "model"</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set the model
+ description string</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#D">-D "description"</a><span
+ style="font-family: monospace;">&nbsp;&nbsp; Set the profile
+ Description string </span><br style="font-family: monospace;">
+ <tt>&nbsp;</tt><tt><a href="#C">-C "copyright"</a></tt><tt>
+ &nbsp;&nbsp;&nbsp; Set the copyright string</tt><tt><br>
+ </tt><tt> </tt><tt>&nbsp;</tt><tt><a href="#x">-x# percent</a></tt><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set
+initial
+
+ maximum device % target (override auto)</tt><tt><br>
+ </tt></small><small><span style="font-family: monospace;"><small>&nbsp;<a
+ href="#m">-m# percent</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ Set initial dev target to % of auto maximum<br>
+ </small>&nbsp;<a href="#n">-n# deltaE</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set initial white
+ minimum deltaE target<br>
+ &nbsp;<a href="#t">-t# percent</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set
+initial
+
+ 50% transfer curve percentage target<br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; # = c, r,
+ 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; First channel</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+m,
+g,
+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ Second channel</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+y,
+b,
+2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ Third channel</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+k,&nbsp;&nbsp;&nbsp;
+3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Fourth
+
+ channel, etc.<br>
+ &nbsp;<a href="#a">-a</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Create
+an
+
+ Adobe Photoshop .AMP file as well as a .cal<br
+ style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p1">prevcal</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Base
+name
+
+ of previous .cal file for recal or verify.</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p2">inoutname</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Base
+name
+
+ of input .ti3 file, output .cal file</span><br>
+ </span><span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span><span style="font-family: monospace;"></span></small><br>
+ <h3>Options<br>
+ </h3>
+ <b><a name="v"></a>-v</b>&nbsp; Turn on verbose mode. Gives progress
+ information as the calibration is created. An argument greater than
+ 1 increases the verbosity. Will also report the ideal power value to
+ apply to the test chart in targen.<br>
+ <br>
+ <a name="p"></a><span style="font-weight: bold;">-p</span> Turns on
+ plot mode. This causes various graphs to be plotted as the
+ calibration is created. The channels will be plotted in the graph
+ colors: Blue, Red, Yellow, Black, Green, Purple, Brown, Orange,
+ Grey, White.<br>
+ <br>
+ <a name="i"></a><span style="font-weight: bold;">-i</span> Select
+ initial calibration mode. Initial calibration mode allows setting
+ the targets for the calibration, such as maximum device percentage,
+ minimum white level, and the transfer curve shape. The second last
+ parameter <span style="font-weight: bold;"><span
+ style="font-weight: bold;"></span>prevcal</span> is not used in
+ this mode.<br>
+ <br>
+ <a name="r"></a><span style="font-weight: bold;">-r</span> Turns on
+ re-calibration mode. This is used for calibrations after the initial
+ one, where the aim is to return the devices response to the same
+ state as it was after the initial caibration. Parameters that affect
+ the calibration targets are ignored. The second last parameter <span
+ style="font-weight: bold;"><span style="font-weight: bold;"></span>prevcal</span>
+ is used to establish what the targets for the calibration are.<br>
+ <br>
+ <a name="e"></a><span style="font-weight: bold;">-e</span> Turns on
+ verify mode. In this mode the test chart input is verified agains
+ the expected response in the <span style="font-weight: bold;"><span
+ style="font-weight: bold;"></span>prevcal</span> file.<br>
+ <br>
+ <a name="I"></a><span style="font-weight: bold;">-I</span> Similar
+ to <span style="font-weight: bold;">-i</span>, except that rather
+ than creating a linear target curve and corresponding calibration,
+ it takes the given behaviour as an absolute target and create a
+ corresponding null set of calibration curves. This .cal can then be
+ used to recalibrate a similar device (or the same device at some
+ other time) to imitate the behaviour of the initial device. The
+ second last parameter <span style="font-weight: bold;"><span
+ style="font-weight: bold;"></span>prevcal</span> is not used in
+ this mode. Parameters that affect the calibration targets are
+ ignored.<br>
+ <br>
+ <a name="d"></a><span style="font-weight: bold;">-d</span> Disables
+ the writing of any files, causing printcal to go through the motions
+ without changing anything.<br>
+ <br>
+ <a name="A"></a>The <b>-A</b> parameter allows setting of the
+ device manufacturer description string in the calibration file. The
+ parameter should be a string that identifies the manufacturer of the
+ device being profiled. With most command line shells, it will be
+ necessary to enclose the parameter with double quotes, so that
+ spaces and other special characters are included in the parameter,
+ and not mistaken for the start of another flag or as a final command
+ line parameters. By default no device manufacturer description
+ string will be put in the calibration file.<br>
+ <br>
+ <a name="M"></a>The <b>-M</b> parameter allows setting of the
+ device mode description string in the calibration file. The
+ parameter should be a string that identifies the particular model of
+ device being profiled. With most command line shells, it will be
+ necessary to enclose the parameter with double quotes, so that
+ spaces and other special characters are included in the parameter,
+ and not mistaken for the start of another flag or as a final command
+ line parameters. By default no model description string will be put
+ in the calibration file.<br>
+ <br>
+ <a name="D"></a>The <b>-D</b> parameter allows setting of the
+ profile description string in the calibration file. The parameter
+ should be a string that describes the device and profile. On many
+ systems, it will be this string that will be used to identify the
+ profile from a list of possible profiles. With most command line
+ shells, it will be necessary to enclose the parameter with double
+ quotes, so that spaces and other special characters are included in
+ the parameter, and not mistaken for the start of another flag or as
+ a final command line parameter. By default no profile description
+ string will be put in the calibration file.<br>
+ <br>
+ <a name="C"></a>The <b>-C</b> parameter allows setting of the
+ profile copyright string in the calibration file. The parameter
+ should be a string that describes the copyright (if any) claimed on
+ the profile being generated. With most command line shells, it will
+ be necessary to enclose the parameter with double quotes, so that
+ spaces and other special characters are included in the parameter,
+ and not mistaken for the start of another flag or as a final command
+ line parameters. By default no copyright string will be put in the
+ calibration file.<br>
+ <br>
+ <a name="x"></a> The <b>-x</b> parameter allows overriding the
+ default auto maximum device target value computed from the raw
+ device response for the initial calibration. The default uses a
+ heuristic to decide when the response of the device to each channels
+ colorant value reaches the point of diminishing returns, while the <span
+ style="font-weight: bold;">-x</span> parameter allows this default
+ to be overridden. The <span style="font-weight: bold;">-x</span>
+ paramater can be used multiple times, once for each channel that is
+ being set. The <span style="font-weight: bold;">-x</span> should be
+ followed by the channel number between 0 and 15, or the aliases <span
+ style="font-weight: bold;">r</span>, <span style="font-weight:
+ bold;">g</span> or <span style="font-weight: bold;">g</span>, or
+ <span style="font-weight: bold;">c</span>, <span
+ style="font-weight: bold;">m</span>, <span style="font-weight:
+ bold;">y</span> or <span style="font-weight: bold;">k,</span> and
+ the channel number should then be followed by the device value as a
+ percentage. <span style="font-weight: bold;">NOTE</span> that you
+ will probably get sub-optimal results if you force a device maximum
+ that is beyond the point of maximum response of a device channel,
+ since this will have the effect of <span style="text-decoration:
+ underline;">reducing</span> the device response. If you want to
+ set a conservative target to allow for recalibration later, see the
+ <b>-m</b> flag below.<br>
+ <br>
+ <a name="m"></a> The <b>-m</b> parameter allows modifying the
+ default auto maximum device target value for the initial
+ calibration. The auto maximum is computed as described above, and is
+ then scaled by the <b>-m</b> parameter value. Typically this will
+ be a scale down (ie. <b>90%</b>) to allow some margin to increase
+ the channel value if the channel density drops in a future
+ recalibration. Scaling the maximum down will reduce gamut, but
+ allows scope for stable behaviour using calibration. The <span
+ style="font-weight: bold;">-m</span> paramater can be used
+ multiple times, once for each channel that is being set. The <span
+ style="font-weight: bold;">-m</span> should be followed by the
+ channel number between 0 and 15, or the aliases <span
+ style="font-weight: bold;">r</span>, <span style="font-weight:
+ bold;">g</span> or <span style="font-weight: bold;">g</span>, or
+ <span style="font-weight: bold;">c</span>, <span
+ style="font-weight: bold;">m</span>, <span style="font-weight:
+ bold;">y</span> or <span style="font-weight: bold;">k,</span> and
+ the channel number should then be followed by the deltaE value.<span
+ style="font-family: monospace;"></span><br>
+ <br>
+ <a name="n"></a> The <b>-n</b> parameter allows overriding the
+ default minimum deltaE of a colorant to white of 0. This can be used
+ to set a minimum colorant level in order to emulate media darker or
+ of a different tint. The <span style="font-weight: bold;">-n</span>
+ paramater can be used multiple times, once for each channel that is
+ being set. The <span style="font-weight: bold;">-n</span> should be
+ followed by the channel number between 0 and 15, or the aliases <span
+ style="font-weight: bold;">r</span>, <span style="font-weight:
+ bold;">g</span> or <span style="font-weight: bold;">g</span>, or
+ <span style="font-weight: bold;">c</span>, <span
+ style="font-weight: bold;">m</span>, <span style="font-weight:
+ bold;">y</span> or <span style="font-weight: bold;">k,</span> and
+ the channel number should then be followed by the deltaE value.<span
+ style="font-family: monospace;"></span><br>
+ <br>
+ <a name="t"></a> The <b>-t</b> parameter allows setting a target
+ linearization curve that is other than purely visual linear. The
+ default is to create a calibration curve that results in a perfectly
+ even change in output for each change in the calibrated device
+ value, as measured by steps in delta E94. The <span
+ style="font-weight: bold;">-x</span> parameter allows setting a
+ target curve above or below the perfectly visual linear, by setting
+ the aim value at 50% input. An aim higher than 50% will cause that
+ channel to become more intense by the 50% mark, while a value lower
+ than 50% will cause the channel to become less intense by the 50%
+ mark than perfectly linear.The <span style="font-weight: bold;">-x</span>
+ should be followed by the channel number between 0 and 15, or the
+ aliases <span style="font-weight: bold;">r</span>, <span
+ style="font-weight: bold;">g</span> or <span style="font-weight:
+ bold;">g</span>, or <span style="font-weight: bold;">c</span>, <span
+ style="font-weight: bold;">m</span>, <span style="font-weight:
+ bold;">y</span> or <span style="font-weight: bold;">k,</span> and
+ the channel number should then be followed by the device value as a
+ percentage.<br>
+ <br>
+ <a name="a"></a><span style="font-weight: bold;">-a</span> Creates
+ an Adobe Photoshop <span style="font-weight: bold;">.AMP</span>
+ format curves file as well as a .cal.<br>
+ <span style="font-weight: bold;"></span><br>
+ <a name="p1"></a> The optional second last parameter is the file
+ base name for a previous <a href="File_Formats.html#CAL">.cal</a>
+ calibration file, used as the target reference for recalibrate and
+ verify modes. <br>
+ <br>
+ <a name="p2"></a> The final parameter is the file base name for the
+ <a href="File_Formats.html#.ti3">.ti3</a> input test point data, and
+ the resulting <a href="File_Formats.html#CAL">.cal</a> calibration
+ file output. <br>
+ <h3><a name="DISCUSSION"></a>Discussion</h3>
+ <span style="font-weight: bold;">Printcal</span> is a tool for
+ creating per device channel linearization curves for printing
+ devices.<br>
+ <br>
+ As input it takes a .ti3 file containing the results of printing a
+ test chart on the <span style="text-decoration: underline;">non-color
+
+ managed</span>, <span style="text-decoration: underline;">non-calibrated</span>
+ device, and measuring it. The test chart consists of step wedges for
+ each of the device primary colors, from the media white to full
+ individual colorant intensity.<br>
+ <br>
+ For the initial calibration (<span style="font-weight: bold;">-i</span>),
+the
+range
+
+ of device values to be used and the shape of the target
+ linearization curve are established, as well as creating the first
+ set of calibration curves. For subsequent re-calibrations (<span
+ style="font-weight: bold;">-r</span>), the calibration curves aim
+ to reproduce the same response as the original calibration. If a
+ test chart is printed with calibration enabled and then is measured,
+ it can be used to verify the calibration against the expected
+ response (<span style="font-weight: bold;">-e</span>).<br>
+ <br>
+ As each colorant steps through the test wedge patches from media
+ white, they trace out a measured locus in CIE L*a*b* colorspace.
+ Each channel response is evaluated by computing the CIE DeltaE to
+ media white of the response to a change in each individual channel
+ of each locus. This measure is used to determine when the devices
+ response to a colorant level is reaching diminishing returns,
+ setting a maximum colorant value. This measure can also be used to
+ set a minimum colorant value for the purposes of emulating a
+ different media color. The default maximum and minimum values for
+ each colorant can be overridden using the <span style="font-weight:
+ bold;">-x</span> and <span style="font-weight: bold;">-n</span>
+ parameters. The automatically determined maximum may be modified
+ (scaled) using the <b>-m</b> parameter, which can be useful in
+ allowing some margin for future calibrations to compensate for a
+ drop in density.<br>
+ <br>
+ The actual linearization uses a subtly different measure, which is
+ the CIE DelataE 94 along each colorant response locus, ensuring that
+ after linearization each step in colorant value is subjectively
+ even. The linearization aim can be altered from a purely linear
+ curve by using the <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-t</span></span> parameters.<br>
+ <br>
+ After the initial calibration, the device can be re-calibrated (<span
+ style="font-weight: bold;">-r</span>) by printing a calibration
+ test chart under the same conditions as the initial one, but with
+ the calibration aimed at reproducing the same response as the
+ initial calibration, rather that setting new targets.<br>
+ <br>
+ The calibration can be verified (<span style="font-weight: bold;">-e</span>)
+ by printing a calibration test chart on <span
+ style="text-decoration: underline;">non-color managed</span>, <span
+ style="text-decoration: underline;"></span>but calibrated device,
+ the verification evaluating any discrepancy between the device
+ response achieved, and the device response expected. For a numerical
+ evaluation the verbose flag (<span style="font-weight: bold;">-v</span>)
+ should be used, and for a visual evaluation the plot flag (<span
+ style="font-weight: bold;">-p</span>) should be used.<br>
+ <br>
+ If there are several devices of the same or similar model, then one
+ device can be used to set the initial calibration target, and then
+ the other devices can be re-calibrated against the same .cal file,
+ to create matching responses. An alternative to creating an initial
+ linear target for calibration, is to use the <span
+ style="font-weight: bold;">-I</span> option with an initial
+ device, which sets the initial target to be that devices absolute
+ response. Naturally the corresponding calibration will be linear
+ (null). The calibration target can then be used to later return that
+ device to its initial response, or to make another similar device
+ have the same response. Note though, that bad things will happen if
+ the imitated devices response is non-monotonic, or if on
+ re-calibration the device is unable to reach the same density
+ levels.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/printtarg.html b/doc/printtarg.html
new file mode 100644
index 0000000..5faab76
--- /dev/null
+++ b/doc/printtarg.html
@@ -0,0 +1,681 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>printtarg</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>target/printtarg</b></h2>
+ <h3>Summary</h3>
+ Create a PostScript (PS), Embedded PostScript (EPS) or Tagged Image
+ File Format (TIFF) file containing profile test patch values, ready
+ for printing.<br>
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">printtarg [options]
+ basename</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Verbose mode</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#i">-i 20 | 22 | 41 | 51 |
+ SS | i1 | CM</a><span style="font-family: monospace;"> Select
+ target instrument (default DTP41)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+20
+=
+DTP20,
+22
+=
+
+
+ DTP22, 41 = DTP41, 51 = DTP51, SS = SpectroScan,<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ i1 = i1Pro, CM = ColorMunki</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#a">-a scale</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Scale
+patch
+and
+spacer
+size
+
+
+ by factor (e.g. 0.857 or 1.5 etc.)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#A">-A scale</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Scale
+spacer
+size
+by
+additional
+
+
+ factor (e.g. 0.857 or 1.5 etc.)</span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#h">-h</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Use hexagon patches for SS, double density for CM</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#r">-r</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Don't randomize patch location</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#s">-s</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Create
+a
+scan
+image
+recognition
+
+
+ (.cht) file</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#S">-S</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Same
+as
+-s,
+but
+don't
+
+
+ generate wide orientation strip.</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Force colored spacers</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#b">-b</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Force B&amp;W spacers</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#n">-n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Force no spacers</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#f">-f</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Create PostScript DeviceN Color fallback</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#w">-w g|r|s|n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ White colorspace encoding DeviceGray (def), DeviceRGB,
+ Separation or DeviceN</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#k">-k g|c|s|n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Black colorspace encoding DeviceGray (def), DeviceCMYK,
+ Separation or DeviceN<br>
+ &nbsp;<a href="#o">-o k|n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ CMY colorspace encoding DefiveCMYK (def), inverted DeviceRGB or
+ DeviceN<br style="font-family: monospace;">
+ </span> <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#e">-e</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Output EPS compatible file<br>
+ &nbsp;<a href="#t">-t [res]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Output
+8
+bit
+TIFF
+raster
+
+
+ file, optional res DPI (default 200)<br>
+ &nbsp;<a href="#T">-T [res]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Output
+16
+bit
+TIFF
+raster
+
+
+ file, optional res DPI (default 200)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;<a
+ href="#C">-C</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Don't use TIFF compression</span></small><br>
+ <small><span style="font-family: monospace;">&nbsp;<a href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+TIFF
+alpha
+N
+channels
+
+
+ more than 4<br>
+ &nbsp;<a href="#D">-D</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Dither 8 bit TIFF values down from 16 bit<br>
+ &nbsp;<a href="#Q">-Q nbits</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Quantize
+test
+values
+to
+fit
+
+
+ in nbits<br>
+ </span></small><small style="font-family: monospace;">&nbsp;<span
+ style="text-decoration: underline;">-</span><a href="#K">K
+ file.cal</a>&nbsp;&nbsp;&nbsp;&nbsp; Apply printer calibration
+ to patch values and include in .ti2<br>
+ &nbsp;<a href="#I">-I file.cal</a>&nbsp;&nbsp;&nbsp;&nbsp; Include
+ calibration in .ti2 (but don't apply it)<br style="font-family:
+ monospace;">
+ </small><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#R">-R rsnum</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Use given random start number</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#x">-x pattern</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Use given strip indexing pattern (Default = "A-Z, A-Z")</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#y">-y pattern</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Use given patch indexing pattern (Default = "0-9,@-9,@-9;1-999")</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#m">-m margin</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set
+
+
+ a page margin in mm (default 6.0 mm)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#M">-M margin</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ </span></small><small><span style="font-family: monospace;">Set a
+ page margin in mm and include it in TIFF</span><span
+ style="font-family: monospace;"></span></small><br>
+ <small><span style="font-family: monospace;">&nbsp;<a href="#P">-P</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Don't limit strip length</span></small><br>
+ <small><span style="font-family: monospace;">&nbsp;<a href="#L">-L</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Suppress
+any
+left
+paper
+clip
+
+
+ border<br style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p size</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Select page size from:</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+A4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ [210.0 x 297.0 mm]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+A4R&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ [297.0 x 210.0 mm]<br>
+ &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+A3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ [297.0 x 420.0 mm] (default)<br>
+ &nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ A2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [420.0 x 594.0 mm]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Letter&nbsp;&nbsp; [215.9 x 279.4 mm]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LetterR&nbsp; [279.4 x
+ 215.9 mm]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+
+ &nbsp; &nbsp;&nbsp;&nbsp; Legal&nbsp;&nbsp;&nbsp; [215.9 x 355.6
+ mm]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+
+ &nbsp;&nbsp; 4x6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [101.6 x 152.4
+ mm]<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+11x17&nbsp;&nbsp;&nbsp;
+
+
+ [279.4 x 431.8 mm]<br style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#pp">-p WWWxHHH</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Custom size, WWW mm wide by HHH mm high<br>
+ </span></small><small style="font-family: monospace;"></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span>&nbsp; <span
+ style="font-family: monospace;"></span><a style="font-family:
+ monospace;" href="#p1"><i>basename</i></a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ Base name for input(</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti1">.ti1</a><span style="font-family:
+ monospace;">), output(</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti2">.ti2</a><span style="font-family:
+ monospace;">) and output(.ps/.eps/.tif)</span></small><br>
+ <h3>Usage Details and Discussion</h3>
+ <b> printtarg</b> is used to generate a PostScript or TIFF print
+ file from device test values in a .ti1 file. It output both a
+ PostScript/EPS/TIFF file, and a .ti2 file containing the device test
+ values together with the layout information needed to identify the
+ patch location. This module can also generate the image recognition
+ templates needed to read the print targets in using a scanner.<br>
+ <br>
+ <a name="v"></a> The <b>-v</b> flag turns on verbose mode. Prints
+ information about how many patches there are in a row, how many
+ patches in a set,&nbsp; and how many pages will be generated. Good
+ for figuring out what the magic number of patches should be for a
+ particular page size.<br>
+ <br>
+ <a name="i"></a> The <b>-i</b> parameter should be used to tell
+ printtarg which instrument it should lay the patches out for. Each
+ instrument has a slightly different requirement, and will lead to a
+ different number of patches ending up on a particular page size. For
+ a generic type of chart, try <span style="font-weight: bold;">SS</span>.<br>
+ <br>
+ <a name="a"></a><a name="A"></a> <span style="font-weight: bold;">-a,
+-A:
+
+
+ </span>Normally, <b>printtarg</b> prints test patches that are the
+ minimum size that can be reliably and accurately read by the
+ instrument.&nbsp; For some media, it might be desirable to use test
+ patches that are larger than this minimum (e.g. if the media has
+ poor registration, gets physically distorted in the print production
+ process, or if it has a coarse screen, and there are few samples per
+ patch), and the <span style="font-weight: bold;">-a</span> flag
+ should be given an argument greater than 1.0 to increase the patch
+ length, patch width, and spacer size between patches, if it is
+ appropriate for the type of instrument. A value of 1.5 would make
+ the patch 50% larger for instance. For the strip reading instruments
+ the patch is made longer, the strip spacing remaining the same,
+ while for XY scanning instruments, both the width and height will be
+ increased. If a value less than 1.0 is given as an argument, then
+ the patches will be made smaller. For instance, using the
+ SpectroScan instrument it is possible to reduce the test patches to
+ 6mm rather than the default 7mm by supplying an argument of 0.857.
+ Note that this make lining up of the scan head very critical, and
+ increases the amount of bleed through from adjacent squares. For an
+ instrument that needs color spacers between patches, <span
+ style="font-weight: bold;">-a scale</span> also scales the spacer
+ length. For some situations, this may be insufficient, and the&nbsp;<span
+ style="font-weight: bold;"> -A scale</span> option can be used to
+ additionally scale the spacer length.<br>
+ Note that the for the <span style="font-weight: bold;">DTP20</span>
+ only <span style="font-weight: bold;">-a </span>values of 1.0,
+ 1.08, 1.54, 1.92, 2.0 and that the patch width will be made no
+ smaller than its length.<br>
+ <br>
+ <a name="h"></a> Normally, <b>printtarg</b> creates a regular grid
+ of test patches, but for instruments that support arbitrary X, Y
+ addressing (such as the SpectroScan). For the <span
+ style="font-weight: bold;">SpectroScan</span> it can also create a
+ chart using regular hexagonal patches, allowing more patches to be
+ fitted into a single sheet if the <span style="font-weight: bold;">-h</span>
+ flag is used.&nbsp; For the <span style="font-weight: bold;">ColorMunki</span>
+ instrument, <span style="font-weight: bold;">-h</span> doubles the
+ normal number of patches is printed by halving the row width. The
+ patches are also staggered to improve the detection of a poor scan.<br>
+ <br>
+ <a name="r"></a> Normally, <b>printtarg</b> randomizes the patch
+ locations, which helps strip reading instruments detect patch
+ boundaries and the direction the strip was read in, as well as being
+ able to detect incorrect strips being fed into strip reading
+ instruments, and also assists in randomizing any systematic printing
+ errors introduced into the test chart due to print engine
+ unevenness, inkjet banding, or printing press ink key settings etc.
+ The <b>-r</b> flag turns this off, and lays the test squares out in
+ the order the values appear in, in the .ti1 file. Note that if you
+ turn this off you probably want to <a href="chartread.html#B">disable
+
+
+ bi-directional</a> strip reading in instruments such as the i1pro.<br>
+ <br>
+ <a name="s"></a> The <b>-s</b> flag does two things. One is that it
+ causes printtarg to output a chart recognition file (<a
+ href="File_Formats.html#.cht">.cht</a>) so that <a
+ href="scanin.html"> scanin</a> can recognize the chart, and
+ convert rasterized patches into patch values, and the second is that
+ is expands the size of the leading row of patches by 50%, to help
+ make sure that each sheet can be oriented correctly by <a
+ href="scanin.html"> scanin</a>. <a name="S"></a>If <b>-S</b> is
+ used rather than <b>-s</b>, then the recognition chart will be
+ created, but the leading row will be the same size as all the other
+ rows.<br>
+ <br>
+ <a name="c"></a> For strip reading instruments, the contrast with
+ the spacers is important in ensuring that a reading will be
+ successful. Normally <span style="font-weight: bold;">printtarg</span>
+ ensures this by printing optimally contrasting colored spacers
+ between each measurement patch. The <b>-c</b> flag is therefore the
+ default behaviour. <a name="b"></a>If the <b>-b</b> flag is used,
+ then contrasting neutral colored spacers will be used, but these
+ generally work less reliably than colored spacers. <a name="n"></a>The
+
+ <b>-n</b> flag will cause spacers to be omitted, which may still
+ work with smaller numbers of test values when the patch selection is
+ randomized, but won't work successfully when a large number of test
+ points is being used (&gt;200), or when the patches are not
+ randomized in location.<br>
+ <br>
+ <a name="f"></a><b>-f</b>: When creating a test chart for more than
+ CMYK inks, a PostScript file normally contains color settings that
+ use the PostScript level 3 "Device N" color specifications. Such
+ color specifications have a "fallback" color, for PostScript
+ interpreters that don't handle Device N specifications. Such
+ fallback colors are normally set to a grayscale estimate of the
+ patch color, so that it is possible to tell if the PostScript
+ interpreter is not rendering the Device N values correctly. <a
+ name="f"></a>The <b>-f</b> flag, causes the fallback color to be
+ a color estimate of the Device N test patch color, which is useful
+ for diagnostic purposes.<br>
+ <br>
+ <a name="e"></a> The <b>-e</b> flag gives EPS output, rather than
+ PostScript, allowing the charts to be included in other
+ applications. Because EPS disallows the showpage command, multiple
+ EPS files will result for a multi-page test chart, each one having a
+ two digit number sequence in it's name, so if the input file name is
+ <span style="font-weight: bold;">chart</span>, then file <span
+ style="font-weight: bold;">chart.ti1</span> will be read, and file
+ <span style="font-weight: bold;">chart.ti2</span> written, together
+ with <span style="font-weight: bold;">chart.eps</span> if there is
+ only one page, or <span style="font-weight: bold;">chart_01.eps</span>,
+ <span style="font-weight: bold;">chart_02.eps</span>, etc. if there
+ is more than one page.<br>
+ <br>
+ <a name="t"></a><a name="T"></a><span style="font-weight: bold;">-t
+ [res], -T [res]</span> The <b>-t</b> flag gives TIFF raster
+ output rather than PostScript, allowing the charts to be printed to
+ systems that do not accept PostScript input. Because few systems
+ understand multi-page TIFF files, multiple TIFF files will result
+ for a multi-page test chart, each one having a two digit number
+ sequence in it's name, so if the input file name is <span
+ style="font-weight: bold;">chart</span>, then file <span
+ style="font-weight: bold;">chart.ti1</span> will be read, and file
+ <span style="font-weight: bold;">chart.ti2</span> written, together
+ with <span style="font-weight: bold;">chart.eps</span> if there is
+ only one page, or <span style="font-weight: bold;">chart_01.tif</span>,
+ <span style="font-weight: bold;">chart_02.tif</span>, etc. if there
+ is more than one page. By default the resolution of the chart will
+ be 100 Dots Per Inch (DPI), but this can be changed by providing an
+ optional DPI argument after the <span style="font-weight: bold;">-t</span>
+ or <span style="font-weight: bold;">-T</span> flag. If the <span
+ style="font-weight: bold;">-t</span> flag is used, than an 8 bit
+ per component TIFF file will be created. If the <span
+ style="font-weight: bold;">-T</span> flag is used, then a 16 bit
+ per component TIFF file will be created.<br>
+ <br>
+ <a name="C"></a><span style="font-weight: bold;">-C:</span> Normally
+ the TIFF files created will be compressed using LZW compression to
+ save space. Some systems may not support this compression, so it can
+ be disabled by using the <span style="font-weight: bold;">-C</span>
+ flag.<br>
+ <br>
+ <a name="N"></a><span style="font-weight: bold;">-N:</span> When
+ creating TIFF files with more than 4 colorants, the normal Separated
+ mode is used. Some systems don't cope well with extra colorants
+ presented in this manner, and the <span style="font-weight: bold;">-N</span>
+ flag causes all the channels greater than 4 to be labelled as
+ "Alpha" channels, which may be more palatable.<br>
+ <br>
+ <a name="D"></a><span style="font-weight: bold;">-D:</span> When
+ creating TIFF files with 8 bit output, dither the values to give
+ effective 16 bit precision. Note this is applied after any
+ quantization of the test values (see <a href="#Q">-Q</a>). Note
+ that this might interfere (i.e. give alias/moire patterns) in
+ printed output if the printer uses screening that happens to clash.
+ Note also that dithering is effectively linearly interpolating
+ between the 8 bit values using spatial averaging, and that therefore
+ the device response may also be a linear interpolation between its 8
+ bit output values, adding no effective extra precision to the device
+ measurement. <br>
+ <br>
+ <a name="Q"></a><span style="font-weight: bold;">-Q:</span> Normally
+ the target device values are floating point numbers that may get
+ rounded and quantized in the process of printing them or reproducing
+ them on the printing or display device. If some of this quantization
+ can be accounted for, it may improve the accuracy of the resulting
+ profile, and the <span style="font-weight: bold;">Q</span>
+ parameter allows this quantization to be specified. The parameter is
+ the number of binary digits (bits) that the device values should be
+ quantized to. In many systems the right value would be 8 bits. Note
+ that if 8 bit TIFF<span style="font-weight: bold;"></span> output is
+ selected (<span style="font-weight: bold;">-t</span>) without
+ dithering (no <span style="font-weight: bold;">-D) </span>that the
+ values will by default be quantized to 8 bits, and that if 16 bit
+ TIFF<span style="font-weight: bold;"></span> output is selected (<span
+ style="font-weight: bold;">-T</span>) or 8 bit TIFF with dithering
+ (<span style="font-weight: bold;">-D) </span>that the values will
+ by default be quantized to 16 bits.<br>
+ <br>
+ <a name="K"></a> The <b>-K file.cal</b> parameter specifies a
+ printer calibration file created by <a href="printcal.html">printcal</a>,
+ and the supplied calibration curves will be applied to the test
+ patch values. This allows profiling of a printing system that
+ doesn't natively support calibration. The calibration curves will
+ also be included in the resulting .ti2 file, so that they can be
+ passed through to .ti3 file and ICC profile, to allow accurate
+ computation of ink limits.<br>
+ <br>
+ <a name="I"></a> The <b>-I file.cal</b> parameter specifies a
+ printer calibration file created by <a href="printcal.html">printcal</a>,
+ and the calibration curves will be included in the included in the
+ resulting .ti2 file, so that they can be passed through to .ti3 file
+ and ICC profile, to allow accurate computation of ink limits. The
+ calibration <span style="font-weight: bold;">is not applied</span>
+ to the test patch values, but is assumed to be applied somewhere
+ else in the printing workflow when printing the profile test chart.<br>
+ <br>
+ <a name="R"></a> The <b>-R</b> parameter allows setting the random
+ layout seed. Normally the seed is chosen at random, but sometimes it
+ is useful to be able to generate a chart with the same layout, so a
+ specific seed can be specified this way. The seed (ID) used to
+ generate a chart is recorded in the .ti2 file, and is also in the
+ label printed on the right hand side of each chart.<br>
+ <br>
+ <a name="x"></a> The <b>-x</b> parameter allows specifying the
+ labelling sequence used for strips (e.g. the X axis of the chart).
+ By default this will be a character sequence A, B, C .. Z. AA, AB,
+ AC .. ZZ, but this can be changed by specifying an alternate
+ labelling sequence pattern. The pattern specifies the labelling
+ sequence as follows: First comes the definition of the symbols for
+ each digit location, least significant to most significant, each
+ digit separated by the ',' character. Note that space is a valid
+ character. The number of definitions declares the maximum number of
+ digits. For example, for a 2 digit numerical sequence: "0123456789,
+ 123456789" would define 0..99 with the most significant digit
+ suppressed when it is 0 (because it uses a space rather than 0).
+ Ranges can be used for brevity: "0-9, 1-9". As a special case, the
+ '@' character can be used to instead of '0' to indicate suppression
+ of the leading zero: "0-9,@-9". Leading ' ' characters in the
+ resulting generated sequence are omitted. Optionally following this
+ and delimited by a ';' character, are the definitions of valid
+ segments of the index sequence. For instance, to define the index
+ range to be 1..19, 30..39 one could use the pattern "0-9,
+ 1-9;1-19,30-39". Of course most of the time an alphabetic sequence
+ will be wanted, to distinguish it from the numerical sequence used
+ to number the patches in a strip. For a sequence A, B, C .. AA, AB,
+ AC etc. (the default used in Argyll), the following patter would be
+ used: "A-Z, A-Z". For a some ECI2002R charts that skip columns Y and
+ Z, and use a leading numeric digits for addressing strips over 26,
+ the following might be used: "A-Z, 2-9;A-X,2A-9Z".<br>
+ <br>
+ <a name="y"></a> The <b>-y</b> parameter allows specifying the
+ labelling sequence used for patches (e.g. the Y axis of the chart).
+ By default this will be a number sequence 1, 2, ..10, 11, ... 999,
+ but this can be changed by specifying an alternate labelling
+ sequence pattern. See the above description for the labelling
+ sequence encoding.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that the pattern chosen
+ for the X and Y axes of the chart must be distinguishable, e.g. if
+ they are both numbers or both letters then reading the chart will
+ fail.<br>
+ <br>
+ <a name="w"></a> The <b>-w</b> parameter changes how a white
+ colorspace test chart (ie. Additive Grey monochrome) will be
+ represented in the Postscript or TIFF output. The default is to use
+ the DeviceGray representation (<span style="font-weight: bold;">-wg</span>),
+
+ but Device RGB can also be used, where the R, G &amp;B values are
+ all set to the same value (<span style="font-weight: bold;">-wr</span>),
+
+ a <span style="font-weight: bold;">White</span> separation color
+ can be specified (<span style="font-weight: bold;">-ws</span>), or a
+ DeviceN <span style="font-weight: bold;">White</span> color can be
+ used (<span style="font-weight: bold;">-wn</span>).<br>
+ <br>
+ <a name="k"></a> The <b>-k</b> parameter changes how a black
+ colorspace test chart (ie. Subtractive Grey monochrome ) will be
+ represented in the Postscript or TIFF output. The default is to use
+ the DeviceGray representation (<span style="font-weight: bold;">-kg</span>),
+but
+Device
+CMYK
+can
+also
+
+
+ be used, where the CMY values are zero, and just the K channel is
+ used (<span style="font-weight: bold;">-kc</span>), a <span
+ style="font-weight: bold;">Black</span> separation color can be
+ specified (<span style="font-weight: bold;">-ks</span>), or a
+ DeviceN <span style="font-weight: bold;">Black</span> color can be
+ used (<span style="font-weight: bold;">-kn</span>).<br>
+ <br>
+ <a name="o"></a> The <b>-o</b> parameter changes how a CMY
+ colorspace test chart will be represented in the Postscript or TIFF
+ output. The default is to use the DeviceCMYK representation (<span
+ style="font-weight: bold;">-ok</span>) where the K value is always
+ zero, or inverted Device RGB (<span style="font-weight: bold;">-or</span>),
+ or as a 3 channel DeviceN colorsoace can be used (<span
+ style="font-weight: bold;">-on</span>).<br>
+ <br>
+ <a name="m"></a> The <b>-m</b> parameter sets the page margin for
+ all sides. If the printer has print margins larger than the default
+ assumed by <span style="font-weight: bold;">printtarg,</span> then
+ critical parts of the test chart may be cropped or scaled, and not
+ printed properly.<span style="font-weight: bold;"></span> Increasing
+ the margin from the default of 6 mm to 10 or 15 mm, may alleviate
+ this problem. (Note that the number of patches per page may be
+ reduced as a consequence.) Decreasing the margin below 6 mm may be
+ possible for printers that have smaller or no margins, increasing
+ the number of patches possible on each page. A TIFF chart raster
+ will be the size of the paper minus the margin, so that it can be
+ placed on a page that size without cropping or inadvertent scaling.<br>
+ <br>
+ <a name="M"></a> The <b>-M</b> parameter sets the page margin for
+ all sides the same as <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-m</span></span>, but for a TIFF
+ chart the margin will be <span style="font-weight: bold;">included</span>
+ in the raster, meaning that the TIFF will have to be printed&nbsp;
+ right to the edge of the paper, or on paper larger than the raster
+ size. (Having the raster be the full page size may be useful in
+ certain situations.)<br>
+ &nbsp; <br>
+ <a name="P"></a> The <b>-P</b> flag disables any normal limiting of
+ strip length that would normally be imposed due to guide or
+ instrument limitations. There is still an upper limit of around 500
+ patches or 2Meters though. Note that if you generate a strip larger
+ than the instrument can cope with, it may be unable to read the
+ strip.<br>
+ <br>
+ <a name="L"></a> The <b>-L</b> flag suppresses the left margin that
+ is added for instruments that have a paper holder that has a clip to
+ hold the chart in place, while it is being read. (Currently this is
+ only the Eye-One Pro).<br>
+ <br>
+ <a name="p"></a> The <b>-p</b> parameter specifies the paper size.
+ The size can either be one of the default sizes, <a name="pp"></a>or
+
+
+ can be specified in millimeters. Limitations of the instrument may
+ limit the maximum number of patches in a strip. For SpectroScan, a
+ size of &nbsp;A4 or Letter (or smaller) should be used. Useful
+ combinations of number of patches and paper size are listed <a
+ href="targen.html#Table">here</a>. The printed parts of the chart
+ will be the size of paper minus the page margin. A TIFF chart will
+ be the size of the paper minus the margin, so that it can be placed
+ on a page that size without cropping or inadvertent scaling, but
+ also see the <span style="font-weight: bold;">-M</span> flag.<br>
+ <br>
+ <a name="p1"></a><i>basename</i> is the base file name of the&nbsp;<a
+ href="File_Formats.html#.ti1">.ti1</a> file that contains the
+ device values to be put on the test chart. <b>printtarg</b> will
+ output a <i>basename.ps</i> or one or more <i>basename_NN.eps</i>
+ or <i>basename_NN.tif </i>files files that should be printed on
+ the devices, as well as a <i>basename.ti2</i> file that contains
+ both the device test point values, and the location of the
+ corresponding patch on the test chart. If the <b>-s</b> or <b>-S</b>
+ flag was specified, then&nbsp; one or more <i>basename_NN.cht</i>
+ files will also be generated.<br>
+ <br>
+ <a href="http://www.ghostgum.com.au/">GSview</a> or <a
+ href="http://www.cs.wisc.edu/%7Eghost/gv/index.htm">GhostView</a>
+ are good programs to use to check what the PostScript or EPS file
+ will look like, without actually printing it out. Alternatively, use
+ the TIFF raster output for non-PostScript printers.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/profcheck.html b/doc/profcheck.html
new file mode 100644
index 0000000..ebb719b
--- /dev/null
+++ b/doc/profcheck.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>profcheck</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>profile/profcheck</b></h2>
+ <h3>Summary</h3>
+ Check an&nbsp;<a href="File_Formats.html#ICC">ICC</a> profile
+ against&nbsp;<a href="File_Formats.html#.ti3">.ti3</a> test chart
+ data.<br>
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">profcheck&nbsp;
+ [-options]
+ data.ti3 iccprofile.icm</span><br style="font-family:
+ monospace;">
+ &nbsp;
+ <span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">-v
+ [level]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Verbosity level (default 1), 2 to print each DE</span></small><small><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+Show
+ CIE94 delta E values</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-k
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; Show CIEDE2000 delta E values</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+create
+ VRML visualization (iccprofile.wrl)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+Use
+ VRML axes<br>
+ &nbsp;-m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Make
+VRML
+ lines a minimum of 0.5<br style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;-e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Color
+vectors
+ acording to delta E</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-d
+ devval1,deval2,devvalN</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+Specify
+ a device value to sort
+ against</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+Sort
+ device value by PCS/Lab target</span><br style="font-family:
+ monospace;">
+ &nbsp;
+ <span style="font-family: monospace;">-f
+ [illum]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use Fluorescent Whitening
+ Agent compensation [opt. simulated inst. illum.:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or
+ file.sp]<br>
+ &nbsp;-i illum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Choose
+ illuminant for computation of CIE XYZ from spectral data &amp;
+ FWA:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp</span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;-o
+ observ&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; Choose CIE
+ Observer
+ for spectral data:</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 1931_2
+ </span></small><small><span style="font-family: monospace;">(def.)</span></small><small><span
+ style="font-family: monospace;">,
+ 1964_10, S&amp;B
+ 1955_2, shaw, J&amp;V 1978_2</span></small><small><span
+ style="font-family: monospace;"><br>
+ &nbsp;-I intent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r = relative
+ colorimetric, a = absolute (default)<br style="font-family:
+ monospace;">
+ </span><i style="font-family: monospace;"> &nbsp;data.ti3</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;
+ Test
+ point data file</span><br style="font-family: monospace;">
+ <i style="font-family: monospace;">&nbsp;iccprofile.icm</i><span
+ style="font-family: monospace;">&nbsp; Profile to check</span></small>
+ <br>
+ <h3>Usage Details and Discussion</h3>
+ <b> profcheck</b> provides a way of checking how well an&nbsp;<a
+ href="File_Formats.html#ICC">ICC</a> profile conforms to the test
+ sample data that was used to create it (or other test samples
+ that are from the same device). This is the same sort of check done
+ within
+ the profile making tool (<a href="colprof.html">colprof</a>), but
+ having a
+ separate tool provides some flexibility.&nbsp; The absolute forward
+ table in the profile is used to create PCS values from the sample
+ points, and the profiles PCS value then compared to the PCS values
+ of
+ the measured sample points. Note the lower delta E values are not
+ always a better measure of how good a profile is. The aim of a
+ profile
+ is to model the underlying characteristics of a device, not to
+ slavishly reproduce the sampled data point values. Sampled data
+ point
+ values contain device variation and instrument reading inaccuracies,
+ and a good profiler will try and filter out this noise, resulting in
+ some deliberate differences between the profile and the sample
+ points
+ used to create it.<br>
+ <br>
+ The <b>-v</b> flag prints out extra information during the
+ checking. A
+ value greater than 1 will print the color values of each test point.<br>
+ <br>
+ The <b>-c</b> option causes the differences between the test values
+ and
+ the profile prediction of the color for each device value to be
+ displayed
+ in CIE94 delta E, rather than plain L*a*b* delta E. CIE94 delta E
+ has a
+ closer
+ correspondence with perceived color differences than the default
+ CIE76
+ delta E values.<br>
+ <br>
+ The <b>-k</b> option causes the differences between the test values
+ and
+ the profile prediction of the color for each device value to be
+ displayed
+ in CIEDE2000 delta E, rather than plain L*a*b* delta E. CIEDE2000
+ delta
+ E has a
+ closer
+ correspondence with perceived color differences than either CIE76 or
+ CIE94 delta E values.<br>
+ <br>
+ The <b>-w</b> creates a <a href="File_Formats.html#VRML">VRML</a>
+ 3D
+ visualization
+ of the differences between the test points and the profiles
+ prediction
+ of
+ the resulting colors.<br>
+ <br>
+ The <b>-x</b> flag adds Lab axes to the VRML output.<br>
+ <br>
+ The <b>-m</b> flag makes each error line a minimum of 0.5 delta E
+ long, so that all the points are visible. This makes it easier to
+ view
+ the distribution of test points in the reference set.<br>
+ <br>
+ The <span style="font-weight: bold;">-e</span> flag causes the
+ error
+ vectors in the VRML output to be color coded according to their
+ lengths, from longest to shortest: yellow, red, magenta, blue, cyan
+ and
+ green.<br>
+ <br>
+ The <b>-d</b> parameters allow the specification of a particular
+ device value,
+ and the test point by test point output will be sorted by distance
+ from
+ the
+ given device value. This can be useful in determining how well
+ "supported"
+ the profile is in a particular area of the colorspace.<br>
+ <br>
+ If the <b>-p </b>flag is used in combination with the <b>-d</b>
+ parameters,
+ then the test point by test point output will be sorted by distance
+ in
+ PCS
+ (Lab) space rather than distance in device space.<br>
+ <br>
+ The <b>-f</b> flag enables Fluorescent Whitening Agent (FWA)
+ compensation. This only works if spectral data is available and, the
+ instrument is not UV filtered.&nbsp; FWA compensation adjusts the
+ spectral samples so that they appear to have been measured using an
+ illuminant that has a different level of Ultra Violet to the one the
+ instrument actually used in the measurement. The optional
+ illumination parameter allows specifying a standard or custom
+ illumination spectrum to be used as the similated instrument
+ illuminant, overriding the default <b>D50</b> or CIE computation
+ illuminant used for FWA (see <b>-i</b> below<b>). </b>See <a
+ href="file:///D:/src/argyll/doc/colprof.html#f">colprof -f</a> for
+ a fuller explanation. The same value should be used as was used
+ during the creation of the
+ profile.<br>
+ <br>
+ The <b>-i</b> flag allows specifying a standard or custom
+ illumination
+ spectrum, applied to the spectral test point values to compute CIE
+ tristimulus values. <b>A</b>, <b>D50</b>, <b>D50M2, D65</b>, <b>F5</b>,
+ <b>F8</b>, <b>F10</b> are a selection of standard illuminant
+ spectrums, with <b>D50</b> being the default. If a filename is
+ specified instead, it will be assumed to be an Argyll specific <a
+ href="file:///D:/src/argyll/doc/File_Formats.html#.sp">.sp</a>
+ spectrum file. If FWA compensation is used during measurement, this
+ illuminant will be used by default as the simulated instrument
+ illuminant. The same value should be used as was used during the
+ creation of the
+ profile.<br>
+ <br>
+ <a name="o"></a> The <b>-o</b> flag allows specifying a tristimulus
+ observer, and is used to compute PCS (Profile Connection Space)
+ tristimulus values. The following choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer.
+ The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ The same parameter value should be used as was used during the
+ creation
+ of the profile.<br>
+ <br>
+ The <span style="font-weight: bold;">-I</span> parameter allows
+ changing the intent used in looking up the ICC profile colors to
+ relative colorimetric. This would <span style="text-decoration:
+ underline;">not</span> be used if you are
+ checking a profile against the .ti3 file that was used to create it,
+ since, since profiles are always made
+ from absolute colorimetric measurement values.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/refine.html b/doc/refine.html
new file mode 100644
index 0000000..cfe18b9
--- /dev/null
+++ b/doc/refine.html
@@ -0,0 +1,354 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>refine</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>tweak/refine</b></h2>
+ <h3>Summary</h3>
+ <span style="font-weight: bold;">Refine</span> creates an abstract
+ profile, by comparing CIE measurement values from two test charts.
+ The charts will usually be in <a href="File_Formats.html#.ti3">.ti3</a>
+ format, but only XYZ, Lab or spectral values will be used (ie. all
+ device space values are ignored). Typically the charts would be
+ printed on a target system (the one being emulated, say a printing
+ press), and the proofing system (the one that is being profiled).
+ The abstract profile that <span style="font-weight: bold;">refine</span>
+ produces will be a correction that makes the proofing system behave
+ more like the target. This can then be used to recreate the proofing
+ systems ICC profile, or device link. By feeding a previous abstract
+ correction profile in as well, iterative improvement can be made to
+ the proofing reproduction.<br>
+ <br>
+ <a href="verify.html">verify</a> is a useful tool to use on the two
+ test charts, to check how well the refinement is proceeding. If a
+ white point relative match is being created (refine -R), then use
+ veryify -N.<br>
+ <h3>Usage Summary</h3>
+ <tt><small>usage: refine [-options] cietarget ciecurrent [outdevicc]
+ [inabs] outabs<br>
+ &nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ Verbose<br>
+ &nbsp;-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Create
+
+ initial abstract correction profile<br>
+ &nbsp;-g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't
+
+ impose output device gamut limit<br>
+ &nbsp;-r res&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set
+ abstract profile clut resolution (default 33)<br>
+ &nbsp;-d factor&nbsp;&nbsp;&nbsp;&nbsp; Override default damping
+ factor (default 0.950000)<br>
+ &nbsp;-R&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Aim
+
+ for white point relative match rather than absolute<br>
+ &nbsp;</small></tt><tt><small><small></small><small><small>-f
+ [illum]&nbsp;&nbsp;&nbsp; Use Fluorescent Whitening Agent
+ compensation [opt. simulated inst. illum.:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or
+ file.sp]<br>
+ &nbsp;-i illum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Choose
+ illuminant for computation of CIE XYZ from spectral data
+ &amp; FWA:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+ A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp</small></small><br>
+ &nbsp;-o observ&nbsp;&nbsp;&nbsp;&nbsp; Choose CIE Observer for
+ spectral data:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+1931_2,
+
+ 1964_10, S&amp;B 1955_2, J&amp;V 1978_2 (def.)<br>
+ &nbsp;<span style="font-style: italic;">cietarget&nbsp;</span>&nbsp;&nbsp;&nbsp;
+ Target CIE or spectral values, CGATS file (e.g. .ti3)<br>
+ &nbsp;<span style="font-style: italic;">ciecurrent</span>&nbsp;&nbsp;&nbsp;
+ Actual CIE or spectral values, CGATS file (e.g. .ti3)<br>
+ &nbsp;[<span style="font-style: italic;">outdevicc</span>]&nbsp;&nbsp;
+ Output device ICC profile to set gamut limit (not used if -g)<br>
+ &nbsp;[<span style="font-style: italic;">inabs</span>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Previous
+
+ abstract correction ICC profile (not used if -c)<br>
+ &nbsp;<span style="font-style: italic;">outabs</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Created/refined
+
+ abstract correction ICC profile</small></tt><br>
+ <h3>Usage Details</h3>
+ <b>refine</b> provides a way of improving the profile accuracy of a
+ proofing system.<br>
+ <br>
+ The <b>-v</b> flag prints out extra information during the
+ checking, and prints each patch value, rather than just a summary.<br>
+ <br>
+ The <b>-c</b> option is used when refine is being used for the
+ first time, and there is no previous abstract profile to continue
+ refining. If <span style="font-weight: bold;">-c</span> is used,
+ then the name of the previous abstract correction profile should not
+ be supplied.<br>
+ <br>
+ If the <b>-g </b>flag indicates that an output device profile is
+ not being supplied, and that corrections should be attempted, even
+ if the colors are outside the devices gamut. Normally an output
+ device profile is supplied, and corrections aren't applied to colors
+ outside the devices gamut, since this will not achieve anything
+ useful, and can distort the results.<br>
+ <br>
+ If the <b>-r </b>parameter overrides the resolution of the CLUT
+ grid used in the abstract profile. By default the value is 33, but
+ other<br>
+ values can be chosen. An odd number is recommended. <br>
+ <br>
+ If the <b>-d </b>parameter sets how aggressively refine should try
+ and correct errors. Normally it will try and exactly compensate for
+ the color errors revealed in comparing the two measurement files,
+ but if the device behaviour is unusual, or not very repeatable, this
+ may result in successive applications of refine making things worse,
+ rather than better. If this is the case, try using a smaller number,
+ such as 0.8, or 0.5.<br>
+ <br>
+ If the <span style="font-weight: bold;">-R</span> flag is used,
+ then refine creates an abstract profile for improving the match of
+ the patch values when&nbsp; interpreted in a white point relative
+ (ie. Relative Colorimetric) intent. If used to create a corrected
+ device link profile using <a href="collink.html">collink</a>,
+ remember to create a Relative colorimetric intent device link
+ profile.<br>
+ <br>
+ The <b>-f</b> flag enables Fluorescent Whitening Agent (FWA)
+ compensation. This only works if spectral data is available and, the
+ instrument is not UV filtered.&nbsp; FWA compensation adjusts the
+ spectral samples so that they appear to have been measured using an
+ illuminant that has a different level of Ultra Violet to the one the
+ instrument actually used in the measurement. The optional
+ illumination parameter allows specifying a standard or custom
+ illumination spectrum to be used as the similated instrument
+ illuminant, overriding the default <b>D50</b> or CIE computation
+ illuminant used for FWA (see <b>-i</b> below<b>). </b>See <a
+ href="file:///D:/src/argyll/doc/colprof.html#f">colprof -f</a> for
+ a fuller explanation. The same value should be used as was used
+ during the creation of the profile.<br>
+ <br>
+ The <b>-i</b> flag allows specifying a standard or custom
+ illumination spectrum, applied to the spectral test point values to
+ compute CIE tristimulus values. <b>A</b>, <b>D50</b>, <b>D50M2,
+ D65</b>, <b>F5</b>, <b>F8</b>, <b>F10</b> are a selection of
+ standard illuminant spectrums, with <b>D50</b> being the default.
+ If a filename is specified instead, it will be assumed to be an
+ Argyll specific <a
+ href="file:///D:/src/argyll/doc/File_Formats.html#.sp">.sp</a>
+ spectrum file. If FWA compensation is used during measurement, this
+ illuminant will be used by default as the simulated instrument
+ illuminant. The same value should be used as was used during the
+ creation of the profile.<br>
+ <br>
+ The <b>-o</b> flag allows specifying a tristimulus observer, and is
+ used to compute CIE tristimulus values. The following choices are
+ available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ If both CIE and spectral values are present in the input files, the
+ CIE values will be used by default. Using the <span
+ style="font-weight: bold;">-i</span>, <span style="font-weight:
+ bold;">-o</span> or <span style="font-weight: bold;">-f</span>
+ flag will force spectral values to be used. The the <span
+ style="font-weight: bold;">-i</span>, <span style="font-weight:
+ bold;">-o</span> or <span style="font-weight: bold;">-f</span>
+ flags will apply to both the target and measured input files.<br>
+ <br>
+ <span style="font-style: italic; font-weight: bold;">cietarget</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Is
+
+ the filename of the target CIE or spectral values. This is a <a
+ href="File_Formats.html#CGATS">CGATS</a> file (e.g. a <a
+ href="File_Formats.html#.ti3">.ti3</a> made using <a
+ href="chartread.html">chartread</a>). These are the color values
+ wanted for each patch in the test chart, typically the product of
+ the target print system.<br>
+ <br>
+ <span style="font-style: italic; font-weight: bold;">ciecurrent</span>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Is the filename of the
+ actual, current measured CIE or spectral values. This is a <a
+ href="File_Formats.html#CGATS">CGATS</a> file (e.g. a <a
+ href="File_Formats.html#.ti3">.ti3</a> made using <a
+ href="chartread.html">chartread</a>). The errors between these
+ patches and the patches in the <span style="font-style: italic;
+ font-weight: bold;">cietarget</span> file will be used to create a
+ correction profile.<br>
+ <br>
+ &nbsp;[<span style="font-style: italic; font-weight: bold;">outdevicc</span>]&nbsp;&nbsp;&nbsp;&nbsp;
+If
+
+ the <span style="font-weight: bold;">-g</span> flag is not used,
+ then the output device ICC profile should be supplied here, to allow
+ <span style="font-weight: bold;">refine</span> to limit its
+ corrections to colors that are within the gamut of the device.<br>
+ <br>
+ &nbsp;[<span style="font-weight: bold; font-style: italic;">inabs</span>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+After
+
+ the first correction has been created, subsequent corrections need
+ to improve upon previous ones, so the previous correction profile
+ should be provided here. For the first correction, the <span
+ style="font-weight: bold;">-c</span> flag should be used, and this
+ argument is omitted.<br>
+ <br>
+ &nbsp;<span style="font-weight: bold; font-style: italic;">outabs</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+The
+
+ name of the created or refined abstract correction ICC profile<br>
+ <br>
+ <h3> Discussion</h3>
+ <span style="font-weight: bold;">Refine</span> is typically used in
+ a proofing situation, in which a verification chart is being used to
+ check the accuracy of a proofing system. (It might also be used for
+ more arbitrary color alterations by created two test chart files by
+ hand.) By using the errors between the target chart and the measured
+ values, refine attempts to improve the match between the proofing
+ system and its target.<br>
+ <br>
+ There is facility in <a href="collink.html">collink</a>, <a
+ href="colprof.html">colprof</a> and <a href="revfix.html">revfix</a>
+ to incorporate an abstract profile. <br>
+ <br>
+ For systems using two device profiles or a device link to convert
+ between the target space printing files and the proofing device
+ space, the following would be a typical scenario:<br>
+ <br>
+ <div style="margin-left: 40px;">We have a reference set of test
+ chart values, read from the target system <span
+ style="font-weight: bold;">reference.ti3</span>. The ICC profile
+ for the target system is <span style="font-weight: bold;">target.icm</span>.
+ The ICC profile for the proofing system is <span
+ style="font-weight: bold;">proofer.icm</span>. If using a device
+ link, the device link used to print proofer test charts is
+ currently <span style="font-weight: bold;">target_proofer.icm</span>:<br>
+ <br>
+ <br>
+ First we print the test chart out on the proofing system and read
+ it in, resulting in a <span style="font-weight: bold;">chart1.ti3</span>
+ file.<br>
+ <br>
+ Lets check how well the proofing system current matches using
+ verify:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; verify&nbsp; reference.ti3 chart1.ti3<br>
+ <br>
+ We then create our initial abstract correction fix profile <span
+ style="font-weight: bold;">fix1.icm</span> using refine:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; refine -v -c&nbsp; reference.ti3 chart1.ti3
+ proofer.icm fix1.icm<br>
+ <br>
+ Applying this to your process for creating the proofer device
+ profile or target to proofing device link (choose one of the three
+ options below, depending whether you are using the proofer profile
+ and just want to alter its colorimetric B2A table using <span
+ style="font-weight: bold;">revfix</span>, whether you are going
+ to recreate the proofer file from the original measurement data
+ using&nbsp; <span style="font-weight: bold;">colprof</span>, or
+ whether you are using a device link profile created using <span
+ style="font-weight: bold;">collink</span>):<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; revfix -v -1 -ke -p fix1.icm proofer.icm
+ proofer_fix1.icm<br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; copy proofer.ti3 proofer_fix1.ti3<br>
+ &nbsp;&nbsp;&nbsp; colprof -v -p fix1.icm proofer_fix1<br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; collink -v -s -ia -oa -p fix1.icm target.icm
+ proofer.icm target_proofer_fix1.icm<br>
+ <br>
+ Note that the above example is a simple one - you should use all
+ the same options as you used to create your initial <span
+ style="font-weight: bold;"><span style="font-weight: bold;"></span>proofer.icm&nbsp;
+
+ </span>or <span style="font-weight: bold;">target_proofer.icm</span>,
+ with the addition of the "-p fix1.icm" option to specify the
+ abstract correction profile be applied.<br>
+ <br>
+ Use the <span style="font-weight: bold;">proofer_fix1.icm</span>
+ or <span style="font-weight: bold;">target_proofer_fix1.icm</span>
+ to print out the test chart again, and read it in, resulting in <span
+ style="font-weight: bold;">chart2.ti3</span> file.<br>
+ <br>
+ Lets check how well the proofing system matches after this first
+ round of refinement using verify:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; verify&nbsp; reference.ti3 chart2.ti3<br>
+ <br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;">&gt;&gt;&gt;</span></span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;</span></span>We
+can
+
+ then start another round of improvement:<br>
+ <br>
+ We refine our previous abstract correction fix profile using
+ refine:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; refine -v&nbsp; reference.ti3 chart2.ti3
+ proofer.icm fix1.icm fix2.icm<br>
+ <br>
+ Applying this new abstract profile to our process for creating the
+ proofing device profile or link again:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; revfix -v -1 -ke -p fix2.icm proofer.icm
+ proofer_fix2.icm<br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; copy proofer.ti3 proofer_fix2.ti3<br>
+ &nbsp;&nbsp;&nbsp; colprof -v -p fix2.icm proofer_fix2<br>
+ or<br>
+ &nbsp;&nbsp;&nbsp; collink -v -s -ia -oa -p fix2.icm target.icm
+ proofer.icm target_proofer_fix2.icm<br>
+ <br>
+ Use the <span style="font-weight: bold;">proofer_fix2.icm</span>
+ or <span style="font-weight: bold;">target_proofer_fix2.icm</span>
+ to print out the test chart again, and read it in, resulting in <span
+ style="font-weight: bold;">chart3.ti3</span> file.<br>
+ <br>
+ Check again how well the proofing system matches after this first
+ round of refinement using verify:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; verify&nbsp; reference.ti3 chart3.ti3<br>
+ <br>
+ Rounds of improvements can be continues by looping back to <span
+ style="font-weight: bold;">&gt;&gt;&gt;</span>, being careful to
+ increment the names of the <span style="font-weight: bold;">fixN.icm</span>,&nbsp;
+
+ <span style="font-weight: bold;">proofer_fixN.icm</span> or <span
+ style="font-weight: bold;">target_proofer_fixN.icm</span> and <span
+ style="font-weight: bold;">chartN.ti3</span>files. Stop when
+ exhausted, or if it looks like things are getting worse, rather
+ than better. If the latter happens, it might be good to revert to
+ the results from a previous round.<br>
+ </div>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/revfix.html b/doc/revfix.html
new file mode 100644
index 0000000..4892de2
--- /dev/null
+++ b/doc/revfix.html
@@ -0,0 +1,252 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>revfix</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>xicc/revfix</b></h2>
+<h3>Summary</h3>
+Regenerate a CLUT device profiles B2A table data by inverting the A2B
+table.<br>
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;">revfix [-options] iccin
+iccout</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Verbose</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Process perceptual</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Process absolute/relative colorimetric</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Process saturation</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-r res&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Override BtoA1
+CLUT res.</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#k">-k</a><span
+ style="font-family: monospace;"> [ezhxr]
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e =
+same K as existing BtoA table (def)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; z =
+zero, h = 0.5 K, x = max K, r = ramp K</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#kp">-k p stle stpo enle enpo
+shape</a><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; p =
+curve parameters</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; stle: K
+level at White 0.0 - 1.0</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; stpo:
+start point of transition Wh 0.0 - Bk 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; enpo:
+End point of transition Wh 0.0 - Bk 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enle: K level at Black 0.0 - 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; shape:
+1.0 = straight, 0.0-1.0 concave, 1.0-2.0
+convex</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#K">-K parameters</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Same as
+-k, but
+target is K locus rather than K value itself</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#l">-l tlimit</a><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp; set total ink limit, 0
+- 400%
+(estimate by default)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#L">-L klimit</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set black ink limit, 0
+- 100%
+(estimate by default)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p aprof.icm</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Include abstract
+profile in output tables</span></small><br>
+<h3>Usage Details and Discussion</h3>
+Existing ICC profiles may not contain accurately inverted AtoB table
+data in their B2A tables, and this tool provides a means of
+addressing this, or regenerating the B2A information with a different
+black generation and/or ink limit, or applying an abstract correction
+profile to the B2A table, without completely recreating the profile.<br>
+<br>
+Currently <b>revfix</b> does not support creating real perceptual or
+saturation B2A tables, but can only create &nbsp;relative colorimetric
+tables. It also will not handle CLUT profile that use a matrix element
+in them.<br>
+<br>
+<b>-v</b>&nbsp; Turn on verbose mode. Gives progress information as the
+table is created. Since B2A tables can take a long time to generate,
+this is often useful to monitor progress.<br>
+<br>
+The B2A table to be re-creating can be specified by using the <b>-0</b>,
+<b>-1</b>, and <b>-2</b>f lags. Normally only the <b>-1</b> flag
+should be specified, but the perceptual and saturation tables can be
+replaces instead/as well, if their respective flags are specified.<br>
+<br>
+Normally the re-created B2A table will have the same CLUT resolution as
+the existing table, but this can be overridden by using the <b>-r</b>
+flag.
+Typically a resolution of 9 might be used for a medium quality CMYK
+table,
+with 17 being used for a high quality CMYK table. For an RGB profile, a
+resolution of 17 might be used for a medium quality table, and 33 being
+used for a high quality table.<br>
+<tt></tt><br>
+<a name="k"></a> -<b>k</b> parameter sets the target level of black (K)
+when creating a B2A CMYK output tables. This is often called a black
+level, a black inking rule, black generation, or under color
+removal.&nbsp; These set the target black level.<br>
+<br>
+&nbsp;Possible arguments to the <b>-k</b> flag are:<br>
+<br>
+<b> -kz</b> selects minimum black (0.0)<br>
+<b> -kh</b> selects a black value of 0.5<br>
+<b> -kx</b> selects the maximum possible black (1.0)<br>
+<b> -kr</b> selects a linear black ramp, starting at minimum black for
+highlight, and maximum black for shadow (equivalent to -kp 0 0 1 1 1).
+This is the default.<br>
+<br>
+<b><a name="kp"></a>-k p stle stpo enpo enle shape</b>&nbsp; allows an
+arbitrary black value ramp to be defined, consisting of a starting
+value (stle) for highlights, a breakpoint L value (stpo) where it
+starts to transition to the shadow level, an end breakpoint L (enpo)
+where it flattens out again, and the finishing black level (enle) for
+the shadows. There is also a curve parameter, that modifies the
+transition from stle to enle to either be concave (ie.&nbsp; the
+transition starts gradually and and finished more abruptly) using
+values 0.0-1.0, with 0.0 being most concave, or convex (the transition
+starts more abruptly but finishes gradually), using values 1.0-2.0,
+with 2.0 being the most convex.<br>
+<br>
+Typical black value generation curve with parameters something
+like: -kp 0 .1 .9 1 .5<br>
+<br>
+<tt> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0 K &nbsp; |
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;enpo<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;_______&nbsp;
+enle<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; /<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; /<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stle&nbsp;
+| ------/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp; +-------------------<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0 K&nbsp;
+0.0&nbsp;&nbsp;&nbsp; stpo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+White&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Black<br>
+</tt>
+<br>
+For minimum sensitivity of printed output to the lighting spectrum, it
+currently seems best to use the maximum possible black, but other black
+generation levels (ie. 0.3 to 0.5) may well be preferred if one wants
+to
+minimize the noisy appearance of black on an inkjet device, or
+if the banding behaviour or other rendering flaws of the printer is to
+be minimized. <br>
+&nbsp;
+<br>
+The <a href="xicclu.html">xicclu</a> tool can be used to plot out
+the resulting black level for a given set of parameters, by using the <a
+ href="xicclu.html#g">-g</a> flag of a profile already created from the
+same .ti3 file.<br>
+<br>
+<a name="K"></a> <span style="font-weight: bold;">-K parameters.</span>
+Any of the <span style="font-weight: bold;">-k</span> options above
+can use the <span style="font-weight: bold;">-K</span> version, in
+which rather than a black value target being defined by the inking
+rule, a black <span style="text-decoration: underline;">locus</span>
+target is defined. For each lookup, the minimum possible black level
+and the maximum possible black level is determined, the former
+corresponding to a locus target of 0, and the latter corresponding to a
+locus target of 1. For instance, at
+the
+white point, no black will be used in the output, even if the black
+locus specifies a maximum (since the maximum amount of black that
+can be used to print white is actually zero). Similarly, at the black
+point, black may well be used, even if the black locus specifies
+zero black (since a certain amount of black is needed to achieve the
+desired density of color). <br>
+<tt> </tt><br>
+<a name="l"></a>The <b>-l</b> <i>tlimit</i> parameter sets the ink
+limit (TAC, Total
+Area Coverage) for the CMYK separation, as a total percentage from 0%
+to 400%. By default, this value will be estimated from the profile. The
+limit value should generally be set a little below the value used in
+the test chart
+generation, to avoid the very edges of the gamut. If the test chart ink
+limit has been chosen to be a little beyond an acceptable level, then
+this
+number should be the acceptable level. Although limits can be set below
+200%, this will generally restrict the color gamut noticeably, as fully
+saturated
+secondary colors will not be reproduced. Values are between 220% and
+300%
+for typical printing devices. The ink limit
+will be in final calibrated device values if the profile includes
+calibration information.<br>
+<br>
+<br>
+<a name="L"></a> The <b>-L</b> <i>klimit</i> parameter sets the black
+channel ink limit for the CMYK separation, as a total percentage from
+0%
+to 100%. By default, this value will be estimated from the profile. For
+printing press like devices, this can be used to prevent
+the
+black channel screening pattern "filling in". Typical values might be
+from
+95% to 99%. The ink limit
+will be in final calibrated device values if the profile includes
+calibration information.<br>
+<br>
+<br>
+The <b><a name="p"></a>-p</b> option allows specifying an abstract
+profile be applied to all of the output tables. An abstract
+profile is a way of specifying a color adjustment in a device
+independent way. The abstract profile might have been created using one
+of the <span style="font-weight: bold;">tweak</span> tools, such as <a
+ href="refine.html">refine</a>.<br>
+<br>
+<br>
+&nbsp;<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/scanin.html b/doc/scanin.html
new file mode 100644
index 0000000..db5091f
--- /dev/null
+++ b/doc/scanin.html
@@ -0,0 +1,582 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>scanin</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>scanin/scanin</b></h2>
+ <h3>Summary</h3>
+ Convert an 8 or 16 bit per component <a
+ href="File_Formats.html#TIFF">TIFF</a>
+ image of a
+ test chart into&nbsp;<a href="File_Formats.html#.ti3">.ti3</a>
+ device
+ values
+ using automatic pattern recognition, or manual chart alignment.<br>
+ Performs other tasks associated with turning a TIFF raster of test
+ patches into numeric values. <br>
+ <h3>Usage Summary<br>
+ </h3>
+ <small><a style="font-family: monospace;" href="#_"> usage</a><span
+ style="font-family: monospace;">: scanin [options] input.tif
+ recogin.cht
+ valin.cie [diag.tif]</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; :- inputs
+ 'input.tif',&nbsp; and outputs scanner
+ 'input.ti3', or</span><br style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <a style="font-family: monospace;" href="#g"> usage</a><span
+ style="font-family: monospace;">: scanin -g [options] input.tif
+ recogout.cht
+ [diag.tif]</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; :- outputs file
+ 'recogout.cht', or</span><br style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <a style="font-family: monospace;" href="#o"> usage</a><span
+ style="font-family: monospace;">: scanin -o [options] input.tif
+ recogin.cht
+ [diag.tif]</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; :- outputs file
+ 'input.val', or</span><br style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <a style="font-family: monospace;" href="#c"> usage</a><span
+ style="font-family: monospace;">: scanin -c [options] input.tif
+ recogin.cht
+ scanprofile.[icm|mpp] pbase [diag.tif]</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; :- inputs
+ pbase.ti2
+ and outputs printer pbase.ti3, or</span><br style="font-family:
+ monospace;">
+ <br style="font-family: monospace;">
+ <a style="font-family: monospace;" href="#r"> usage</a><span
+ style="font-family: monospace;">: scanin -r [options] input.tif
+ recogin.cht
+ pbase [diag.tif]</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; :- inputs
+ pbase.ti2+.ti3 and outputs pbase.ti3</span><br
+ style="font-family: monospace;">
+ <br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#g">-g</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Generate
+ a chart reference (.cht) file</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#o">-o</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Output
+ patch values in .val file</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+ image to measure color to convert printer pbase .ti2 to .ti3</span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#ca">-ca</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Same
+ as -c, but accumulates more values to pbase .ti3</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+from
+ subsequent pages</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#r">-r</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Replace
+ device values in pbase .ti3</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Default
+ is to create a scanner .ti3 file<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#F">-F
+ x1,y1,x2,y2,x3,y3,x4,y4</a><span style="font-family: monospace;">
+ <br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't
+ auto recognize, locate using four fiducual marks<br>
+ &nbsp;<a href="#p">-p</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Compensate
+ for perspective distortion<br style="font-family: monospace;">
+ </span></small><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#a">-a</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Recognize
+ chart in normal orientation only</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Default
+ is to recognize all possible chart angles<br>
+ &nbsp;<a href="#m">-m</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Return
+ true mean (default is robust mean)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;<a
+ href="#G">-G gamma</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Approximate
+gamma
+ encoding of image</span></small><br style="font-family:
+ monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v [n]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbosity
+ level 0-9</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#d">-d</a><span
+ style="font-family: monospace;"> [ihvglLIcrsonap]&nbsp;&nbsp;
+ generate
+ diagnostic output (try -dipn)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#di">i</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - B&amp;W of input image</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dh">h</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - Horizontal edge detection</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dv">v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - Vertical edge detection</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dg">g</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - Groups detected</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dl">l</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - Lines detected</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dL">L</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - All lines detected<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ </span><span style="font-family: monospace;"><a href="#dI">I</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - lines used to improve fit<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ </span><a style="font-family: monospace;" href="#dc">c</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - lines perspective corrected</span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dr">r</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - lines rotated</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#ds">s</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - sample boxes rotated</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#do">o</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - sample box outlines</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dn">n</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - sample box names</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#da">a</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - sample box areas</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; </span><a
+ style="font-family: monospace;" href="#dp">p</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+diag
+ - pixel areas sampled</span></small>
+ <br>
+ <small><span style="font-family: monospace;">&nbsp;
+ <a href="#O">-O</a>
+ outputfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Override the default output filename
+ &amp; extension.</span></small><br>
+ <h3>Usage Details and Discussion</h3>
+ <span style="font-weight: bold;">scanin</span> is setup to deal with
+ a
+ raster file that has been roughly cropped to a size that contains
+ the
+ test chart. It's exact orientation is not important [ie. there is
+ usually no need to rotate or crop the image any more finely.] The
+ reference files are normally set up with the assumption that the
+ edges
+ of the chart are visible within the image, and if the image is
+ cropped
+ to exclude the chart edges, it may well not recognize the chart
+ properly. It is designed to cope with a variety of resolutions, and
+ will cope with some degree of noise in the scan (due to screening
+ artefacts on the original, or film grain), but it isn't really
+ designed
+ to accept very high resolution input. For anything over 600DPI, you
+ should consider down sampling the scan using a filtering downsample,
+ before submitting the file to scanin. Similarly, any file with a
+ large
+ level of noise (due to screening or scanner artefacts) should
+ consider
+ down sampling the image or filtering it with some average preserving
+ filter before submitting it to scanin. Examining the diagnostic
+ output
+ (ie. -dig and -dil) may help in determining whether noise is an
+ issue.<br>
+ <br>
+ There are 5 basic modes that <b>scanin</b> operates in.<br>
+ <ul>
+ <li><a name="_"></a>When no special argument is given scanin is
+ assumed to be parsing an input device characterization chart
+ (ie. an
+ IT8.7/2 chart), for the purpose of creating a <a
+ href="File_Formats.html#.ti3">.ti3</a> data file containing
+ the CIE test values and the corresponding RGB scanner values.
+ The <a href="File_Formats.html#.ti3">.ti3</a> file can then be
+ used for
+ creating
+ an input profile using <a href="colprof.html">colprof</a>. The
+ file
+ arguments are: <a name="_p1"></a>The TIFF file that is to be
+ processed, <a name="_p2"></a>the image recognition template
+ file, <a name="_p3"></a>the CIE reference value definitions for
+ the test chart
+ (sometimes labeled a ".q60" file), <a name="_p4"></a>and an
+ optional
+ name for the image recognition
+ diagnostic output. The resulting .ti3 file will have the same
+ base name
+ as the input TIFF file.</li>
+ <li><a name="g"></a>If the<b> -g</b> flag is specified, then
+ scanin
+ is operating in a mode designed to create the necessary image
+ recognition template file (<a href="File_Formats.html#.cht">.cht</a>)
+ boilerplate information. Patch
+ location and labeling information would need to be added
+ manually to
+ such
+ a generated file, to make a complete and useable recognition
+ template
+ file. <a href="cht_format.html">CHT file format.</a> The input
+ TIFF
+ file in
+ this situation, should be a good quality image, perhaps
+ synthetically
+ generated
+ (rather than being scanned), and perfectly oriented, to make
+ specification
+ of the patch locations easier. The file arguments are: <a
+ name="gp1"></a>The
+ TIFF file that
+ is to be processed, <a name="gp2"></a>the image recognition
+ template
+ file to be created, <a name="gp3"></a>and
+ an optional name for the image recognition diagnostic output.</li>
+ <li><a name="o"></a>If the <b>-o</b> flag is used, then scanin
+ will
+ process the input TIFF file and produce a generic&nbsp;<a
+ href="File_Formats.html#CGATS">CGATS</a>
+ &nbsp;style file containing just the patch values (a <span
+ style="font-weight: bold;">.val</span> file). The file
+ arguments
+ are: <a name="op1"></a>The TIFF file that is to be processed, <a
+ name="op2"></a>the image recognition template file
+ to be created, <a name="op3"></a>and an optional name for the
+ image
+ recognition diagnostic
+ output.</li>
+ <li><a name="c"></a>If the <b>-c</b> flag is used, then an input
+ image
+ of a print test chart can be used
+ in combination with a device profile, to estimate the CIE
+ tristimulus
+ values of the patches. This allows RGB
+ input devices to be used as a crude replacement for a color
+ measuring
+ instrument. The icc or mpp profile has
+ (presumably) been
+ created by scanning an IT8.7/2 chart (or similar) through the
+ RGB input
+ device,
+ and
+ then using scanin to create the .ti3 file needed to feed to
+ colprof to
+ create
+ the input device profile. The file arguments in -c mode are: <a
+ name="cp1"></a>The
+ TIFF file that
+ is to be processed containing the image of a print test chart, <a
+ name="cp2"></a>the image recognition template file for the
+ test chart
+ generated by the <a href="printtarg.html"> printtarg</a> tool,
+ <a name="cp3"></a>the input device ICC or MPP profile, <a
+ name="cp4"></a>the
+ base
+ name for the .ti2 file containing the
+ test chart printer device
+ values and their patch identifiers and the base name for the
+ resulting
+ .ti3
+ file, <a name="cp5"></a>and finally an optional name for the
+ image
+ recognition diagnostic output.
+ The resulting .ti3 file will have the same base name as the
+ input TIFF
+ file.
+ If there is more than one page in the test chart, then scanin
+ will need
+ to be run multiple times, once for each scan file made from each
+ test
+ chart. <a name="ca"></a>The <b>-ca</b> flag combination should
+ be
+ used
+ for all pages after the first,
+ as this then adds that pages test values to the .ti3 file,
+ rather than
+ creating
+ a .ti3 file that contains only that pages test values. If the
+ incoming
+ .ti2 file contains per-channel calibration
+ curves, these will be passed through to the .ti3 so that
+ accurate ink
+ limits can be computed during profiling. </li>
+ <li><a name="r"></a>If the <span style="font-weight: bold;">-r</span>
+ flag is used, then the input TIFF value
+ is used as a source of device values to replace any existing
+ device
+ values in the given .ti3
+ file. This is intended for use in the situation in which the
+ device
+ values
+ being fed into an output device are altered in some way that is
+ difficult
+ to predict (ie. such as being screened and then de-screened),
+ and this
+ alteration
+ to the device values needs to be taken into account in creating
+ a
+ profile
+ for such a device. The file arguments in -r mode are: <a
+ name="rp1"></a>The
+ TIFF file that
+ is to be processed containing a rasterized image of an output
+ test
+ chart, <a name="rp2"></a>the image recognition template file
+ for the
+ test
+ chart generated by the <a href="printtarg.html"> printtarg</a>
+ tool,&nbsp; <a name="rp3"></a>the base name for
+ the .ti2 file containing the output test chart device values and
+ their
+ patch
+ identifiers and the base name for the .ti3 file that is to have
+ its
+ device
+ values replaced, <a name="rp4"></a>and finally an optional name
+ for
+ the
+ image recognition diagnostic
+ output.<br>
+ </li>
+ </ul>
+ A number of flags and options are available, that are independent of
+ the
+ mode that scanin is in.<br>
+ <br>
+ Normally scanin will try and recognize a chart, irrespective of its
+ orientation. For charts that have some asymmetric patch size or
+ arrangement (such as an IT8.7/2, or a chart generated by <a
+ href="printtarg.html"> printtarg</a>
+ with the <b>-s</b> option), this is both flexible and reliable.
+ Other
+ charts
+ may be symmetrical, and therefore having scanin figure out the
+ orientation
+ automatically is a problem if the recognition template does not
+ contain
+ expected patch values, since it will have an equal chance of
+ orienting
+ it incorrectly as correctly. To solve this, the <a name="a"></a><b>-a</b>
+ flag can be
+ used,
+ and care taken to provide a raster file that is within 45 degrees of
+ "no
+ rotation".<br>
+ <br>
+ <a name="F"></a>Normally scanin will use automatic chart recognition
+ to
+ identify the location of the test patches and extract their values.
+ If
+ the chart <a href="cht_format.html">CHT file</a>&nbsp;
+ has four fiducial marks defined, then the chart can be manually
+ aligned by specifying the pixel location of the four marks as
+ arguments to the <span style="font-weight: bold;"><span
+ style="font-weight: bold;">-F</span></span> flag. The top left,
+ top
+ right, bottom right and bottom left fiducial marks X and Y
+ co-ordinates
+ should be
+ specified as a single concatenated argument, separated by comma's,
+ e.g:
+ -F 10,20,435,22,432,239,10,239&nbsp; The coodinates may be
+ fractional using a decimal point.
+ Four fiducial marks allows for compensation for perspective
+ distortion.<br>
+ <br>
+ <a name="p"></a>By default the automatic chart recognition copes
+ with
+ rotation, scale and stretch in the chart image, making it suitable
+ for
+ charts that have been scanned, or shot squarely with a camera. If a
+ chart has been shot not exactly facing the camera (perhaps to avoid
+ reflection, or to get more even lighting), then it will suffer from
+ perspective distortion as well. The <span style="font-weight:
+ bold;"><span style="font-weight: bold;">-p</span></span> flag
+ enables automatic
+ compensation for perspective distortion.<br>
+ <br>
+ <a name="m"></a>Normally scanin computes an average of the pixel
+ values
+ within a sample square, using a "robust" mean, that discards pixel
+ values that are too far from the average ("outlier" pixel values).
+ This
+ is done in an attempt to discard value that are due to scanning
+ artefacts such as dust, scratches etc. You can force scanin to
+ return
+ the true mean values for the sample squares that includes all the
+ pixel
+ values, by using the <span style="font-weight: bold;">-m</span>
+ flag.<br>
+ <br>
+ <a name="G"></a>Normally scanin has reasonably robust feature
+ recognition, but the default assumption is that the input chart has
+ an
+ approximately even visual distribution of patch values, and has been
+ scanned and converted to a typical gamma 2.2 corrected image,
+ meaning
+ that the average patch pixel value is expected to be about 50%. If
+ this
+ is not the case (for instance if the input chart has been scanned
+ with
+ linear light or "raw" encoding), then it may enhance the image
+ recognition to provide the approximate gamma encoding of the image.
+ For
+ instance, if linear light encoding ("Raw") is used, a <span
+ style="font-weight: bold;">-G</span> value of 1.0 would be
+ appropriate. Values less than 2.2 should be tried if the chart is
+ particularly dark, or greater than 2.2 if the chart is particularly
+ light. Generally it is only necessary to provide this is there are
+ problems in recognizing the chart.<br>
+ <br>
+ <a name="v"></a> The <b>-v</b> flag enables extra verbosity in
+ processing. This can aid debugging, if a chart fails to be
+ recognized.<br>
+ <br>
+ <a name="d"></a> The <b>-d</b> flag enables the generation of an
+ image
+ recognition diagnostic raster. The name of diagnostic raster can be
+ specified as the last in the
+ command line, or if not, will default to <span style="font-weight:
+ bold;">diag.tif</span>. Various flags control what
+ is written to the diagnostic
+ raster.
+ Note that at least one flag must be specified for a diagnostic
+ raster
+ to be produced.<br>
+ <b><a name="di"></a>i</b>&nbsp;&nbsp;&nbsp; creates a black and
+ white
+ version of the input raster in the diagnostic output, to be able to
+ compare with the feature extraction.<br>
+ <b><a name="dh"></a>h</b>&nbsp;&nbsp;&nbsp; will show pixels in the
+ input image classified as being on horizontal edges, in red.<br>
+ <b><a name="dv"></a>v</b>&nbsp;&nbsp;&nbsp; will show pixels in the
+ input image classified as being vertical edges, in green.<br>
+ <b><a name="dg"></a>g</b>&nbsp;&nbsp;&nbsp; will show groups of
+ pixels
+ that will be used
+ to estimate edge lines, each group in a different color.<br>
+ <b><a name="dl"></a>l</b>&nbsp;&nbsp;&nbsp; will show valid lines
+ estimated from the vertical and horizontal pixel groups, in white.<br>
+ <b><a name="dL"></a>L</b>&nbsp;&nbsp;&nbsp; will show all lines
+ (valid
+ and invalid) estimated from the vertical and horizontal pixel
+ groups,
+ in white.<br>
+ <b><a name="dI"></a>I</b> &nbsp;&nbsp; will show valid lines lines
+ used
+ to improve the final fit,
+ in blue.<br>
+ <b><a name="dc"></a>c</b> &nbsp;&nbsp; will show the lines with
+ perspective correction applied in cyan.<br>
+ <b><a name="dr"></a>r</b>&nbsp;&nbsp;&nbsp; will show the lines
+ rotated
+ to the reference
+ chart orientation, in yellow.<br>
+ <b><a name="ds"></a>s</b>&nbsp;&nbsp;&nbsp; will show the diagnostic
+ sampling box edge outlines, rotated to the reference chart
+ orientation,
+ in orange.<br>
+ <b><a name="do"></a>o</b>&nbsp;&nbsp;&nbsp; will show all the
+ sampling
+ box edge outlines, in orange.<br>
+ <b><a name="dn"></a>n</b>&nbsp;&nbsp;&nbsp; will show the ID names
+ of
+ the sampling boxes, plus the diagnostic sample boxes, using a simple
+ stroke font, in orange.<br>
+ <b><a name="da"></a>a</b>&nbsp;&nbsp;&nbsp; will show the sampling
+ areas as crossed boxes, plus the diagnostic sample boxes, in orange.<br>
+ <b><a name="dp"></a>p</b>&nbsp;&nbsp;&nbsp; will show the sampling
+ areas as colored pixels.<br>
+ <br>
+ The combination of <b>-dipn</b> is usually a good place to start.<br>
+ <br>
+ The <a href="File_Formats.html#TIFF">TIFF</a> file can be either 8
+ or
+ 16 bits per color component, with 16 bit files being slower to
+ process,
+ but yielding more precise results.<br>
+ <br>
+ If at all in doubt that the file has been recognized correctly, use
+ the
+ <span style="font-weight: bold;">-dipn</span> diagnostic flag
+ combination, and check the resulting diagnostic raster file.<br>
+ [ A badly recognised image will typically result in high self fit
+ delta E's when used with colprof. ]<br>
+ <br>
+ <a name="O"></a>The <span style="font-weight: bold;">-O</span>
+ parameter allows the
+ output file name &amp; extension to be specified independently of
+ the
+ last tiff
+ filename. Note that the full filename must be specified, including
+ the
+ extension.<br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/sl.jpg b/doc/sl.jpg
new file mode 100644
index 0000000..aaf330f
--- /dev/null
+++ b/doc/sl.jpg
Binary files differ
diff --git a/doc/spec2cie.html b/doc/spec2cie.html
new file mode 100644
index 0000000..192ee64
--- /dev/null
+++ b/doc/spec2cie.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>fakeread</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/</b><span style="text-decoration: underline;"></span>spec2cie</h2>
+ <h3>Summary</h3>
+ Convert spectral <a href="File_Formats.html#.ti3">.ti3</a>
+ readings into CIE XYZ or L*a*b* readings. FWA compensation may be
+ applied.<br>
+ <h3>Usage</h3>
+ <tt><small>spec2cie [options] <span style="font-style: italic;">input.ti3
+ output.ti3<br>
+ &nbsp;</span></small></tt><tt><small>-v
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Verbose mode</small></tt><br>
+ <tt><small><small>&nbsp;<a
+ href="file:///D:/src/argyll/doc/spec2cie.html#I">-I <i>illum</i></a>&nbsp;&nbsp;
+ &nbsp;&nbsp; Override
+ actual instrument illuminant
+ in .ti3 file:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp; A, C, D50, D50M2, D65, F5,
+ F8, F10 or file.sp<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ (only
+ used in conjunction with <span style="font-weight: bold;">-f</span>)<br>
+ </small></small></tt><tt><small><small>&nbsp;<a
+ href="file:///D:/src/argyll/doc/colprof.html#f">-f [<i>illum</i>]</a>
+ &nbsp;&nbsp; Use Fluorescent Whitening Agent compensation
+ [simulated inst. illum.:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or
+ file.sp]<br>
+ </small></small></tt><tt><small><small><small>&nbsp;<a
+ href="file:///D:/src/argyll/doc/spec2cie.html#i">-i <i>illum</i></a>&nbsp;&nbsp;
+ &nbsp;&nbsp; Choose illuminant for computation of CIE XYZ
+ from spectral data &amp; FWA:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp;
+ A, C, D50 (def.), D50M2, D65, F5,
+ F8, F10 or file.sp<br>
+ &nbsp;</small></small><a href="#o">-o
+ <i>observ</i></a>&nbsp;
+ &nbsp;&nbsp; Choose CIE Observer for spectral
+ data:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;&nbsp;
+ 1931_2 </small></tt><tt><small> (def.)</small></tt><tt><small>,
+ 1964_10, S&amp;B
+ 1955_2, shaw, J&amp;V 1978_2<br>
+ &nbsp;<a href="#p">-n</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't
+output
+ spectral values<br>
+ </small></tt><tt><small>&nbsp;<a href="#p">-p</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Plot
+ each values spectrum</small></tt><tt><br>
+ </tt><tt>
+ </tt><tt><small>&nbsp;<span style="font-style: italic;">input.ti3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Measurement
+ file<br>
+ &nbsp;<span style="font-style: italic;">output.ti3</span>&nbsp;&nbsp;&nbsp;&nbsp;
+ Converted
+ measurement file</small></tt><br>
+ <h3>Comments</h3>
+ This program takes the spectral data in a .ti3 file, converts them
+ to
+ XYZ and Lab and fills the XYZ_[XYZ] and LAB_[LAB] columns in the
+ output
+ .ti3 file with the computed XYZ and Lab values. If the columns
+ XYZ_[XYZ] and/or LAB_[LAB] are missing in the input file, they are
+ added to the output file.<br>
+ <br>
+ All other columns are copied from the input to the output .ti3 file.<br>
+ <br>
+ <br>
+ <a name="I"></a>The <b>-I</b> parameter allows specifying a an
+ illumination
+ spectrum for the actual instrument illuminant, overriding that
+ computed from
+ the type of instrument (recorded in the .ti3 file). This is rarely
+ used. This parameter is can
+ only be used in combination with the <span style="font-weight:
+ bold;">-f</span>
+ flag. If a
+ filename is specified instead, it will be assumed to be an Argyll
+ specific <a href="file:///D:/src/argyll/doc/File_Formats.html#.sp">.sp</a>
+ custom spectrum file.
+ Illuminant details are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp; CIE
+ tungsten
+ filament lamp 2848K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D50 CIE daylight 5000K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D65 CIE daylight 6500K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F5&nbsp; CIE Fluorescent
+ 6350K, CRI 72<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F8&nbsp; CIE Fluorescent
+ 5000K, CRI 95<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F10 CIE Fluorescent
+ 5000K,
+ CRI 81<br>
+ <br>
+ <br>
+ <a name="f"></a> The <b>-f</b> flag enables Fluorescent Whitening
+ Agent (FWA) compensation. This only works if spectral data is
+ available and, the instrument is not UV filtered.&nbsp; FWA
+ compensation adjusts the spectral samples so that they appear to
+ have been measured using an illuminant that has a different level of
+ Ultra Violet to the one the instrument actually used in the
+ measurement. The optional illumination parameter allows specifying a
+ standard or custom illumination spectrum to be used as the similated
+ instrument illuminant, overriding the default <b>D50</b> or CIE
+ computation illuminant used for FWA (see <b>-i</b> below<b>). </b>See
+ <a href="colprof.html#f">colprof -f</a> for a fuller explanation. <br>
+ <br>
+ <a name="i"></a>The <b>-i</b> parameter allows specifying a
+ standard or custom illumination spectrum, applied to spectral .ti3
+ data to compute PCS (Profile Connection Space) tristimulus values. <b>A</b>,
+ <b>D50</b>, <b>D65</b>, <b>F5</b>, <b>F8</b>, <b>F10</b> are a
+ selection of standard illuminant spectrums, with <b>D50</b> being
+ the default. If a filename is specified instead, it will be assumed
+ to be an Argyll specific <a
+ href="file:///D:/src/argyll/doc/File_Formats.html#.sp">.sp</a>
+ custom spectrum file. This only works if spectral data is available.
+ Illuminant details are:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A&nbsp;&nbsp; CIE
+ tungsten filament lamp 2848K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D50 CIE daylight 5000K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D65 CIE daylight 6500K<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F5&nbsp; CIE Fluorescent
+ 6350K, CRI 72<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F8&nbsp; CIE Fluorescent
+ 5000K, CRI 95<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F10 CIE Fluorescent
+ 5000K, CRI 81<br>
+ <br>
+ Custom illuminants are most often used when a&nbsp; viewing booth or
+ other known viewing conditions is going to be used to view results.
+ Other illuminant reference files could be created using a suitable
+ measuring instrument such as a spectrolino, or an eyeone using <a
+ href="spotread.html">spotread</a>, although such instruments do
+ not themselves provide the necessary response down to Ultra Violet
+ that is needed for accurate operation of Fluorescent Whitening Agent
+ compensation. The best way of measuring a custom illuminant is to
+ use <a href="illumread.html">illumread</a>, since it uses a special
+ method to estimate the illuminant UV in a way that complements FWA
+ compensation. (See the discussion above for the <b>-f</b> flag).<br>
+ <br>
+ Note that if an illuminant other than D50 is chosen, the resulting
+ ICC profile will not be standard, and may not work perfectly with
+ other profiles that that use&nbsp; the standard ICC D50 illuminant,
+ particularly if the absolute rendering intent is used. Profiles
+ should generally be linked with other profiles that have the same
+ illuminant and observer.<br>
+ <br>
+ <a name="o"></a> The <b>-o</b> flag allows specifying a tristimulus
+ observer, and is used to compute PCS (Profile Connection Space)
+ tristimulus values. The following choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree observer
+ (the default).<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ Note that if an observer other than 1931 2 degree is chosen, the
+ resulting ICC profile will not be standard, and cannot be freely
+ interchanged with other profiles that that us the standard 1931 2
+ degree
+ observer. Profiles should only be linked with other profiles that
+ have
+ the same illuminant and observer.<br>
+ <br>
+ <br>
+ <br>
+ <a name="n"></a>The <span style="font-weight: bold;">-n</span> flag
+ disables the output of the spectral values. If just the XYZ and
+ L*a*b*
+ values are needed, this makes for a smaller, easier to read file.<br>
+ <br>
+ <a name="p"></a>The <span style="font-weight: bold;">-p</span> flag
+ causes each spectrum to be plotted. If FWA compensation is used,
+ then
+ the before/after compensation spectrums will be shown.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/specplot.html b/doc/specplot.html
new file mode 100644
index 0000000..05b260b
--- /dev/null
+++ b/doc/specplot.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>specplot</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>xicc/specplot</b></h2>
+ <h3>Summary</h3>
+ A simple tool to plot spectrum files (.sp, .cmf, .ccss etc.), and
+ compute the&nbsp; CCT and VCT, CRI, XYZ, x,y and L*a*b* values.<br>
+ <h3>Usage summary<br>
+ </h3>
+ <tt><small>specplot [<span style="font-style: italic;">infile1.sp,
+ infile2.sp, ...</span>]</small></tt><tt><br>
+ </tt><tt>&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ verbose</tt><tt><br>
+ </tt><tt>&nbsp;-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ combine multiple files into one plot</tt><tt><br>
+ </tt><tt>&nbsp;-z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+don't
+ make range cover zero</tt><tt><br>
+ </tt><tt>&nbsp;-u
+ level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plot effect
+ of adding estimated UV level</tt><tt><br>
+ </tt><tt>&nbsp;-U&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ plot effect of adding range of estimated UV level</tt><tt><br>
+ </tt><tt>&nbsp;[infile.sp ...]&nbsp; spectrum files to plot</tt><tt><br>
+ </tt><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ default is all built in illuminants</tt><br>
+ <h3></h3>
+ <h3>Usage Details and Discussion</h3>
+ <span style="font-weight: bold;"></span>Run without an argument,
+ each built in illuminant is plotted in turn. If an argument is
+ given, then just that<br>
+ spectrum will be plotted. <br>
+ <br>
+ Hit a key in the plot window to advance to the next spectrum.<br>
+ </body>
+</html>
diff --git a/doc/splitti3.html b/doc/splitti3.html
new file mode 100644
index 0000000..05bad37
--- /dev/null
+++ b/doc/splitti3.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>splitti3</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>profile/splitti3</b></h2>
+<h3>Summary</h3>
+Split the first table of data in a CGATS format file, into two files,
+choosing the sets randomly. Usually the CGATS file will be a <a
+ href="File_Formats.html#.ti3">.ti3</a>
+format file, and the intent is to create a test and reference data set,
+to verify the operation of <a href="colprof.html">colprof</a>.<br>
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;">usage: splitti3
+[-options] input.ti3 output1.ti3 output2.ti3</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose - print each patch value</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-n
+no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Put no sets in
+first file, and balance in second file.</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-p
+percent&nbsp;&nbsp;&nbsp;&nbsp; Put percentage% in first file,
+and balance in second file. (def. 50%)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-r
+seed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use
+given random seed.</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><span
+ style="font-style: italic; font-family: monospace;">input.ti3</span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File to
+be split up.</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><span
+ style="font-style: italic; font-family: monospace;">output1.ti3</span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; First output file</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><span
+ style="font-style: italic; font-family: monospace;">output2.ti3</span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; Second output file</span></small><br>
+<h3>Usage Details and Discussion</h3>
+<b>splitti3</b> together with <a href="profcheck.html">profcheck</a>
+provides a way of verifying how well the profiling process is working.
+By splitting up a <span style="font-weight: bold;">.ti3</span> test
+set into two parts, one that will be the data file that the profile is
+created from, and the other being the independent set used for
+verification, some measure can made of how well a devices underlying
+behaviour is being modelled by colprof. Only the first table is
+transferred from input to output.<br>
+<br>
+The <b>-v</b> flag prints out extra information during operation..<br>
+<br>
+The <b>-n</b> parameter specifies the split between the first and
+second output files as a given number of sets of data for the first
+table.<br>
+<br>
+The <b>-p</b> parameter specifies the split between the first and
+second output files as a percentage in favour of the first table.<br>
+<br>
+The <span style="font-weight: bold;">-r</span> parameter provides a
+way of making the random split reproducible, by allowing the random
+number seed to be specified.<br>
+<br>
+<br>
+Typically a large test set might be partitioned into two files, the
+first used to generate a profile, and then the second used with <span
+ style="font-weight: bold;">profcheck</span> to check how well the
+profile patches the balance of the test set points.<br>
+</body>
+</html>
diff --git a/doc/spotread.html b/doc/spotread.html
new file mode 100644
index 0000000..0259530
--- /dev/null
+++ b/doc/spotread.html
@@ -0,0 +1,1011 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>spotread</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>spectro/spotread</b></h2>
+ <h3>Summary</h3>
+ Use an instrument to read a single color value. This can be a useful
+ diagnostic aid.
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">spotread [-options]
+ [logfile]</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; Verbose mode</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span></small><small><span
+ style="font-family: monospace;"></span><a style=" font-family:
+ monospace;" href="#s">-s</a><span style="font-family:
+ monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; Print spectrum for each reading.</span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#S">-S</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; &nbsp; Plot the spectrum in a graph window.</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c comport</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set COM port, 1..4 (default 1)</span><span style="font-family:
+ monospace;"></span><span style="font-family: monospace;"><br
+ style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#t">-t</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; Use transmission measurement mode</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a style="
+ font-family: monospace;" href="#e">-e</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use emissive measurement mode (absolute results)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#eb">-eb</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use display white brightness relative measurement mode<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#ew">-ew</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use display white relative measurement mode<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#p">-p</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use telephoto measurement mode (absolute results)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#pb">-pb</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use </span></small><small><span style="font-family: monospace;">projector</span></small><small><span
+ style="font-family: monospace;"> white brightness relative
+ measurement mode<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#pw">-pw</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use </span></small><small><span style="font-family: monospace;">projector</span></small><small><span
+ style="font-family: monospace;"> white relative measurement mode</span></small><small><span
+ style="font-family: monospace;"></span></small><br>
+ <small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#a">-a</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use ambient measurement mode (absolute results)<br>
+ &nbsp;<a href="#f">-f</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use ambient flash measurement mode (absolute results)<br>
+ </span></small><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#y">-y X</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display type - instrument specific list to choose from.</span></font><br>
+ <small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="spotread.html#I">-I illum</a><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp; Set simulated instrument illumination
+ using FWA (def -i illum):</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;&nbsp;
+M0,
+
+ M1, M2, A, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp</span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#i">-i illum</a><span
+ style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp;&nbsp; Choose illuminant for computation of
+ CIE XYZ from spectral data &amp; FWA:</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;&nbsp;
+A,
+D50
+(def.),
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ D50M2, D65, F5, F8, F10 or file.sp</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a style="
+ font-family: monospace;" href="#Q">-Q observ</a><span
+ style="font-family: monospace;">&nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Choose CIE Observer for
+ spectral data or CCSS instrument:</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span></small><small><span
+ style="font-family: monospace;">1931_2 </span></small><small><span
+ style="font-family: monospace;"> (def.)</span></small><small><span
+ style="font-family: monospace;">, 1964_10, S&amp;B 1955_2, shaw,
+ J&amp;V 1978_2</span></small><small><span style="font-family:
+ monospace;"></span></small><font size="-1"><span
+ style="font-family: monospace;"><br>
+ &nbsp;<a href="#F">-F filter</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set filter configuration:<br>
+ &nbsp;&nbsp;
+ n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ None<br>
+ &nbsp;&nbsp;
+ p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Polarising filter<br>
+ &nbsp;&nbsp;
+ 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ D65<br>
+ &nbsp;&nbsp;
+ u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ U.V. Cut<br>
+ &nbsp;<a href="#E">-E extrafilterfile</a>&nbsp;&nbsp;&nbsp;
+ Apply extra filter compensation file<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#x">-x</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display Yxy instead of Lab<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#h">-h</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display LCh instead of Lab</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#V">-V</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Show running average and std. devation from ref.</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#T">-T</a>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Display correlated color temperatures and CRI<br>
+ </span></font><font size="-1"><span style="font-family:
+ monospace;">&nbsp;<a href="#N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable initial calibration of instrument if possible</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#H">-H</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use high resolution spectrum mode
+ (if available)<br>
+ &nbsp;</span></font><font size="-1"><span style="font-family:
+ monospace;"><a href="#X1">-X file.ccmx</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Apply Colorimeter Correction Matrix</span></font><br>
+ <span style="font-family: monospace;">&nbsp;<a href="#X2">-X
+ file.ccss</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+Colorimeter
+Calibration
+Spectral
+Samples
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for calibration</span><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#Yrn">-<font size="-1">Y</font>
+ r|n</a><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+ &nbsp;&nbsp;&nbsp;&nbsp; Override refresh, non-refresh display
+ mode</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;</span><a
+ style=" font-family: monospace;" href="#YA">-<font size="-1">Y</font>A</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; Use non-adaptive integration time mode
+ (if available).</span></font><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#W">-W n|h|x</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Override
+serial
+port
+flow
+control:
+n
+=
+none,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ h = HW, x = Xon/Xoff</span></font><br>
+ <small><span style="font-family: monospace;">&nbsp;</span><a style="
+ font-family: monospace;" href="#D">-D [level]</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Print debug diagnostics to stderr</span></small><br>
+ <font size="-1"><span style="font-family: monospace;">&nbsp;<a
+ href="#log"><span style="font-style: italic;">logfile</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Optional file to save reading results<br style="font-family:
+ monospace;">
+ </span></font><small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span></small><br>
+ <h3>Usage Details and Discussion</h3>
+ <b>spotread</b> operates in a similar fashion to <a
+ href="chartread.html"> chartread</a>, but allows the reading of a
+ succession of single color values. This can be useful in diagnosing
+ issues with profile creation and operation.<br>
+ <br>
+ <a name="v"></a>The <b>-v</b> flag causes extra information to be
+ printed out during chartread operation.<br>
+ <br>
+ <a name="s"></a>The <b>-s</b> flag enables the printing out
+ spectral reflectance/transmittance values, if the instrument
+ supports this.<br>
+ <br>
+ <a name="S"></a>The <b>-S</b> flag enables the plotting of the
+ spectral reflectance/transmittance values, if the instrument
+ supports this. If a reference is taken, this will be plotted in red.
+ You must strike a key in the plot window to continue with another
+ measurement.<br>
+ <br>
+ <a name="c"></a> The instrument is assumed to communicate through a
+ USB or serial communication port, and the port can be selected with
+ the <b>-c</b> option, if the instrument is not connected to the
+ first port. If you invoke <span style="font-weight: bold;">spotread</span>
+ so as to display the usage information (i.e. "spotread -?" or
+ "spotread --"), then the discovered USB and serial ports will be
+ listed. On UNIX/Linux, a list of all possible serial ports are
+ shown, but not all of them may actually be present on your system.<br>
+ <br>
+ <a name="t"></a>If using an Xrite DTP41T or SpectroScanT, and
+ printing onto transparent or back lit media, use the <b>-t</b> flag
+ to operate the instrument in transparency mode. If using the
+ Spectroscan, this triggers a fake transparency mode, that uses a
+ separate backlight (such as a light box). The&nbsp; instrument will
+ be used to calibrate the level of backlight, and use this to compute
+ the transparency of the test chart samples. Note that for good
+ transparency values, the backlight level needs to be neither too
+ bright not too dark, should ideally be incandescent rather than
+ fluorescent (since fluorescent lights often have big dips in their
+ spectrum), and ideally should be of uniform brightness over the
+ measurement area.<br>
+ <br>
+ <a name="e"></a>The <span style="font-weight: bold;">-e</span> flag
+ allows measuring in emission mode (e.g. displays or illuminants)
+ using instruments that support this mode. An adaptive integration
+ time will be used in devices that support it by default (see the <a
+ href="#ZA">-ZA</a> flag). Values returned are absolute.<br>
+ <br>
+ <a name="eb"></a>The <span style="font-weight: bold;">-eb</span>
+ flag allows measuring in emission mode using instruments that
+ support this mode, with the brightness reading being relative to the
+ white value read as the first reading. While the brightness values
+ are then relative to the white, the readings are otherwise absolute.
+ This corresponds to the raw ICC absolute readings created by <a
+ href="dispread.html">spotread</a>.<br>
+ <br>
+ <a name="ew"></a>The <span style="font-weight: bold;">-ew</span>
+ flag allows measuring in emissive mode using instruments that
+ support this mode, with the reading being relative to the white
+ value read as the first reading.<br>
+ <br>
+ <a name="p"></a>The <span style="font-weight: bold;">-p</span> flag
+ allows measuring in telephoto mode, using instruments that support
+ this mode, e.g. the ColorMunki. Values returned are absolute.<br>
+ &nbsp;Note that you would use normal emissive mode to measure
+ projectors using instruments without a specific telephoto mode.<br>
+ <br>
+ <a name="pb"></a>The <span style="font-weight: bold;">-pb</span>
+ flag allows measuring in telephoto mode using instruments that
+ support this mode, with the brightness reading being relative to the
+ white value read as the first reading. While the brightness values
+ are then relative to the white, the readings are otherwise absolute.
+ This corresponds to the raw ICC absolute readings created by <a
+ href="dispread.html">spotread</a>.<br>
+ <br>
+ <a name="pw"></a>The <span style="font-weight: bold;">-pw</span>
+ flag allows measuring in telephoto mode using instruments that
+ support this mode, with the reading being relative to the white
+ value read as the first reading.<br>
+ <br>
+ <a name="a"></a>The <span style="font-weight: bold;">-a</span> flag
+ allows measuring in ambient illumination mode using instruments that
+ support this mode (i.e. Eye-One Display 2). Values returned are
+ absolute, and include the various color temperatures and Color
+ Rendering Index (see <span style="font-weight: bold;">-T</span>).
+ If the instrument does not support ambient mode, emissive mode will
+ be used instead. An adaptive integration time will be used in
+ devices that support it. <br>
+ <br>
+ <a name="f"></a>The <span style="font-weight: bold;">-f</span> flag
+ allows measuring a flash with those instruments that support
+ scanning emissive measurements. The instrument needs to be triggered
+ by holding down its button, triggering the flash, then releasing the
+ button, similar to how a reflective strip is read.<br>
+ <br>
+ <a name="y"></a>&nbsp; The <span style="font-weight: bold;">-y</span>
+ flag allows setting the Display Type. The selection typically
+ determines two aspects of of the instrument operation: <span
+ style="font-weight: bold;">1)</span> It may set the measuring mode
+ to suite <a
+ href="http://en.wikipedia.org/wiki/Comparison_of_display_technology"><span
+ style="font-weight: bold;">refresh</span> or <span
+ style="font-weight: bold;">non-refresh</span> displays</a>.
+ Typically only LCD (Liquid Crystal) displays have a non-refresh
+ nature. <span style="font-weight: bold;">2)</span> It may select an
+ instrument calibration matrix suitable for a particular display
+ type. The selections available depends on the type and model of
+ instrument, and a list of the options for the discovered instruments
+ will be shown in the <a href="ArgyllDoc.html#CmdLine">usage</a>
+ information. For more details on what particular instruments support
+ and how this works, see <a href="instruments.html">Operation of
+ particular instruments</a>. <b>3)</b> Any installed CCSS files
+ (if applicable), or CCMX files. These files are typically created
+ using <a href="file:///D:/src/argyll/doc/ccxxmake.html">ccxxmake</a>,
+ and installed using <a
+ href="file:///D:/src/argyll/doc/oeminst.html">oeminst</a>. The
+ default and Base Calibration types will be indicated in the usage.<br>
+ <br>
+ <a name="I"></a>The <b>-I</b> parameter allows specifying a
+ standard or custom illumination spectrum to be used as the similated
+ instrument illuminant when FWA compensation is used during
+ measurement, overriding the default <b>D50</b> or CIE computation
+ illuminant used for FWA (see <b>-i</b> below<b>). </b>See <a
+ href="colprof.html#f">colprof -f</a> for a fuller explanation. <br>
+ <br>
+ <a name="i"></a>The <b>-i</b> parameter allows specifying a
+ standard or custom illumination spectrum applied to <span
+ style="text-decoration: underline;">reflective</span> or <u>transmissive</u>
+ spectral data to compute CIE tristimulus values. <b>A</b>, <b>D50</b>,
+ <b>D50M2, D65</b>, <b>F5</b>, <b>F8</b>, <b>F10</b> are a
+ selection of standard illuminant spectrums, with <b>D50</b> being
+ the default. If a filename is specified instead, it will be assumed
+ to be an Argyll specific <a href="File_Formats.html#.sp">.sp</a>
+ spectrum file. If FWA compensation is used during measurement, this
+ illuminant will be used by default as the simulated instrument
+ illuminant.<br>
+ <br>
+ <a name="Q"></a> The <b>-Q</b> flag allows specifying a tristimulus
+ observer, and is used to compute PCS (Profile Connection Space)
+ tristimulus values. This is possible for a spectral instrument, or a
+ colorimeter that has CCSS capability. The following choices are
+ available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer. The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ <a name="F"></a>The <b>-F</b> options allows configuring the
+ instrument to have a particular filter fitted to it. Some
+ instruments (i.e. the Gretag Spectrolino) allow the fitting of
+ various filters, such as a polarizing filter, D65 illuminant
+ simulation, or Ultra Violet Cut filter, and this option allows the
+ instrument to be configured appropriately.<br>
+ <br>
+ <a name="E"></a>The <b>-E</b> option allows the setting of an extra
+ filter compensation file, that allows for the filtration of the
+ spectral readings through a medium of some kind, when in emission
+ mode. This is useful in allowing for such things as telescopic
+ adapters that use a glass of acrylic lens in the optical path. [<span
+ style="font-weight: bold;">Note</span> that this is currently only
+ supported by the Spectrolino driver.]<br>
+ <br>
+ <a name="x"></a>The <b>-x</b> option causes the reading to be
+ displayed as XYZ and Yxy values, rather than the default XYZ and
+ L*a*b*<br>
+ <br>
+ <a name="h"></a>The <b>-h</b> option causes the reading to be
+ displayed as XYZ and LCh values, rather than the default XYZ and
+ L*a*b*<br>
+ <br>
+ <a name="V"></a>The <b>-V</b> enables average and standard
+ deviation statistics on the XYZ and L*a*b* values. This start and is
+ reset whenever a reference is taken ('r' key). A side effect of this
+ option is to disable the clamping of XYZ and L*a*b* value to
+ positive, so that a valid average of black can be obtained.This is
+ useful in quantifying repeatability.<br>
+ <br>
+ <a name="T"></a>The <b>-T</b> option causes various color
+ temperatures to be displayed, plus the Color Rendering Index. Three
+ color temperatures will be shown. The first is the classic
+ Correlated Color Temperature, which is the black body (Plankian)
+ color closest to the measured color in the CIE 1960 UCS color space.
+ The second is the black body (Plankian) color that has a minimum
+ CIEDE2000 error to the measured color. The last is the daylight
+ color that has a minimum CIEDE2000 error to the measured color. The
+ delta E between the closest temperature and the measured color is
+ also shown for each. The Color Rendering Index (CRI Ra) is also
+ computed if the instrument is capable of spectral measurement. If
+ the notation <span style="font-weight: bold;">(Invalid)</span> is
+ displayed after the CRI, then this means that the the spectrum white
+ point is to far from the black body and Daylight locus to be
+ meaningful.<br>
+ <br>
+ <a name="N"></a> <span style="font-weight: bold;">-N</span> Any
+ instrument that requires regular calibration will ask for
+ calibration on initial start-up. Sometimes this can be awkward if
+ the instrument is being mounted in some sort of measuring jig, or
+ annoying if several sets of readings are being taken in quick
+ succession. The -<span style="font-weight: bold;">N</span>
+ suppresses this initial calibration if a valid and not timed out
+ previous calibration is recorded in the instrument or on the host
+ computer. It is advisable to only use this option on the second and
+ subsequent measurements in a single session.<br>
+ <br>
+ <a name="H"></a> The -<span style="font-weight: bold;">H</span>
+ option turns on high resolution spectral mode, if the instrument
+ supports it. See <a href="instruments.html">Operation of particular
+ instruments</a> for more details.<br>
+ <br>
+ <a name="X1"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccmx</span></span> option reads
+ a <a href="File_Formats.html#.ccmx">Colorimeter Correction Matrix</a>
+ from the given file, and applies it to the colorimeter instruments
+ readings. This can improve a colorimeters accuracy for a particular
+ type of display. A list of contributed <span style="font-weight:
+ bold;">ccmx</span> files is <a href="ccmxs.html">here</a>.<br>
+ <br>
+ <a name="X2"></a> The -<span style="font-weight: bold;">X <span
+ style="font-style: italic;">file.ccss</span></span> option reads
+ a <a href="File_Formats.html#.ccss">Colorimeter Calibration
+ Spectral Sample</a> from the given file, and uses it to set the
+ colorimeter instruments calibration. This will only work with
+ colorimeters that rely on sensor spectral sensitivity calibration
+ information (ie. the X-Rite <span style="font-weight: bold;">i1d3</span>,
+ or the DataColor <span style="font-weight: bold;">Spyder4</span>).This
+can
+improve
+a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ colorimeters accuracy for a particular type of display.<br>
+ <br>
+ <a name="Yrn"></a> The -<span style="font-weight: bold;">Y r </span>and
+
+
+
+
+
+
+ <b>-Y n</b> options overrides the refresh display mode set by the <a
+ href="#y">-y display type selection</a>, with <b>-Y</b><span
+ style="font-weight: bold;"> r</span> forcing refresh display mode,
+ and <b>-Y n</b> forcing a non-refresh display mode. Not all
+ instruments support a display measurement refresh mode, or the
+ ability to override the mode set by the display type selection.<br>
+ <br>
+ <a name="YA"></a> The -<span style="font-weight: bold;">Y A</span>
+ option uses a non-adaptive integration time emission measurement
+ mode, if the instrument supports it, such as the Eye-One Pro or
+ ColorMunki. By default an adaptive integration time measurement mode
+ will be used for emission measurements, but some instruments support
+ a fixed integration time mode that can be used with display devices.
+ This may give increased consistency and faster measurement times,
+ but may also give less accurate low level readings.<br>
+ <br>
+ <a name="W"></a>The <b>-W</b> <span style="font-weight: bold;">n|h|x</span>
+ parameter overrides the default serial communications flow control
+ setting. The value <span style="font-weight: bold;">n</span> turns
+ all flow control off, <span style="font-weight: bold;">h</span>
+ sets hardware handshaking, and <span style="font-weight: bold;">x</span>
+ sets Xon/Xoff handshaking. This commend may be useful in workaround
+ serial communications issues with some systems and cables. <br>
+ <br>
+ <a name="D"></a>The <b>-D</b> flag causes communications and other
+ instrument diagnostics to be printed to stdout. A level can be set
+ between 1 .. 9, that may give progressively more verbose
+ information, depending on the instrument. This can be useful in
+ tracking down why an instrument can't connect.<br>
+ <br>
+ <a name="log"></a>The <span style="font-weight: bold; font-style:
+ italic;">logfile</span> is an optional file that can be specified
+ to capture each reading taken. There will be column headers printed
+ to the first row, and then each reading will be on a separate line
+ with tab separators.<br>
+ <br>
+ All instruments will be used in a spot mode. For the SpectroScan
+ instrument, the samples can be placed on the table, and the
+ measuring head positioned before taking a measurement. Note that the
+ default mode (reflectance measurement) may not be supported by the
+ instrument, so a mode it does support will be selected
+ automatically. Override this on the command line if desired. Note
+ that the DTP51, DTP92, DTP94 and Eye-One Display are colorimeters,
+ and cannot read spectral information, and that the DTP92 can only
+ read CRT type displays.<br>
+ <br>
+ <hr style="width: 100%; height: 2px;"><br>
+ Once <b>spotread</b> has established communications with the
+ instrument, it awaits a command from the user, indicated by the user
+ hitting a key or activating the instrument switch. XYZ values are in
+ the range 0 .. 100 for reflective or transmissive readings, and
+ absolute cd/m^2 for display, emissive and ambient readings.<br>
+ <br>
+ The L*a*b* values are computed relative to a D50 100 scale white
+ point. (Note that using display white relative mode makes the L*a*b
+ relative to the display white point.)<br>
+ &nbsp;<br>
+ If Fluorescent Whiter Additive (FWA) compensated readings are to be
+ made, then this needs to be enabled with the correct command line
+ switches, and then setup for each paper white background color, to
+ establish an FWA reference. There is one FWA reference locations
+ available for each alphabetic character not used for a special
+ function (ie. not <span style="font-weight: bold;">H, K, N, Q, R,
+ S, F)</span>, keyed to the capital letters <b>A-</b><b>Z</b>,
+ allowing FWA corrected comparisons between many different media.<br>
+ <br>
+ Once a particular reference location is initialized with the FWA
+ paper color, subsequent readings triggered by using the
+ corresponding lower case letter <span style="font-weight: bold;">a-z</span>
+ will use FWA compensation for that keyed location. Note that
+ readings that are triggered some other way (ie. using a non
+ alphabetic key, or using the instrument switch) will not be FWA
+ corrected readings.<br>
+ <br>
+ If a non-FWA readings is to be performed, then a reading for a
+ location that has not been initialised for paper white should be
+ used, or a non alphabetic key (such as space or return) or
+ instrument switch trigger should be used.<br>
+ <br>
+ If the instrument supports a high resolution spectral mode, then it
+ can be toggled on and off using the <span style="font-weight:
+ bold;">h</span> key.<br>
+ <br>
+ If the instrument supports stored readings (ie. DTP20), then these
+ can be ignored using the <span style="font-weight: bold;">n</span>
+ key.<br>
+ <br>
+ The previous reading can be stored as a reference, and delta E's
+ computed for each reading, using the <b>r</b> key.<br>
+ <br>
+ A previous spectral reading can be saved in a spectrum CGATS file
+ (spectrum.sp) using the <span style="font-weight: bold;">s</span>
+ key, making this a convenient way of creating a custom illuminant
+ spectrum.<br>
+ <br>
+ A calibration can be initiated using the <span style="font-weight:
+ bold;">k</span> key.<br>
+ <br>
+ For instruments that support it and are in a refresh display mode,
+ the calibrated refresh rate can be read back using the <b>f</b>
+ key.<br>
+ <br>
+ For instruments that support it and are in an emissive measurement
+ mode, a display refresh rate measurement can be made by using the <b>F</b>
+ key.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/srgbplot.gif b/doc/srgbplot.gif
new file mode 100644
index 0000000..6226a97
--- /dev/null
+++ b/doc/srgbplot.gif
Binary files differ
diff --git a/doc/ss.jpg b/doc/ss.jpg
new file mode 100644
index 0000000..93875a5
--- /dev/null
+++ b/doc/ss.jpg
Binary files differ
diff --git a/doc/surface.jpg b/doc/surface.jpg
new file mode 100644
index 0000000..cf412fb
--- /dev/null
+++ b/doc/surface.jpg
Binary files differ
diff --git a/doc/synthcal.html b/doc/synthcal.html
new file mode 100644
index 0000000..89f3fed
--- /dev/null
+++ b/doc/synthcal.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>synthcal</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>spectro/synthcal</b></h2>
+<h3>Summary</h3>
+Create synthetic calibration file. The default is a linear calibration
+file.<br>
+<h3>Usage</h3>
+<font size="-1"><span style="font-family: monospace;">synthcal</span><i
+ style="font-family: monospace;"> </i><span
+ style="font-family: monospace;">[-options] </span><i
+ style="font-family: monospace;">basename<br>
+&nbsp;-t
+N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i =
+input, o = output, d = display (default)<br>
+&nbsp;-d col_comb&nbsp;&nbsp;&nbsp;&nbsp; choose colorant combination
+from the following:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+0:
+Print grey<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+1:
+Video grey<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+2:
+Print RGB<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+3:
+Video RGB<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+4:
+CMYK<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+5:
+CMY<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+6:
+CMYK + Light CM<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+7:
+CMYK + Light CMK<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+8:
+CMYK + Red + Blue<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+9:
+CMYK + Orange + Green<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+10:
+CMYK + Light CMK + Light Light K<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+11:
+CMYK + Orange + Green + Light CM<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+12:
+CMYK + Light CM + Medium CM<br>
+&nbsp;-D colorant&nbsp;&nbsp;&nbsp;&nbsp; Add or delete colorant from
+combination:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+(Use
+-?? to list known colorants)<br>
+</i></font><font size="-1"><i style="font-family: monospace;">&nbsp;-o
+o1,o2,o3,&nbsp;&nbsp;&nbsp; Set non-linear curve offset
+(default 0.0)</i></font><br>
+<font size="-1"><i style="font-family: monospace;">&nbsp;-s
+s1,s2,s3,&nbsp;&nbsp;&nbsp; Set non-linear curve scale
+(default 1.0)<br>
+&nbsp;-p p1,p2,p3,&nbsp;&nbsp;&nbsp; Set non-linear curve powers
+(default 1.0)<br>
+&nbsp;outfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Base name
+for output .cal file</i></font><br>
+<h3>Comments<br>
+</h3>
+This is the tool creates a calibration (<a href="File_Formats.html#.cal">.cal</a>)
+file that has a linear table
+for each channel. This is useful in setting up a display for
+evaluation, disabling printer calibration, testing, or to recover a
+display that has a strange set of
+Video LUTs loaded.<br>
+<br>
+<a name="t"></a>The <span style="font-weight: bold;">-t</span> option
+selects the type of device the calibration file is intended for.
+Default is display.<br>
+<br>
+<a name="d"></a>The <span style="font-weight: bold;">-d</span> option
+selects the device colorspace. The default for input and display is <font
+ style="font-weight: bold;" size="-1"><span
+ style="font-family: monospace;">Video RGB</span></font><font size="-1"><span
+ style="font-family: monospace;">, while the default for output is <span
+ style="font-weight: bold;">CMYK</span>.<br>
+</span></font><br>
+<a name="D"></a> The <b>-D</b> parameter modifies the colorspace set
+by <span style="font-weight: bold;">-d</span> by allowing individual
+colorants to be added or subtracted from the colorspace.<br>
+<br>
+Optionally it can be used to create a non-linear calibration file,
+useful for diagnostics. Each of the device channel curves can be
+given a gamma (power curve) shape, scaled to a maximum other than
+1.0, and offset from a value other than 0.0.<br>
+<br>
+</body>
+</html>
diff --git a/doc/synthread.html b/doc/synthread.html
new file mode 100644
index 0000000..116a43d
--- /dev/null
+++ b/doc/synthread.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>fakeread</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>spectro/synthread</b></h2>
+<h3>Summary</h3>
+Simulate the measurement of a devices response using a synthetic device
+model. This is intended for testing of profile creation accuracy. A
+device link
+separation or color space conversion can be applied before the
+print/measure simulation.<br>
+<h3>Usage</h3>
+<small><span style="font-family: monospace;">synthread [-v] </span></small><small><span
+ style="font-family: monospace;">[<span style="font-style: italic;">separation.ic<span
+ style="font-family: monospace;">m</span></span>]</span></small><small><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"> </span><i
+ style="font-family: monospace;">inoutfile</i><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; Verbose mode</span><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use separation profile</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Output Lab rather than XYZ<br>
+<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;-0
+pow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Apply power to input device chanel 0-9 (after sep.)<br>
+<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;-r
+level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Add average random deviation of &lt;level&gt;% to input device values
+(after sep.)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-R
+level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Add average random deviation of &lt;level&gt;% to output PCS values<br>
+</span></small><small><span style="font-family: monospace;">&nbsp;-u
+&nbsp; &nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Make random deviations have uniform distributions rather than normal</span></small><br
+ style="font-family: monospace;">
+<small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;-b
+L,a,b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Scale black point to target Lab value</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;[<span
+ style="font-style: italic;">separation.icm</span>]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Device link separation profile</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><i
+ style="font-family: monospace;">profile.</i><span
+ style="font-family: monospace;">[icm|mpp|ti3] &nbsp; &nbsp; </span><a
+ style="font-family: monospace;" href="File_Formats.html#ICC">ICC</a><span
+ style="font-family: monospace;">, </span><a
+ style="font-family: monospace;" href="File_Formats.html#MPP">MPP</a><span
+ style="font-family: monospace;">
+or&nbsp;</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">
+profile/file to use</span><br style="font-family: monospace;">
+&nbsp;
+<span style="font-family: monospace;"></span><i
+ style="font-family: monospace;">inoutfile</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp; Base name for
+input[</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti1">.ti1</a><span
+ style="font-family: monospace;">]/output[</span><a
+ style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;">] file</span></small><br>
+<b><br>
+Examples</b><br>
+<br>
+synthread xxxx testvalues<br>
+synthread -p xxx separation.icm testvalues<br>
+<h3>Comments<br>
+</h3>
+The <span style="font-weight: bold;">-v</span> flag does nothing at
+the moment.<br>
+The <span style="font-weight: bold;">-p</span> flag enables a device
+to device value conversion before
+converting to expected PCS values.<br>
+The <span style="font-weight: bold;">-l</span> flag causes the CIE
+output values to be L*a*b* rather than the
+default XYZ values.<br>
+<br>
+The <span style="font-weight: bold;">-0, -1, -2 .. -9</span>
+parameters are a way of simulating changes in the
+behaviour of the simulated printing system. The parameter supplied to
+the flag will be used to modify the device values (after any separation
+is applied) by raising them to the power of the parameter. This applies
+a transfer curve to the simulated device response.<br>
+<br>
+The <span style="font-weight: bold;">-r</span> parameter is a way of
+simulating instability in the behaviour of
+the simulated
+printing system. The parameter supplied to the flag will be used to
+scale a random offset added to the device values (after any separation
+is applied). The offset will be a normally distributed error with an
+average deviation of level%. A typically value supplied
+might be 1.0 to simulate 1% randomness.<br>
+<br>
+The <span style="font-weight: bold;">-R</span> parameter is a way of
+simulating instability in the behaviour of
+the simulated
+measuring system. The parameter supplied to the flag will be used to
+scale a random offset added to the PCS values. The offset will be a
+normally distributed error with an average deviation of level%. A
+typically value supplied
+might be 1.0 to simulate 1% randomness. <br>
+<br>
+The <span style="font-weight: bold;">-u</span> flag changes the
+distribution of the random offsets applied using the <span
+ style="font-weight: bold;">-r</span> or <span
+ style="font-weight: bold;">-R</span> flags, from the default standard
+deviation, to a uniform deviation distribution. The level is still
+specified as an average deviation.<br>
+<br>
+The <span style="font-weight: bold;">-b</span> parameter is a way of
+simulating devices that have a different black point to the profile
+used. This only works if an ICC profile is used, and scales the black
+point to the parameter value. This will be done in XYZ space by
+default, and in L*a*b* space if the <span style="font-weight: bold;">-l</span>
+flag is used.<br>
+<br>
+synthread is useful in creating artificial test value for testing <a
+ href="colprof.html">colprof</a>, as well as providing one path for
+turning an MPP profile into an ICC profile. If a <a
+ href="File_Formats.html#.ti3">.ti3</a> file is
+specified instead of an <a href="File_Formats.html#ICC">ICC</a> or <a
+ href="File_Formats.html#MPP">MPP</a> profile,
+then the closest matching measured points in the .<a
+ href="File_Formats.html#.ti3">.ti3</a> are substituted
+for the test values in the <a href="File_Formats.html#.ti1">.ti1</a>
+file on
+output. If the <a href="File_Formats.html#.ti1">.ti1</a>
+file is a monochrome test file with a White device value, then an RGB <a
+ href="File_Formats.html#ICC">ICC</a> profile, <a
+ href="File_Formats.html#MPP">MPP</a> or <a
+ href="File_Formats.html#.ti3">.ti3</a> may be used, and the White
+values will be translated to equal RGB values. If the <a
+ href="File_Formats.html#.ti1">.ti1</a>
+file is a monochrome test file with a Black device value, then a CMYK <a
+ href="File_Formats.html#ICC">ICC</a> profile, <a
+ href="File_Formats.html#MPP">MPP</a> or <a
+ href="File_Formats.html#.ti3">.ti3</a> may be used, and the Black
+values will be translated to equal CMY = 0, K = grey values. <br>
+<br>
+If a separation device profile is provided (e.g. from CMY -&gt; CMYK,
+or perhaps CMYK-&gt;CMYK, to simulate a color correction step before
+"printing"), then this will be applied to the .ti1 device values,
+before converting the the device values into .ti3 PCS values.<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/targen.html b/doc/targen.html
new file mode 100644
index 0000000..d03416f
--- /dev/null
+++ b/doc/targen.html
@@ -0,0 +1,1024 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>targen</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>target/targen</b></h2>
+ <h3>Summary</h3>
+ Generate a profiling test target values&nbsp;<a
+ href="File_Formats.html#.ti1">.ti1</a> file. &nbsp;<b>targen</b>
+ is
+ used to generate the device channel test point values for grayscale,
+ RGB, CMY, CMYK or N-color output or display devices.&nbsp;
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">targen [options]
+ outfile</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v [level]</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp; Verbose mode [optional
+ verbose level, 1..n]</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#d">-d col_comb</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; choose
+ colorant combination from the following:</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 0:
+ Print
+ grey</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ 1:
+ Video
+ grey</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 2:
+ Print
+ RGB</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3:
+ Video RGB</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 4: CMYK<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 5:
+ CMY<br style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;&nbsp; &nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6:
+ CMYK + Light CM</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7: CMYK + Light CMK</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;
+8:
+CMYK
++
+Red
+ + Blue</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9: CMYK +
+ Orange + Green</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10: CMYK +
+ Light CMK + Light Light K</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11: CMYK +
+ Orange + Green + Light CM</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12: CMYK + Light
+ CM + Medium CM</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#D">-D colorant</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp; Add or
+ delete colorant from combination:</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 0:
+ Additive</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 1:
+ Cyan</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2:
+ Magenta</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3:
+ Yellow</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 4:
+ Black</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 5:
+ Orange</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 6:
+ Red</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 7:
+ Green</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 8:
+ Blue</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 9:
+ White</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 10:
+ Light
+ Cyan</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 11:
+ Light
+ Magenta</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 12:
+ Light
+ Yellow</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;
+ 13:
+ Light
+ Black</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 14:
+ Medium
+ Cyan</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 15:
+ Medium
+ Magenta</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 16:
+ Medium
+ Yellow</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;
+ 17:
+ Medium
+ Black</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 18:
+ Light
+ Light
+ Black<br>
+ &nbsp;<a href="#G">-G</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Generate
+ good
+ optimzed
+ points
+ rather
+ than
+ Fast<br style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#e">-e patches</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp; White
+ color test patches (default 4)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#s">-s steps</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Single
+ channel
+ steps
+ (default
+ 0)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#g">-g steps</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Gray
+axis
+RGB
+or
+CMY
+steps
+(default
+ 0)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#m">-m steps</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Multidimensional
+ device
+ space
+ cube
+ steps
+ (default
+ 2)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#f">-f patches</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Add
+ iterative &amp; adaptive full spread patches to total (default
+ 836)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Default
+ is
+ Optimised
+ Farthest
+ Point
+ Sampling
+ (OFPS)<br style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#t">-t</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Use
+incremental
+far
+point
+for
+ full spread</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#r">-r</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Use
+device
+space
+random
+for
+ full spread</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#R">-R</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Use
+perceptual
+space
+random
+for
+ full spread</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#q">-q</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Use
+device
+space-filling
+quasi-random
+for
+ full spread<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;
+ </span><a style="font-family: monospace;" href="#Q">-Q</a><span
+ style="font-family: monospace;">
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; Use perceptual space-filling quasi-random for full spread</span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#i">-i</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Use
+device
+space
+body
+centered
+ cubic grid for full spread</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#I">-I</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp;
+Use
+perceptual
+space
+body
+centered
+ cubic grid for full
+ spread</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#a">-a angle</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Simplex
+grid
+angle
+0.0
+-
+0.5
+for
+ B.C.C. grid, default -2047840407</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp; </span><a
+ style="font-family: monospace;" href="#A">-A adaptation</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Degree
+ of adaptation of OFPS 0.0 - 1.0 (default 0.1, 1.0 if -c profile
+ provided)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#t">-t</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+incremental
+far
+point
+for
+full
+spread
+ (default
+ iterative)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#l">-l ilimit</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Total
+ink
+ limit in %(default = none, or estimated from profile)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p power</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Optional
+power-like
+value
+applied
+to
+all
+device
+ values.</span></small><br style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c profile</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Optional device ICC or MPP pre-conditioning profile filename<br>
+ &nbsp;<a href="#N">-N emphasis</a>&nbsp;&nbsp;&nbsp;&nbsp;
+ Degree of
+ neutral axis patch concentration 0-1. (default 0.50)<br
+ style="font-family: monospace;">
+ </span>&nbsp;
+ <a style="font-family: monospace;" href="#F">-F L,a,b,rad</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; Filter out
+ samples
+ outside Lab sphere.</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#w">-w</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Dump
+ diagnostic
+ outfile.wrl
+ file
+ (Lab
+ locations)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#W">-W</a><span
+ style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Dump
+ diagnostic
+ outfile.wrl
+ file
+ (Device
+ locations)</span></small><br style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p1">outfile</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Base
+ name
+ for
+ output(.ti1)</span></small>
+ <br>
+ <h3>Usage Details and Discussion<br>
+ </h3>
+ The number of target patches needs to be chosen, depending on the
+ media
+ size, the type of device, and the quality of profile required. For
+ an
+ inkjet device, something like 3000 test points or more is desirable
+ for high quality profiles, while 500-1000 will probably suffice for
+ a
+ medium quality profile. A few hundred may be sufficient for a
+ preliminary profile. Well behaved printing devices (such as a
+ chemical
+ proof, or a high quality printing press) may produce good profiles
+ with
+ 1000 to 2000 test points. Well behaved RGB devices such as CRT
+ monitors
+ may need only a few
+ hundred points, if a shaper/matrix type profile is to be produced,
+ while pseudo RGB printers, or other RGB devices that a CLUT type
+ profile may be used
+ with, should probably choose somewhere between 500 and 3000 patches.
+ For 'N' color profile creation,
+ 3000 or more test points should probably be used.<br>
+ <br>
+ <a name="v"></a> The <b>-v</b> flag turns on extra verbosity when
+ generating patch values. Extra diagnostics and verbosity may be
+ available if a parameter is provided with a value greater than 1.<br>
+ <br>
+ <a name="d"></a> The <b>-d</b> parameter sets the colorspace the
+ test
+ values will be generated in. Video gray space is assumed to be an
+ additive space, where a zero device value will be black, and a
+ maximum
+ device value will be white. A print gray space is assumed to be a
+ subtractive space,
+ in which a zero device value will be white, and a maximum device
+ value
+ will
+ be black. If no colorspace is specified, subtractive CMYK is assumed
+ as
+ a default.<br>
+ <br>
+ <a name="D"></a> The <b>-D</b> parameter modifies the colorspace
+ set
+ by <span style="font-weight: bold;">-d</span> by allowing
+ individual
+ colorants to be added or subtracted from the colorspace.<br>
+ <br>
+ <a name="G"></a> The <b>-G</b> flag changes the Incremental Far
+ Point
+ Distribution
+ algorithm from fast to good mode. Fast mode uses a limited number of
+ iterations to optimize the patch locations, while good mode strives
+ for
+ a more even patch distribution by using more iterations.<br>
+ <br>
+ The composition of the test patches is controlled by the following
+ flags and parameters:<br>
+ <br>
+ <a name="e"></a> The <b>-e</b> parameter sets the number of white
+ colored test patches, defaulting to 4 if the -e flag isn't used. The
+ white patches are usually very important in establishing white point
+ that the ICC data is made relative to, so it improves robustness to
+ use
+ more than a
+ single point.<br>
+ <br>
+ <a name="s"></a> The <b>-s</b> parameter sets the number of patches
+ in a set of per colorant wedges. The steps are evenly spaced in
+ device
+ space by default, and the total number of test patches will be the
+ number of
+ colorants
+ times the value specified with the -s flag. If the <span
+ style="font-weight: bold;">-p</span> parameter is provided, then,
+ then the steps will be distributed according to the power value.
+ e.g.
+ the option <span style="font-weight: bold;">-s 5</span> will
+ generate
+ steps at 0.0 0.25 0.5 0.75 and 1.0, while the option <span
+ style="font-weight: bold;">-s 5 -p 2.0</span> will generate steps
+ at
+ 0.0
+ 0.0625 0.25 0.5625 and 1.0. By default, no per colorant
+ test wedge values are generated. When creating a test chart for a
+ device
+ that will be used as a source colorspace, it is often useful to
+ generated
+ some per colorant wedge values.<br>
+ <br>
+ <a name="g"></a> The <b>-g</b> parameter sets the number of patches
+ in a set of combined (nominally gray) wedges. This will typically be
+ equal RGB or CMY values, and by default will be equally spaced steps
+ in
+ device
+ space. If the <span style="font-weight: bold;">-p</span> parameter
+ is
+ provided, then,
+ then the steps will be distributed according to the power value.
+ e.g.
+ the option <span style="font-weight: bold;">-g 5</span>
+ will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while the option <span
+ style="font-weight: bold;">-g 5 -p 2.0</span> will generate steps
+ at
+ 0.0
+ 0.0625 0.25 0.5625 and 1.0. By
+ default, no gray combination values are generated. When creating a
+ test
+ chart for a device that will be used as a source colorspace, it is
+ often
+ useful to generated some per colorant wedge values.<br>
+ <br>
+ <a name="m"></a> The <b>-m</b> parameter sets the edge size of the
+ multidimensional grid of test values. The total number of patches of
+ this type will be the -m parameter value to the power of the number
+ of
+ colorants. The grid steps are evenly spaced in device space by
+ default,
+ but if the <span style="font-weight: bold;">-p</span> parameter is
+ provided, then,
+ then the steps will be distributed according to the power value.
+ e.g.
+ the option <span style="font-weight: bold;">-m 5</span>
+ will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while the option <span
+ style="font-weight: bold;">-m 5 -p 2.0</span> will generate steps
+ at
+ 0.0
+ 0.0625 0.25 0.5625 and 1.0. By
+ default, all the device primary color combinations that fall within
+ the
+ ink limit are generated..<br>
+ <br>
+ The behavior of the <b>-e</b>, <b>-s</b>, <b>-g</b> and <b>-m</b>
+ flags, is not to duplicate test values already created by a previous
+ type.<br>
+ <br>
+ <a name="f"></a> The <b>-f</b> parameter sets the number of full
+ spread test patches. Full spread patches are distributed according
+ to
+ the default or chosen algorithm. The default algorithm will optimize
+ the point locations to minimize the distance from any point in
+ device
+ space, to the nearest
+ sample point. This is called Optimized Farthest Point Sampling
+ (OFPS) .
+ This can be overridden by specifying the <b>-t. -r, -R,
+ -q,
+ -i or -I</b> flags. If the default OFPS algorithm is used, then
+ adaptive
+ test
+ point distribution can be fully enabled by supplying a previous or
+ typical profile with the <span style="font-weight: bold;">-c</span>
+ option. The total number patches specified will
+ include any
+ patches
+ generated using the <b>-e</b>, <b>-s</b>, <b>-g</b> and <b>-m</b>
+ flags (i.e.
+ full spread patches will be added to bring the total number of
+ patches
+ including
+ those generated using the <b>-e</b>, <b>-s</b>, <b>-g</b> and <b>-m</b>
+ flags
+ up to the specified number). When there are more than four device
+ channels,
+ the full spread distribution algorithm can't deal with so many
+ dimensions,
+ and <b>targen</b> falls back on an incremental far point
+ distribution
+ algorithm
+ by default, that doesn't generate such evenly spread points. This
+ behaviour
+ can be forced using the <b>-t</b> flag. A <a href="#Table">table</a>
+ of useful total patch counts for different paper sizes is shown
+ below.
+ Note that it's occasionally the case that the OFPS algorithm will
+ fail
+ to complete, or make very slow progress if the <span
+ style="font-weight: bold;">-c</span> profile is poor, non-smooth,
+ or
+ has unusual behaviour. In these cases a different algorithm should
+ be
+ chosen (ie. <span style="font-weight: bold;">-Q</span> or <span
+ style="font-weight: bold;">-I</span>), or perhaps a smoother or
+ lower
+ resolution ("quality") previous profile may overcome the problem. <br>
+ <br>
+ <a name="t"></a> The <b>-t</b> flag overrides the default full
+ spread
+ test patch algorithm, and makes use of the Incremental Far Point
+ Distribution
+ algorithm, which incrementally searches for test points that are as
+ far
+ away
+ as possible from any existing points. This is used as the default
+ for
+ dimensions
+ higher than 4.<br>
+ <br>
+ <a name="r"></a> The <b>-r</b> flag overrides the default full
+ spread
+ test patch algorithm, and chooses test points with an even random
+ distribution in device space.<br>
+ <br>
+ <a name="R"></a> The <b>-R</b> flag overrides the default full
+ spread
+ test patch algorithm, and chooses test points with an even random
+ distribution in perceptual space.<br>
+ <br>
+ <a name="q"></a> The <b>-q</b> flag overrides the default full
+ spread
+ test patch algorithm, and chooses test points with a quasi-random,
+ space filling distribution in device space.<br>
+ <br>
+ <a name="Q"></a> The <b>-Q</b> flag overrides the default full
+ spread
+ test patch algorithm, and chooses test points with a quasi-random,
+ space filling distribution in perceptual space.<br>
+ <br>
+ <a name="i"></a> The <b>-i</b> flag overrides the default full
+ spread
+ test patch algorithm, and chooses test points with body centered
+ cubic
+ distribution in device space.<br>
+ <br>
+ <a name="I"></a> The <b>-I</b> flag overrides the default full
+ spread
+ test patch algorithm, and chooses test points with body centered
+ cubic
+ distribution in perceptual space.<br>
+ <br>
+ <a name="a"></a> The <b>-a <i>angle</i></b> parameter sets the
+ overall
+ angle that the body centered grid distribution has.<br>
+ <br>
+ <a name="A"></a> The <b>-A <i>adaptation</i></b> parameter sets
+ the
+ degree of adaptation to the known device characteristics, used by
+ the
+ default full spread OFPS algorithm. A profile
+ should be provided using the <span style="font-weight: bold;">-c</span>
+ parameter if <span style="font-weight: bold; font-style: italic;">adaptation</span>
+ is set above a low level. By
+ default the adaptation is 0.1 (low), and 1.0 (maximum) if <span
+ style="font-weight: bold;">-c profile</span> is provided, but
+ these
+ defaults can be overridden using this option. For instance, if the <span
+ style="font-weight: bold;">-c profile</span> doesn't represent the
+ device behavior very well, a lower adaption than 1.0 might be
+ appropriate.<br>
+ <br>
+ <a name="l"></a> The <b>-l</b> flag and parameter sets a total ink
+ limit (Total
+ Area Coverage or TAC), which is adhered to for all the generated
+ points. It is generally good practice to set a test chart ink limit
+ at
+ least 10% higher than the ink limit that will be applied when making
+ the resulting profile. In the case of device cube points, this can
+ generate extra test
+ values that lie at the ink limit boundary. For gray wedge values,
+ any
+ that exceed the ink limit are omitted. Full spread test values are
+ all
+ generated to lie
+ within the ink limit. Although it doesn't make much sense, this
+ parameter has an affect on additive device spaces (such as RGB), but
+ should not normally be used with such devices. The total ink limit
+ value will be written to the
+ .ti1 file, and carried through automatically to the .ti3 file, so
+ that
+ it
+ can be used during profile creation. If a profile is provided using
+ the
+ <span style="font-weight: bold;">-c</span> flag, then this will be
+ used
+ to estimate an ink limit, if none is provided with the <span
+ style="font-weight: bold;">-l</span> flag. Ink limits are, as far
+ as
+ possible, always in final calibrated device values, and the
+ calibration
+ curves from the profile provided to the <span style="font-weight:
+ bold;">-c</span> flag will be used to estimate the
+ equivalent limit in the underlying pre-calibration device space
+ values
+ that targen creates.<br>
+ <br>
+ <a name="p"></a> The <b>-p</b> flag and parameter sets a power-like
+ value
+ applied to all of the device values after they are generated, <span
+ style="font-weight: bold;"></span><span style="font-weight: bold;"></span>the
+spacer
+colors.
+This
+can
+be
+useful
+in
+ creating calibration charts for
+ very non-linearly behaved devices. A value greater than 1.0 will
+ cause
+ a tighter spacing of test values near device value 0.0, while a
+ value
+ less than 1.0 will cause a tighter spacing near device value 1.0. <span
+ style="font-weight: bold;">printcal</span> will recommend a
+ power-like
+ value if the verbose option is used. [ <span style="font-weight:
+ bold;">Note</span>
+ that for Print RGB space this
+ is reversed, since internally a Print RGB space is treated as a CMY
+ space. ]. <span style="font-weight: bold;">Note</span> that the
+ device
+ model used to create the expected patch values will not take into
+ account the applied power, nor will the more complex full spread
+ algorithms correctly take into account the power in generating
+ values
+ up to the ink limits. (A power-like function is used, to avoid the
+ excessive compression that a real power function would apply).<br>
+ <br>
+ <a name="c"></a> The <b>-c</b> flag and parameter is used to
+ specify
+ an <a href="File_Formats.html#ICC">ICC</a> or <a
+ href="File_Formats.html#MPP">MPP</a> pre-conditioning profile, for
+ estimating perceptual distances and colorspace curvature, used in
+ optimizing the full spread test point placement,or in creating
+ perceptualy spaced distributions. Normally a previous
+ profile for this or a similar device will be used, or a simpler,
+ preliminary profile will be created and used. If no such profile is
+ specified, a default device space model is used. Note that this
+ will only have an effect if an algorithm that uses perceptual
+ placement (such as <span style="font-weight: bold;">-R, -Q, -I</span>
+ or the default OFPS with an
+ <span style="font-weight: bold;">-A</span> value &gt; 0.0) is being
+ used.<br>
+ <br>
+ <a name="N"></a> The <b>-N emphasis</b> parameter allows changing
+ the
+ degree to which the patch distribution should emphasise the neutral
+ axis. Since the neutral axis is regarded as the most visually
+ critical
+ are of the color space, it can help maximize the quality of the
+ resulting profile to place more measurement patches in this region.
+ This emphasis is only effective for perceptual patch distributions,
+ and
+ for the default OFPS distribution if the <a href="#A">adaptation</a>
+ parameter is set to a high value. It is also most effective when a <a
+ href="#c">pre-conditioning</a> profile is provided, since this is
+ the
+ only way that neutral can be determined. The default value of 0.5
+ provides an affect about twice the emphasis of the CIE94 Delta E
+ formula.<br>
+ <br>
+ <a name="F"></a> The <b>-F</b> flag and parameters is used to
+ define
+ an L*a*b* sphere to filter the test points through. Only test points
+ within the sphere (defined by it's center and radius) will be
+ written
+ to the .ti1 file. This can be good for targeting supplemental test
+ points at a troublesome area of a device. The accuracy of the L*a*b*
+ target will be best when the <span style="font-weight: bold;">-c</span>
+ option is used to specify a reasonably accurate profile for the
+ device.
+ Note that the actual number of points generated can be hard to
+ predict,
+ and will depend on the type of generation used. All means of
+ generating
+ points except the -f N &amp; -r, -R and -q will generate a smaller
+ number of test points than expected. If the -f N &amp; -r, -R and -q
+ methods are used, then the target number of points will be achieved.
+ For this reason, the -f N -q method is probably the easiest to use.<br>
+ <br>
+ <a name="w"></a> The <b>-w</b> flag causes a diagnostic <a
+ href="File_Formats.html#VRML">VRML</a> .wrl file to be created, in
+ which the test points are plotted as small spheres in L*a*b*
+ colorspace. Note that for a CMYK device, the point spacing may seem
+ strange, since the extra K dimension is compressed into the 3
+ dimensional L*a*b* space. <a name="W"></a>If the <span
+ style="font-weight: bold;">-W</span> flag is given, the plot will
+ be
+ in device space, with only the first 3 dimensions of each point
+ being
+ plotted.<br>
+ <br>
+ <a name="p1"></a> The final parameter on the command line is the
+ base
+ filename for the <a href="File_Formats.html#.ti1">.ti1</a> output
+ file. <b>targen</b> will add the .ti1 extension automatically.<br>
+ <br>
+ Some typical total patch number/paper size combinations are shown
+ below. These "magic" numbers are found by using <a
+ href="printtarg.html">printtarg</a> to compute the row length and
+ number of rows, and then adjusting the total number of patches to
+ fill
+ the last row or paper size, in an iterative fashion.<br>
+ <br>
+ <a name="Table"></a> &nbsp;&nbsp; &nbsp; Size (mm/Standard Name),
+ &nbsp;
+ No. Patches<br>
+ <br>
+ DTP20:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 540<br>
+ &nbsp; &nbsp; &nbsp; 2 x A4 &nbsp; &nbsp; &nbsp; 1080<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 3 x A4&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; 1620<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 4 x A4&nbsp; &nbsp;
+ &nbsp;&nbsp; 2160<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp; 1 x Letter &nbsp;&nbsp; 570<br>
+ &nbsp; &nbsp; &nbsp; 2 x Letter&nbsp;&nbsp; 1140<br>
+ &nbsp; &nbsp;&nbsp; &nbsp;3 x Letter&nbsp;&nbsp; 1710<br>
+ &nbsp; &nbsp; &nbsp; 4 x Letter&nbsp;&nbsp; 2280<br>
+ <br>
+ DTP 22:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 782<br>
+ &nbsp; &nbsp; &nbsp; 2 x A4 &nbsp; &nbsp; &nbsp; 1564<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp; 1 x Letter &nbsp;&nbsp; 736<br>
+ &nbsp; &nbsp; &nbsp; 2 x Letter&nbsp;&nbsp; 1472<br>
+ <br>
+ &nbsp; DTP41:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp; &nbsp; 375<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 x A4 &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; 750<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 x A4 &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp; 1125<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 x A4 &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp; 1500<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;
+ &nbsp; 345<br>
+ &nbsp; &nbsp; &nbsp; 2 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;
+ 690<br>
+ &nbsp; &nbsp; &nbsp; 3 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;
+ 1035<br>
+ &nbsp; &nbsp; &nbsp; 4 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;
+ 1380<br>
+ <br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 1 x A3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 836<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 2 x A3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1672<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x 11x17 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp; 780<br>
+ &nbsp; &nbsp; &nbsp; 2 x 11x17 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; 1560<br>
+ <br>
+ <br>
+ &nbsp; DTP51:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; 266<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 x A4 &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; 532<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 x A4 &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; 798<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 x A4 &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp;
+ &nbsp;
+ &nbsp;&nbsp; 1064<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;
+ 252<br>
+ &nbsp; &nbsp; &nbsp; 2 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;
+ 504<br>
+ &nbsp; &nbsp; &nbsp; 3 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;
+ 756<br>
+ &nbsp; &nbsp; &nbsp; 4 x Letter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; 1008<br>
+ <br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 1 x A3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 580<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 2 x A3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 1160<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x 11x17 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; 570<br>
+ &nbsp; &nbsp; &nbsp; 2 x 11x17 &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp;&nbsp;
+ 1140<br>
+ <br>
+ &nbsp; SpectroScan with square patches:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4R&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 1014<br>
+ &nbsp; &nbsp; &nbsp; 2 x A4R &nbsp; &nbsp; &nbsp; 2028<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 3 x A4R&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; 3042<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 4 x A4R&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; 4056<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp; 1 x LetterR &nbsp;&nbsp; 999<br>
+ &nbsp; &nbsp; &nbsp; 2 x LetterR&nbsp;&nbsp; 1998<br>
+ &nbsp; &nbsp;&nbsp; &nbsp;3 x LetterR&nbsp;&nbsp; 2997<br>
+ &nbsp; &nbsp; &nbsp; 4 x LetterR&nbsp;&nbsp; 3996<br>
+ <br>
+ &nbsp; SpectroScan with hexagonal patches:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4R&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 1170<br>
+ &nbsp; &nbsp; &nbsp; 2 x A4R &nbsp; &nbsp; &nbsp; 2340<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 3 x A4R&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; 3510<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 4 x A4R&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; 4680<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp; 1 x LetterR&nbsp;&nbsp; 1092<br>
+ &nbsp; &nbsp; &nbsp; 2 x LetterR&nbsp;&nbsp; 2184<br>
+ &nbsp; &nbsp;&nbsp; &nbsp;3 x LetterR&nbsp;&nbsp; 3276<br>
+ &nbsp; &nbsp; &nbsp; 4 x LetterR&nbsp;&nbsp; 4368<br>
+ <br>
+ &nbsp; Eye-One Pro:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 441<br>
+ &nbsp; &nbsp; &nbsp; 2 x A4 &nbsp; &nbsp; &nbsp;&nbsp; 882<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 3 x A4&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; 1323<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 4 x A4&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; 1764<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp; 1 x Letter &nbsp;&nbsp; 462<br>
+ &nbsp; &nbsp; &nbsp; 2 x Letter&nbsp;&nbsp;&nbsp; 924<br>
+ &nbsp; &nbsp;&nbsp; &nbsp;3 x Letter&nbsp;&nbsp; 1386<br>
+ &nbsp; &nbsp; &nbsp; 4 x Letter&nbsp;&nbsp; 1848<br>
+ <br>
+ &nbsp; ColorMunki:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; 90<br>
+ &nbsp; &nbsp; &nbsp; 2 x A4 &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; 180<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 3 x A4&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; 270<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 4 x A4&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp; 360<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp; 1 x Letter &nbsp;&nbsp;&nbsp;&nbsp; 98<br>
+ &nbsp; &nbsp; &nbsp; 2 x Letter&nbsp;&nbsp;&nbsp;&nbsp; 196<br>
+ &nbsp; &nbsp;&nbsp; &nbsp;3 x Letter&nbsp;&nbsp;&nbsp;&nbsp; 294<br>
+ &nbsp; &nbsp; &nbsp; 4 x Letter&nbsp;&nbsp;&nbsp;&nbsp; 392<br>
+ <br>
+ &nbsp; ColorMunki -h:<br>
+ <br>
+ &nbsp; &nbsp; &nbsp; 1 x A4&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 210<br>
+ &nbsp; &nbsp; &nbsp; 2 x A4 &nbsp; &nbsp; &nbsp;&nbsp; 420<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 3 x A4&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp; 630<br>
+ &nbsp;&nbsp; &nbsp;&nbsp; 4 x A4&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; 840<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp; 1 x Letter &nbsp;&nbsp; 196<br>
+ &nbsp; &nbsp; &nbsp; 2 x Letter&nbsp;&nbsp;&nbsp; 392<br>
+ &nbsp; &nbsp;&nbsp; &nbsp;3 x Letter&nbsp;&nbsp;&nbsp; 588<br>
+ &nbsp; &nbsp; &nbsp; 4 x Letter&nbsp;&nbsp;&nbsp; 784<br>
+ <br>
+ &nbsp; Scanner (printtarg with -iSS -s options):<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 1 x A4R &nbsp; &nbsp;&nbsp; 1014<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;2 x A4R &nbsp; &nbsp;&nbsp; 2028<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;3 x A4R &nbsp; &nbsp;&nbsp; 3042<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;4 x A4R &nbsp; &nbsp;&nbsp; 4056<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 1 x LetterR&nbsp;&nbsp; 962<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;2 x LetterR&nbsp; 1924<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;3 x LetterR&nbsp; 2886<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;4 x LetterR&nbsp; 3848<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/ti3_format.html b/doc/ti3_format.html
new file mode 100644
index 0000000..c42a124
--- /dev/null
+++ b/doc/ti3_format.html
@@ -0,0 +1,311 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>Target Information 3 Format File (.ti3)</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2>Description of the .ti3 format</h2>
+ This is an ASCII text, <a href="File_Formats.html#CGATS">CGATS</a>,
+ Argyll specific format, used to hold device value and CIE/Spectral
+ value pairs, the raw information needed to create device profiles.
+ This file is typically created using the <a href="chartread.html">chartread</a>,&nbsp;<a
+ href="dispread.html"> dispread</a>, <a href="filmread.html">filmread</a>,
+ <a href="scanin.html"> scanin</a>, <a href="fakeread.html">
+ fakeread</a> or one of the conversion tools such as <a
+ href="cb2ti3.html">cb2ti3</a>, <a href="kodak2ti3.html">kodak2ti3</a>,
+ <a href="txt2ti3.html">txt2ti3</a>.<br>
+ <br>
+ While fully compatible with the CGATS.5 Data Exchange Format, the
+ particular required keywords and fields are unique to Argyll, hence
+ an Argyll specific file identifier <span style="font-weight: bold;">CTI3</span>
+ is used to avoid confusion with standard ANSI or CGATS files.<br>
+ <br>
+ The <span style="font-weight: bold;">.ti3</span> format changes
+ from time to time with new releases, to add new functionality, but
+ generally retains backwards compatibility. Note that in the
+ description below, the word "may" indicates an optional component,
+ while the word "shall" indicates a necessary component.<br>
+ <br>
+ Generally a .ti3 file contains only one table, the table containing
+ the colorimetric information. The exception is for a display in
+ which a set of RAMDAC values (most likely the result of display
+ calibration, or simply the video LUT (RAMDAC) values present in the
+ display when the test values were read) are recorded in a second
+ table.<br>
+ <br>
+ <br>
+ The first table contains the following:<br>
+ <br>
+ The file identifier (First 7 characters) shall be <span
+ style="font-weight: bold;">CTI3</span>.<br>
+ <br>
+ A <span style="font-weight: bold;">#</span> character introduces a
+ comment.<br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;"></span></span></span>There may be <span
+ style="font-weight: bold;">DESCRIPTOR</span>, <span
+ style="font-weight: bold;">ORIGINATOR</span>, or <span
+ style="font-weight: bold;">CREATED</span> keywords and values (as
+ per CGATS).<br>
+ <br>
+ There shall be a <span style="font-weight: bold;">DEVICE_CLASS</span>
+ keyword that has a value of <span style="font-weight: bold;">"OUTPUT</span>",
+
+ "<span style="font-weight: bold;">DISPLAY</span>" or <span
+ style="font-weight: bold;">"INPUT"</span>.<br>
+ This indicates to the profile program what type of device the color
+ information is from.<br>
+ <br>
+ An <span style="font-weight: bold;">"OUTPUT"</span> type device may
+ have a <span style="font-weight: bold;">TOTAL_INK_LIMIT</span>
+ keyword that has a numeric value indicating the maximum sum of the
+ device channel values as a percentage (T.A.C.), used in creating the
+ test chart. This will be used by the profiler as a value indicating
+ what the valid device gamut is, and what total ink limit should be
+ used in creating the profile tables.<br>
+ <br>
+ A <span style="font-weight: bold;">"DISPLAY"</span> type device may
+ have a <span style="font-weight: bold;">LUMINANCE_XYZ_CDM2</span>
+ keyword that contains the absolute XYZ value of white in candelas
+ per meter squared, e.g. <span style="font-weight: bold;">"112.334770
+
+ 119.657745 121.474236".<br>
+ <br>
+ </span>A display device may also have a <span style="font-weight:
+ bold;">NORMALIZED_TO_Y_100</span> keyword that must have a value
+ of "<span style="font-weight: bold;">NO</span>" or "<span
+ style="font-weight: bold;">YES</span>", to indicate whether the
+ CIE values have been normalised so that the largest has a Y value of
+ 100. If this is a display type device and there is no <span
+ style="font-weight: bold;">NORMALIZED_TO_Y_100</span> keyword,
+ then it can be assumed that the value <span style="font-weight:
+ bold;">are</span> normalized to Y = 100. If the values are
+ normalized to Y = 100, then the absolute values can be restored by
+ multiplying the XYZ values by the <span style="font-weight: bold;">LUMINANCE_XYZ_CDM2</span>
+ Y value and dividing by 100.<br>
+ <br>
+ There may be a keyword <span style="font-weight: bold;">TARGET_INSTRUMENT</span>
+ which will identify the instrument used to read the test values.
+ This is used by the profiling program to determine the spectral
+ characteristics of the instrument illuminant if Fluorescent Whitener
+ Compensation is desired. The value shall be one of:<br>
+ <br>
+ <b>&nbsp;&nbsp;&nbsp; "Xrite DTP20"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Xrite DTP22"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Xrite DTP41"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Xrite DTP51"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Xrite DTP92"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Xrite DTP94"</b><b><br>
+ </b><b> &nbsp;&nbsp; "GretagMacbeth Spectrolino"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "GretagMacbeth SpectroScan"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "GretagMacbeth SpectroScanT"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Spectrocam"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "GretagMacbeth i1 Display 1"</b><b><br>
+ </b><b>&nbsp;&nbsp;&nbsp; "GretagMacbeth i1 Display 2"</b><b><br>
+ </b><b>&nbsp;&nbsp;&nbsp; "Xrite i1 DisplayPro, ColorMunki Display"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "GretagMacbeth i1 Monitor"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "GretagMacbeth i1 Pro"</b><b><br>
+ </b><b>&nbsp;&nbsp;&nbsp; "X-Rite i1 Pro 2"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "X-Rite ColorMunki"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Colorimtre HCFR"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "ColorVision Spyder2"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "Datacolor Spyder3"</b><b><br>
+ </b><b>&nbsp;&nbsp;&nbsp; "Datacolor Spyder4"</b><b><br>
+ </b><b> &nbsp;&nbsp;&nbsp; "GretagMacbeth Huey"</b><b><br>
+ </b><b>&nbsp;&nbsp;&nbsp; "ColorMunki Smile"</b><b><br>
+ </b><b>&nbsp;&nbsp;&nbsp; "Hughski ColorHug"</b><br>
+ <br>
+ All instruments except the Spectrocam are assumed to have an "A"
+ type illuminant (incandescent lamp of&nbsp; 2850 degrees Kelvin.)<br>
+ <br>
+ There may be a <span style="font-weight: bold;">INSTRUMENT_TYPE_SPECTRAL</span>
+ keyword that must have a value of "<span style="font-weight: bold;">NO</span>"
+ or "<span style="font-weight: bold;">YES</span>", to indicate
+ whether the instrument is based on spectral measurement or not.<br>
+ <br>
+ There may be a <span style="font-weight: bold;">DISPLAY_TYPE_REFRESH</span>
+ keyword that must have a value of "<span style="font-weight: bold;">NO</span>"
+ or "<span style="font-weight: bold;">YES</span>", to indicate
+ whether the instrument was used in a display refresh mode during
+ measurement. <br>
+ <br>
+ There may be keywords with associated values <span
+ style="font-weight: bold;">SINGLE_DIM_STEPS</span>, <span
+ style="font-weight: bold;">COMP_GREY_STEPS</span>, <span
+ style="font-weight: bold;">MULTI_DIM_STEPS</span> or <span
+ style="font-weight: bold;">FULL_SPREAD_PATCHES</span>, that
+ document the composition of the test chart patches.<br>
+ <br>
+ There shall be a keyword <span style="font-weight: bold;">COLOR_REP</span>
+ that has a value that indicates what colorspaces the test values
+ connect. The colorspaces shall be encoded with one&nbsp; or two
+ letters per component, and the two color spaces shall then separated
+ by an <span style="font-weight: bold;"><span style="font-weight:
+ bold;">_</span></span> (underscore) character. For output and
+ display devices, the device space shall come first, followed by the
+ PCS space. For an input device, the PCS shall come first, followed
+ by the device space. The PCS space shall be either XYZ space,
+ indicated by <span style="font-weight: bold;">XYZ</span>, or D50
+ while point L*a*b* space, indicated by <span style="font-weight:
+ bold;">LAB</span>. The device spaces shall use the following
+ letter encoding:<br>
+ <br>
+ <span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>&nbsp;&nbsp;&nbsp;
+Cyan
+
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ C<br>
+ &nbsp;&nbsp;&nbsp; Magenta &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; M<br>
+ &nbsp;&nbsp;&nbsp; Yellow &nbsp; &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ Y<br>
+ &nbsp;&nbsp;&nbsp; Black &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ K<br>
+ &nbsp;&nbsp;&nbsp; Orange &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ O<br>
+ &nbsp;&nbsp;&nbsp; Red
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ R<br>
+ &nbsp;&nbsp;&nbsp; Green &nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ G<br>
+ &nbsp;&nbsp;&nbsp; Blue &nbsp;&nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ B<br>
+ &nbsp;&nbsp;&nbsp; White &nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; W<br>
+ &nbsp;&nbsp;&nbsp; Light Cyan
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ c<br>
+ &nbsp;&nbsp;&nbsp; Light
+ Magenta&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ m<br>
+ &nbsp;&nbsp;&nbsp; Light
+ Yellow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ y<br>
+ &nbsp;&nbsp;&nbsp; Light
+ Black&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ k<br>
+ &nbsp;&nbsp;&nbsp; Medium Cyan&nbsp;
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2c<br>
+ &nbsp;&nbsp;&nbsp; Medium Magenta
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2m<br>
+ &nbsp;&nbsp;&nbsp; Medium Yellow
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2y<br>
+ &nbsp;&nbsp;&nbsp; Medium Black
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2k<br>
+ &nbsp;&nbsp;&nbsp; Light Light Black &nbsp; &nbsp; &nbsp;&nbsp; 1k<br>
+ <br>
+ There may be an a previx <span style="font-weight: bold;">i</span>
+ preceeding the device space letter encoding, indicating that
+ although the space appears to be an additive space, it is in fact a
+ subtractive device.<br>
+ <br>
+ Typical values might be: "<span style="font-weight: bold;">RGB_XYZ</span>"
+ or "<span style="font-weight: bold;">RGB_LAB</span>" for an RGB
+ display, "<span style="font-weight: bold;">iRGB_XYZ</span>" or "<span
+ style="font-weight: bold;">iRGB_LAB</span>" for an RGB printer, "<span
+ style="font-weight: bold;">CMYK_XYZ</span>" for a printer, "<span
+ style="font-weight: bold;">XYZ_RGB"</span> for an RGB scanner.<br>
+ <br>
+ If spectral values are going to be included in the file, the
+ following keywords and values shall be used:<br>
+ <br>
+ <span style="font-weight: bold;">&nbsp; SPECTRAL_BANDS</span> shall
+ contain the number of spectral bands in the readings, e.g. <span
+ style="font-weight: bold;">"36"</span>.<br>
+ &nbsp; <span style="font-weight: bold;">SPECTRAL_START_NM</span>
+ shall contain the wavelength in nanometers of the first band, e.g. <span
+ style="font-weight: bold;"><span style="font-weight: bold;"><span
+ style="font-weight: bold;">"380.0"</span></span></span>.<br>
+ &nbsp; <span style="font-weight: bold;">SPECTRAL_END_NM</span>
+ shall contain the wavelength in nanometers of the last band, e.g. <span
+ style="font-weight: bold;">"730.0"</span>.<br>
+ <br>
+ The <span style="font-weight: bold;">NUMBER_OF_FIELDS</span>
+ keyword shall have a value that indicates the number of fields in
+ each data set, e.g. <span style="font-weight: bold;">43</span> (as
+ per CGATS).<br>
+ <br>
+ The start of the declaration of the fields shall be marked by the <span
+ style="font-weight: bold;">BEGIN_DATA_FORMAT</span> keyword (as
+ per CGATS).<br>
+ Then shall follow the names of the fields. Standard CGATS field
+ names such as:<br>
+ <br>
+ <span style="font-weight: bold;">&nbsp;SAMPLE_ID</span>, <span
+ style="font-weight: bold;">RGB_R</span>, <span
+ style="font-weight: bold;">RGB_G</span>, <span
+ style="font-weight: bold;">RGB_B</span>, <span
+ style="font-weight: bold;">CMYK_C</span>, <span
+ style="font-weight: bold;">CMYK_M</span>, <span
+ style="font-weight: bold;">CMYK_Y</span>, <span
+ style="font-weight: bold;">CMYK_K</span>, <span
+ style="font-weight: bold;">XYZ_X</span>, <span
+ style="font-weight: bold;">XYZ_Y</span>, <span
+ style="font-weight: bold;">XYZ_Z</span>, <span
+ style="font-weight: bold;">LAB_L</span>, <span
+ style="font-weight: bold;">LAB_A</span> or <span
+ style="font-weight: bold;">LAB_B</span><br>
+ <br>
+ shall be used where appropriate. Other device fields shall use the
+ appropriate pattern, e.g. <span style="font-weight: bold;">CMYKOG_G</span>
+ etc. Spectral band values shall be named <span style="font-weight:
+ bold;">SPEC_XXX</span>, where <span style="font-weight: bold;">XXX</span>
+ is the nearest integer values of the number of nanometers of the
+ band.<br>
+ <br>
+ Optional patch location information shall use the&nbsp; <span
+ style="font-weight: bold;">SAMPLE_LOC</span> field and shall be of
+ quoted string type.<br>
+ <br>
+ The definition of the fields shall be terminated by the <span
+ style="font-weight: bold;">END_DATA_FORMAT</span> keyword (as per
+ CGATS).<br>
+ <br>
+ The <span style="font-weight: bold;">NUMBER_OF_SETS</span> keyword
+ shall have a value that indicates the number of sets of data, e.g. <span
+ style="font-weight: bold;">1000</span> (as per CGATS).<br>
+ <br>
+ The start of the values of the data sets shall be marked by the <span
+ style="font-weight: bold;">BEGIN_DATA</span> keyword (as per
+ CGATS).<br>
+ <br>
+ Each set of data shall be on one line, and shall be separated by
+ white space. All device values shall be percentages (e.g. values
+ from 0.0 to 100.0). XYZ values shall normalized to a Y value of
+ 100.0. L*a*b* values will have their normal range (L* 0.0 to 100.0,
+ a* and b* typically -128.0 to 128.0).<br>
+ <br>
+ The end of the values of the data sets shall be marked by the <span
+ style="font-weight: bold;">END_DATA</span> keyword (as per CGATS).<br>
+ <br>
+ Generally any other keywords and values will be ignored.<br>
+ <br>
+ If a second table is present, and it is a display RAMDAC
+ calibration, printers or input devices per channel calibration
+ curves, and will be of the <a href="cal_format.html">CAL file
+ format</a>..<br>
+ <br>
+ </body>
+</html>
diff --git a/doc/tiffgamut.html b/doc/tiffgamut.html
new file mode 100644
index 0000000..bc63ce7
--- /dev/null
+++ b/doc/tiffgamut.html
@@ -0,0 +1,357 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>tiffgamut</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>xicc/tiffgamut</b></h2>
+ <h3>Summary</h3>
+ Create a gamut file or VRML file of the color gamut of the
+ contents of a set of TIFF or JPEG image.<br>
+ <br>
+ <span style="font-weight: bold;">tiffgamut</span> allows creation of
+ gamut files from the pixel values in a
+ set of TIFF and/or JPEG raster images, as defined by an ICC profile,
+ in L*a*b* or
+ CIECAM02
+ Jab
+ colorspace, and can also represent the gamut as a VRML file. This
+ can be used for visualizing and comparing the gamut of an image to
+ the
+ colorspace it is
+ in, or a colorspace it might get transformed into, and can also be
+ used
+ to create an image source gamut for use with <a href="collink.html">
+ collink</a>.<br>
+ <br>
+ <span style="font-weight: bold;">NOTE</span> that if you are
+ creating
+ an image gamut suitable for use with the <a href="collink.html">collink</a>
+ <a href="collink.html#g">-g</a> or <a href="collink.html#G">-G</a>
+ flags, or <a href="colprof.html#g">colprof
+ -g</a>, use the Jab appearance space intent for appearance space
+ gamut
+ mappings, and the same input viewing
+ conditions to be used in <span style="font-weight: bold;">collink</span>
+ or <span style="font-weight: bold;">colprof</span>
+ using
+ the -c flag, i.e. "tiffgamut -pj -cmt sRGB.icm image.tif"<br>
+ <h3>Usage Summary</h3>
+ <small><span style="font-family: monospace;">tiffgamut [-v level]
+ [profile.icm | embedded.tif/jpg] infile1.tif/jpg
+ [infile2.tif/jpg ...]</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Verbose</span><br style="font-family: monospace;">
+ &nbsp;
+ <span style="font-family: monospace;">-d
+ sres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Surface
+ resolution details 1.0 - 50.0</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+emit
+ VRML .wrl file as well as CGATS .gam file</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't
+ add VRML axes or white/black point</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;-k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Add
+ markers for prim. &amp; sec. "cusp" points<br>
+ &nbsp;-f perc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filter by
+ popularity,
+ perc = percent to use<br style="font-family: monospace;">
+ </span><span style="font-family: monospace;">&nbsp;-i
+ intent&nbsp;&nbsp;&nbsp;&nbsp; p =
+ perceptual, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s
+ = saturation, a = absolute (default), d = profile default</span></small><small><span
+ style="font-family: monospace;"></span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;-o
+ order&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n = normal
+ (priority: lut &gt; matrix &gt; monochrome)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+r
+ = reverse (priority: monochrome &gt;
+ matrix &gt; lut)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;</span><span
+ style="font-family: monospace;">-p oride</span><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l
+ =
+ Lab_PCS (default), j = CIECAM02 Appearance Jab</span></small><br
+ style="font-family: monospace;">
+ <small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;">&nbsp;-c viewcond&nbsp;&nbsp;
+ set
+ appearance mode and viewing conditions for CIECAM02,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+either
+ an enumerated choice, or a parameter:value change</span><span
+ style="font-family: monospace;"></span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; pp - Practical Reflection
+ Print
+ (ISO-3664 P2)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+ pe - Print evaluation environment (CIE 116-1995)<br>
+ </span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+ pc - Critical print evaluation environment (ISO-3664 P1)</span></small><small><span
+ style="font-family: monospace;"></span><span style="font-family:
+ monospace;"></span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; mt - Monitor in typical work environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; mb - Monitor in bright work environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; md - Monitor in darkened work
+ environment</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; jm - Projector in dim environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; jd - Projector in dark environment</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp; &nbsp;&nbsp;
+ &nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene
+ outdoors</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; ob - Original scene - Bright Outdoors</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp;
+ &nbsp;&nbsp;&nbsp; cx - Cut Sheet Transparencies on a viewing
+ box</span></small><br style="font-family: monospace;">
+ <small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s:surround&nbsp;&nbsp;
+ n = auto, a = average, m = dim, d = dark,</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+ &nbsp; &nbsp;&nbsp; c = transparency (default average)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Adapted white point
+ as XYZ (default media white)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Adapted white point as
+ x, y</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+a:adaptation
+ Adaptation luminance in
+ cd.m^2
+ (default 50.0)</span><br style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+b:background
+ Background % of image luminance (default 20)<br>
+ &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; l:scenewhite Scene
+ white in
+ cd.m^2 if surround = auto (default 250)<br style="font-family:
+ monospace;">
+ </span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Flare
+ light % of image luminance (default 1)</span><br
+ style="font-family: monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+ &nbsp;&nbsp;
+ f:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flare color as
+ XYZ (default media white)</span><br style="font-family:
+ monospace;">
+ <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Flare color as x, y<br>
+ &nbsp;-O outputfile Override the default output filename &amp;
+ extension.<br style="font-family: monospace;">
+ </span></small><br>
+ <h3>Usage Details and Discussion<br>
+ </h3>
+ The<b> -v</b> flag dumps out the ICC profile header information.<br>
+ <br>
+ The <b>-d</b> parameter controls the level of detail displayed in
+ the
+ surface. The parameter roughly corresponds to a deltaE value, so
+ smaller
+ values
+ give greater detail. The default value is around 10, and is a good
+ place
+ to start. Small values may take a lot of time to generate, and will
+ produce
+ big files.<br>
+ <br>
+ The <b>-w</b> flag causes a VRML file to be produced, as well as a
+ gamut file.<br>
+ <br>
+ The <b>-n</b> flag suppresses the L*a*b* axes being created in
+ the
+ VRML.<br>
+ <br>
+ The <span style="font-weight: bold;">-k</span> flag adds markers
+ for
+ each of the primary and secondary "cusp" points (Red, Yellow, Green,
+ Cyan, Blue &amp; Magenta). No markers will be displayed if the cusps
+ cannot be determined.<br>
+ <br>
+ The <span style="font-weight: bold;">-f</span> <span
+ style="font-weight: bold;">perc</span> parameter turns on
+ filtering of
+ the raster colors. The colors from the image are clustered, and then
+ sorted according to popularity, and then the <span
+ style="font-weight: bold;">perc</span> most common percentage of
+ colors are used to create the gamut surface. This may be useful in
+ creating a source gamut mapping surface that favors the important
+ colors within an image, and doesn't attempt to compress the color
+ reproduction in order to reproduce the little used colors. A value
+ of <span style="font-weight: bold;">perc</span> of 90 or 80 may be
+ a good place
+ to start. Note that the filtering is performed independently on each
+ raster image processed, with the final gamut being the union of all
+ the
+ filtered image gamuts.<br>
+ <br>
+ The <b>-i</b> flag selects the intent transform used for a lut
+ based
+ profile. It also selects between relative and absolute colorimetric
+ for
+ non-lut base profiles. Note that anything other than colorimetric
+ may
+ not represent the
+ native capabilities of the device. The default intent will be
+ absolute
+ colorimetic for L*a*b* output, and CIECAM02 appearance for Jab
+ output.<br>
+ <br>
+ An ICC profile is allowed to contain more than the minimum number of
+ elements or table needed to describe a certain transform, and may
+ contain redundant descriptions. &nbsp;By default, LUT based table
+ information will be used first if present, followed by matrix/shaper
+ information, and only using monochrome
+ information if it is all that is present. The <b>-o</b> flag,
+ reverses
+ this
+ order.&nbsp;&nbsp;&nbsp; <br>
+ <br>
+ <span style="font-weight: bold;">-p</span>: By default the gamut
+ will
+ be created in L*a*b* colorspace. If&nbsp; <span style="font-weight:
+ bold;">-pj</span> is selected, then CIECAM02
+ appearance space Jab will be used for the output, and the viewing
+ conditions will be taken into account. Jab space is what is normally
+ needed to be compatible with the default intents used in <a
+ href="colprof.html">colprof</a>. <span style="font-weight: bold;"><br>
+ </span>Note that the CIECAM02 output space selection by default uses
+ the colorimetric transform of the profile resulting in the
+ appearance
+ of the native device, but that the perceptual or
+ saturation transforms may be used by selecting them using the <span
+ style="font-weight: bold;">-i</span> parameter, which may give a
+ different result with some profiles. This may be desirable if an
+ image
+ is to be transformed through the perceptual or saturation tables of
+ a
+ profile as part of a link with an Argyll generated output profile,
+ since it will then represent the apparent gamut of the image when
+ subject to these tables. If the absolute colorimetric intent is
+ chosen
+ using <span style="font-weight: bold;">-ia</span> in combinations
+ with
+ <span style="font-weight: bold;">-pj</span>, then&nbsp; Jab with
+ a fixed white reference is used, which emulates an absolute CIECAM02
+ Jab
+ appearance space. <br>
+ <br>
+ The <span style="font-weight: bold;">-c</span> parameter sets the
+ output space to CIECAM02 appearance Jab values, and also allows
+ choosing
+ a set of viewing conditions, either by choosing a typical viewing
+ environment, or controlling
+ particular viewing condition parameters. This is only functional if
+ an
+ ICC profile is provided.<br>
+ <br>
+ The <span style="font-weight: bold;">-O</span> parameter allows the
+ output file name &amp; extension to be specified independently of
+ the
+ last tiff/jpeg
+ filename. Note that the full filename must be specified, including
+ the
+ extension.<br>
+ <br>
+ If the TIFF or JPEG files are in a device space (ie. RGB, CMYK
+ etc.), then it
+ is
+ necessary to supply an ICC profile to translate the device space
+ values
+ to a CIE space value such as L*a*b* or CIECAM02 Jab space for
+ creating
+ a gamut surface. For the ICC profile provided it is then possible to
+ select exactly what type of conversion is used. A TIFF or JPEGfile
+ with an
+ embedded ICC profile may be supplied as the profile argument - e.g.
+ to
+ get the gamut of a tiff file that contains an embedded profile use
+ something like:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; tiffgamut image.tif image.tif<br>
+ <br>
+ If a TIFF file is
+ already in a CIE space such as CIELab or ICCLab, then it is not
+ necessary to select an ICC profile,&nbsp; although a PCS to PCS
+ colorspace profile may be chosen. All the TIFF and JPEG files
+ must be in the same colorspace.<br>
+ <br>
+ One or more TIFF and/or JPEG files may be specified, and the gamut
+ is the union of
+ the gamuts of each file. This is useful for creating an image
+ specific
+ gamut mapping that can be applied to a set of images with consistent
+ results between the images. Note that the output gamut file name
+ will
+ by default be taken from the last TIFF or JPEG file specified, with
+ the .gam
+ extension added automatically. The <span style="font-weight: bold;">-O</span>
+ parameter will override this default.<br>
+ <br>
+ <span style="font-weight: bold;">NOTES</span><br>
+ <br>
+ The white and black points put in the gamut are the colorspace white
+ and black points. For the purposes of latter gamut mapping, it is
+ assumed that the image should retain it's position within the
+ colorspace dynamic range. For an L*a*b* image, the values value
+ 100,0,0
+ and 0,0,0 for white and black are assumed. An image in L*a*b* should
+ be
+ adjusted be neutral to, and sit within the dynamic range of those
+ white
+ and black points.<br>
+ <br>
+ <br>
+ <span style="font-weight: bold;"></span><br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/timage.html b/doc/timage.html
new file mode 100644
index 0000000..2daed27
--- /dev/null
+++ b/doc/timage.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>timage</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>render/timage</b></h2>
+<h3>Summary</h3>
+Create TIFF test image, suitable for evaluating various color
+transformations. By default a test image consisting of two hexagons and
+a grey wedge is produced. The two hexagons are the white and black
+corners of the RGB cube surface. This is useful in checking gamut
+mapping behaviour applied to an RGB colorspace.<br>
+<br>
+<img alt="RGB cube surface" src="cube.jpg"
+ style="width: 200px; height: 101px;"><br>
+<br>
+&nbsp;An alternate rectangular "rainbow" representation of the surface
+of an RGB
+cube can also be created. <br>
+<br>
+<img alt="RGB rectangular surface" src="surface.jpg"
+ style="width: 200px; height: 148px;"><br>
+<br>
+A third type is a set of stepped rectangles that explore the L*a*b*
+space, useful for testing profiles B2A tables (-p 6):<br>
+<br>
+<img alt="Lab steps image" src="LabSteps.jpg"
+ style="width: 150px; height: 150px;"><br>
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;">usage: timage [-options] outfile.tif</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbose</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Generate rectangular boundary test chart<br>
+&nbsp;-p steps&nbsp;&nbsp;&nbsp;&nbsp; Generate a colorspace step chart
+with L* steps^2<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;-r
+res&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Resolution
+in DPI (default 200)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Smooth blend</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+16 bit output</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-g
+prop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Percentage towards grey
+(default 0%)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;outfile.tif&nbsp; Profile
+to check against</span></small><br>
+<h3>Usage Details and Discussion<br>
+</h3>
+The<b> -v</b> flag increases verbosity.&nbsp;&nbsp; <br>
+<br>
+The default behaviour is to create the two hexagon plus grey wedge test
+image. If the <span style="font-weight: bold;">-t</span> flag is used,
+the alternate single rectangular surface test image&nbsp; is generated.
+If the <span style="font-weight: bold;">-p steps</span> parameter is
+given, than an L*a*b* test chart is generated.<br>
+<br>
+The dots per inch of the image can be set using the <span
+ style="font-weight: bold;">-r</span> parameter. Increasing this,
+increases the size and detail of the image.<br>
+<br>
+Normally the images are generated using linear blending of the RGB
+values. If the <span style="font-weight: bold;">-s</span> flag is
+used, a smoother blending is employed. This is most desirable when
+generating the rectangular test image.<br>
+<br>
+Normally an 8 bit per color component image is generated. If the <span
+ style="font-weight: bold;">-x</span> flag is use, a 16 bit per color
+component image will be generated, giving smoother blends, particularly
+if a higher resolution (DPI) image is created.<br>
+<br>
+The hexagon and surface test images are normally the surface colors of
+the RGB colorspace
+cube. If a percentage greater than 0% is given as an argument to the <span
+ style="font-weight: bold;">-g</span> option, a test chart composed of
+colors away from the RGB cube surface, towards the center grey point
+will be generated. 100% will generate a completely grey image. Values
+of 10, 20 to 50% are more usual.<br>
+<br>
+The L*a*b* step chart explores the range of L*a*b* values that are
+handled by an L*a*b* PCS B2A table, with the L* stepping from 0 to 100
+in steps from the top left to the bottom right square, while the a*
+values range from -127 to 127 left to right in each square, and the b*
+values range from -127 to 127 bottom to top in each square.<br>
+<br>
+The last argument on the command line is the name of the TIFF file to
+save the resulting image to.<br>
+<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/txt2ti3.html b/doc/txt2ti3.html
new file mode 100644
index 0000000..744a576
--- /dev/null
+++ b/doc/txt2ti3.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>txt2ti3</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>profile/txt2ti3</b></h2>
+<h3>Summary</h3>
+<small><big>Convert
+Gretag/Logo/X-Rite or other CGATS format RGB or CMYK test chart results
+into</big></small> Argyll&nbsp;<a href="File_Formats.html#.ti3">.ti3</a>
+CGATS
+format.&nbsp;
+<h3>Usage Summary</h3>
+<small><span style="font-family: monospace;">txt2ti3 [-v] [-l limit]
+[-d] [devfile] infile [specfile] outfile</span><br
+ style="font-family: monospace;">
+<br style="font-family: monospace;">
+<span style="font-family: monospace;">-2<span
+ style="font-style: italic;"> &nbsp; &nbsp; &nbsp;</span>
+&nbsp;&nbsp;&nbsp;&nbsp; create a dummy .ti2 file as well.<br>
+</span></small><small><span style="font-family: monospace;">-l </span><i
+ style="font-family: monospace;">limit</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set ink
+limit, 0
+-
+400% (default max in file)<br>
+-d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set type of device as Display, not Output<br>
+-i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set type of device as Input, not Output<br
+ style="font-family: monospace;">
+</span></small><small><span style="font-family: monospace;"></span><i
+ style="font-family: monospace;">[devfile]</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; Input Device
+CMYK
+target file (typically file.txt)</span><br
+ style="font-family: monospace;">
+<i style="font-family: monospace;">infile&nbsp;</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Input
+CIE, Spectral or Device &amp; Spectral file (typically file.txt)</span><br
+ style="font-family: monospace;">
+<i style="font-family: monospace;">[specfile]</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; Input Spectral
+file (typically file.txt)</span><br style="font-family: monospace;">
+<i style="font-family: monospace;">outbasefile</i><span
+ style="font-family: monospace;">&nbsp;&nbsp; Base name for
+output</span><a style="font-family: monospace;"
+ href="File_Formats.html#.ti3">.ti3</a><span
+ style="font-family: monospace;"> and <a href="File_Formats.html#.ti2">.ti2</a>
+file</span></small>
+<br>
+<h3>Usage Details and Discussion</h3>
+txt2ti3 takes the Gretag/Logo/X-Rite/etc. test chart
+results, and converts them
+into Argyll&nbsp;<a href="File_Formats.html#.ti3">.ti3</a> CGATS files.<br>
+It is quite common to find profile test chart data from various
+standards bodies and industry organizations in one of these formats,
+so it is
+useful to be able to convert them for use with Argyll. ICC profiles
+created using Gretag Profile Maker also commonly contain the test chart
+results embedded in the profile, inside an ICC tag.<br>
+<br>
+A variety of different packaging of Gretag/Logo data can be accepted: <br>
+<br>
+1&nbsp;source files, consisting of a combined device value and CIE
+and/or spectral values.<br>
+2 source files, consisting of &nbsp;a file containing the device
+values, and a file containing the CIE and/or spectral values.<br>
+2 source files, consisting of a file containing the device values and
+the CIE values, and a file containing the spectral values.<br>
+3 source files, consisting of a file containing the device values, a
+file containing the CIE values, and a file containing the spectral
+values.<br>
+<br>
+X-Rite ColorPort seems to produce a single source file containing
+combined device value and CIE
+and/or spectral values.<br>
+<br>
+The Gretag/Logo test chart results format seem to change with each
+minor release of Profile Maker, so this tool may not work in all
+cases.<br>
+<br>
+The <span style="font-style: italic;">outbasefile</span> is the base
+of the output file(s), to which txt2ti3 will automatically append a
+.ti3 and .ti2 extension.<br>
+<br>
+The input files may have data that is scaled to one of three levels:
+1.0, 100.0 or 255.0, and txt2ti3 attempts to guess what the appropriate
+range is, in order to scale to Argyll's standard range 0 .. 100.0.<br>
+<br>
+<br>
+</body>
+</html>
diff --git a/doc/ucmm.html b/doc/ucmm.html
new file mode 100644
index 0000000..31d95cb
--- /dev/null
+++ b/doc/ucmm.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>ucmm conventions and format.</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2>ucmm organization and conventions.<br>
+</h2>
+ucmm (Unix micro Color Management Module) is a color management module
+designed just to handle the necessary configuration needed to track the
+installation and association of ICC profiles with Unix/Linux X11
+displays. It could be expanded at some point to also hold the
+associations for other devices such as scanner and printers.<br>
+<br>
+It consists primarily of a small configuration database that associates
+a display monitor (identified by its EDID or the X11 display name if an
+EDID is not known) with an ICC Display profile.<br>
+<br>
+There are two configuration contexts, <span style="font-weight: bold;">local
+system</span> and <span style="font-weight: bold;">per user</span>,
+the latter taking
+precedence when both are present.<br>
+<br>
+ucmm follows the <a
+ href="http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html">XDG
+Base Directory specifications</a> for the location of the configuration
+file and display profiles.<br>
+<br>
+For the <span style="font-weight: bold;">local system</span> context,
+the ucmm configuration file is located at:<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_CONFIG_DIRS/color.jcnf<br>
+or&nbsp;&nbsp; /etc/xdg/color.jcnf<br>
+<br>
+and display profiles are stored in<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_DATA_DIRS/color/icc/devices/display/<br>
+or&nbsp;&nbsp; /usr/local/share/color/icc/devices/display/<br>
+<br>
+For <span style="font-weight: bold;">per user</span> contents, the
+ucmm configuration file is located at:<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_CONFIG_HOME/color.jcnf<br>
+or&nbsp;&nbsp; $HOME/.config/color.jcnf<br>
+<br>
+and display profiles are stored in<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_DATA_HOME/color/icc/devices/display/<br>
+or&nbsp;&nbsp; $HOME/.local/share/color/icc/devices/display/<br>
+<br>
+The configuration format of the <span style="font-weight: bold;">color.jcnf</span>
+files uses the <a href="http://www.json.org/">JSON JavaScript Object
+Notation</a>,
+a lightweight data-interchange format.<br>
+<br>
+A hierarchy of members is used to represent a hierarchical key/value
+pair format.<br>
+<br>
+The monitor to ICC profile association is organized as independent
+records, having the form:<br>
+<br>
+&nbsp; <span style="font-weight: bold;">key</span>&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<span style="font-weight: bold;">value</span><br>
+<br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/EDID&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp; Monitor EDID&nbsp; in upper case Hexadecimal <br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE&nbsp;&nbsp;
+&nbsp;&nbsp; Full path to the associated ICC profile<br>
+<br>
+or<br>
+<br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/NAME
+&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; X11 display name <br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE&nbsp;&nbsp;
+&nbsp;&nbsp; Full path to the associated ICC profile<br>
+<br>
+where <span style="font-weight: bold;">N</span> is a number starting
+from 1, that distinguishes each record, but otherwise has no special
+meaning.<br>
+<br>
+The first form is the preferred form, since it associates the profile
+with the actual display, and therefore it is possible to have the
+profile track the display, no matter which X11 screen it is plugged
+into. The second form is a fallback, for situations in which a monitor
+does not have an EDID, or where the X11 server is configured in a way
+that does not permit access to the EDID (i.e.., on a second screen when
+Xinerama is running).<br>
+<br>
+The following is an example of a per user color.jcnf:<br>
+<br>
+{<br>
+&nbsp; "devices": {<br>
+&nbsp;&nbsp;&nbsp; "display": {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "1": {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "EDID":
+"0x00FFFFFFFFFFFF0034A1731751720000150901010C1F17CDE8A11E9E554A982712474FA4CE0045598180315961590101010101010101000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020003D",<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "ICC_PROFILE":
+"/home/graeme/.local/share/color/devices/display/mon1.icc"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "2": {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "NAME": ":0.1",<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "ICC_PROFILE":
+"/home/graeme/.local/share/color/devices/display/mon2.icc"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+&nbsp;&nbsp;&nbsp; }<br>
+&nbsp; }<br>
+}<br>
+<br>
+<h3>Implementation</h3>
+The configuration file format is in the <span
+ style="font-weight: bold;"></span>Argyll
+source in the jcnf sub directories, and the ucmm functionality in the
+ucmm sub directories, and is made available under an MIT like free use
+license.
+</body>
+</html>
diff --git a/doc/verify.html b/doc/verify.html
new file mode 100644
index 0000000..bd4a953
--- /dev/null
+++ b/doc/verify.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <title>verify</title>
+ <meta http-equiv="content-type" content="text/html;
+ charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+ </head>
+ <body>
+ <h2><b>profile/verify</b></h2>
+ <h3>Summary</h3>
+ Verify a color transform by comparing CIE measurement values from
+ two test charts. The charts can be any suitably formatted CGATS or <a
+ href="File_Formats.html#.ti3">.ti3</a> format that contains
+ corresponding XYZ, Lab or spectral values. The overall average and
+ worst case delta E will be reported, as well as the worst 10% and
+ best 90% of values.<br>
+ <h3>Usage Summary</h3>
+ <tt><small>verify&nbsp; [-options] target.ti3 measured.ti3<br>
+ &nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+ &nbsp; Verbose - print each patch value<br>
+ &nbsp;-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Normalise
+
+ each files reading to white Y<br>
+ &nbsp;-N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Normalise
+
+ each files reading to white XYZ<br>
+ &nbsp;-D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Use
+
+ D50 100.0 as L*a*b* white reference<br>
+ &nbsp;-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+ &nbsp; Show CIE94 delta E values<br>
+ &nbsp;-k &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; Show CIEDE2000 delta E values<br>
+ &nbsp;-s &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; Sort patch value by error<br>
+ &nbsp;-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+ &nbsp; create VRML vector visualisation (measured.wrl)<br>
+ </small></tt><tt><small>&nbsp;-W
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ &nbsp; &nbsp; create VRML marker &amp; vector visualisation
+ (measured.wrl)</small></tt><tt><br>
+ </tt><tt> </tt><tt><small>&nbsp;-x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+
+ &nbsp; Use VRML axes<br>
+ &nbsp;</small></tt><tt><small><small>-f
+ [illum]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use Fluorescent
+ Whitening Agent compensation [opt. simulated inst. illum.:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or
+ file.sp]<br>
+ &nbsp;-i illum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Choose illuminant for computation of CIE XYZ from spectral
+ data &amp; FWA:<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp<br>
+ &nbsp;-o observ&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Choose
+ CIE Observer for spectral data:<br>
+ </small><small>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+ 1931_2 </small><small>(def.)</small><small>, 1964_10, S&amp;B
+ 1955_2, shaw, J&amp;V 1978_2</small><br>
+ &nbsp;<i>target.ti3</i>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Target or
+ reference patch data file<br>
+ &nbsp;<i>measured.ti3</i> &nbsp; &nbsp; Measured or actual patch
+ data file</small></tt><br>
+ <h3>Usage Details and Discussion</h3>
+ <b> verify</b> provides a way of verifying how well a color
+ transformation (such a proofing) performs.<br>
+ <br>
+ The <b>-v</b> flag prints out extra information during the
+ checking, and prints each patch value, rather than just a summary.<br>
+ <br>
+ The <b>-n</b> flag causes the two sets of values to be normalized
+ to the Y value of white for each set before comparison. White is
+ assumed to be the patch with the largest Y value.<br>
+ <br>
+ The <b>-N</b> flag causes the two sets of values to be normalized
+ to the XYZ of white for each set before comparison. White is assumed
+ to be the patch with the largest Y value.<br>
+ <br>
+ The <b>-D</b> flag causes the white reference point for the
+ conversion to L*a*b* to be D50 with a Y value of 100%. By default
+ the sample with the largest Y value is found, and the L*a*b* white
+ reference scaled to have that Y value. This allows sensible delta E
+ values when comparing absolute color values, such as those from
+ emission or display measurements.<br>
+ <br>
+ The <b>-c</b> option causes the differences between the test values
+ and the profile prediction of the color for each device value to be
+ displayed in CIE94 delta E, rather than plain L*a*b* delta E. CIE94
+ delta E has a closer correspondence with perceived color differences
+ than the default CIE76 delta E values.<br>
+ <br>
+ The <b>-k</b> option causes the differences between the test values
+ and the profile prediction of the color for each device value to be
+ displayed in CIEDE2000 delta E, rather than plain L*a*b* delta E.
+ CIEDE2000 delta E has a closer correspondence with perceived color
+ differences than either CIE76 or CIE94 delta E values.<br>
+ <br>
+ If the <b>-s </b>flag is used in combination with the <b>-v</b>
+ flag, then the test point by test point output will be sorted from
+ worst to best.<br>
+ <br>
+ The <b>-w</b> creates a <a href="File_Formats.html#VRML">VRML</a>
+ 3D visualization of the differences between the test points in D50
+ L*a*b* space, each difference being shown as a line vector. If the <span
+ style="font-weight: bold;">-W</span> flag is used, then the target
+ and measured values will also be marked by a small sphere. This can
+ be used to visualize the placement of values in a .ti3 (or other
+ CGATS file) by using the same file for both "target" and "measured"
+ values.<br>
+ <br>
+ The <b>-x</b> flag adds Lab axes to the VRML output.<br>
+ <br>
+ The <b>-f</b> flag enables Fluorescent Whitening Agent (FWA)
+ compensation. This only works if spectral data is available and, the
+ instrument is not UV filtered.&nbsp; FWA compensation adjusts the
+ spectral samples so that they appear to have been measured using an
+ illuminant that has a different level of Ultra Violet to the one the
+ instrument actually used in the measurement. The optional
+ illumination parameter allows specifying a standard or custom
+ illumination spectrum to be used as the similated instrument
+ illuminant, overriding the default <b>D50</b> or CIE computation
+ illuminant used for FWA (see <b>-i</b> below<b>). </b>See <a
+ href="colprof.html#f">colprof -f</a> for a fuller explanation. The
+ same value should be used as was used during the creation of the
+ profile.<br>
+ <br>
+ The <b>-i</b> flag allows specifying a standard or custom
+ illumination spectrum, applied to the spectral test point values to
+ compute CIE tristimulus values. <b>A</b>, <b>D50</b>, <b>D50M2,
+ D65</b>, <b>F5</b>, <b>F8</b>, <b>F10</b> are a selection of
+ standard illuminant spectrums, with <b>D50</b> being the default.
+ If a filename is specified instead, it will be assumed to be an
+ Argyll specific <a href="File_Formats.html#.sp">.sp</a> spectrum
+ file. If FWA compensation is used during measurement, this
+ illuminant will be used by default as the simulated instrument
+ illuminant. The same value should be used as was used during the
+ creation of the profile.<br>
+ <br>
+ The <b>-o</b> flag allows specifying a tristimulus observer, and is
+ used to compute PCS (Profile Connection Space) tristimulus values.
+ The following choices are available:<br>
+ <b>&nbsp; 1931_2</b> selects the standard CIE 1931 2 degree
+ observer. The default.<br>
+ &nbsp; <b>1964_10</b> selects the standard CIE 1964 10 degree
+ observer.<br>
+ &nbsp; <b>1955_2</b> selects the Stiles and Birch 1955 2 degree
+ observer<br>
+ &nbsp; <b>1978_2 </b>selects the Judd and Voss 1978 2 degree
+ observer<br>
+ &nbsp; <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree
+ observer<br>
+ <br>
+ The same parameter value should be used as was used during the
+ creation of the profile.<br>
+ <br>
+ If both CIE and spectral values are present in the input files, the
+ CIE values will be used by default. Using the <span
+ style="font-weight: bold;">-i</span>, <span style="font-weight:
+ bold;">-o</span> or <span style="font-weight: bold;">-f</span>
+ flag will force spectral values to be used. The the <span
+ style="font-weight: bold;">-i</span>, <span style="font-weight:
+ bold;">-o</span> or <span style="font-weight: bold;">-f</span>
+ flags will apply to both the target and measured input files.<br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ </body>
+</html>
diff --git a/doc/viewgam.html b/doc/viewgam.html
new file mode 100644
index 0000000..0bf5c04
--- /dev/null
+++ b/doc/viewgam.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>viewgam</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>gamut/viewgam</b></h2>
+<h3>Summary</h3>
+Convert one or more gamuts into a&nbsp;<a href="File_Formats.html#VRML">VRML</a>
+3D visualization
+file. &nbsp;This allows visual comparison of several gamut surfaces.<br>
+Also allows creating the intersection (overlap) between two gamuts.
+This is useful in measuring and visualizing the coverage of one gamut
+of another.<br>
+<h3>Usage<br>
+</h3>
+<small><span style="font-family: monospace;">viewgam { [-c color] [-t
+trans] [-w|s] </span><span
+ style="font-style: italic; font-family: monospace;">infile.gam</span><span
+ style="font-family: monospace;"> } ... </span><span
+ style="font-style: italic; font-family: monospace;">outfile.wrl</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+For each input gamut file:</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-c </span><i
+ style="font-family: monospace;">color</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Color
+to
+make gamut,
+r = red, g = green, b = blue</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+c = cyan, m = magenta, y = yellow, w = white</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+n = natural color</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-t </span><i
+ style="font-family: monospace;">trans</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Set
+transparency
+from 0.0 (opaque) to 1.0 (invisible)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Show as a wireframe</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Show as a solid surface</span><br style="font-family: monospace;">
+<i style="font-family: monospace;"> &nbsp;infile.gam</i><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name
+of </span><i style="font-family: monospace;">infile</i><a
+ style="font-family: monospace;" href="File_Formats.html#.gam">.gam</a><span
+ style="font-family: monospace;"> file</span><br
+ style="font-family: monospace;">
+<br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Don't add Lab axes<br>
+&nbsp;-i &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Compute
+and print intersecting volume of first 2 gamuts<br>
+&nbsp;-I isect.gam&nbsp;&nbsp; Same as -i, but save intersection gamut
+to isect.gam<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;</span><i
+ style="font-family: monospace;">outfile.wrl</i><span
+ style="font-family: monospace;"> Name of output
+</span><i style="font-family: monospace;">outfile.wrl</i><span
+ style="font-family: monospace;"> file</span></small>
+<br>
+<h3>Usage Details and Discussion</h3>
+<b>viewgam</b> creates a VRML file that allows the &nbsp;viewing and
+comparing
+of multiple gamut files by representing them as solid surfaces,
+wireframes,
+etc. It takes as input a list of gamut files, each file preceded by any
+options that are to apply to the display of &nbsp;that particular
+gamut.
+<br>
+<br>
+The options that can be specified for each input gamut are:<br>
+<br>
+<b>-c</b> <i>color</i> allows the color of the surface or wireframe to
+be
+specified. Any of a number of predefined colors (red, green, blue,
+cyan,
+magenta, yellow, white) can be used, as well as allowing the color to
+reflect
+the natural color of that point in the colorspace.<br>
+<br>
+<b>-t</b> <i>trans</i> allows the transparency of the surface&nbsp; to
+be
+specified. A value of 0.2 might be a good place to start. Using
+transparency
+generally leads to a slower display than the default opaque surface
+treatment, but can make it possible to see within a solid gamut surface.<br>
+<br>
+<b>-w</b> forces the gamut surface to be rendered as a wireframe.<br>
+<br>
+<b>-s</b> forces the gamut surface to be rendered as a solid surface.<br>
+<br>
+By default, the first gamut is treated as a solid with natural
+coloring,
+with the second and subsequent gamuts being wireframes with colors of
+white,
+red, cyan, yellow, green and blue, with decreasing visibility.<br>
+<br>
+The <b>-n</b> flag turns off display of the default L*a*b* axes in the
+output.<br>
+<br>
+The <span style="font-weight: bold;">-i</span> flag computes the
+intersecting volume of the first two gamuts (in cubic color units,
+usually L*a*b*), as well as the volumes of the two gamuts and the
+percentage the intersection is of the two gamuts. This is a useful
+measure of the coverage one gamut has of another. If <span
+ style="font-weight: bold;">-I</span> is used, then as well as printing
+the volume, the intersecting gamut will be saved to the <span
+ style="font-style: italic;">isect.gam</span> file.<br>
+<br>
+The final argument is the name of the VRML file to save the resulting
+composite
+3D visualization file to.<br>
+<br>
+</body>
+</html>
diff --git a/doc/xicclu.html b/doc/xicclu.html
new file mode 100644
index 0000000..8377c69
--- /dev/null
+++ b/doc/xicclu.html
@@ -0,0 +1,551 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>xicclu</title>
+ <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+ <meta name="author" content="Graeme Gill">
+</head>
+<body>
+<h2><b>xicc/xicclu</b>&nbsp; </h2>
+<h3>Summary&nbsp;<br>
+</h3>
+Lookup individual color values forward or inverted though an ICC
+profile table. <b>xicclu</b> is the analogue of the icclib tool <a
+ href="icclu.html">icclu</a>, but expands the capability to reverse
+lookup the Lut tables, and displaying PCS values in CIECAM02 Jab space.
+<b>xicclu</b>
+can also be used to plot the device value composition down the neutral
+axis,
+for device profiles.<br>
+<h3>Usage Summary</h3>
+&nbsp;<small><span style="font-family: monospace;">xicclu [-</span><i
+ style="font-family: monospace;">options</i><span
+ style="font-family: monospace;">] profile</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#v">-v level</a><span
+ style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Verbosity level 0 - 2 (default = 1)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#g">-g</a><span
+ style="font-family: monospace;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp; Plot slice instead of looking colors up. (Default white to black)<br>
+&nbsp;<a href="#Gs">-G s:L:a:b</a>&nbsp;&nbsp;&nbsp;&nbsp; Override
+plot slice start with Lab or Jab co-ordinate<br>
+&nbsp;<a href="#Ge">-G e:L:a:b</a>&nbsp;&nbsp;&nbsp;&nbsp; Override
+plot slice end with Lab or Jab co-ordinate<br
+ style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#f">-f function</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; f = forward, b =
+backwards, g = gamut, p = preview</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+if
+= inverted forward, ib = inverted backwards</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#i">-i intent</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a =
+absolute, r = relative colorimetric,</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></small><small><span style="font-family: monospace;"> p =
+perceptual, </span></small><small><span style="font-family: monospace;">s
+=
+saturation</span><span style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#o">-o order</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n
+= normal (priority: lut &gt; matrix &gt; monochrome)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+r
+= reverse (priority: monochrome &gt; matrix &gt;
+lut)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#p">-p oride</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x
+= XYZ_PCS, X = XYZ * 100, l = Lab_PCS, L = LCh, y = Yxy,<br>
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j = CIECAM02
+Appearance Jab, J = CIECAM02 Appearance JCh<br>
+</span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#s">-s scale</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Scale device range 0.0 - scale rather than 0.0 - 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#k">-k [zhxrlv]</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; Black generation: z
+= zero K,</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+h = 0.5 K, x = max K, r = ramp K (def.)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+l = extra PCS input is portion of K locus</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+v = extra PCS input is K target value</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#kp">-k p stle stpo enpo enle
+shape</a><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+stle: K level at White 0.0 - 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+stpo: start point of transition Wh 0.0 - Bk 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+enpo: End point of transition Wh 0.0 - Bk 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+enle: K level at Black 0.0 - 1.0</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+shape: 1.0 = straight, 0.0-1.0 concave, 1.0-2.0
+convex</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#kq">-k q stle0 stpo0 enpo0
+enle0 shape0 stle2 stpo2
+enpo2 enle2 shape2</a><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Transfer
+extra PCS input to dual curve limits</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#K">-K parameters</a><span
+ style="font-family: monospace;">&nbsp; Same as -k, but target is K
+locus rather than K value itself</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#l">-l tlimit</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set
+total ink limit, 0 - 400% (estimate by default)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#L">-L klimit</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set
+black ink limit, 0 - 100% (estimate by default)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#a">-a</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+show
+actual target values if clipped<br>
+&nbsp;<a href="#b">-b</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+use
+CAM Jab for clipping<br style="font-family: monospace;">
+</span><span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#m">-m</a><span
+ style="font-family: monospace;">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+merge output processing into clut</span><span
+ style="font-family: monospace;"></span><span
+ style="font-weight: bold; font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;</span><a
+ style="font-family: monospace;" href="#c">-c viewcond</a><span
+ style="font-family: monospace;">&nbsp;&nbsp;&nbsp; set viewing
+conditions
+for CIECAM02,</span><br style="font-family: monospace;">
+&nbsp;&nbsp;</small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+either an enumerated choice, or a parameter:value change</span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;"></span></small><small><span
+ style="font-family: monospace;">&nbsp;
+&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; pp - Practical Reflection Print
+(ISO-3664 P2)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+pe - Print evaluation environment (CIE 116-1995)<br>
+</span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;
+pc - Critical print evaluation environment (ISO-3664 P1)</span></small><small><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp; mt - Monitor in typical work environment</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp; mb - Monitor in bright work environment</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp; md - Monitor in darkened work
+environment</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp; jm - Projector in dim environment</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp; jd - Projector in dark environment</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene
+outdoors</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp; ob - Original scene - Bright Outdoors</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp; cx - Cut Sheet Transparencies on a viewing box</span></small><small><span
+ style="font-family: monospace;"></span><span
+ style="font-family: monospace;"></span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+s:surround&nbsp;&nbsp;
+n = auto, a = average, m = dim, d = dark,</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;
+&nbsp; &nbsp;&nbsp;&nbsp; c = transparency (default average)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Adapted white point
+as XYZ (default media white, Abs: D50)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Adapted white point as
+x, y</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+a:adaptation
+Adaptation luminance in
+cd.m^2
+(default 50.0)</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b:background Background %
+of image luminance (default 20)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Flare
+light % of image luminance (default 1)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
+&nbsp;
+f:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flare color
+as XYZ (default media white, Abs: D50)</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+f:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Flare color as x, y</span><br style="font-family: monospace;">
+<br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;
+</span><a style="font-family: monospace;" href="#p1"><i>inoutfile</i></a><span
+ style="font-family: monospace;"> &nbsp;&nbsp; &nbsp;&nbsp; The input
+ICC profile</span><br style="font-family: monospace;">
+<br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; The colors to
+be translated should be fed into
+standard in,</span><br style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; one input
+color per line, white space separated.</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; A line
+starting with a # will be ignored.</span><br
+ style="font-family: monospace;">
+<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; A line not
+starting with a number will terminate the
+program.</span></small>
+<br>
+<h3>Flags and Parameters</h3>
+<a name="v"></a> The <b>-v</b> parameter sets the level of verbosity.
+Default is level 1, which repeats each input value, the colorspaces of
+input and output, the type of conversion algorithm used, and if the
+result was clipped. Level 2 adds prints extra information about the
+profile before doing the conversions. Level 0 turns off all verbosity,
+just outputting the results of each conversion. Use the latter to
+capture batch output ready for further processing.<br>
+<br>
+<a name="g"></a>The <b>-g</b> flag causes a plot of the device values
+along a slice through the Lab or Jab colorspace, rather than allowing
+the interactive looking up of color
+values. By default this will be the neutral axis
+from the white point to the black point, but the start and end can be
+overridden using the <span style="font-weight: bold;">-G</span>
+parameters.
+This is useful in determining the existing black generation in a CMYK
+profile,
+or exploring the behavior of various black generation options using
+the
+<b>-k</b> parameters. The profile must be a device profile, and the PCS
+must
+be either Lab or Jab. The default plot is up the neutral axis is from
+the white to
+the black point (scale 0 to 100%), and shows the percentage of each
+device colorant. To examine a profiles B2A table black
+generation,
+use the flag <b>-fb</b> to select the B2A table, or to invert the A2B
+table,
+and be able to explore black generation behavior, use the <b>-fif</b>
+flag.
+The appropriate intent can be selected with the <b>-i</b> flag,
+&nbsp;as
+can other flags appropriate to the function selected.&nbsp; See <a
+ href="#xg">example</a>.<br>
+<br>
+<a name="Gs"></a>The <span style="font-weight: bold;">-G </span><small><span
+ style="font-family: monospace;"><span style="font-weight: bold;">s:L:a:b</span></span></small>
+parameter overrides the plot slice start point of white, with some
+other point specified in Lab or Jab Profile Connection Space. The
+parameter must be a single string that combines<span
+ style="font-weight: bold;"> s:</span> with the three numbers separated
+by the '<span style="font-weight: bold;">:'</span> character (no
+spaces).<br>
+<br>
+<a name="Ge"></a>The <span style="font-weight: bold;">-G </span><small><span
+ style="font-family: monospace;"><span style="font-weight: bold;">e:L:a:b</span></span></small>
+parameter overrides the plot slice end point of black, with some
+other point specified in Lab or Jab Profile Connection Space. The
+parameter must be a single string that combines<span
+ style="font-weight: bold;"> s:</span> with the three numbers separated
+by the '<span style="font-weight: bold;">:'</span> character (no
+spaces).<br>
+<br>
+<a name="f"></a> The <b>-f</b> flag selects which type of table or
+conversion is to be used. In addition to the usual four tables that can
+be accessed in a fully populated Lut based profile, two additional
+options are available in <b>xicclu</b>. One is to invert the forward
+table, and the other is to invert the backward table. For non Lut based
+profiles, -fif is equivalent to -fb, and -fib is equivalent to -ff.
+Note that the -fib combination may not be fully supported.<br>
+<br>
+<a name="i"></a> The <b>-i</b> flag selects the intent table used for
+a lut based
+profile. It also selects between relative and absolute colorimetric for
+non-lut base profiles.<br>
+<br>
+<a name="o"></a> A profile is allowed to contain more than the minimum
+number of elements or table needed to describe a certain transform, and
+may contain redundant descriptions. &nbsp;By default, Lut based table
+information will be used first if present, followed by matrix/shaper
+information, and only using monochrome information if it is all that is
+present. The <b>-o</b> flag, reverses this order.&nbsp;&nbsp;&nbsp; <br>
+<br>
+<a name="p"></a> Normally the native PCS (Profile Connection Space) of
+a device or abstract profile is used, but the <b>-p</b> flag allows
+this to be overridden: <span style="font-weight: bold;">-px</span>:
+XYZ (scaled to 1.0), <span style="font-weight: bold;">-pX</span>: XYZ
+scaled to 100, <span style="font-weight: bold;">-pl</span>: L*a*b*, <span
+ style="font-weight: bold;">-pL</span>: LCh, <span
+ style="font-weight: bold;">-py</span>: Yxy space, <span
+ style="font-weight: bold;">-pj</span>: CIECAM02 appearance space Jab,
+or <span style="font-weight: bold;">-pJ</span>: CIECAM02 appearance
+space JCh.<span style="font-weight: bold;"><br>
+</span>Note that the CIECAM02 output space selection by default uses
+the colorimetric table of the profile, but that the perceptual or
+saturation tables may be used by selecting them using the <span
+ style="font-weight: bold;">-i</span> parameter. If the absolute
+colorimetric intent is chosen using <span style="font-weight: bold;">-ia</span>
+in combinations with <span style="font-weight: bold;">-pj</span>,
+then&nbsp; Jab with
+a fixed white reference is used, which emulates an absolute CIECAM02
+Jab
+appearance space. <br>
+<br>
+<a name="s"></a> Usually device values are processed and displayed
+using a normalized value range between 0.0 and 1.0 Sometimes other
+systems scale them to some other range (such as 100 or 255) due to an
+underlying binary representation. The <span style="font-weight: bold;">-s</span>
+flag lets you input and display such data in its normal range. For
+instance, if your device values have a range between 0 and 255, use <span
+ style="font-weight: bold;">-s 255.</span><br>
+<br>
+<a name="k"></a> When inverting a CMYK profile, (ie. using the -fif
+flag), an input PCS value can have many possible CMYK solutions. To be
+able to return a unique solution, a black level (or black inking rule)
+should be chosen. The choice here reflect similar choices in black
+generation available in other tools (eg. <a href="colprof.html">colprof</a>,
+<a href="collink.html"> collink</a>), with the addition of two extra
+options.<br>
+<br>
+&nbsp;Possible arguments to the <b>-k</b> option are:<br>
+<br>
+<b> -kz</b> selects minimum black (0.0)<br>
+<b> -kh</b> selects a black value of 0.5<br>
+<b> -kx</b> selects the maximum possible black (1.0)<br>
+<b> -kr</b> selects a linear black ramp, starting at minimum black for
+highlight, and maximum black for shadow (equivalent to -kp 0 0 1 1 1).
+This is the default.<br>
+<b> -kl</b> uses an extra (fourth) value entered after the input PCS
+value, to select a black locus target between 0.0 and 1.0.<br>
+<b> -kv</b> uses an extra (fourth) value entered after the input PCS
+value, to select a black value target value between 0.0 and 1.0.<br>
+<br>
+<b><a name="kp"></a>-k p stle stpo enpo enle shape</b>&nbsp; allows an
+arbitrary black value ramp to be defined, consisting of a starting
+value (stle) for highlights, a breakpoint L value (stpo) where it
+starts to transition to the shadow level, an end breakpoint L (enpo)
+where it flattens out again, and the finishing black level (enle) for
+the shadows. There is also a curve parameter, that modifies the
+transition from stle to enle to either be concave (ie.&nbsp; the
+transition starts gradually and and finished more abruptly) using
+values 0.0-1.0, with 0.0 being most concave, or convex (the transition
+starts more abruptly but finishes gradually), using values 1.0-2.0,
+with 2.0 being the most convex.<br>
+<br>
+Typical black value generation curve with parameters something
+like: -kp 0 .05 1 .9 .8<br>
+<br>
+<tt> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0 K &nbsp; |
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;enpo<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; &nbsp; &nbsp;_______&nbsp;
+enle<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp; &nbsp;/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp; &nbsp; /<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; &nbsp;/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&nbsp; /<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stle&nbsp;
+| ------/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp; +-------------------<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0 K&nbsp;
+0.0&nbsp;&nbsp;&nbsp; stpo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+White&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Black<br>
+</tt><br>
+<b><a name="kq"></a>-k q stle0 stpo0 enpo0 enle0 shape0 stle2 stpo2
+enpo2 enle2 shape2</b> is a combination of the <b>-kv</b> and <b>-kp</b>
+functionality, with the black being preserved in CMYK to CMYK linking,
+with the output black constrained to be between the first and second
+set of curve parameters.<br>
+<br>
+<a name="K"></a> <span style="font-weight: bold;">-K parameters.</span>
+Any of the <span style="font-weight: bold;">-k</span> options above
+can use the <span style="font-weight: bold;">-K</span> version, in
+which rather than a black value target being defined by the inking
+rule, a black <span style="text-decoration: underline;">locus</span>
+target is defined. For each lookup, the minimum possible black level
+and the maximum possible black level is determined, the former
+corresponding to a locus target of 0, and the latter corresponding to a
+locus target of 1. For instance, at
+the
+white point, no black will be used in the output, even if the black
+locus specifies a maximum (since the maximum amount of black that
+can be used to print white is actually zero). Similarly, at the black
+point, black may well be used, even if the black locus specifies
+zero black (since a certain amount of black is needed to achieve the
+desired density of color). <br>
+<tt> </tt><span style="text-decoration: underline;"></span><br>
+&nbsp;The <b>-g</b> flag can be used together with the <b>-fif</b>
+flag, to plot
+out the resulting black channel behaviour for various <b>-k</b>
+or <span style="font-weight: bold;">-K </span>parameter
+values.<br>
+<br>
+<b><a name="l"></a>-l</b> <i>tlimit</i>&nbsp; &nbsp;&nbsp; Sets the
+total ink limit (TAC, Total Area Coverage) for the CMYK inverse forward
+lookup, as a total percentage from 0% to 400%. If none is provided, it
+will be estimated from the profile relcolor B2A table. The ink limit
+will be in final calibrated device values if the profile includes
+calibration information.<br>
+<br>
+<b><a name="L"></a>-L</b> <i>klimit</i>&nbsp; &nbsp; Sets the black
+ink limit for the CMYK inverse forward lookup, as a total percentage
+from 0% to 100%. If none is provided, it will be estimated from the
+profile relcolor B2A table. The ink limit
+will be in final calibrated device values if the profile includes
+calibration information.<br>
+<br>
+<a name="a"></a> If the <b>-a</b> flag is used for inverse forward
+lookups, then if
+the target PCS value cannot be reproduced by the device (ie. it clips),
+then the achievable, clipped PCS value is displayed.<br>
+<br>
+<a name="b"></a> If the <b>-b</b> flag is used for inverse forward
+lookups, then out of gamut clipping will be performed in the CIECAM02
+Jab appearance colorspace, rather than L*a*b* colorspace.<br>
+<br>
+<a name="m"></a> The <b>-m</b> flag turns on an internal processing
+option, in which the per device curve lookup table processing is merged
+into the main multi-dimensional interpolation lut lookup.<br>
+<br>
+<a name="c"></a>Whenever PCS values are to be specified or displayed in
+Jab/CIECAM02
+colorspace, a set of viewing conditions will be used to determine the
+details of the conversion. The <b>-c</b> parameter allows the
+specification of the viewing conditions. Viewing conditions can be
+specified in two basic ways. One
+is to select from the list of "pre canned", enumerated viewing
+conditions, choosing one that is closest to the conditions that are
+appropriate for the media type and situation. Alternatively, the
+viewing conditions parameters can be specified in detail individually.
+If both methods are used, them the chosen enumerated condition will be
+used as a base, and its parameters will then be individually overridden.<br>
+<br>
+<a name="p1"></a> The final parameter is the name of the <a
+ href="File_Formats.html#ICC">ICC</a> profile to be used. On the
+MSWindows platform a .icm extension is generally used, and on Apple or
+Unix/Linux platforms a .icc extension is often used.<br>
+<h3>Usage and Discussion</h3>
+Typical usage for an output profile might be:<br>
+<br>
+&nbsp;&nbsp;&nbsp; xicclu -ff -ip profile.icm<br>
+<br>
+Normally the program is interactive, allowing the user to type in input
+color
+values, each number separated by a space, and the resulting output
+color
+being looked up and displayed after pressing return. To batch process
+a
+group of color values, prepare a text file containing each input value
+on
+a
+separate line, and use the input indirection facilities of your command
+line
+shell to redirect this input file into the standard input of xicclu.
+The
+output can be captured to a file by redirecting standard output to a
+file.
+In most shells this would be done something like this:<br>
+<br>
+&nbsp;&nbsp;&nbsp; xicclu -ff -ip profile.icm &lt; inputvalues.txt &gt;
+outputvalues.txt<br>
+<br>
+<a name="xg"></a>When plotting the neutral axis behavior, plotting the
+existing B2A table
+behavior would typically be done something like this:<br>
+<br>
+&nbsp;&nbsp;&nbsp; xicclu -g -fb profile.icm<br>
+<br>
+Exploring possible black generation and ink limiting behavior might be
+done
+like this:<br>
+<br>
+&nbsp;&nbsp;&nbsp; xicclu -g -fif -kp 0 .1 .9 1 .5 -l230 -L95
+profile.icm<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>