diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-09-01 13:56:46 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-09-01 13:56:46 +0200 |
commit | 22f703cab05b7cd368f4de9e03991b7664dc5022 (patch) | |
tree | 6f4d50beaa42328e24b1c6b56b6ec059e4ef21a5 /doc |
Initial import of argyll version 1.5.1-8debian/1.5.1-8
Diffstat (limited to 'doc')
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: 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 & 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 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> + MSWindows 2000, Vista & Windows 7 32 bit.<br> + MSWindows Vista 64bit, Windows 7 64bit & Windows 8 64 bit.<br> + Linux Ubuntu 7.10<br> + Linux Kubuntu 7.10<br> + Linux Mandriva 2008.0<br> + Linux OpenSuSE 10.3<br> + 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> + <a href="instruments.html#DTP20">DTP20 "Pulse"</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - "swipe" type reflective spectrometer, that can be used untethered.<br> + <a href="instruments.html#DTP22">DTP22 Digital + Swatchbook</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - spot type reflective spectrometer.<br> + <a href="instruments.html#DTP41">DTP41</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - spot and strip reading reflective spectrometer.<br> + <a href="instruments.html#DTP41">DTP41T</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - spot and strip reading reflective/transmissive spectrometer.<br> + <a href="instruments.html#dtp51">DTP51</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - strip reading reflective colorimeter.<br> + <a href="instruments.html#DTP92">DTP92</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - CRT display colorimeter.<br> + <a href="instruments.html#DTP94">DTP94</a> <font + size="-1">"Optix XR"</font> or "Optix XR2" or "Optix Pro"- display + colorimeter.<br> + <a href="instruments.html#ColorMunki"><span + style="text-decoration: underline;">ColorMunki</span></a> Design + or Photo - + spot and "swipe" reflective/emissive spectrometer (UV cut only).<br> + <a href="instruments.html#i1d"><span + style="text-decoration: underline;">ColorMunki</span></a> Create + or Smile + - display + colorimeter. (Similar to an Eye-One Display 2)<br> + <a href="instruments.html#Huey">Lenovo W</a> + + - + built in laptop Huey display colorimeter.<br> + <a href="instruments.html#i1d3">Eye-One Display + 3</a> + - Xrite i1 DisplayPro and ColorMunki + Display <br> + + + + + [ The OEM + i1Display Pro, NEC SpectraSensor Pro and<br> + + + + Quato Silver Haze 3 OEM i1d3 are also + reported to work.]<br> + <a href="instruments.html#i1p2">Eye-One Pro2</a> + + - spot and + "swipe" reflective/emissive spectrometer.<br> + <br> + Gretag-Macbeth (now X-Rite):<br> + <a href="instruments.html#sl">Spectrolino</a> + + - spot + reflective/emissive spectrometer.<br> + <a href="instruments.html#ss">SpectroScan</a> + + - spot + reflective/emissive, XY table reflective spectrometer .<br> + <a href="instruments.html#ss">SpectroScanT</a> + + - spot + reflective/emissive/transmissive, XY table reflective spectrometer.<br> + <a href="instruments.html#i1p">Eye-One Pro</a> "EFI + ES-1000" - spot and "swipe" + reflective/emissive spectrometer.<br> + <a href="instruments.html#i1m">Eye-One Monitor</a> + + - spot and "swipe" emissive + spectrometer.<br> + <a href="instruments.html#i1d">Eye-One Display 1 + or 2 or LT</a> - + display colorimeter.<br> + <a href="instruments.html#i1d">HP DreamColor or + APS</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - display colorimeter. (Treated as a Eye-One Display 2)<br> + <a href="instruments.html#i1d">CalMAN X2</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - display colorimeter. (Treated as a Eye-One Display 2)<br> + <a href="instruments.html#Huey">Huey</a> + + + - display colorimeter.<br> + <br> + Sequel imaging (Now X-Rite):<br> + <a href="instruments.html#mox">MonacoOPTIX</a> + + - display + colorimeter (Treated as an Eye-One Display 1)<br> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [The Sequel Chroma 4 may also work.]<br> + <br> + Lacie Blue + Eye: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - see <a href="instruments.html#i1d">Eye-One Display</a><br> + <br> + DataColor ColorVision:<br> + <a href="instruments.html#spyd2">Spyder 2</a> + + + - display colorimeter (Note + that the user must <a href="oeminst.html">supply</a> firmware)<br> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [The Spyder 1 has also been reported as working, but this has not + been confirmed.]<br> + <a href="instruments.html#spyd3">Spyder 3</a> + + + - display colorimeter.<br> + <a href="instruments.html#spyd4">Spyder 4</a> + + + - display colorimeter (Note + that the user must <a href="oeminst.html">supply</a> calibration + data)<br> + <br> + Other:<br> + <span class="titre"><a + href="instruments.html#HCFR">Colorimètre HCFR</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - display colorimeter</span><br> + <a href="http://www.hughski.com/">ColorHug</a> + + + + + + + + + + + + + + + + + + + + + + + + + + - 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 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öch. Others can be found with a suitable <a +href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&aq=f&aqi=g1&aql=&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. (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> + tool -?<br> + usage: tool [options] infile outfile<br> + + -v + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Verbose mode<br> + -d + n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choose a depth 0-4<br> + -r + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Use a random depth<br> + -f + [nn] + Use full range. nn optional range 0 - 100.<br> + -M + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Manual<br> + infile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Input file<br> + outfile + + Output file<br> + <br> + then there are 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. 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> + tool -v testin testout<br> + tool -d3 -M testin1 testout2<br> + tool -f infile outfile<br> + tool -f 45 infile outfile<br> + 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> + <<a + href="http://www.bleepingcomputer.com/tutorials/tutorial76.html">http://www.bleepingcomputer.com/tutorials/tutorial76.html</a>><br> + <<a + href="http://www.pcstats.com/articleview.cfm?articleid=1723&page=1">http://www.pcstats.com/articleview.cfm?articleid=1723&page=1</a>><br> + <<a + href="http://www.voidspace.org.uk/python/articles/command_line.shtml">http://www.voidspace.org.uk/python/articles/command_line.shtml</a>><br> + <br> + To find more: <<a +href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial">http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial></a><br> + <br> + OS X:<br> + <<a + href="http://www.osxfaq.com/Tutorials/LearningCenter/">http://www.osxfaq.com/Tutorials/LearningCenter/</a>><br> + <<a + href="http://www.atomiclearning.com/macosxterminalx.shtml">http://www.atomiclearning.com/macosxterminalx.shtml</a>><br> + <<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>><br> + <br> + To find more: <<a + href="http://www.google.com/search?hl=en&q=OS+X+shell+tutorial">http://www.google.com/search?hl=en&q=OS+X+shell+tutorial</a>><br> + <br> + Linux:<br> + <<a + href="http://www.linuxcommand.org/index.php">http://www.linuxcommand.org/index.php</a>><br> + <<a + href="http://www.tuxfiles.org/linuxhelp/shell.html">http://www.tuxfiles.org/linuxhelp/shell.html</a>><br> + <<a + href="http://www.ee.surrey.ac.uk/Teaching/Unix/">http://www.ee.surrey.ac.uk/Teaching/Unix/</a>><br> + <br> + To find more: <<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>></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> <<a + href="http://www.rain.org/%7Emkummel/unix.html">http://www.rain.org/~mkummel/unix.html</a>><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> + <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> + <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;"> + </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </span><big>Convert a TIFF 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;"> </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </span></small>Apply + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + calibration curves to an ICC profile.<br> + <small><a style="font-family: monospace;" href="icclu.html">icclu </a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> + </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </span></small>Check + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an ICC profile against .ti3 test chart data. <br> + <small style="font-family: monospace;"><a href="invprofcheck.html">invprofcheck</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </small>Check ICC forward against inverse lookup. <br> + <small><a style="font-family: monospace;" href="splitti3.html">splitsti3</a><span + style="font-family: monospace;"> </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> + </small>Create TIFF test + images. <br> + <small><a style="font-family: monospace;" href="mppcheck.html">mppcheck</a><span + style="font-family: monospace;"> </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;"> </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;"> + </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;"> </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;"> </span></small>Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a Spectrometer to create a Colorimeter Correction Matrix + (CCMX) or a Colorimeter Calibration Spectral Set (CCSS) + 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;"> </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;"> </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;"> </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;"> + </span></small>Install Instrument manufacturers files for the + Spyder 2, EDR or CCSS calibration files for i1d3 or Spyder 4, + CCMX files for colorimeters.<br> + <small><a style="font-family: monospace;" href="specplot.html">specplot</a><span + style="font-family: monospace;"> </span><span + style="text-decoration: underline; font-family: monospace;"></span></small> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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;"> </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> + + <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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </span></small>Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a Spectrometer to create a Colorimeter Correction Matrix + (CCMX) or a Colorimeter Calibration Spectral Set (CCSS) + for a particular display.<br> + <small><a style="font-family: monospace;" href="chartread.html">chartread</a><span + style="font-family: monospace;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </span></small>Create an ICC profile from the .ti3 test data. <br> + <small style="font-family: monospace;"><a href="dispcal.html">dispcal</a> + </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;"> </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;"> </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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 </a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + </span></small>Install Instrument manufacturers files for the + Spyder 2, EDR or CCSS calibration files for i1d3 or Spyder 4, + CCMX files for colorimeters.<br> + <small><a style="font-family: monospace;" href="printcal.html">printcal</a><span + style="font-family: monospace;"> </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;"> </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;"> </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;"> + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </span></small>Convert a TIFF 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;"> </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;"> </span><span + style="text-decoration: underline; font-family: monospace;"></span></small> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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;"> </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;"> </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> + </span></small>Create TIFF + test images. <br> + <small><a style="font-family: monospace;" href="txt2ti3.html">txt2ti3</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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;"> </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;"> </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;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </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> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Device test values <br> + <a href="File_Formats.html#.ti2">.ti2</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Device test values & chart layout <br> + <a href="File_Formats.html#.ti3">.ti3</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Device test values & CIE tristimulus/spectral results <a + href="ti3_format.html">Format details.</a><br> + <a href="File_Formats.html#.cal">.cal</a> + Device + calibration information. <a href="cal_format.html">Format details.</a><br> + <a href="File_Formats.html#.cht">.cht</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test chart recognition template. <a href="cht_format.html">Format + details.</a> <br> + <a href="File_Formats.html#.gam">.gam</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3D gamut surface description <br> + <a href="File_Formats.html#.sp">.sp</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Illuminant spectral description <br> + <a href="File_Formats.html#.ccmx">.ccmx</a> + Colorimeter Correction Matrix <br> + <a href="File_Formats.html#.ccmx">.ccss</a> + Colorimeter Calibration + Spectral Set <br> + <a href="File_Formats.html#CGATS">CGATS</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standard text based data exchange format <br> + <a href="File_Formats.html#ICC">ICC</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + International Color Consortium profile format <br> + <a href="File_Formats.html#MPP">MPP</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model device profile format <br> + <a href="File_Formats.html#TIFF">TIFF</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tag Image File Format raster files. <br> + <a href="File_Formats.html#JPEG">JPEG</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Joint Photographic Experts Group, JPEG File Interchange Format + raster files. <br> + <a href="File_Formats.html#VRML">VRML</a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Virtual Reality Modelling Language 3D file format. <br> + <br> + <a href="ucmm.html">ucmm</a> 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> + + <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> + <br> + + </body> +</html> diff --git a/doc/ArgyllFlow.jpg b/doc/ArgyllFlow.jpg Binary files differnew file mode 100644 index 0000000..962e42a --- /dev/null +++ b/doc/ArgyllFlow.jpg diff --git a/doc/ArgyllFlowThumb.jpg b/doc/ArgyllFlowThumb.jpg Binary files differnew file mode 100644 index 0000000..a98b4ff --- /dev/null +++ b/doc/ArgyllFlowThumb.jpg diff --git a/doc/CMP_DT_003.jpg b/doc/CMP_DT_003.jpg Binary files differnew file mode 100644 index 0000000..1975eeb --- /dev/null +++ b/doc/CMP_DT_003.jpg diff --git a/doc/CMP_Digital_Target-3.jpg b/doc/CMP_Digital_Target-3.jpg Binary files differnew file mode 100644 index 0000000..b6502d5 --- /dev/null +++ b/doc/CMP_Digital_Target-3.jpg diff --git a/doc/CRTspectrum.jpg b/doc/CRTspectrum.jpg Binary files differnew file mode 100644 index 0000000..82ddd17 --- /dev/null +++ b/doc/CRTspectrum.jpg 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 -> 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 -> 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 & 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 & spectrometers).</li> + <li>The Display Type selection option -y in dispcal, dispread, + chartread, spotread & 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 & 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 & 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 -> 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 & 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 -> 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 -> 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 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 -> 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 -> 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 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 & 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 -> 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 & 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 & white 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 + <http://www.argyllcms.com/doc/Installing_OSX.html>.</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> 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> Fix bug in winusb + i1Display, where dark CRT + measurements timeout.</li> + </ul> + <h1>[V1.3.1 -> 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 & output offsets and + straight segment at zero. Make cLUT input -u black & 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 -> 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 & 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 -> 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 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 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 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 -> 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, 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 -> V1.1.1] 21 February 2010<br> + </h1> + <ul> + <li>Renamed the following tools:<br> + cb2cgats -> + cb2ti3<br> + kodak2cgats -> kodak2ti3<br> + logo2cgats -> txt2ti3<br> + splitcgats + -> splitti3<br> + + mpprof -> + 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 -> 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 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 & ColorMunki flash measurement + support. <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 -> 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 -> 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 > 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 -> 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 -> 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 -> 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> + <br> + <br> + <br> + <br> + <br> + </p> + <br> + </body> +</html> diff --git a/doc/Chroma4.jpg b/doc/Chroma4.jpg Binary files differnew file mode 100644 index 0000000..917a9e5 --- /dev/null +++ b/doc/Chroma4.jpg 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 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 & 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> + 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> + 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 -> PCS -> Device B, + resulting in a direct Device A -> Device B transformation.<br> + <br> + <span style="font-weight: bold;">Abstract</span><br> + <br> + 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> + 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 Binary files differnew file mode 100644 index 0000000..513d770 --- /dev/null +++ b/doc/ColorMunki.jpg diff --git a/doc/ColorMunkiCreate.jpg b/doc/ColorMunkiCreate.jpg Binary files differnew file mode 100644 index 0000000..64b3dbd --- /dev/null +++ b/doc/ColorMunkiCreate.jpg 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> + jam: Program construction tool, similar to make + [If available]<br> + gcc C compiler<br> + Development files for libX11<br> + Development files for libXdmcp<br> + X.Org X11 libXext development package<br> + X.Org X11 libXxf86vm development package<br> + X.Org X11 libXinerama development package<br> + X.Org X11 libXrandr development package<br> + 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/"><ftp://ftp.perforce.com/jam></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 <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, 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. 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 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 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 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> + </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> + colprof -v -S sRGB.icm -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 Binary files differnew file mode 100644 index 0000000..4b3508e --- /dev/null +++ b/doc/DC.jpg diff --git a/doc/DTP20.jpg b/doc/DTP20.jpg Binary files differnew file mode 100644 index 0000000..f5ec164 --- /dev/null +++ b/doc/DTP20.jpg diff --git a/doc/DTP22.jpg b/doc/DTP22.jpg Binary files differnew file mode 100644 index 0000000..93d7400 --- /dev/null +++ b/doc/DTP22.jpg diff --git a/doc/DTP41.jpg b/doc/DTP41.jpg Binary files differnew file mode 100644 index 0000000..1a946e9 --- /dev/null +++ b/doc/DTP41.jpg diff --git a/doc/DTP51.jpg b/doc/DTP51.jpg Binary files differnew file mode 100644 index 0000000..946810c --- /dev/null +++ b/doc/DTP51.jpg diff --git a/doc/DTP92.jpg b/doc/DTP92.jpg Binary files differnew file mode 100644 index 0000000..2570daa --- /dev/null +++ b/doc/DTP92.jpg diff --git a/doc/DTP94.jpg b/doc/DTP94.jpg Binary files differnew file mode 100644 index 0000000..d99feaf --- /dev/null +++ b/doc/DTP94.jpg 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> + A Line Feed will be added to the end of each + progress line.<br> + <br> + Any time it would wait for a single keystroke + input, it will instead wait for and read the next character from + stdin.<br> + 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> + 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> + <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: <<a + href="http://www.axiphos.com/BrightnessReview.pdf">http://www.axiphos.com/BrightnessReview.pdf</a>><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 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> + 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&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 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 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 Binary files differnew file mode 100644 index 0000000..7d97fff --- /dev/null +++ b/doc/FWA_measure.jpg 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>, <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 <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 <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 <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 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 Binary files differnew file mode 100644 index 0000000..acabf74 --- /dev/null +++ b/doc/Fluorescent.jpg diff --git a/doc/HCFR.jpg b/doc/HCFR.jpg Binary files differnew file mode 100644 index 0000000..9454842 --- /dev/null +++ b/doc/HCFR.jpg diff --git a/doc/HCT.jpg b/doc/HCT.jpg Binary files differnew file mode 100644 index 0000000..a1f1f23 --- /dev/null +++ b/doc/HCT.jpg diff --git a/doc/HiResLaser.jpg b/doc/HiResLaser.jpg Binary files differnew file mode 100644 index 0000000..66da2eb --- /dev/null +++ b/doc/HiResLaser.jpg diff --git a/doc/Huey.jpg b/doc/Huey.jpg Binary files differnew file mode 100644 index 0000000..5f25980 --- /dev/null +++ b/doc/Huey.jpg 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> + + <br> + + <br> + + <br> + + </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> Load "extmod" <br> + <br> + in the appropriate (or any) section of + your Xorg.conf file, to allow the XF86Video LUT + extensions 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> + <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> <a href="#None">Mandriva 2008.0 default + installation</a><br> + <br> + <h5> <a href="Installing_Linux.html#udev1">USB instruments + access using udev:</a></h5> + <a href="#udev1"></a> <a + href="Installing_Linux.html#udev1">Ubuntu 10.04</a><br> + <a href="Installing_Linux.html#udev1">Fedora + Core 8</a><br> + <a href="#udev1">Mandriva 2008.1</a><br> + <a href="#udev1">OpenSuSE 10.3</a><br> + <a href="#udev1">Ubuntu 7.1</a><br> + <a href="#udev1">Kubuntu 7.1</a><br> + <a href="#udev1">Debian 4.0</a><br> + <h5> <a href="#hotplug">USB instruments access using hotplug:</a></h5> + <a href="#hotplug">Red Hat 4.0</a><br> + <a href="Installing_Linux.html#hotplug">Fedora Core 4</a><br> + <a href="Installing_Linux.html#hotplug">Fedora Core 3</a><br> + <a href="Installing_Linux.html#hotplug">Fedora Core 2</a><br> + <br> + <h5> <span style="text-decoration: underline;"></span><a + href="#serial">Serial instrument access:</a></h5> + <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 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 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>, + + + + + <b>/sbin/udevcontrol reload_rules</b> or <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&q=man+udev&btnG=Search&meta=&aq=f&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> + sudo usermod -a -G plugdev yourusernamehere<br> + <br> + or<br> + su root<br> + 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> + If usermod doesn't recognize the -a flag try "usermod -A + plugdev yourusernamehere".<br> + If this doesn't work you will have to run "id yourusername" to + list the current supplemental<br> + 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> + 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> + <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 <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> + ----------------- 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> + ----------------- cut here ---------------------<br> + <br> + (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> + ----------------- 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" ] && [ -f "${DEVICE}" ]<br> + then<br> + chgrp plugdev "${DEVICE}"<br> + chmod 660 "${DEVICE}"<br> + fi<br> + ----------------- 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> + sudo usermod -a -G plugdev yourusernamehere<br> + <br> + or<br> + su root<br> + 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> + If usermod doesn't recognize the -a flag try "usermod -A + plugdev yourusernamehere".<br> + If this doesn't work you will have to run "id yourusername" to + list the current suplemental<br> + 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> + 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> <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> + su root<br> + usermod -a -G tty,uucp yourusernamehere<br> + <br> + or<br> + <br> + 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> + If usermod doesn't recognize the -a flag try "usermod -A + plugdev yourusernamehere".<br> + If this doesn't work you will have to run "id yourusername" to + list the current suplemental<br> + 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> <br> + <br> + <br> + <br> + <br> + </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> + <span style="font-weight: bold;"></span>Desktop + -> Settings -> Control Panel -> System And Security -> + System -> Advanced System Settings -> Environment Variables<br> + <br> + For <span style="font-weight: bold;">Windows 7</span>, look in<br> + Start Menu -> Control Panel -> System And + Security -> System -> Change Settings -> Advanced -> + Environment Variables<br> + <br> + For <span style="font-weight: bold;">Vista</span>, look in<br> + Start Menu -> Control Panel -> System And + Maintenance -> System -> Change Settings -> Advanced -> + Environment Variables<br> + <br> + For <span style="font-weight: bold;">XP and 2000 </span>look in<br> + Start->Settings->Control + Panel->System->Advanced->Environment Variables<br> + <br> + For <span style="font-weight: bold;">NT 4</span> look in<br> + Start->Settings->Control + Panel->System->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 ';'. <br> + <br> + 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->Accessories->Command Prompt, or Start + Menu->Programs->Accessories->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 & 8 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> + Settings -> Power -> <span + style="font-weight: bold;">Hold Shift Key down and click</span> + "Restart" -> Troubleshoot -> Advanced Options -> Startup + Settings -> Restart -><br> + (After Reboot) -> "Disable Driver Signature + Enforcement" (number 7 on the list)<br> + (After system starts, Plug in instrument)<br> + Desktop -> Settings -> Control Panel -> + Hardware and Sound -> Device Manager -><br> + Other Devices -> <instrument being + installed> -> right click -> Update Driver Software... + -> Browse my computer for driver software -> Browse...<br> + -> <span style="font-weight: bold;">argyll\usb</span> + folder -> Next -> Install this driver software anyway -> + Close<br> + <br style="text-decoration: underline;"> + <span style="text-decoration: underline;">On subsequent installation + of other instrument types:</span><br> + 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 -> Power -> <span style="font-weight: bold;">Hold + Shift Key down and click</span> "Restart" -> Troubleshoot -> + Advanced Options -> Startup Settings -> Restart -><br> + (After Reboot) -> Disable Driver Signature + Enforcement" (number 7 on the list)<br> + (After system starts, Plug in instrument)<br> + Desktop -> Settings -> Control Panel -> + Hardware and Sound -> Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Update Driver + Software... -> let me pick from a list of device drivers on my + computer -> Have disk... -> Browse...<br> + -> <span style="font-weight: bold;">argyll\usb</span> + folder -> select ArgyllCMS.inf -> Open -> OK -> Install + this driver software anyway -> Close<br> + <br> + <span style="text-decoration: underline;">To switch between drivers:</span><br> + (Plug in the instrument)<br> + Desktop -> Settings -> Control Panel -> + Hardware and Sound -> Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Update Driver + Software... -> let me pick from a list of device drivers on my + computer<br> + (Choose either the Argyll driver or another + driver from the list)<br> + -> Next -> 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> + (Plug in the instrument)<br> + Desktop -> Settings -> Control Panel -> + Hardware and Sound -> Device Manager<br> + (Locate the instrument in the device list. It + will be underneath the Argyll LibUSB-win32 devices top level item.)<br> + Right click on instrument -> Uninstall -> + click "Delete the driver software for this device" -> 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 & + 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> + (Plug in instrument)<br> + (Wait for the "Found New Hardware" or "Installing + new device driver software - Device driver software was not + successfully installed" popup and dismiss it)<br> + Start -> Control Panel -> Hardware and + Sound -> Device Manager -><br> + Other Devices -> <instrument being + installed> -> right click -> Update Driver Software... + -> Browse my computer for driver software -> Browse...<br> + -> <span style="font-weight: bold;">argyll\usb</span> + folder -> Next -> Install this driver software anyway -> + Close<br> + <br style="text-decoration: underline;"> + <span style="text-decoration: underline;">On subsequent installation + of other instrument types:</span><br> + 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> + (Plug in instrument)<br> + Start -> Control Panel -> Hardware and + Sound -> Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Update Driver + Software... -> let me pick from a list of device drivers on my + computer -> Have disk... -> Browse...<br> + -> <span style="font-weight: bold;">argyll\usb</span> + folder -> select ArgyllCMS.inf -> Open -> OK -> Install + this driver software anyway -> Close<br> + <br> + <span style="text-decoration: underline;">To switch between drivers:</span><br> + (Plug in the instrument)<br> + Start -> Control Panel -> Hardware and + Sound -> Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Update Driver + Software... -> let me pick from a list of device drivers on my + computer<br> + (Choose either the Argyll driver or another + driver from the list)<br> + -> Next -> 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> + (Plug in the instrument)<br> + Start -> Control Panel -> Hardware and + Sound -> Device Manager<br> + (Locate the instrument in the device list. It + will be underneath the Argyll LibUSB-win32 devices top level item.)<br> + Right click on instrument -> Uninstall -> + click "Delete the driver software for this device" -> 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> + (Plug in instrument)<br> + (Wait for the "Welcome to the Found New Hardware + Wizard" popups and dismiss it)<br> + My Computer, Right Click -> Manage -> + Device Manager<br> + Other Devices -> <instrument being + installed> -> right click -> Update Driver... -> No, not + this time -> Next<br> + ->Install from a list or specific location + (Advanced) -> Next -> Don't search. I will choose the driver + to install -> Next<br> + -> Have Disk... -> Browse -> <span + style="font-weight: bold;">argyll\usb</span> folder -> + ArgyllCMS.inf -> Open -> OK -> Next -> Finish<br> + <br style="text-decoration: underline;"> + <span style="text-decoration: underline;">On subsequent installation + of other instrument types:</span><br> + (Plug the instrument in, and wait for the + "Welcome to the Found New Hardware Wizard" to pop up.)<br> + No, not this time -> Install the software + automatically (Recommended) -> Next -> 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> + (Plug in instrument)<br> + My Computer, Right Click -> Manage -> + Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> right click + -> Update Driver... -> No, not this time -> Next<br> + ->Install from a list or specific location + (Advanced) -> Next -> Don't search. I will choose the driver + to install -> Next<br> + -> Have Disk... -> Browse -> <span + style="font-weight: bold;">argyll\usb</span> folder -> + ArgyllCMS.inf -> Open -> OK -> Next -> Finish<br> + <br> + <span style="text-decoration: underline;">To switch between drivers:</span><br> + (Plug in the instrument)<br> + My Computer, Right Click -> Manage -> + Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Update Driver... + -> No, not this time -> Next<br> + ->Install from a list or specific location + (Advanced) -> Next -> Don't search. I will choose the driver + to install -> Next<br> + ->let me pick from a list of device drivers on + my computer<br> + (Choose either the Argyll driver or another + driver from the list)<br> + -> Next -> 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> + (Plug in the instrument)<br> + My Computer, Right Click -> Manage -> Device + Manager<br> + (Locate the instrument in the device list. It + will be underneath the Argyll LibUSB-win32 devices top level item.)<br> + Right click on instrument -> Uninstall -> + click "Delete the driver software for this device" -> OK <br> + <br> + Then you will have to delete the cached copy of the old + Argyll driver .inf files, that MSWindows keeps.<br> + <br> + cd to where Windows keeps it's cached driver information + files, ie:<br> + c:<br> + cd \windows\inf<br> + <br> + identify all the system copies of the Argyll .inf files:<br> + <br> + find /I "ArgyllCMS" oem*.inf<br> + <br> + then delete just the files that contain "ArgyllCMS":<br> + <br> + del /F oemXXX.inf<br> + del /F oemXXY.inf<br> + 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> + (Plug in instrument)<br> + (Wait for the "Welcome to the Found New Hardware + Wizard" pops up) -> Next<br> + -> Search for a suitable driver for my device + (recommended) -> Next -> Specify a location -> Next<br> + -> Browse -> <span + style="font-weight: bold;">argyll\usb</span> folder -> + ArgyllCMS.inf -> Open -> OK -> Next -> Finish<br> + <br style="text-decoration: underline;"> + <span style="text-decoration: underline;">On subsequent installation + of other instrument types:</span><br> + 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> + (Plug in instrument)<br> + My Computer, Right Click -> Manage -> + Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Properties + -> Driver -> Update Driver this time<br> + -> "Welcome to the Found New Hardware Wizard" + -> Next -> Display a list of known drivers for this device so + that I can choose a specific driver -> Next<br> + -> Have Disk -> Browse -> <span + style="font-weight: bold;">argyll\usb</span> folder -> + ArgyllCMS.inf -> Open -> OK -> Next -> Next -> Finish<br> + <br> + <span style="text-decoration: underline;">To switch between drivers:</span><br> + (Plug in instrument)<br> + My Computer, Right Click -> Manage -> + Device Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Properties + -> Driver -> Update Driver... -> Next<br> + -> Display a list of known drivers for this + device so that I can choose a specific driver -> Next<br> + (Choose either the Argyll driver or another + driver from the list)<br> + -> Next -> Next -> 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> + (Plug in the instrument)<br> + My Computer, Right Click -> Manage -> Device + Manager<br> + (Locate the instrument in the device list. It may + be underneath one of the top level items.)<br> + Right click on instrument -> Uninstall + -> OK<br> + <br> + Then you will have to delete the cached copy of the old + Argyll driver .inf files, that MSWindows keeps.<br> + <br> + cd to where Windows keeps it's cached driver information + files, ie:<br> + c:<br> + cd \winnt\inf<br> + <br> + identify all the system copies of the Argyll .inf files:<br> + <br> + find /I "ArgyllCMS" oem*.inf<br> + <br> + then delete just the files that contain "ArgyllCMS":<br> + <br> + del /F oemXXX.inf<br> + del /F oemXXY.inf<br> + 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 “Open With” 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 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->Utilities->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> + ~$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> + 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. <<a + href="http://heather.cs.ucdavis.edu/matloff/public_html/UnixAndC/Unix/ShellIntro.pdf">ShellIntro</a>>. +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 <<a + class="moz-txt-link-freetext" + href="http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980">http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980</a>>.<br> +<br> +2) Run all Argyll programs that need to access the instrument as root. +For instance:<br> +<br> + 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> + cd ~<br> + whoami<br> + cp +/Library/LaunchDaemons/com.xrite.device.colormunki.plist temp.plist<br> + open temp.plist<br> +<br> +and add one child below the root:<br> +<br> + <span style="text-decoration: underline;">Item +Type +Value +</span><br> + UserName + +string +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> + 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> + sudo launchctl unload +/Library/LaunchDaemons/com.xrite.device.colormunki.plist<br> + 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 <<a + class="moz-txt-link-freetext" + href="http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980">http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980</a>>.<br> +<br> +2) Run all Argyll programs that need to access the instrument as root. +For instance:<br> +<br> + 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> + cd ~<br> + whoami<br> + cp +/Library/LaunchDaemons/com.xrite.device.i1.plist temp.plist<br> + open temp.plist<br> +<br> +and add one child below the root:<br> +<br> + <span style="text-decoration: underline;">Item +Type +Value +</span><br> + UserName + +string +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> + 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> + sudo launchctl unload +/Library/LaunchDaemons/com.xrite.device.i1.plist<br> + 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> + ----------------- cut here ---------------------<br> + <?xml version="1.0" encoding="UTF-8"?><br> + <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST +1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><br> + <plist version="1.0"><br> + <dict><br> + +<key>CFBundleDevelopmentRegion</key> +<string>English</string><br> + <key>CFBundleGetInfoString</key> +<string>Libusb USB device Shield</string><br> + +<key>CFBundleIdentifier</key> +<string>com.libusb.USB_Shield</string><br> + +<key>CFBundleInfoDictionaryVersion</key> +<string>6.0</string><br> + <key>CFBundleName</key> +<string>Libusb USB device Shield</string><br> + <key>CFBundlePackageType</key> +<string>KEXT</string><br> + <key>CFBundleSignature</key> +<string>????</string><br> + <key>CFBundleVersion</key> +<string>6.0</string><br> + +<key>IOKitPersonalities</key><br> + <dict><br> + +<key>HCFR</key><br> + <dict><br> + +<key>CFBundleIdentifier</key> +<string>com.apple.driver.AppleUSBComposite</string><br> + +<key>IOClass</key> +<string>AppleUSBComposite</string><br> + +<key>IOProviderClass</key> +<string>IOUSBDevice</string><br> + + <key>idVendor</key> +<integer>1243</integer><br> + + +<key>idProduct</key> +<integer>91</integer><br> + </dict><br> + </dict><br> + +<key>OSBundleCompatibleVersion</key> +<string>1.8</string><br> + <key>OSBundleLibraries</key><br> + <dict><br> + +<key>com.apple.kernel.iokit</key> +<string>6.0</string><br> + </dict><br> + </dict><br> + </plist><br> + ----------------- 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> + 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 Binary files differnew file mode 100644 index 0000000..9f6edf9 --- /dev/null +++ b/doc/Kgraph1.jpg diff --git a/doc/Kgraph2.jpg b/doc/Kgraph2.jpg Binary files differnew file mode 100644 index 0000000..a7d532d --- /dev/null +++ b/doc/Kgraph2.jpg diff --git a/doc/Kgraph3.jpg b/doc/Kgraph3.jpg Binary files differnew file mode 100644 index 0000000..f916558 --- /dev/null +++ b/doc/Kgraph3.jpg diff --git a/doc/Kgraph4.jpg b/doc/Kgraph4.jpg Binary files differnew file mode 100644 index 0000000..603c9bd --- /dev/null +++ b/doc/Kgraph4.jpg diff --git a/doc/Kgraph5.jpg b/doc/Kgraph5.jpg Binary files differnew file mode 100644 index 0000000..1de1b88 --- /dev/null +++ b/doc/Kgraph5.jpg diff --git a/doc/Kgraph6.jpg b/doc/Kgraph6.jpg Binary files differnew file mode 100644 index 0000000..f3981d2 --- /dev/null +++ b/doc/Kgraph6.jpg diff --git a/doc/Kgraph7.jpg b/doc/Kgraph7.jpg Binary files differnew file mode 100644 index 0000000..c2d0686 --- /dev/null +++ b/doc/Kgraph7.jpg diff --git a/doc/Kgraph8.jpg b/doc/Kgraph8.jpg Binary files differnew file mode 100644 index 0000000..1bb9569 --- /dev/null +++ b/doc/Kgraph8.jpg diff --git a/doc/Kparams.jpg b/doc/Kparams.jpg Binary files differnew file mode 100644 index 0000000..04e344b --- /dev/null +++ b/doc/Kparams.jpg diff --git a/doc/LSDC.jpg b/doc/LSDC.jpg Binary files differnew file mode 100644 index 0000000..2ad2a67 --- /dev/null +++ b/doc/LSDC.jpg diff --git a/doc/LabSteps.jpg b/doc/LabSteps.jpg Binary files differnew file mode 100644 index 0000000..d25590f --- /dev/null +++ b/doc/LabSteps.jpg 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> + </p> +</blockquote> +<br> + +<br> + +<br> + +</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 +Test LU matrix decomposition. +<br>numlib/dnsqtest.exe +Test nonlinear square system solution. +<br>numlib/soboltest.exe +Test sobol sequence generator +<br>numlib/svdtest.exe +Test Singular Value Decomposition code +<br>numlib/tpowell.exe +Test Powell non linear minimiser code +<br>numlib/zbrenttest.exe +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> +</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 +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 +and nearest gamut clipping.<br> +<br> +<b>NUMLIB</b><br> +<br> +Collection of numerical routines used by various other (mainly color) +code.<br> +<br> + Included are:<br> +<br> + numsup Support routines, array and vector +malloc/free, +macros<br> + dnsq Non-linear equation +solver<br> + powell Powell multi dimensional +minimizer<br> + ludecomp LU decomposition matrix solver<br> + svd Singular +Value decomposition matrix solver<br> + zbrent 1 dimensional brent root search<br> + rand Random number +generators<br> + sobol 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, 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> + </p> +</blockquote> +<br> + +<br> + +<br> + +</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 <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. 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> + 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->System->Advanced->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> + export ARGYLL_REV_CACHE_MULT=1.5<br> +or<br> + set ARGYLL_REV_CACHE_MULT=1.5<br> +or<br> + ARGYLL_REV_CACHE_MULT=1.5<br> +<br> +and may need separately exporting, something like:<br> +<br> + export ARGYLL_REV_CACHE_MULT<br> +<br> +Generally it should be configured in the shell start-up script, +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 Binary files differnew file mode 100644 index 0000000..1521e04 --- /dev/null +++ b/doc/Q60.jpg diff --git a/doc/QPcard201.jpg b/doc/QPcard201.jpg Binary files differnew file mode 100644 index 0000000..dbe1448 --- /dev/null +++ b/doc/QPcard201.jpg diff --git a/doc/QPcard202.jpg b/doc/QPcard202.jpg Binary files differnew file mode 100644 index 0000000..3332bdd --- /dev/null +++ b/doc/QPcard202.jpg diff --git a/doc/SG.jpg b/doc/SG.jpg Binary files differnew file mode 100644 index 0000000..7dc20e1 --- /dev/null +++ b/doc/SG.jpg 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> <a href="#PM1a">Checking you can access your + display<br> + </a></h4> + <h4> <a href="#PM1b">Adjusting and Calibrating a + displays</a></h4> + <h4> <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> <a href="#PM2">Creating display test values</a></h4> + <h4> <a href="#PM3">Taking readings from a + display</a></h4> + <h4> <a href="#PM4">Creating a display profile</a></h4> + <h4> <span style="text-decoration: underline;"></span><a + href="#PM5">Installing a display profile</a></h4> + <h4> <span style="text-decoration: underline;"></span><a + href="#PM6">Expert tips when measuring displays</a></h4> + <h4> <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> <a href="#PS2">Types of test charts</a></h4> + <h4> <a href="#PS3">Taking readings from a + scanner</a></h4> + <h4> <a href="#PS4">Creating a scanner profile</a></h4> + <h4><br> + <a href="#PP1">Profiling Printers</a></h4> + <h4> <a href="#PP2">Creating a print profile + test chart</a></h4> + <h4> <a href="Scenarios.html#PP2b">Printing a + print profile test chart</a></h4> + <h4> <a href="#PP3">Reading a print test chart + using an instrument</a></h4> + <h4> <a href="#PP4">Reading a print test chart + using a scanner</a></h4> + <h4> </h4> + <h4> <a href="#PP5">Creating a printer profile<br> + </a></h4> + <h4> <a href="#PP6">Choosing a black generation + curve</a></h4> + <br> + <h4><a href="Scenarios.html#PC1">Calibrating Printers</a></h4> + <h4> <a href="Scenarios.html#PC2">Calibrated + print workflows</a></h4> + <h4> <a href="Scenarios.html#PC3">Creating a + print calibration test chart</a></h4> + <h4> </h4> + <h4> <a href="Scenarios.html#PC4">Creating a + printer calibration<br> + </a></h4> + <h4> <a href="Scenarios.html#PC5">Using a printer + calibration</a></h4> + <h4> <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. + Adjustment and calibration are prior steps to profiling, in which + the display is adjusted using it's screen controls, and then + per channel lookup tables are created to make it meet a well behaved + response of the desired type. The 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 + 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, 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, 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, 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> + <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> + <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 <span style="font-weight: bold;">Microsoft Color Control Panel Applet for Windows XP</span> + available for download from Microsoft to do this, but <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->Programs->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> + + + + + + + + + (<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, (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> 1) Don't attempt to calibrate, just profile the display.<br> + 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> 2a) Use dispcal to create a calibration and a quick profile + that incorporates the calibration into the profile.<br> + 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> + 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> + <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> + <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étairie's Digital TargeT 003</a> and <a +href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.html">Christophe + + + + + + + + + Métairie's Digital Target - 3</a> :<br> + <br> + <img alt="CMP_DT_003" src="CMP_DT_003.jpg" style="width: 186px; + height: 141px;"> <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>: <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"> + <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 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 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> + <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> + <a href="txt2ti3.html">txt2ti3</a> + ColorCheckerSG.txt ColorCheckerSG<br> + <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, making use of the chart reference file <span + style="font-weight: bold;">ref/i1_RGB_Scan_1.4.ti2</span>:<br> + <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é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é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 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), 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 + 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 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 & 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> + <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> + <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 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> + <a href="targen.html#d">-d2</a> <a href="targen.html#f">-f1053</a> + <a href="targen.html#c">-c OldPrinterA</a> <a + href="targen.html#p1">PrinterA</a><br> + <br> + <a href="targen.html">targen</a> <a href="targen.html#v">-v</a> + <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> + <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> + 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.). 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 & B), while + a reflective print, will have subtractive primaries (C, M, Y & + 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). 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 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 (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 how the minimum black is zero up to 93% of the + white->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->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 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. + + <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> + <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> + <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 <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> + <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> + <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> + <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> + <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> + <a href="printtarg.html#K">printtarg</a> +To +apply +calibration +to +a +profile +test +chart, + + + + + + + + + and/or to have it included in .ti3 file.<br> + <a href="cctiff.html#p2">cctiff</a> +To +apply +color +management +and +calibration +to +an + + + + + + + + + image file.<br> + <a href="applycal.html#p1">applycal</a> + + + + + + + + + To incorporate calibration into an ICC profile.<br> + <a href="chartread.html#I">chartread</a> +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> + <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> + <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> + <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> + <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> + <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> <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> + + <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> <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> <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 Binary files differnew file mode 100644 index 0000000..66a6b00 --- /dev/null +++ b/doc/Smile.jpg 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> + 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 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 <http://www.cmis.csiro.au/Don.Bone/><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 <dimension> 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 Smallest -> Largest cartesian sort<br> +P2 P1 P0 Corresponding Parameter coordinates +(note reverse order!)<br> +<br> +B0 = P0 Conversion to Baricentric +coordinates<br> +B1 = P1 - P0<br> +B2 = P2 - P1<br> +B3 = 1 - P2<br> +<br> +The vertex values directly correspond to Baricentric coordinates,<br> +giving the usual interpolation equation of:<br> +<br> + 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 -> Baricentric equations gives the<br> +following interpolation equation using Parameter coordinates:<br> +<br> + 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->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> + Basic function requirements: exact, +auxil, locus, clip inversion.<br> + Fwd cell - reverse cell list lookup<br> + Basic layout di -> fdi + auxils + ink limit<br> + Basic search strategy<br> + Sub Simplex decomposition & properties<br> + How each type of function finds solutions<br> + Sub-simplex dimensionality & +dof + target dim & dof<br> + Linear algebra choices.<br> + How final solutions are chosen<br> +<b><br> +XICC</b><br> +<br> + 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 Binary files differnew file mode 100644 index 0000000..8f8eff5 --- /dev/null +++ b/doc/Spyd2.jpg diff --git a/doc/Spyd3.jpg b/doc/Spyd3.jpg Binary files differnew file mode 100644 index 0000000..e1ab16f --- /dev/null +++ b/doc/Spyd3.jpg diff --git a/doc/Spyd3x.jpg b/doc/Spyd3x.jpg Binary files differnew file mode 100644 index 0000000..8916915 --- /dev/null +++ b/doc/Spyd3x.jpg diff --git a/doc/Spyd4.jpg b/doc/Spyd4.jpg Binary files differnew file mode 100644 index 0000000..0d1b1b6 --- /dev/null +++ b/doc/Spyd4.jpg diff --git a/doc/SpyderChecker.jpg b/doc/SpyderChecker.jpg Binary files differnew file mode 100644 index 0000000..e50a205 --- /dev/null +++ b/doc/SpyderChecker.jpg 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 & 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 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 & 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 Binary files differnew file mode 100644 index 0000000..16f637f --- /dev/null +++ b/doc/YellowGreen.jpg 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> + <a href="#v">-v</a> +Verbose + mode<br> + <a href="#a">-a</a> +Apply + or re-apply calibration (default)<br> + <a href="#u">-u</a> +Remove + calibration<br> + <a href="#c">-c</a> +Check + calibration<br> + <a href="#p1">calfile.cal</a> + Calibration + file to apply<br> + <a href="#p2">inprof.icm</a> + ICC + profile to read<br> + <a href="#p3">outprof.icm</a> + 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> +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> +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> +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;"> -v +Verbose</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -m +Merge rather than average</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> input1.ti3 +First input file</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> input2.ti3 +Second input file</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> ... +etc.</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> output.ti3 +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 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> +Cyan + + + C<br> + Magenta + M<br> + Yellow + + Y<br> + Black + + K<br> + Orange + + O<br> + Red + + R<br> + Green + + G<br> + Blue + + B<br> + White + + W<br> + Light Cyan + + c<br> + Light +Magenta + m<br> + Light +Yellow + y<br> + Light +Black + k<br> + Medium Cyan + 2c<br> + Medium Magenta + + 2m<br> + Medium Yellow + 2y<br> + Medium Black + 2k<br> + Light Light Black 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> + <span style="font-weight: bold;">RGB_I</span> + + The device value input value between 0.0 and 1.0.<br> + <span style="font-weight: bold;">RGB_R</span> + + The Red device value input value between 0.0 and 1.0.<br> + <span style="font-weight: bold;">RGB_G</span> + The Green device value input value between 0.0 + and + 1.0.<br> + <span style="font-weight: bold;">RGB_B</span> + 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> + 1) Changing controls or internal settings that it + has.<br> + 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;"> +-v + Verbose flag</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -l +limit Set and ink limit +(TAC) in the resulting .ti3 file</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><i + style="font-family: monospace;">inbasename</i><span + style="font-family: monospace;"> Base +name for input Colorblind .CMY and input. nCIE file</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><i + style="font-family: monospace;">outbasename</i><span + style="font-family: monospace;"> 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 & 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è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> + + </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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + + + Verbose</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#c">-c</a><span + style="font-family: monospace;"> + + + Combine linearisation curves into one transform</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p</a><span + style="font-family: monospace;"> + + + Use slow precise floating point conversion, rather + than fast integer routines.</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#k">-k</a><span + style="font-family: monospace;"> + + + Check fast result against precise, and report + differences.<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#r">-r n<span + style="font-style: italic;"></span></a><span + style="font-family: monospace;"> + 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;"> </span><a + style="font-family: monospace;" href="#t">-t n<span + style="font-style: italic;"></span></a><span + style="font-family: monospace;"> + Choose + output encoding from 1..n<br> + <a href="#f">-f [T|J]</a> + Set output format to Tiff or Jpeg (Default is same as input)<br> + <a href="#q">-q quality</a> + Set JPEG quality 1..100 (Default 80)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#a">-a</a><span + style="font-family: monospace;"> + + Read and Write planes > 4 as + alpha planes<br> + </span></small><small><span style="font-family: monospace;"> <a + href="#I">-I</a> +Ignore + + any file or profile colorspace mismatches<br> + <a href="#D">-D</a> +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> + </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;"> Optionally embed a profile in the destination + TIFF or JPEG file.<br> + + + </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> + +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;"> </span><a style="font-family: monospace;" + href="#i">-i <span style="font-style: italic;">intent</span></a><span + style="font-family: monospace;"> + Profile intent</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + p = + perceptual, r = relative colorimetric,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + s = saturation, a = absolute colorimetric<br> + </span></small><small><span style="font-family: monospace;"> + </span><a style="font-family: monospace;" href="#o">-o order<span + style="font-style: italic;"></span></a><span + style="font-family: monospace;"> + n = normal (priority: lut + > matrix > monochrome)<br> + +r + + = reverse (priority: monochrome > matrix > lut)</span></small><small><span + style="font-family: monospace;"></span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </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;"> A Device, Link or + Abstract profile. This may be an ICC file<br> + +(May + + be embedded profile in TIFF or JPEG file)<br> + </span></small><small><span style="font-family: monospace;"> +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;"> </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;"> + Calibration direction</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + 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;"> </span><a + style="font-family: monospace;" href="#p2"><i>calibration.cal<span + style="font-family: monospace;"></span></i></a><span + style="font-family: monospace;"> + + 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> + + + + Then finally:<br style="font-family: + monospace;"> + <span style="font-family: monospace;"></span><a + style="font-family: monospace;" href="#p3"><i>infile.tif</i></a><span + style="font-family: monospace;"> + 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;"> + <span style="font-family: monospace;"></span><a + style="font-family: monospace;" href="#p4"><i>outfile.tif</i></a><span + style="font-family: monospace;"> + 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> + 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> + cctiff -e cmyk.icm -ip rgbfile.tif -ip + cmyk.icm rgbinfile.tif cmyout.tif<br> + <br> + Convert a raster file using a device link:<br> + <br> + 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> + 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> + 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. 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 & + 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 (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;"> <a href="#v">-v</a> + + + + + + + + + + + + + + Verbose mode</small><br> + <a href="#S">-S</a> +Create +CCSS +rather + + + + + + + + + + + + + + than CCMX<br> + <a href="#f">-f file1.ti3[,file2.ti3]</a> + +Create +from +one +or +two + + + + + + + + + + + + + + .ti3 files rather than measure.<br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><font + style="font-family: monospace;" size="-1"><a href="#display">-display + + + + + + + + + + + + + + displayname</a> [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"> <a href="#dnm">-d + n[,m]</a> + + [X11 only] Choose the display from the following list (default 1),</font><br + style="font-family: monospace;"> + <font style="font-family: monospace;" size="-1"> +and +optionally +choose +a +different +display +m + + + + + + + + + + + + + + for VideoLUT access.</font><br style="font-family: monospace;"> + <font style="font-family: monospace;" size="-1"> <a href="#d">-d + + + + + + + + + + + + + + n</a> +Choose +the +display +from +the +following +list + + + + + + + + + + + + + + (default 1)</font><br> + <span style="font-family: monospace;"> <a href="#dweb">-dweb[:port]</a> + + + + + + + + + + + + + + + + + + Display via a web server at port (default 8080)</span><br + style="font-family: monospace;"> + <font style="font-family: monospace;" size="-1"> </font><font + style="font-family: monospace;" size="-1"><a href="#p">-p</a> + + + + + + + + + + + + + + Use telephoto mode (ie. for a projector) (if available)</font><br + style="font-family: monospace;"> + <font size="-1"><span style="font-family: monospace;"><a + href="#y">-y X</a> + + + + + + + + + + + + + + + + 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"> <a href="#P">-P + + + + + + + + + + + + + + ho,vo,ss[,vs]</a> Position test + window and scale it</font><br style="font-family: monospace;"> + <font style="font-family: monospace;" size="-1"> +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"> +ss: +0.5 += +half, +1.0 += +normal, + + + + + + + + + + + + + + 2.0 = double etc.</font><br> + <font size="-1"><span style="font-family: monospace;"> + + + + + + + + ss,vs: = optional horizontal, vertical scale.</span></font><br + style="font-family: monospace;"> + <font style="font-family: monospace;" size="-1"> </font><font + style="font-family: monospace;" size="-1"><a href="#F">-F</a> + + + + + + + + + + + + + + + Fill whole screen with black background</font><br + style="font-family: monospace;"> + <small style="font-family: monospace;"> <span + style="text-decoration: underline;"></span><a href="#n">-n</a> + +[X11 +only] +Don't +set +override +redirect +on + + + + + + + + + + + + + + test window<br> + </small><font style="font-family: monospace;" size="-1"> <a + href="#N">-N</a> + + + + + + + + + + + + + + Disable initial calibration of instrument</font><small + style="font-family: monospace;"> if possible<br> + </small><span style="font-family: monospace;"> </span><font + style="font-family: monospace;" size="-1"><a href="#H">-H</a> + + + + + + + + + + + + + + + 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"> <a href="#C">-C + + + + + + + + + + + + + + "command"</a> + Invoke shell "command" each time a color is set<br> + </font><small style="font-family: monospace;"> <a href="#o">-o + <i>observ</i></a> + Choose CIE Observer for CCMX spectral + data:<br> + + 1931_2 </small><small + style="font-family: monospace;"> (def.)</small><small + style="font-family: monospace;">, 1964_10, S&B 1955_2, shaw, + J&V 1978_2<br> + </small><font style="font-family: monospace;" size="-1"> <a + href="#s">-s steps</a> +Override +default +patch +sequence + + + + + + + + + + + + + + combination steps (default 3)</font><br style="font-family: + monospace;"> + <font style="font-family: monospace;" size="-1"> <a href="#W">-W + + + + + + + + + + + + + + n|h|x</a> +Override +serial +port +flow +control: +n += + + + + + + + + + + + + + + none, h = HW, x = Xon/Xoff</font><br style="font-family: + monospace;"> + <small style="font-family: monospace;"> <a href="#D">-D [level]</a> + Print + debug diagnostics to stderr<br> + </small><small style="font-family: monospace;"> <a + href="ccxxmake.html#E">-E "description"</a> +Override +the +default +overall + + + + + + + + + + + + + + escription</small><br> + <small style="font-family: monospace;"> <a href="#I">-I + "displayname"</a> </small><span + style="font-family: monospace;">Set display make and model + description</span><small style="font-family: monospace;"><br> + </small><small style="font-family: monospace;"><a href="#T">-T + + + + + + + + + + + + + + "displaytech"</a> </small><span + style="font-family: monospace;">Set display technology description</span> + (ie. CRT, LCD etc.)<small style="font-family: monospace;"></small><br> + <tt> <a href="#U">-U c</a> + + Set UI selection character(s)</tt><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#Yrn">-<font size="-1">Y</font> + r|n</a><span style="font-family: monospace;"> + + + + + + + + + + Override refresh, non-refresh display + mode</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#YA">-<font size="-1">Y</font>A</a><span + style="font-family: monospace;"> + + Use non-adaptive integration time mode + (if available).</span></font><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><font + style="font-family: monospace;" size="-1"><a href="#file1"><span + style="font-style: italic;">correction.ccmx</span></a> | <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> + + 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. The following + choices are available:<br> + <b> 1931_2</b> selects the standard CIE 1931 2 degree + observer. The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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 & display combination.<span + style="font-weight: bold;"></span><span style="font-weight: bold;"></span><span + style="font-weight: bold;"></span> The steps are those out + of every combination of R,G & 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", 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 & 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> + A spectral measurement using a spectral instrument is always + needed.<br> + <br> + 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> + <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 <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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + + +Verbose + + + mode</span><br 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;"> + Set communication port from the following + list (default 1)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#t">-t</a><span + style="font-family: monospace;"> + +Use +transmission + + + measurement mode<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#d">-d</a><span + style="font-family: monospace;"> + +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> + </span></small><font size="-1"><span style="font-family: + monospace;"><a href="#y">-y X</a> + + + + Display type - instrument specific list to choose from.</span></font><br> + <small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#e">-e</a><span + style="font-family: monospace;"> +Use +emissive +measurement + + + mode (absolute results)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p</a><span + style="font-family: monospace;"> + +Measure +patch +by + + + patch rather than strip</span></small><br> + <small><span style="font-family: monospace;"></span> <a + style="font-family: monospace;" href="#x">-x [lx]</a><span + style="font-family: monospace;"> +Take +external +values, + + + either L*a*b* (-xl) or XYZ (-xx).</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#n">-n</a><span + style="font-family: monospace;"> + + +Don't + + + save spectral information (default saves spectral)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#l">-l</a><span + style="font-family: monospace;"> + + Save CIE as D50 L*a*b* rather than XYZ<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#L">-L</a><span + style="font-family: monospace;"> + + Save CIE as D50 L*a*b* as well as XYZ</span></small><br> + <small><span style="font-family: monospace;"> <a href="#r">-r</a> +Resume +reading +partly + + + read chart<br> + <a href="#I">-I</a> + file.cal Override + calibration info from .ti2 in resulting .ti3<br> + </span></small><font size="-1"><span style="font-family: + monospace;"><a href="#F">-F filter</a> + + + Set filter configuration:<br> + + n + + + None<br> + + p + + + Polarising filter<br> + + 6 + + + D65<br> + + u + + + 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;"> </span><a + style="font-family: monospace;" href="#N">-N</a><span + style="font-family: monospace;"> + + Disable initial calibration of instrument unless + essential<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </span><a style="font-family: monospace;" + href="#B">-B</a><span style="font-family: monospace;"> + + Disable auto bi-directional strip recognition</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#H">-H</a><span + style="font-family: monospace;"> + + Use high resolution spectrum mode (if available)<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </span></font><font size="-1"><span + style="font-family: monospace;"><a href="#X1">-X file.ccmx</a> + + + + Apply Colorimeter Correction Matrix</span></font><br> + <span style="font-family: monospace;"> <a href="#X2">-X + file.ccss</a> +Use +Colorimeter +Calibration +Spectral +Samples + + + + for calibration</span><br> + <small><span style="font-family: monospace;"> </span><a style=" + font-family: monospace;" href="#Q">-Q observ</a><span + style="font-family: monospace;"> + Choose CIE Observer for + spectral data or CCSS instrument:</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + + </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&B 1955_2, shaw, + J&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;"> <a + href="#T">-T ratio</a> +Modify +strip +patch + + + consistency tolerance by ratio (if available)<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#S">-S</a> +Suppress +wrong +strip + + + & unexpected value warnings</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#W">-W n|h|x</a> +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;"> <a href="#D">-D [level]</a> + Print debug + diagnostics to stderr</small><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p1"><i>inoutfile</i></a><span + style="font-family: monospace;"> + + + 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 + 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> 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. 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 </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> 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 <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> 1931_2</b> selects the standard CIE 1931 2 degree + observer. The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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 + 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> + <b>kl lxs lxe lys lye w h xo yo xi yi</b><br> +<br> +with the following usage:<br> +<br> + <b>kl</b> is a key letter.<br> +<br> + <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> + <b><br> + </b><b>F _ _ x0 y0 x1 y1 x2 y2 +x3 y3<br> +<br> + </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> + <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. The label information can be arbitrary.<br> + <br> + <b>X</b> is used for a sequence +of boxes in which the X label comes first in the concatenated sample +box label.<br> + <br> + <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> + Boxes are created incrementing in +the X direction fastest, and the Y direction slowest.<br> +<br> + <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> + <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> + <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> + <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> + The X & Y labels will be concatenated to form +the sample box label.<br> +<br> + 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> + <b>w</b>,<b> h</b> are the width and height of each +box in the array.<br> +<br> + <b>xo</b>, <b>yo</b> are the origin of the top +left +of the array.<br> +<br> + <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> + F _ _ _ _ 1 1 615.5 1.5 615 409<br> + D ALL ALL _ _ 615 409 1 1 0 0<br> + D MARK MARK _ _ 14 14 1 1 0 0<br> + Y 01 22 A L 25.625 25.625 26.625 26.625 25.625 25.625<br> + 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> + 1.799625 1.000000 0.312500<br> + 27.064987 0.874039 0.750000<br> + 52.592403 0.133439 0.687500<br> + 78.196610 0.264191 0.687500<br> + 104.117756 0.165427 0.937500<br> + 129.377994 0.844432 0.937500<br> + 155.144274 0.501218 0.875000<br> + 180.839181 0.491428 0.937500<br> + 206.359758 0.212384 0.937500<br> + 232.038808 0.851851 0.937500<br> + 257.854725 0.162956 0.625000<br> + 283.552463 0.101243 0.812500<br> + 300.534000 0.024750 0.812500<br> + 309.507688 0.093829 1.000000<br> + 334.711314 0.856821 1.000000<br> + 360.428194 0.787677 1.000000<br> + 385.849730 0.748130 0.937500<br> + 386.650071 0.039487 0.687500<br> + 394.630372 0.024725 0.687500<br> + 411.835654 0.802501 0.750000<br> + 414.017731 0.041974 0.937500<br> + 437.133504 0.674062 0.937500<br> + 437.975355 0.103714 1.000000<br> + 462.938460 0.671643 1.000000<br> + 463.880560 0.093836 0.937500<br> + 488.517995 0.679022 1.000000<br> + 514.338544 0.760511 1.000000<br> + 540.037492 0.111108 0.625000<br> + 565.856396 0.133330 0.562500<br> + 591.114717 0.565475 0.562500<br> + 603.447516 0.032097 0.312500<br> + 615.984915 0.829608 0.250000<br> +<br> +YLIST 22<br> + 2.477956 0.993407 0.142857<br> + 12.988903 0.016393 0.190476<br> + 14.739109 0.036082 0.190476<br> + 26.746171 0.911487 0.428571<br> + 52.537114 0.303282 0.904762<br> + 78.060317 0.585303 0.857143<br> + 103.498271 0.606862 0.761905<br> + 128.994535 0.567266 0.761905<br> + 154.483041 0.550814 0.714286<br> + 179.935985 0.623055 0.666667<br> + 205.552940 0.350826 0.714286<br> + 212.051372 0.016393 0.714286<br> + 231.153547 0.824618 0.857143<br> + 256.697418 0.744268 0.952381<br> + 282.145841 0.736126 0.904762<br> + 307.899015 0.536075 0.952381<br> + 333.262903 0.903282 0.809524<br> + 340.217754 0.019722 0.190476<br> + 344.988867 0.019671 0.095238<br> + 346.988885 0.018032 0.095238<br> + 358.840278 0.999967 1.000000<br> + 409.201393 1.000000 0.000000<br> +<br> +EXPECTED XYZ 264<br> + A1 3.85 3.22 1.9<br> + A2 4.89 3.27 1.6<br> + A3 5.87 3.31 1.33<br> + A4 6.3 3.38 1.19<br> + A5 13.01 11.44 7.64<br> + A6 16.14 11.99 6.81<br> + A7 19.35 12.41 6.06<br> + A8 20.41 11.97 5.3<br> + A9 43.5 42.81 32.65<br> + A10 45.58 42.37 30.95<br> + A11 48.99 43.2 29.9<br> + A12 50.73 44.02 29.96<br> + A13 74.46 78.76 66.06<br> + A14 75.66 76.42 64.08<br> + A15 78.36 81.34 65.41<br> + A16 70.52 73.3 59.16<br> + A17 74.98 75.98 60.69<br> + A18 72.85 77.3 60.25<br> + A19 73.09 75.52 64.54<br> + B1 3.47 3.08 1.41<br> + B2 4.41 3.25 0.9<br> + B3 5.04 3.23 0.58<br> + B4 5.19 3.11 0.47<br> + B5 13.36 11.59 5.56<br> + B6 15.97 12.03 3.69<br> + B7 19.2 12.49 2.2<br> + B8 19.73 11.52 1.17<br> + B9 42.19 41.84 29.34<br> + B10 44.83 42.17 25.93<br> + B11 48.06 42.9 23.01<br> + B12 49.63 43.08 21.34<br> + B13 66.21 72.54 64.61<br> + B14 70.16 67.1 60.33<br> + B15 75.46 78.69 51.58<br> + B16 57.47 59.58 47.66<br> + B17 68.33 66.45 49.05<br> + B18 63.89 70.29 51.3<br> + B19 61.12 62.16 59.79<br> + C1 4.97 4.75 1.98<br> + C2 5.18 4.65 1.23<br> + C3 5.51 4.58 0.71<br> + C4 5.77 4.61 0.67<br> + C5 24.57 23.44 10.14<br> + C6 28.1 24.64 5.22<br> + C7 31.15 25.28 2.2<br> + C8 30.85 23.68 1.35<br> + C9 49.16 49.36 32.37<br> + C10 51.72 50.72 26.53<br> + C11 55.24 53.14 21.93<br> + C12 56.87 53.62 18.46<br> + C13 57.68 65.65 62.7<br> + C14 63.46 56.66 55.49<br> + C15 73 76.11 40.78<br> + C16 44.73 46.38 36.8<br> + C17 60.64 55.73 38.1<br> + C18 52.15 60.27 41.5<br> + C19 48.13 49.18 54.38<br> + D1 4.19 4.41 1.93<br> + D2 4.48 4.72 1.24<br> + D3 4.55 4.78 0.8<br> + D4 4.32 4.53 0.78<br> + D5 27.33 28.55 12.95<br> + D6 28.68 30.04 7.25<br> + D7 29.51 31.01 3.41<br> + D8 27.55 28.44 1.83<br> + D9 56.06 58.19 38.21<br> + D10 56.03 58.46 30.02<br> + D11 56.2 59.33 24.44<br> + D12 56.19 59.41 19.14<br> + D13 48.21 57.42 59.53<br> + D14 58.18 49.14 51.36<br> + D15 70.98 73.73 33.63<br> + D16 34.31 35.73 28.22<br> + D17 54.27 47.53 29.58<br> + D18 41.67 50.64 32.28<br> + D19 36.95 37.82 48.09<br> + E1 4.15 4.75 2.03<br> + E2 4 4.98 1.37<br> + E3 3.3 4.49 0.86<br> + E4 3.11 4.3 0.86<br> + E5 13.11 14.9 7.06<br> + E6 12.26 15.23 4.18<br> + E7 11.53 15.57 2.27<br> + E8 9.69 13.74 1.51<br> + E9 39.15 42.08 27.33<br> + E10 37.43 41.51 22.23<br> + E11 36.99 42.5 18.85<br> + E12 36.4 42.58 16.27<br> + E13 39.97 49.81 56.15<br> + E14 52.08 41.07 46.36<br> + E15 68.71 70.76 26.45<br> + E16 25.7 26.97 21.28<br> + E17 48.53 40.6 22<br> + E18 31.62 40.82 23.35<br> + E19 31.19 31.19 43.4<br> + F1 1.51 1.91 1.06<br> + F2 1.29 2.04 0.98<br> + F3 1.16 2.09 0.82<br> + F4 1.14 2.04 0.8<br> + F5 6.53 8.25 5.13<br> + F6 5.61 8.66 4.38<br> + F7 4.6 8.77 3.7<br> + F8 3.45 7.63 2.78<br> + F9 37.8 41.07 30.91<br> + F10 35.92 40.76 29.03<br> + F11 35.42 41.99 29.07<br> + F12 34 41.8 28<br> + F13 32.13 42.12 51.99<br> + F14 45.72 33.34 40.77<br> + F15 66.26 67.29 19.65<br> + F16 17.02 18.07 14.4<br> + F17 41.59 32.53 15.16<br> + F18 26.26 35.26 18.81<br> + F19 24.3 23.6 37.48<br> + G1 2.31 3 2.27<br> + G2 2 3.21 2.58<br> + G3 1.66 3.21 2.75<br> + G4 1.58 3.03 2.6<br> + G5 8.99 11.08 8.79<br> + G6 7.68 11.3 9.56<br> + G7 6.52 11.5 10.2<br> + G8 5.5 10.85 10.55<br> + G9 38.29 41.75 33.45<br> + G10 35.83 41.16 34.11<br> + G11 34.56 41.83 35.63<br> + G12 33.69 42.14 36.7<br> + G13 25.95 35.68 48<br> + G14 40.6 27.62 36.14<br> + G15 63.72 63.63 14.35<br> + G16 10.85 11.82 9.58<br> + G17 37.23 27.64 11.62<br> + G18 20.28 28.97 14.15<br> + G19 17.7 16.74 31.7<br> + H1 2.56 3.04 2.92<br> + H2 2.34 3.2 4.12<br> + H3 2.12 3.28 5.43<br> + H4 2.06 3.18 5.29<br> + H5 10.07 11.6 11.24<br> + H6 9.01 11.68 14.81<br> + H7 8.22 12 19.42<br> + H8 7.25 11.55 21.45<br> + H9 39.25 42.31 36.81<br> + H10 37.58 41.85 40.37<br> + H11 37.16 43.07 45.79<br> + H12 36.27 43.78 49.47<br> + H13 21.47 30.78 44.22<br> + H14 36.49 23.35 32.38<br> + H15 61.58 60.55 10.95<br> + H16 8.21 8.71 6.91<br> + H17 33.04 23.26 8.38<br> + H18 16.22 24.35 10.41<br> + H19 12.86 11.84 26.82<br> + I1 4.22 4.44 5.28<br> + I2 4.35 4.48 8.36<br> + I3 4.4 4.44 11.94<br> + I4 4.48 4.58 12.17<br> + I5 15.15 15.78 15.23<br> + I6 14.56 15.12 19.52<br> + I7 14.37 14.81 24.48<br> + I8 14.11 14.76 30.03<br> + I9 41.03 42.58 36.94<br> + I10 40.85 42.23 40.73<br> + I11 40.86 42.33 45.05<br> + I12 41.31 42.73 47.77<br> + I13 17.26 25.93 40.23<br> + I14 32.66 19.63 28.81<br> + I15 59.37 57.18 7.79<br> + I16 4.97 5.32 4.32<br> + I17 28.62 18.88 5.48<br> + I18 11.58 18.98 7.25<br> + I19 9.58 8.34 22.87<br> + I20 0.45 0.4 0.33<br> + I21 2.28 1.78 0.98<br> + I22 2.37 1.95 0.85<br> + J1 2.15 1.9 2.6<br> + J2 2.57 2 4.72<br> + J3 2.93 1.95 8.1<br> + J4 3.15 1.92 10.76<br> + J5 11.73 11.6 11.81<br> + J6 12.98 11.93 16.19<br> + J7 13.91 12.07 20.95<br> + J8 14.01 11.59 24.35<br> + J9 40.75 41.22 36.34<br> + J10 41.26 41.07 39.74<br> + J11 42.63 41.68 44.51<br> + J12 44.02 41.78 49.25<br> + J13 13.82 21.69 35.98<br> + J14 28.87 16.33 25.08<br> + J15 56.04 52.29 4.97<br> + J16 2.46 2.63 2.29<br> + J17 24.04 14.75 3.15<br> + J18 8.12 14.49 4.55<br> + J19 5.98 4.79 17.76<br> + J20 8.26 5.37 1.04<br> + J21 11.52 7.81 1.62<br> + J22 14.67 10.72 2.6<br> + K1 5.63 4.7 4.86<br> + K2 6.74 4.58 7.23<br> + K3 8.04 4.48 9.73<br> + K4 9.39 4.76 11.79<br> + K5 16.66 15.39 14.44<br> + K6 18.72 15.18 18.23<br> + K7 21.56 15.5 22.97<br> + K8 23 15.02 25.37<br> + K9 42.5 42.02 36.05<br> + K10 44.55 41.63 39.71<br> + K11 47.19 41.96 44.03<br> + K12 49.9 43.14 47.21<br> + K13 10.61 17.44 31.24<br> + K14 24.84 13.19 21<br> + K15 53.12 48.05 3.19<br> + K16 1.05 1.14 1.13<br> + K17 19.93 11.34 1.67<br> + K18 5.3 10.47 2.73<br> + K19 3.95 2.76 13.94<br> + K20 30.61 26.43 11.04<br> + K21 34.91 29.6 11.78<br> + K22 38.95 34.57 18.4<br> + L1 3.88 3.12 2.32<br> + L2 4.93 3.2 2.69<br> + L3 5.75 3.14 3.02<br> + L4 7.31 3.79 3.4<br> + L5 13.29 11.54 9.39<br> + L6 16.22 11.73 10.32<br> + L7 19.95 12.08 12.06<br> + L8 20.79 11.31 12.01<br> + L9 43.22 42.09 33.78<br> + L10 45.52 41.88 34.65<br> + L11 49.04 42.87 35.98<br> + L12 51.03 43.83 37.78<br> + L13 7.45 12.77 25.59<br> + L14 21.26 10.76 17.73<br> + L15 49.45 43.12 2.14<br> + L16 0.47 0.49 0.5<br> + L17 16.04 8.49 0.78<br> + L18 2.91 6.5 1.39<br> + L19 2.5 1.45 10.28<br> + L20 38.7 33.98 20.86<br> + L21 39.36 35.23 21.23<br> + L22 41.36 38.77 23.51<br> + GS0 79.47 82.51 69.04<br> + GS1 72.62 74.94 59.17<br> + GS2 63.15 65.11 51.57<br> + GS3 54.72 56.51 45.03<br> + GS4 48.1 49.81 39.24<br> + GS5 42.22 43.64 34.45<br> + GS6 37.33 38.7 30.5<br> + GS7 32.38 33.61 26.11<br> + GS8 27.56 28.7 22.11<br> + GS9 22.5 23.4 17.99<br> + GS10 18.77 19.55 14.83<br> + GS11 15.48 16.08 12.04<br> + GS12 12.69 13.29 9.98<br> + GS13 10.35 10.81 7.97<br> + GS14 8.39 8.77 6.37<br> + GS15 6.45 6.79 4.97<br> + GS16 4.95 5.18 3.7<br> + GS17 3.58 3.82 2.76<br> + GS18 2.76 2.89 2.06<br> + GS19 1.97 2.08 1.45<br> + GS20 1.22 1.31 0.98<br> + GS21 1 1.05 0.74<br> + GS22 0.87 0.89 0.65<br> + GS23 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, 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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + + + Verbose<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#A">-A "manufacturer"</a><span + style="font-family: monospace;"> Set the manufacturer + description string</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#M">-M "model"</a><span + style="font-family: monospace;"> + Set the model + description string</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#D">-D "description"</a><span + style="font-family: monospace;"> Set the profile + Description string (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;"> </span><a + style="font-family: monospace;" href="#C">-C "copyright"</a><span + style="font-family: monospace;"> Set the + copyright string</span></small><br style="font-family: + monospace;"> + <small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#V">-V</a><span + style="font-family: monospace;"> +Verify +existing + + + profile, rather than link (Debug option)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#q">-q lmhu</a><span + style="font-family: monospace;"> + Quality - Low, Medium (def), + High, Ultra</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#r">-r <i>res</i></a><span + style="font-family: monospace;"> +Override +clut + + + res. set by -q</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#n">-n</a><span + style="font-family: monospace;"> +Don't +preserve + + + device curves in result</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#f">-f</a><span + style="font-family: monospace;"> + + Special :- Force neutral colors + to be K only output.<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#fk">-fk</a><span + style="font-family: monospace;"> + + Special :- Force K only neutral colors + to be K only output<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#fcmy">-fcmy</a><span + style="font-family: monospace;"> + + 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;"> </span><a + style="font-family: monospace;" href="#F">-F</a><span + style="font-family: monospace;"> + + Special :- Force all colors to be + K only output.</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p aprof.icm</a><span + style="font-family: monospace;"> +Include + + + abstract profile in link</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#s">-s</a><span + style="font-family: monospace;"> +Simple +Mode + + + (default)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#g">-g [src.gam]</a><span + style="font-family: monospace;"> + Gamut Mapping Mode [optional source image gamut]</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#G">-G [src.gam]</a><span + style="font-family: monospace;"> +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;"> </span><u + style="font-family: monospace;">Simple Mode Options:</u><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#si">-i <i>in_intent</i></a><span + style="font-family: monospace;"> p = + perceptual, r = relative colorimetric,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + +s + + + = saturation, a = absolute colorimetric</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </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;"> p = + perceptual, r = relative colorimetric,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + +s + + + = saturation, a = absolute colorimetric</span><br + style="font-family: monospace;"> + <br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><u + style="font-family: monospace;">Mapping Mode Options:</u><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#i">-i <i>intent</i></a><span + style="font-family: monospace;"> + set linking intent from the following choice:</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +a +- + + + Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]<br> + +aw +- + + + Absolute Colorimetric (in Jab) with scaling to fit white point<br + style="font-family: monospace;"> + </span><span style="font-family: monospace;"> +aa +- + + + Absolute Appearance</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +r +- + + + White Point Matched Appearance [ICC Relative Colorimetric]</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +la +- + + + Luminance matched Appearance</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +p +- + + + Perceptual (Preferred) [ICC Perceptual]<br> + </span></small><small><span style="font-family: monospace;"> +pa + + + - Perceptual Appearance</span></small><br style="font-family: + monospace;"> + <small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> +ms +- + + + Saturation</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +s +- + + + Enhanced Saturation [ICC Saturation]</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +al +- + + + Absolute Colorimetric (Lab)</span><span style="font-family: + monospace;"></span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#w">-w [J,a,b]</a><span + style="font-family: monospace;"> Use forced + whitepoint hack [optional color to map the white to]</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#c">-c <i>viewcond</i></a><span + style="font-family: monospace;"> set source viewing + conditions for CIECAM02,</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + +either + + + an enumerated choice, or a parameter</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#d">-d <i>viewcond</i></a><span + style="font-family: monospace;"> set destination + viewing conditions for CIECAM02,</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + +either + + + an enumerated choice, or a parameter:value change<br> + </span></small><small><span style="font-family: monospace;"> + pp - Practical + Reflection Print (ISO-3664 P2)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + + + pe - Print evaluation environment (CIE 116-1995)<br> + </span></small><small><span style="font-family: monospace;"> + + + + + 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;"> + mt - Monitor in + typical work environment</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + + + mb - Monitor in bright work environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + md - Monitor in darkened work + environment</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + jm - Projector in dim + environment</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + jd - Projector in dark + environment</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + pcd - Photo CD - original scene + outdoors</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + ob - Original scene - Bright + Outdoors</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + cx - Cut Sheet Transparencies + on a viewing box</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +s:surround +n + + + = auto, a = average, m = dim, d = dark,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + + c = transparency (default average)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +w:X:Y:Z +Adapted + + + white point as XYZ (default media white)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +w:x:y +Adapted + + + white point as x, y</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +a:adaptation +Adaptatation + + + luminance in cd.m^2 (default 50.0)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +b:background +Background +% + + + of image luminance (default 20)<br> + l:scenewhite + Scene white in cd.m^2 if surround = auto (default 250)<br + style="font-family: monospace;"> + </span><span style="font-family: monospace;"> +f:flare +Flare +light + + + % of image luminance (default 1)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +f:X:Y:Z +Flare + + + color as XYZ (default media white)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +f:x:y +Flare + + + color as x, y</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#t">-t <i>tlimit</i></a><span + style="font-family: monospace;"> +set +source + + + total ink limit, 0 - 400% (estimate by default)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#T">-T <i>klimit</i></a><span + style="font-family: monospace;"> +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;"> </span><u + style="font-family: monospace;">Inverse outprofile A2B Options:</u><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#k">-k tezhxr</a><span + style="font-family: monospace;"> + CMYK Black generation</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + +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;"> + +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;"> </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;"> + +p + + + = black level generation curve parameters</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </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;"> + +q + + + = transfer source K to dual curve limits</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#K">-K parameters</a><span + style="font-family: monospace;"> + Same as -k, but target is K locus rather than K value itself</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#l">-l <i>tlimit</i></a><span + style="font-family: monospace;"> +set +destination + + + total ink limit, 0 - 400% (estimate by default)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#L">-L <i>klimit</i></a><span + style="font-family: monospace;"> +set +destination + + + total ink limit, 0 - 100% (estimate by default)<br> + </span></small> <small><span style="font-family: + monospace;"><a href="#P">-P</a> + +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;"> <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;"> +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;"> + <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;"> +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;"> </span><a href="#p3"><i + style="font-family: monospace;">linkedprofile</i></a><span + style="font-family: monospace;"> + 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> Quality + - Low, Medium (def), High, Ultra<br> + <b><a name="r"></a> -r res </b> + + + + + 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> 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> 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. 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. So as to get a smooth mapping from the source + to 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> <b>-s</b> 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> <b>-g</b> 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 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 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 gamut mapping mode.<br> + <br> + <a name="G"></a> <b>-G</b> 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 (<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 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> + <br> + <u><a name="ss"></a> Simple mode gamut mapping options:</u><br> + <br> + <a name="si"></a> <b>-i</b> <i>in_intent</i> + + + + + <b>p</b> = perceptual, <b>r</b> = relative colorimetric,<br> + + <b>s</b> + = saturation, <b>a</b> = absolute colorimetric<br> + <a name="so"></a> <b>-o</b> <i>out_intent</i> + <b>p</b> = perceptual, <b>r</b> = relative + colorimetric,<br> + + <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> <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. 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 <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 <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 <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. 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 (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 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> 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. 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> 1.0 K | + enpo<br> + +| + + + + _______ enle<br> + +| + + + + /<br> + +| + + + + /<br> + +| + + + + /<br> + +| + + + + /<br> + + stle | ------/<br> + + +-------------------<br> + 0.0 K + 0.0 + stpo 1.0<br> + +White + + + 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 Binary files differnew file mode 100644 index 0000000..464dd11 --- /dev/null +++ b/doc/colorchecker.jpg 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 <a href="File_Formats.html#ICC">ICC</a> profile from + the <a href="File_Formats.html#.ti3">.ti3</a> test chart patch + values.<br> + <h3>Usage Summary</h3> + <tt><small>colprof [-<i>options</i>] inoutfile<br> + <a href="#v">-v</a> + + + + + + + + + + + + Verbose mode<br> + <a href="#A">-A "manufacturer"</a> Set the + manufacturer description string<br> + <a href="#M">-M "model"</a> + Set the model + description string<br> + <a href="#D">-D "description"</a> Set the + profile Description string (Default "<span + style="font-style: italic;">inoutfile</span>")<br> + <a href="#C">-C "copyright"</a> Set the + copyright string<br> + <a href="#Za">-Z tmnb </a> + Attributes: + Transparency, Matte, Negative, BlackAndWhite<br> + </small></tt><tt><small> <a href="colprof.html#Zi">-Z prsa</a> + + Default + intent: Perceptual, Rel. Colorimetric, Saturation, Abs. + Colorimetric</small></tt><tt><br> + </tt><tt> </tt><tt><small> <a href="#q">-q lmhu</a> + Quality - Low, + Medium (def), High, Ultra<br> + <a href="#b">-b [lmhun]</a> + Low quality B2A table - or specific B2A quality or none + for input device<br> + <a href="#y">-y</a> + + + + + + + + + + + + Verify A2B profile<br> + <a href="#ni">-ni</a> + + + + + + + + + + + + Don't create input (Device) shaper + curves<br> + </small></tt><tt><small> <a href="#np">-np</a> + + Don't create input (Device) grid position curves</small></tt><tt><br> + </tt><tt> </tt><tt><small> <a href="#no">-no</a> + + + + + + + + + + + + Don't create output (PCS) shaper + curves<br> + </small></tt><tt><small> <a href="#nc">-nc</a> + + Don't put the input .ti3 data in the profile</small></tt><tt><br> + </tt><tt> </tt><tt><small> <a href="#k">-k zhxr</a> + Black generation: z = zero K,<br> + + + + + +h += +0.5 +K +(def), +x += + + + + + + + + + + + + max K, r = ramp K<br> + <a href="#kp">-k p stle stpo enpo enle shape</a><br> + + + + + +stle: +K +level +at +White +0.0 + + + + + + + + + + + + - 1.0<br> + + + + + + +stpo: +start +point +of +transition +Wh + + + + + + + + + + + + 0.0 - Bk 1.0<br> + + + + + + +enpo: +End +point +of +transition +Wh + + + + + + + + + + + + 0.0 - Bk 1.0<br> + + + + + + +enle: +K +level +at +Black + + + + + + + + + + + + 0.0 - 1.0<br> + + + + + + +shape: +1.0 += +straight, +0.0-1.0 +concave, + + + + + + + + + + + + 1.0-2.0 convex<br> + <a href="#K">-K parameters</a> + + + Same as -k, but target is K locus rather than K value itself<br> + <a href="#l">-l <i>tlimit</i></a> + override CMYK total ink limit, 0 - 400% + (default from .ti3)<br> + <a href="#L">-L <i>klimit</i></a> + override black ink limit, 0 - 100% (default + from .ti3)<br> + <a href="#a">-a lxXgsmGS</a> + Algorithm type override<br> + + + + + + +l += +Lab +cLUT +(def.), + + + + + + + + + + + + x = XYZ cLUT, X = display XYZ cLUT + matrix<br> + + + + + + +g += +gamma+matrix, +s += + + + + + + + + + + + + shaper+matrix, m = matrix only,<br> + + + + + + +G += +single +gamma+matrix, +S += + + + + + + + + + + + + single shaper+matrix<br> + <a href="#u">-u</a> + + + + + + + + If input profile, auto scale WP to allow extrapolation</small></tt><tt><br> + </tt><tt> </tt><tt><small><small> <a href="#uc">-uc</a> + + If input profile, clip cLUT values above WP<br> + </small> </small></tt><tt><small><a href="#U">-U <span + style="font-style: italic;">scale</span></a> + If input + profile, scale media white point by scale</small></tt><tt><br> + </tt><tt> </tt><tt> </tt><tt><a href="#R">-R</a></tt><tt> +Restrict +white +<= +1.0, +black +and + + + + + + + + + + + + primaries to be +ve</tt><tt><br> + </tt><tt> </tt><tt><small><small><a + href="file:///D:/src/argyll/doc/colprof.html#f">-f [<i>illum</i>]</a> + Use Fluorescent + Whitening Agent compensation [opt. simulated inst. illum.:<br> + + + 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> <a + href="file:///D:/src/argyll/doc/colprof.html#i">-i <i>illum</i></a> + + Choose illuminant for + computation of CIE XYZ from spectral data & FWA:<br> + + + + + + +A, +C, +D50 +(def.), +D50M2, + + D65, F5, F8, F10 or file.sp</small></small></small><br> + <a href="#o">-o <i>observ</i></a> + Choose CIE Observer for spectral data:<br> + + + + + + + + + + + + + 1931_2 </small></tt><tt><small>(def.)</small></tt><tt><small>, + 1964_10, S&B 1955_2, shaw, J&V 1978_2<br> + <a href="#r">-r avgdev</a> + Average deviation of device+instrument readings as + a percentage (default 0.5%)<br> + <a href="#s">-s src.icc</a> +Apply +gamut +mapping +to +output +profile +perceptual +B2A +table +for + + + + + + + + + + + + given source<br> + <a href="#S">-S src.icc</a> + + + + + + + + + + + + Apply gamut mapping to output profile perceptual and saturation + B2A table<br> + <a href="#nP">-nP</a> + + + + + + + + + + + + Use colormetric source gamut to make output profile perceptual + table<br> + <a href="#nS">-nS</a> + + + + + + + + + + + + Use colormetric source gamut to make output profile saturation + table<br> + <a href="#g">-g src.gam</a> + Use source image + gamut as well for output profile gamut mapping<br> + <a href="#p">-p aprof.icm,...</a> Incorporate + abstract profile(s) into output tables<br> + <a href="#t">-t intent</a> + Override gamut + mapping intent for output profile perceptual table:<br> + <a href="#T">-T intent</a> + + + + + + + + + + + + Override gamut mapping intent for output profile saturation + table:<br> + </small></tt><tt><small> + + a - Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]<br> + + aw - Absolute Colorimetric + (in Jab) with scaling to fit white point<br> + + aa - Absolute Appearance<br> + + r - White Point Matched + Appearance [ICC Relative Colorimetric]<br> + + la - Luminance matched Appearance<br> + + p - Perceptual (Preferred) [ICC + Perceptual]<br> + </small></tt><tt><small> + + + + + + + + + + + + pa - Perceptual Appearance</small></tt><tt><br> + </tt><tt> </tt><tt><small> + + + + + + + + + + + + ms - Saturation<br> + + s - Enhanced Saturation [ICC + Saturation]<br> + + al - Absolute Colorimetric (Lab)</small></tt><tt><small><br> + <a href="#c">-c viewcond</a> + + + + + + + + + + + + set input viewing conditions for output profile CIECAM02 gamut + mapping,<br> + + + + + + + + + + + + + either an enumerated choice, or a parameter<br> + <a href="#d">-d viewcond</a> + + + + + + + + + + + + set output viewing conditions for output profile CIECAM02, gamut + mapping<br> + + + + + + + + + + + + + either an enumerated choice, or a parameter:value change<br> + + + + + + + + + + + + + Also sets out of gamut clipping CAM space.<br> + + + + + + + + + + + + + Enumerated Viewing Conditions:<br> + </small></tt><tt><small> + pp - Practical Reflection Print (ISO-3664 + P2)<br> + + pe - Print evaluation environment (CIE + 116-1995)<br> + </small></tt><tt><small> + pc - Critical print evaluation + environment (ISO-3664 P1)</small></tt><tt><br> + </tt><tt> </tt><tt><small> + mt - Monitor in typical work + environment<br> + + mb - Monitor in bright work environment<br> + + md - Monitor in darkened work environment<br> + + jm - Projector in dim environment<br> + + jd - Projector in dark environment<br> + + pcd - Photo CD - original scene outdoors<br> + + ob - Original scene - Bright Outdoors<br> + + cx - Cut Sheet Transparencies on a viewing box</small></tt><tt><small><br> + + s:surround n = auto, a = average, m = + dim, d = dark,<br> + + + + + + + + + + + + + + c = transparency (default average)<br> + + + w:X:Y:Z Adapted white point + as XYZ (default media white)<br> + + + w:x:y Adapted + white point as x, y<br> + + a:adaptation Adaptatation + luminance in cd.m^2 (default 50.0)<br> + + b:background Background % + of image luminance (default 20)<br> + + l:scenewhite + Scene white in cd.m^2 if surround = auto (default 250)<br> + + + f:flare Flare light % of + image luminance (default 1)<br> + + + f:X:Y:Z Flare color as XYZ + (default media white)<br> + + + f:x:y Flare + color as x, y<br> + <a href="#P">-P</a> + + + + + + + + + + + + + Create gamut gammap_p.wrl and gammap_s.wrl diagostics<br> + </small></tt><tt><small> <a href="#O">-O outputfile</a> +Override + + + + + + + + + + + + the default output filename & extension.</small></tt><tt><br> + </tt><tt> </tt><tt><small> <a href="#p1"><i>inoutfile</i></a> + Base name for + input.ti3/output.icc file</small></tt><br> + <h3>Options<br> + </h3> + <b><a name="v"></a>-v</b> 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, 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 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. These set the target black level.<br> + <br> + 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> 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. 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> 1.0 K | + enpo<br> + + + + + + + + + + + + + | + _______ enle<br> + + + + + + + + + + + + + | /<br> + + + + + + + + + + + + + | /<br> + + + + + + + + + + + + + | /<br> + + + + + + + + + + + + + | /<br> + + stle | ------/<br> + + +-------------------<br> + 0.0 K + 0.0 + stpo 1.0<br> + +White + + + + + + + + + + + + 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> + <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 > 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. 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> + [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 CIE XYZ + 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> + <b>-f M0</b> + equivalent to<b> -f A</b><br> + <b>-f M1</b> + equivalent to<b> -f D50</b><br> + <b>-f M2</b> + equivalent to<b> -f D50M2</b><b><br> + </b><br> + 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> + A CIE + tungsten filament lamp 2848K<br> + D50 CIE daylight 5000K<br> + D65 CIE daylight 6500K<br> + F5 CIE Fluorescent + 6350K, CRI 72<br> + F8 CIE Fluorescent + 5000K, CRI 95<br> + F10 CIE Fluorescent + 5000K, CRI 81<br> + <br> + Custom illuminants are most often used when a 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 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> 1931_2</b> selects the standard CIE 1931 2 degree + observer. The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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 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 </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 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 & 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 Binary files differnew file mode 100644 index 0000000..929273c --- /dev/null +++ b/doc/cube.jpg 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;"> </span><a + style="font-family: monospace;" href="#v">-v [n]</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + + Verbose mode<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </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;"> <a href="#dnm">-d n[,m]</a> + + [X11 only]Choose the display from the following list (default + 1),<br> + +and +optionally +choose +a +different +display +m +for + + + + + + + + + + + + + + + + + + + + VideoLUT access.</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#d">-d n</a> +Choose +the +display +from +the +following +list +(default + + + + + + + + + + + + + + + + + + + + 1)</span></font><br> + <span style="font-family: monospace;"> <a href="#dweb">-dweb[:port]</a> + + + + + + + + + + + + + + + + + + + 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> <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;"> + Set communication port from + the following list (default 1)<br> + </span></small><font size="-1"><span style="font-family: + monospace;"> </span><a style="font-family: monospace;" + href="#r">-r</a><span style="font-family: monospace;"> + + 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;"> </span><a style="font-family: monospace;" + href="#R">-R</a><span style="font-family: monospace;"> + + 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;"> </span><a + style="font-family: monospace;" href="#m">-m</a><span + style="font-family: monospace;"> + + </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> + <font size="-1"><span style="font-family: monospace;"><a + href="#o">-o [profile.icm]</a> Create + fast matrix/shaper profile [different filename to outfile.icm]<br> + <a href="#O">-O description</a> + + + + + + + + + + + + + + + + + + + + Fast ICC Profile Description string (Default "outfile")<br> + <a href="#u">-u</a> +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;"> </span><a + style="font-family: monospace;" href="#q">-q [lmh]</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + Quality - Low, Medium (def), High<br> + <a href="#p">-p</a> + + + + + + + + + Use telephoto mode (ie. for a projector) (if available)<br> + </span></font><font size="-1"><span style="font-family: + monospace;"><a href="#y">-y X</a> + + + + + + + + + + + + + + + + + + + + + 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;"> </span><a + style="font-family: monospace;" href="#t">-t [temp]</a><span + style="font-family: monospace;"> +White +Daylight +locus +target, +optional +target +temperaturee +in + + + + + + + + + + + + + + + + + + + + deg. K (deflt.)<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </span><a style="font-family: monospace;" + href="#T">-T [temp]</a><span style="font-family: monospace;"> +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;"> </span><a + style="font-family: monospace;" href="#w">-w x,y</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + Set the target white point as chromaticity coordinates</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#b">-b bright</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + Set the target white brightness in cd/m^2</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#g">-g gamma</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + Set the target response curve gamma (Def. 2.4)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + Use "-gl" for L*a*b* curve</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + Use "-gs" for sRGB curve<br> + +Use +"-g709" +for +REC +709 +curve +(should +use + + + + + + + + + + + + + + + + + + + + -a as well!)<br> + + + + + + + + + + + + + + + + + + + + + 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;"> + + + + + + + + + + + + + + + + + + + + Use "-G2.4 -f0" for BT.1886</span></font> + + + + + + + + + + + + + <br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#G">-G gamma</a><span + style="font-family: monospace;"> + + Set the target response curve actual technical gamma<br> + <a href="#f">-f [degree]</a> +Amount +of +black +level +accounted +for +with +output + + + + + + + + + + + + + + + + + + + + offset (default all output offset)<br> + <a href="#a">-a ambient</a> + + + + + + + + + + + + + + + + + + + + Use viewing condition adjustment for ambient in Lux<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#k">-k factor</a> + + 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;"> <a href="#A">-A rate</a> + + Rate of blending from neutral to black point. Default 4.0</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#B">-B bkbright</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + 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;"> </span><a + style="font-family: monospace;" href="#e">-e [n]</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + Run n verify passes on final curves<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </span><a style="font-family: monospace;" + href="#E">-E</a><span style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + + 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;"> <a href="#P">-P + ho,vo,ss[,vs]</a> Position test window + and scale it</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +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;"> +ss: +0.5 += +half, +1.0 += +normal, +2.0 + + + + + + + + + + + + + + + + + + + + = double etc.<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> + + + + + + + ss,vs: = optional horizontal, vertical scale.</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#F">-F</a> + + + + + + + + + + + + + + + + + + + + + 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;"> </span><a + style="font-family: monospace;" href="#n">-n</a><span + style="font-family: monospace;"> + +[X11 +only] +Don't +set +override +redirect +on + + + + + + + + + + + + + + + + + + + + test window<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </span><a style="font-family: monospace;" + href="#J">-J</a><span style="font-family: monospace;"> + + Run instrument calibration first<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#N">-N</a> + + + + + + + + + + + + + + + + + + + + Disable initial calibration of instrument if possible</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#H">-H</a><span + style="font-family: monospace;"> + + 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> + </span></font><font size="-1"><span style="font-family: + monospace;"><span style="text-decoration: underline;"></span><a + href="#X1">-X file.ccmx</a> + + + + + + + + + + + + + + + + + + + + Apply Colorimeter Correction Matrix</span></font><br> + <span style="font-family: monospace;"> <a href="#X2">-X + file.ccss</a> +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;"> </span><a + style="font-family: monospace;" href="#Q">-Q <i>observ</i></a><span + style="font-family: monospace;"> + Choose CIE Observer for spectrometer or CCSS + colorimeter data:</span><br style="font-family: monospace;"> + <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&B 1955_2, shaw, + J&V 1978_2, 1964_10c<br> + <a href="#I">-I b|w</a> + + + + + + + + + + + + + + + + + + + + Drift compensation, Black: -Ib, White: -Iw, Both: -Ibw<br> + </span></small><font size="-1"><span style="font-family: + monospace;"> </span><a style=" font-family: monospace;" + href="#YA">-<font size="-1">Y</font> A</a><span + style="font-family: monospace;"> + + 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;"> </span><a + style="font-family: monospace;" href="#C">-C "command"</a><span + style="font-family: monospace;"> + Invoke shell + "command" each time a color is set</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#M">-M "command"</a><span + style="font-family: monospace;"> + 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;"> <a + href="#W">-W n|h|x</a> +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;"> </span><a + style="font-family: monospace;" href="#D">-D [level]</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + 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;"> </span><a + style="font-family: monospace;" href="#p1"><i>inoutfile</i></a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + + + + + </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;"> 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. + 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> + Black Brightness in cd/m^2<br> + White Brightness in cd/m^2<br> + The approximate Gamma<br> + The white point x,y chromaticity co-ordinates<br> + The correlated color temperature in Kelvin, and + the CIEDE200 to the Black Body locus.<br> + The correlated Daylight temperature in Kelvin, + and the CIEDE200 to the Daylight locus.<br> + The visual color temperature in Kelvin, and the + CIEDE200 to the Black Body locus.<br> + The visual Daylight temperature in Kelvin, and + the CIEDE200 to the Daylight locus.<br> + The visual color temperature in Kelvin<br> + (for <span style="font-weight: bold;">-R </span>"raw":)<br> + 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> 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> 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 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> 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> An + alternative to specifying a 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> 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> +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 + <http://www.color.org/sRGB.xalter> 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. 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> +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) 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 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>: +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> 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 + & 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 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> 1931_2</b> selects the standard CIE 1931 2 degree + observer. The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree + observer<br> + <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(λ) 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 + & 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 & 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> + 1) Black level (CRT: Brightness)<br> + 2) White point (Color temperature, R,G,B, Gain/Contrast)<br> + 3) White level (CRT: Gain/Contrast, LCD: + Brightness/Backlight)<br> + 4) Black point (R,G,B, Offset/Brightness)<br> + 5) Check all<br> + 6) Measure and set ambient for viewing condition adjustment<br> + 7) Continue on to calibration<br> + 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;"> Adjust CRT brightness to get target level. + Press space when done.</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> Target + 0.60</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> / Current 0.68 + -</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 '=' 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> + <small style="font-weight: bold;"><span + style="font-family: monospace;">Adjust R,G & B gain to get + target x,y. Press space when done.<br> + Target B 60.00, x 0.3451, y 0.3516<br> + / Current B 60.05, x 0.3426, y 0.3506 DE + 1.4 R+ G+ 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 & B gain to desired white point. + Press space when done.</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> Initial B 47.25, x + 0.3417, y 0.3456, CDT 5113 DE 6.9</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;">\ Current B 47.38, x 0.3420, + y 0.3460 CDT 5104 DE 6.7 R-- G+ B-</span></small><br> + <br> + 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> + <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> + Target 60.00<br> + / Current 59.96 +</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;"> 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 '=' 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;"> Adjust R,G & B offsets to get target x,y. + Press space when done.<br> + Target B 0.60, x 0.3451, y 0.3516<br> + \ Current B 0.62, x 0.2782, y 0.2331 DE + 10.3 R+ 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% 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. If targets + have been set, it will be like:<br> + <br> + <small style="font-weight: bold;"><span style="font-family: + monospace;"> Target Brightness = 50.00, Current = 47.44, + error = -5.1%<br> + Target 50% Level = 10.32, Current = 8.10, + error = -4.4%<br> + Target Near Black = 0.47, Current = 0.68, + error = 0.4%<br> + Target white = x 0.3458, y 0.3586, Current = x 0.3420, y + 0.3454, error = 7.55 DE<br> + 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;"> Current Brightness = 46.28</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> Target 50% + Level = 10.07, Current = 7.52, error = -5.5%</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> Target Near Black + = 0.46, Current = 0.46, error = -0.0%</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> Current white = x + 0.3439, y 0.3466, VCT 5098K DE 3.0</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> 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 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> MS Windows Me and 98: C:\Windows\System\Color<br> + </p> + <p> MS Windows NT: + C:\Winnt\system32\spool\drivers\color + </p> + <p> 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->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;"> <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;"> <span + style="font-weight: bold;">c:\bin\argyll\dispwin + c:\myprofiles\mydisplay.icm<br> + </span></p> + <p style="margin-left: 40px;">Click "Next >", 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 Color Control Panel Applet for Windows 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 Panel -> Hardware and Sound + -> Color Management, as an alternative to <span + style="font-weight: bold;">dispwin -I</span>. In Devices +you select "Use my settings for this +device", and then add the profile you've 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> + <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> + /Network/Library/ColorSync/Profiles<br> + /System/Library/Colorsync/Profiles<br> + /Library/ColorSync/Profiles<br> + ~/Library/ColorSync/Profiles<br> + <br> + Note though that /System/Library/Colorsync/Profiles is only + for + profiles supplied by Apple. You can use <a href="dispwin.html#S">dispwin + -S</a> to select the appropriate scope when installing a + profile + using <a href="dispwin.html#I">dispwin -I</a>. You can use the + "System + Preferences->Displays->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> + /usr/share/color/icc<br> + /usr/local/share/color/icc<br> + ~/.color/icc<br> + <br> + although particular applications may use their own locations, such + as:<br> + <br> + /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> + <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> + <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> </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> + <a href="#v">-v</a> + + + + + + + + + + + + + + Verbose mode<br> + </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;"> <a href="#dnm">-d n[,m]</a> + + [X11 only]Choose the display from the following list (default + 1),<br> + +and +optionally +choose +a +different +display +m + + + + + + + + + + + + + + for VideoLUT access.</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#d">-d n</a> +Choose +the +display +from +the +following +list + + + + + + + + + + + + + + (default 1)</span></font><small style="font-family: monospace;"><br> + </small><span style="font-family: monospace;"> <a href="#dweb">-dweb[:port]</a> + + + + + + + + + + + + + + + + Display via a web server at port (default 8080)</span><br> + <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;"> + Set + communication port from the following list (default 1)<br> + </span></small><font size="-1"><span style="font-family: + monospace;"> <a href="#p">-p</a> + + + + + + + + + + + + + + Use telephoto mode (ie. for a projector) (if available)</span></font><br> + <font size="-1"><span style="font-family: monospace;"><a + href="#y">-y X</a> + +Display + + + + + + + + + + + + + + + type - instrument specific list to choose from.</span></font><br> + <small style="font-family: monospace;"> <span + style="text-decoration: underline;">-</span><a href="#k">k + file.cal</a> + + + + + + + + + + + + + + Load calibration file into display while reading<br> + </small><small style="font-family: monospace;"> <span + style="text-decoration: underline;">-</span><a href="#K">K + file.cal</a> +Apply + + + + + + + + + + + + + + calibration file to test values while reading</small><br> + <small style="font-family: monospace;"> <a href="#s">-s</a> + + + + + + + + + + + + + + Save spectral information (default don't + save)<br> + </small><font style="font-family: monospace;" size="-1"> <a + href="#P">-P ho,vo,ss[,vs]</a> Position + test window and scale it<br> + +ho,vi: +0.0 += +left/top, +0.5 += +center, + + + + + + + + + + + + + + 1.0 = right/bottom etc.<br> + +ss: +0.5 += +half, +1.0 += +normal, + + + + + + + + + + + + + + 2.0 = double etc.<br> + </font><font size="-1"><span style="font-family: monospace;"> + + + + + + + ss,vs: = optional horizontal, vertical scale.</span></font><br> + <font style="font-family: monospace;" size="-1"> </font><font + size="-1"><span style="font-family: monospace;"><a href="#F">-F</a> + + + + + + + + + + + + + + + Fill whole screen with black background</span></font><br + style="font-family: monospace;"> + <small style="font-family: monospace;"> <span + style="text-decoration: underline;"></span><a href="#n">-n</a> + +[X11 +only] +Don't +set +override +redirect + + + + + + + + + + + + + + on test window<br> + </small><small style="font-family: monospace;"> <a href="#J">-J</a> + + + + + + + + + + + + + + + Run calibration first</small><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#N">-N</a> + + + + + + + + + + + + + + Disable initial calibration of instrument if possible<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </span><a style="font-family: monospace;" + href="#H">-H</a><span style="font-family: monospace;"> + + Use high resolution spectrum mode (if + available)</span></font><font size="-1"><span + style="font-family: monospace;"></span><span style="font-family: + monospace;"><br> + <a href="#w">-w</a> + +Disable +normalisation +of +white +to +Y += + + + + + + + + + + + + + + 100</span></font><small><span style="font-family: monospace;"></span></small><br> + <font size="-1"><span style="font-family: monospace;"><a + href="#X1">-X file.ccmx</a> + + + + + + + + + + + + + + Apply Colorimeter Correction Matrix</span></font><br> + <span style="font-family: monospace;"> <a href="#X2">-X + file.ccss</a> +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;"> </span><a + style="font-family: monospace;" href="#Q">-Q <i>observ</i></a><span + style="font-family: monospace;"> + Choose CIE Observer for spectrometer or CCSS + colorimeter data:</span><br style="font-family: monospace;"> + <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&B 1955_2, shaw, + J&V 1978_2, 1964_10c</span></small><br> + <small><span style="font-family: monospace;"> <a + href="dispread.html#I">-I b|w</a> +Drift +compensation, +Black: +-Ib, +White: +-Iw, +Both: + + + + + + + + + + + + + + -Ibw<br> + </span></small><font size="-1"><span style="font-family: + monospace;"> </span><a style=" font-family: monospace;" + href="#YA">-<font size="-1">Y</font> A</a><span + style="font-family: monospace;"> + + + + + + Use non-adaptive integration time mode (if available).</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#C">-C "command"</a><span + style="font-family: monospace;"> + Invoke shell + "command" each time a color is set<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </span><a style="font-family: monospace;" + href="#M">-M "command"</a><span style="font-family: monospace;"> + Invoke shell + "command" each time a color is measured</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#W">-W n|h|x</a> +Override +serial +port +flow +control: +n += + + + + + + + + + + + + + + none, h = HW, x = Xon/Xoff</span></font><br> + <small style="font-family: monospace;"> <a href="#D">-D [level]</a> + Print debug + diagnostics to stderr</small><br> + <small style="font-family: monospace;"> <a href="#p1"><i>inoutfile</i></a> + + + + + + + + + + + + + + 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 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 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> 1931_2</b> selects the standard CIE 1931 2 degree + observer. The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree + observer<br> + <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(λ) 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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + +Verbose + + + + + + + + mode<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> </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;"> <a href="#dnm">-d n[,m]</a> + + [<span style="font-weight: bold;">X11 only</span>] Choose the + display from the following list (default 1),<br> + +and +optionally + + + + + + + + choose a different display m for Video LUT access.<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#d">-d n</a> +[Not +X11] + + + + + + + + Choose the display from the following list (default 1)<br> + </span></font><span style="font-family: monospace;"> <a + href="#dweb">-dweb[:port]</a> + + + + + + 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;"> <a href="#P">-P + ho,vo,ss[,vs]</a> Position test window + and scale it</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +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;"> +ss: +0.5 + + + + + + + + = half, 1.0 = normal, 2.0 = double etc.<br> + + + + + ss,vs: = optional horizontal, vertical scale.<br> + </span></font><font size="-1"><span style="font-family: + monospace;"><a href="#F">-F</a> + +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;"> </span><a + style="font-family: monospace;" href="#i">-i</a><span + style="font-family: monospace;"> + + Run forever with random values<br> + <a href="#G">-G <span style="font-style: italic;">filename</span></a> + Display RGB + colors from CGATS file<br> + </span></font><font size="-1"><a style="font-family: + monospace;" href="#m">-m</a><span style="font-family: + monospace;"> + + Manually step through colors</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#r">-r</a> +Test +just + + + + + + + + video LUT loading & Beeps<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#n">-n</a> + +Test +native + + + + + + + + display values (rather than through Video LUT)<br> + <a href="#s">-s <span style="font-style: italic;">filename.cal</span></a> +Save +the + + + + + + + + currently loaded Video LUT to 'filename'<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#c">-c</a> + +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;"> <a href="#V">-V</a> + +Verify +that + + + + + + + + calfile/profile cal. is currently loaded in LUT<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#I">-I</a> + + + + + + + + + </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;"> <a href="#U">-U</a> + + + + + + + + + </span></font><font size="-1"><span style="font-family: + monospace;">Un-install profile for display<br> + <a href="#S">-S d</a> +Specify +the + + + + + + + + install/uninstall scope for OS X [nlu] or Vista [lu]<br> + +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;"> <a href="#L">-L</a> + + + + + + + + + </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;"> <a href="#E">-E</a> + + + + + + + + + [<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;"> </span><a style="font-family: monospace;" + href="#D">-D [level]</a><span style="font-family: monospace;"> +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> + </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;"> +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 then brightening the screen by loading video + LUT values, test the bell sounds, then restore the original values + and exit.<br> + <br> + If the <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 <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 <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 <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 <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.) + 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. 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 + [-v] infile.tif/jpg outfile.icm<br> + -v + 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> + 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> 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 +[-v] infile.icm outfile<br> + -v +Verbose<br> + -t tag Extract this tag +rather than default 'targ'<br> + -c +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> +should be the path to the ICC profile<br> +<br> +<span style="font-weight: bold;">outfile</span> 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 +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;">] </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;"> -v +Verbose mode </span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -r </span><i + style="font-family: monospace;">res</i><span + style="font-family: monospace;"> +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;"> -l </span><i + style="font-family: monospace;">tlimit</i><span + style="font-family: monospace;"> +Set a total ink limit, 0 .. 400% (estimate by default)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -l </span><i + style="font-family: monospace;">klimit</i><span + style="font-family: monospace;"> +Set a black ink limit, 0 .. 100% (estimate by default) </span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><i + style="font-family: monospace;">profile.</i><span + style="font-family: monospace;">icm +CMYK </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;"> </span><i + style="font-family: monospace;">outfile</i><span + style="font-family: monospace;">.ti3 +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> 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;"> -v + + Verbose mode</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -s + + 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;"> -p +Use +separation profile</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -l +Output +Lab rather than XYZ<br> + -k +file.cal +Apply +calibration (after sep.) and include in .ti3<br> + -i +file.cal +Include +calibration in .ti3 (but don't apply it)<br> +</span></small><small><span style="font-family: monospace;"> -r +level +Add +average random deviation of <level>% to input device values +(after sep. & cal.)</span></small><br + style="font-family: monospace;"> +<small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> -0 +pow +Apply +power to input device chanel 0-9 (after sep. cal. & rand.)</span><br + style="font-family: monospace;"> + +<span style="font-family: monospace;">-R +level +Add +average random deviation of <level>% to output PCS values<br> +</span></small><small><span style="font-family: monospace;"> -u + + +Make +random deviations have uniform distributions rather than normal<br> + -S +seed +Set +random seed<br style="font-family: monospace;"> +</span></small><small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> -b +L,a,b +Scale +black point to target Lab value<br> + -I +intent +r = relative colorimetric, a = absolute (default)<br + style="font-family: monospace;"> +</span><span style="font-family: monospace;"> [<span + style="font-style: italic;">separation.ic<span + style="font-family: monospace;">m</span></span>] +Device +link separation profile</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><i + style="font-family: monospace;">profile.</i><span + style="font-family: monospace;">[icm|mpp|ti3] </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 </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;"> + +<span style="font-family: monospace;"></span><i + style="font-family: monospace;">inoutfile</i><span + style="font-family: monospace;"> + + 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 -> CMYK, +or perhaps CMYK->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;"> -v +Verbose mode</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -s +Gather spectral data also</span><br style="font-family: monospace;"> + +<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;"> 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;"> outfile +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 <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;"> + -v +Verbose mode</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + -r +Don't randomise patch location</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -g +gamma Gamma correction / linearization</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -f +format Select format from:</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +Acad_Full [3656 x 2664]</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +Acad_Half [1828 x 1332]</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +Cscope_Full [3656 x 3112]</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +Cscope_Half [1828 x 1556]</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +FullAp_Full [4096 x 3112]</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +FullAp_Half [2048 x 1556]</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +Vista_Full [4096 x 6144]</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +Vista_Half [2048 x 3072]</span><br + style="font-family: monospace;"> +<i style="font-family: monospace;"> basename</i><span + style="font-family: monospace;"> 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 Binary files differnew file mode 100644 index 0000000..e962666 --- /dev/null +++ b/doc/gamutmapping1.jpg 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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + Verbose</span><span + style="font-family: monospace;"></span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p</a><span + style="font-family: monospace;"> + Use slow +precise floating point conversion, rather than fast integer routines.<br> +</span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="greytiff.html#c">-j</a><span + style="font-family: monospace;"> + + 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;"> </span><a + style="font-family: monospace;" href="#p1"><i>profile.icm</i></a><span + style="font-family: monospace;"> 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;"> </span><a + style="font-family: monospace;" href="#p2"><i>infile.tif</i></a><span + style="font-family: monospace;"> +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;"> </span><a + style="font-family: monospace;" href="#p3"><i>outfile.tif</i></a><span + style="font-family: monospace;"> + 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 Binary files differnew file mode 100644 index 0000000..e7cc159 --- /dev/null +++ b/doc/i1d.jpg diff --git a/doc/i1d3_1.jpg b/doc/i1d3_1.jpg Binary files differnew file mode 100644 index 0000000..afb77a3 --- /dev/null +++ b/doc/i1d3_1.jpg diff --git a/doc/i1d3_2.jpg b/doc/i1d3_2.jpg Binary files differnew file mode 100644 index 0000000..306f830 --- /dev/null +++ b/doc/i1d3_2.jpg diff --git a/doc/i1m.jpg b/doc/i1m.jpg Binary files differnew file mode 100644 index 0000000..efbf55f --- /dev/null +++ b/doc/i1m.jpg diff --git a/doc/i1p.jpg b/doc/i1p.jpg Binary files differnew file mode 100644 index 0000000..7e59c06 --- /dev/null +++ b/doc/i1p.jpg diff --git a/doc/i1pro2.jpg b/doc/i1pro2.jpg Binary files differnew file mode 100644 index 0000000..8b3cbec --- /dev/null +++ b/doc/i1pro2.jpg 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) The OMD internally calculated L*a*b* value<br> +B) The L*a*b* value calculated by Argyll from the OMD +spectral values.<br> +C) The L*a*b* value calculated from the Argyll measured +spectral values.<br> +D) 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> + The result was an average Delta E (CIE76) of 0.006, +with a maximum of 0.012.<br> +<br> + 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> + The result was an average Delta E (CIE76) of 0.028, +with a maximum of 0.051.<br> +<br> + This shows that the OMD and Argyll driver are in +close agreement in spectral measurement.<br> + 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> + 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> + 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> + The result was an average Delta E (CIE76) of 0.158, +with a maximum of 0.353.<br> +<br> + Because the ColorChecker samples have relatively +smooth reflectance spectra, it can be expected that<br> + the normal and Hi-Res mode results should be fairly +similar. And indeed, this is the case. The biggest<br> + differences are for patches +with the largest spectral transitions in them, which is to be expected +as the<br> + Hi-Res measurement more +closely follows the spectral shape, while the differences for +spectrally flat<br> + patches is neglegable, since both can follow the +spectral shape well.<br> +<br> +Example Yellow-Green Patch, Hi-Res & 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 Binary files differnew file mode 100644 index 0000000..ca1cdf5 --- /dev/null +++ b/doc/i1proDriver.xls diff --git a/doc/i1scan14.jpg b/doc/i1scan14.jpg Binary files differnew file mode 100644 index 0000000..94b68fb --- /dev/null +++ b/doc/i1scan14.jpg 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;"> iccdump [-v level] +[-t tagname] [-s] </span><i style="font-family: monospace;">infile</i><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -v +level Verbose level 1-3 (default 2)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -t +tag Dump this tag only (can +be used multiple times)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -s +Search for embedded profile</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><i + style="font-family: monospace;">infile</i><span + style="font-family: monospace;"> </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 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;"> -v + Verbose</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> -d + sres Surface + resolution details 1.0 - 50.0</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> -w +emit + VRML .wrl file as well as CGATS .gam file</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -n +Don't + add VRML axes or white/black point</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> -k +Add + VRML markers for prim. & sec. "cusp" points</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -f + function f = + forward*, b = backwards</span><br style="font-family: + monospace;"> + + <span style="font-family: monospace;"></span></small><small><span + style="font-family: monospace;">-i + intent p = + perceptual, r = relative colorimetric,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +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;"> -o + order n = normal + (priority: lut > matrix > monochrome)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +r + = reverse (priority: monochrome > + matrix > lut)<br> + </span></small><small><span style="font-family: monospace;"> </span><span + style="font-family: monospace;">-p oride</span><span + style="font-family: monospace;"> 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;"> -l + tlimit set total + ink limit, 0 - 400% (estimate by default)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -L + klimit set black ink + limit, 0 - 100% (estimate by default)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -c + viewcond set + viewing conditions for CIECAM02,</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +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;"> + pp - Practical Reflection + Print + (ISO-3664 P2)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + pe - Print evaluation environment (CIE 116-1995)<br> + </span></small><small><span style="font-family: monospace;"> + + 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;"> + + mt - Monitor in typical work environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + mb - Monitor in bright work environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + md - Monitor in darkened work + environment</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + jm - Projector in dim environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + jd - Projector in dark environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + pcd - Photo CD - original scene + outdoors</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + ob - Original scene - Bright Outdoors</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 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;"> +s:surround + n = auto, a = average, m = dim, d = dark,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + c = transparency (default average)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +w:X:Y:Z + Adapted white point + as XYZ (default media white)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +w:x:y + Adapted white point as + x, y</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +a:adaptation + Adaptation luminance in cd.m^2 (default 50.0)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +b:background +Background + % of image luminance (default 20)<br> + l:scenewhite Scene + white in + cd.m^2 if surround = auto (default 250)<br style="font-family: + monospace;"> + </span><span style="font-family: monospace;"> +f:flare + Flare + light % of image luminance (default 1)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +f:X:Y:Z + Flare color as + XYZ (default media white)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +f:x:y + Flare color as x, y<br> + -s +Create + special cube surface topology plot<br style="font-family: + monospace;"> + </span><i style="font-family: monospace;">profile</i><span + style="font-family: monospace;"> + 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 & 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. 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. <br> + <br> + <span style="font-weight: bold;">-p</span>: By default the gamut + will + be created in L*a*b* colorspace. If <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 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> + <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: Perceptual<br> +AtoB1, BtoA1: Colorimetric<br> +AtoB2, BtoA2: 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> + 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;"> -v level + Verbosity level 0 - +2 (default = 1)</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;"> f = forward, b = +backwards, g = +gamut, p = preview</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -i </span><i + style="font-family: monospace;">intent</i><span + style="font-family: monospace;"> p = +perceptual, r = relative colorimetric,</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +s = saturation, a = absolute</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;"> x = +XYZ_PCS, l = Lab_PCS, y = Yxy,</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -o </span><i + style="font-family: monospace;">order</i><span + style="font-family: monospace;"> n = +normal +(priority: lut > matrix > monochrome)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +r = reverse (priority: monochrome > matrix > +lut)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -s</span><span + style="font-style: italic; font-family: monospace;"> scale</span><span + style="font-family: monospace;"> 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. + 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> + 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> + icclu -ff -ip profile.icm < inputvalues.txt > +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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + + 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;"> </span><a + style="font-family: monospace;" href="#S">-S</a><span + style="font-family: monospace;"> + + + Plot + the readings in a graph window.</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#c">-c comport</a><span + style="font-family: monospace;"> +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;"> <a href="#N">-N</a> +Disable + initial calibration of instrument</span></font> if possible<br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#H">-H</a><span + style="font-family: monospace;"> + + + Use high resolution spectrum mode (if + available)<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#W">-W n|h|x</a> +Override + serial port flow control: n = none, h = HW, x = Xon/Xoff</span></font><br> + <small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#D">-D [level]</a><span + style="font-family: monospace;"> + + Print + debug diagnostics to stderr</span></small><br> + + <font size="-1"><span style="font-family: monospace;"><a + href="#file"><span style="font-style: italic;">illuminant.sp</span></a> +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 + & save it<br> + 6) Compute illuminant spectrum from this reading & 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 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"> <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º, 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 Binary files differnew file mode 100644 index 0000000..97b5382 --- /dev/null +++ b/doc/illumread_1.jpg diff --git a/doc/illumread_2.jpg b/doc/illumread_2.jpg Binary files differnew file mode 100644 index 0000000..6fef757 --- /dev/null +++ b/doc/illumread_2.jpg diff --git a/doc/illumread_3.jpg b/doc/illumread_3.jpg Binary files differnew file mode 100644 index 0000000..fcab321 --- /dev/null +++ b/doc/illumread_3.jpg diff --git a/doc/illumread_4.jpg b/doc/illumread_4.jpg Binary files differnew file mode 100644 index 0000000..6c955c0 --- /dev/null +++ b/doc/illumread_4.jpg diff --git a/doc/illumread_5.jpg b/doc/illumread_5.jpg Binary files differnew file mode 100644 index 0000000..5462e8f --- /dev/null +++ b/doc/illumread_5.jpg diff --git a/doc/illumread_6.jpg b/doc/illumread_6.jpg Binary files differnew file mode 100644 index 0000000..a91a63e --- /dev/null +++ b/doc/illumread_6.jpg 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> + <a href="#DTP20">DTP20 "Pulse"</a> + + + + + + + + + + + + + + + + + + + + + + + - "swipe" type reflective spectrometer, that can be used untethered.<br> + <a href="#DTP22">DTP22 Digital Swatchbook</a> + + + + + + + + + + + + + + + + + + + + + + - spot type reflective spectrometer.<br> + <a href="#DTP41">DTP41</a> + + + + + + + + + + + + + + + + + + + + + + - spot and strip reading reflective spectrometer.<br> + <a href="#DTP41">DTP41T</a> + + + + + + + + + + + + + + + + + + + + + + + + - spot and strip reading reflective/transmissive spectrometer.<br> + <a href="#dtp51">DTP51</a> + + + + + + + + + + + + + + + + + + + + + + - strip reading reflective colorimeter.<br> + <a href="#DTP92">DTP92</a> + + + + + + + + + + + + + + + + + + + + + + - CRT display colorimeter.<br> + <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> + + + + + + + + + + + + + + + + + + + + + + <a href="#ColorMunki"><span style="text-decoration: underline;">ColorMunki</span></a> + Design or Photo + - spot and "swipe" + reflective/emissive spectrometer (UV cut only).<br> + <a href="#i1d"><span style="text-decoration: + underline;">ColorMunki</span></a> Create or Smile + - display + colorimeter. (Similar to an Eye-One Display 2)<br> + <a href="#Huey">Lenovo W</a> + + - built in laptop + Huey display colorimeter.<br> + <a href="#i1d3">Eye-One Display 3</a> + + - i1 DisplayPro and ColorMunki Display<br> + + + + + [ The OEM + i1Display Pro and<br> + + + + + + NEC SpectraSensor Pro are also reported to work.]<br> + <a href="instruments.html#i1p2">Eye-One Pro2</a> + + - spot and + "swipe" reflective/emissive spectrometer.<br> + <br> + Gretag-Macbeth (now X-Rite):<br> + <a href="#sl">Spectrolino</a> + + - spot reflective/emissive + spectrometer<br> + <a href="#ss">SpectroScan</a> + + - spot reflective/emissive, XY table + reflective spectrometer <br> + <a href="#ss">SpectroScanT</a> + + - spot reflective/emissive/transmissive, XY + table reflective spectrometer<br> + <a href="#i1p">Eye-One Pro</a> "EFI ES-1000" + - spot and "swipe" reflective/emissive + spectrometer<br> + <a href="instruments.html#i1m">Eye-One Monitor</a> + + - spot and "swipe" emissive spectrometer<br> + <a href="#i1d">Eye-One Display 1 or 2 or + LT</a> - display + colorimeter<br> + <a href="instruments.html#i1d">HP DreamColor or + APS</a> + + + + + + + + + + + + + + + + + + + + + + + - display colorimeter. (Treated as a Eye-One Display 2)<br> + <a href="#i1d">CalMAN X2</a> + + + + + + + + + + + + + + + + + + + + + + + - display colorimeter. (Treated as a Eye-One Display 2)<br> + <a href="#Huey">Huey</a> + + + - display colorimeter<br> + <br> + Sequel imaging (Now X-Rite):<br> + <a href="#mox">MonacoOPTIX</a> + + - display colorimeter (Treated + as an Eye-One Display 1)<br> + + + + + + + + + + + + + + + + + + + + + + + [The Sequel Chroma 4 may also work.]<br> + <br> + Lacie Blue + Eye: + + + + + + + + + + + + + + + + + + + + + + - see <a href="#i1d">Eye-One Display</a><br> + <br> + DataColor ColorVision:<br> + <a href="#spyd2">Spyder 2</a> + + + - display colorimeter (Note + that the user must <a href="oeminst.html">supply</a> firmware)<br> + + + + + + + + + + + + + + + + + + + + + + + [The Spyder 1 also seems to work.]<br> + <a href="#spyd3">Spyder 3</a> + + + - display colorimeter.<br> + <a href="#spyd4">Spyder 4</a> + + + - display colorimeter (Note + that the user must <a href="oeminst.html">supply</a> calibration + data)<br> + <br> + Other:<br> + <span class="titre"><a href="#HCFR">Colorimètre + + + + + + + + + + + + + + + + + + + + + + HCFR</a> + + + + + + + + + + + + + + + + + + + + + + - display colorimeter<br> + </span> + ColorHug + + + + + + + + + + + + + - display colorimeter. Experimental only, does not work on all + platforms.<br> + + + + + + + + + + + + + + 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> + <a href="#strip">Strip reading instruments</a><br> + </span> <a href="#xy">X-Y Table instruments</a><br> + <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> + About to read strip XX :<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 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, + 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> + Ready to read strip XX : <br> + 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> + Ready to read strip XX : <br> + Strip read failed due to misread (Not enough + patches)<br> + <br> + 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 and + the following type of warning:<br> + <br> + Ready to read strip XX :<br> + (Warning) Seem to have read strip YY + rather than XX !<br> + 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> + Ready to read strip XX :<br> + (Warning) Patch error YY.YYY (>35 not good, + >95 bad)<br> + There is at least one patch with an very unexpected + response!<br> + 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>, 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> + Please make sure that the white reference is in + slot 1, then<br> + place sheet 1 of 4 on table, then<br> + 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> + Using the XY table controls, locate patch A1 with + the sight,<br> + 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> + Ready to read patch 'XX' :<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, + 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> + Ready to read patch XX :<br> + 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> + Ready to read patch XX : read_strip + returned 'Strip misread' (Bad reading)<br> + <br> + Strip read failed due to misread<br> + 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"> <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> 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 & 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 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 & 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 keeping the instrument over a line + of 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 <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. 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. 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. 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. 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> + <span style="font-weight: bold;">c</span> + + + + + + + + + + + + + + + + + + + + + + CRT display 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;"> + <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. 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> + <span style="font-weight: bold;">l</span> + + + + + + + + + + + + + + + + + LCD display A Liquid + Crystal Display, that is of the Non-Refresh type [default, CB1].<br> + <span style="font-weight: bold;">c</span> + + + + + + + + + + + + + + + + + + + + + + CRT display A Cathode Ray + Tube display, that is of the Refresh type [CB2].<br> + <b>g</b> + Generic + Generic + display [CB3]<br> + <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 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 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 <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, 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> + <span style="font-weight: bold;">f</span> + LCD with CCFL back-light + A Liquid Crystal display that uses a Cold + Cathode Fluorescent back lighting. [Default, CB1]<br> + <span style="font-weight: bold;">e</span> + + + + + LCD with LED back-light + A Liquid Crystal display that uses + Light Emitting Diode back lighting.<br> + <br> + other instruments will offer:<br> + <br> + <span style="font-weight: bold;">l</span> + + + + + + + + + + + + + + + + + + + + + + LCD display A Liquid + Crystal Display, that is of the Non-Refresh type. [Default, CB1]<br> + <span style="font-weight: bold;">c</span> + + + + + + + + + + + + + + + + + + + + + + CRT display 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> <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&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&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> + <span style="font-weight: bold;">n</span><span + style="font-weight: bold;"></span> A + non-refresh type display [Default, CB1].<br> + <span style="font-weight: bold;">r</span> + A refresh type display - The refresh period + is measured, and the integration time adjusted appropriately. [CB2]<br> + <br> + With the manufacturers .edr files & reference Argyll .ccss files + installed, the following selections are:<br> + <br> + <span style="font-weight: bold;">n</span><span + style="font-weight: bold;"></span> A + non-refresh type display [Default, CB1].<br> + <span style="font-weight: bold;">r</span> + A refresh type display - The refresh + period is measured, and the integration time adjusted appropriately. + [CB2]<br> + <b>c</b> CRT + (Hitachi CM2112MET, Diamond View 1772ie)<br> + <b>l</b> LCD CCFL + IPS (CCFL AC EIZO HP with CORRECTION)<br> + <b>L</b> LCD CCFL + Wide Gamut IPS (WG CCFL NEC241 271)<br> + <b>b </b> LCD RGB + LED IPS (RGBLED HP SOYO)<br> + <b>e</b> LCD White + LED IPS (WLED AC LG Samsung)<br> + <b>p</b> 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&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> + <span style="font-weight: bold;">l</span> + + + + + + + + + + + + + + + + + + + + + + LCD display A Liquid + Crystal Display, that is of the Non-Refresh type. [Default, CB1]<br> + <span style="font-weight: bold;">c</span> + + + + + + + + + + + + + + + + + + + + + + CRT display 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;"> + <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. 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> + <span style="font-weight: bold;">c</span> + + + + + + + + + + + + + + + + + + + + + + CRT display A Cathode Ray + Tube display, that is of the Refresh type.<br> + <span style="font-weight: bold;">l</span> + + + + + + + + + + + + + + + + + + + + + + LCD display 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 & 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> + <span style="font-weight: bold;">l</span> + + + + + + + + + + + + + + + + + + + + + + LCD display A Liquid Crystal + Display, that is of the Non-Refresh type. [Default, CB1]<br> + <span style="font-weight: bold;">c</span> + + + + + + + + + + + + + + + + + + + + + + CRT display 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> + <span style="font-weight: bold;">n</span> | <span + style="font-weight: bold;">l</span> A + non-refresh type display [Default, CB1]<br> + <span style="font-weight: bold;">r | c</span> + 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> + <span style="font-weight: bold;">n</span> | <span + style="font-weight: bold;">l</span> + A non-refresh type display with a generic calibration + [Default, CB1].<br> + <span style="font-weight: bold;">r | c</span> <span + style="font-weight: bold;"></span> 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> + <span style="font-weight: bold;">n </span><span + style="font-weight: bold;"></span> + A non-refresh type display with a generic + calibration [Default, CB1].<br> + <span style="font-weight: bold;">r</span> <span + style="font-weight: bold;"></span> + A refresh type display with a generic + calibration.[CB2]<br> + <span style="font-weight: bold;">f + </span> LCD, CCFL + Backlight + + + + + + + + + + + + + + + + + + + + + + - normal gamut Liquid Crystal Display with standard Cold Cathode + Fluorescent Lamp backlight.<br> + <span style="font-weight: bold;">L</span> + Wide Gamut LCD, CCFL + Backlight - wide gamut Liquid Crystal + Display with Cold Cathode Fluorescent Lamps backlight.<br> + <span style="font-weight: bold;">e</span> + LCD, White + LED Backlight + - normal + gamut Liquid Crystal Display with a White LED backlight.<br> + <span style="font-weight: bold;">B</span> + + + + + + + + + + + + + + + + + + + + + + Wide Gamut LCD, RGB LED + Backlight - wide gamut Liquid Crystal Display with RGB LED + backlight.<br> + <span style="font-weight: bold;">x</span> + LCD, CCFL + Type 2 + Backlight + + + + + + + + + + + + + + + + + + + + + + - 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è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è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> + <span style="font-weight: bold;">l</span> + + + + + + + + + + + + + + + + + + + + + + LCD display A Liquid + Crystal Display [Default].<br> + <span style="font-weight: bold;">c</span> + + + + + + + + + + + + + + + + + + + + + + CRT display A Cathode Ray + Tube display.<br> + <b>R</b> Raw + Reading 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;"> -v [level] +verbosity level (default 1), 2 to print each DE</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -l +limit set total ink +limit (estimate by default)<br> +</span></small><small><span style="font-family: monospace;"> -L +klimit 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;"> -h +high res test (27)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -u +Ultra high res test (61)<br> + -R res Specific grid +resolution<br style="font-family: monospace;"> +</span><span style="font-family: monospace;"> -c +Show CIE94 delta E values</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -k +Show CIEDE2000 delta E values</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -w +create VRML visualisation (profile.wrl)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -x +Use VRML axes</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -e +Color vectors acording to delta E</span><br + style="font-family: monospace;"> +<span style="font-style: italic; font-family: monospace;"> profile.icm</span><span + style="font-family: monospace;"> +Profile to check</span></small> +<br> +<h3>Usage Details and Discussion</h3> +<b>invprofcheck</b> provides a way of checking how well an <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->device, and then device->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 <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;"> + </span> +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;"> +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> + 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;"> +Base name for input.pat file</span><br style="font-family: monospace;"> +<i style="font-family: monospace;"> outfile</i><span + style="font-family: monospace;"> +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> + What is the equipment capable of without introducing side +effects ?<br> +<br> + 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> + 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> + 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 Binary files differnew file mode 100644 index 0000000..f3c7166 --- /dev/null +++ b/doc/mox.jpg diff --git a/doc/moxxr.jpg b/doc/moxxr.jpg Binary files differnew file mode 100644 index 0000000..579d7fc --- /dev/null +++ b/doc/moxxr.jpg 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> + <br> +</h2> +<h3>Summary</h3> +Check an <a href="File_Formats.html#MPP">MPP</a> profile +against <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 + Verbose mode</span><br style="font-family: monospace;"> +<span style="font-family: monospace;">-c + Show CIE94 delta E values</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;">-k + +Show CIEDE2000 delta E values</span><br style="font-family: monospace;"> +<span style="font-family: monospace;">-s + Check spectral model too</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;">-y + Detail each value</span><br style="font-family: monospace;"> +<span style="font-family: monospace;">values.ti3 Test +values to check against</span><br style="font-family: monospace;"> +<i style="font-family: monospace;"> profile.mpp</i><span + style="font-family: monospace;"> Profile to check</span></small> +<br> +<h3>Usage Details and Discussion</h3> +mppcheck provides a way of checking how well an <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 <a + href="File_Formats.html#MPP">MPP</a> profile. Also +create MPP gamut files or <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 +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;"> 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;"> 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;"> 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;"> Choose +illuminant for +print/transparency spectral data:</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + 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;"> 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;">1931_2 </span></small><small><span + style="font-family: monospace;"> (def.)</span></small><small><span + style="font-family: monospace;">, 1964_10, S&B +1955_2, shaw, J&V 1978_2</span></small><small><span + style="font-family: monospace;"></span><br + style="font-family: monospace;"> +<span style="font-family: monospace;">-u + Use Fluorescent Whitening Agent compensation</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;">-g + Create gamut output</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;">-w + Create gamut VRML as well<br> +-n +Don't add VRML axes<br> +-a n Gamut +transparency level<br style="font-family: monospace;"> +</span><span style="font-family: monospace;">-d +n Gamut +surface detail level</span><br style="font-family: monospace;"> +<span style="font-family: monospace;">-t num + Invoke debugging test code +"num" 1..n</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + 1 - check partial derivative for device +input</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + 2 - create overlap diagnostic VRML gamut +surface</span><br style="font-family: monospace;"> +<span style="font-family: monospace;">profile.mpp Profile to be +used</span><br style="font-family: monospace;"> +<br style="font-family: monospace;"> +<span style="font-family: monospace;"> The colors to +be translated should be fed into +standard input,</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> one input +color per line, white space separated.</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> A line +starting with a # will be ignored.</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> 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> 1931_2</b> selects the standard CIE 1931 2 degree observer. +The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree +observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree observer<br> + <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 <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;"> -v +Verbose mode</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -q [lmhs] +Quality - Low, Medium (def), High, Simple</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -l limit +override default ink limit, 1 - +n00%</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -s +Generate spectral model too</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -m +Generate ink mixing model</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -y +Verify profile<br> + -L Output +Lab values<br style="font-family: monospace;"> +</span><span style="font-family: monospace;"> </span><i + style="font-family: monospace;">inoutfile</i><span + style="font-family: monospace;"> 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 <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> + <b>s </b>simple - use a close +variation +of the Neugenbauer model, with a single parameter, per device +linearisation curve.<br> + <b>l</b> low quality +profiles +have more detail terms to account for device linearisation.<br> + <b>m</b> medium quality profiles, add +color channel cross mixing terms, as well as using more detail +parameters.<br> + <b>h</b> 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 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;"> -v + + + + + + + + + + Verbose</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> -n + + + + + + + + + + Don't install, show where files would be installed</span><br> + <span style="font-family: monospace;"> -c + + + + + + + + + + + Don't install, save files to current directory</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -S + d + + + + + + + + + + Specify the install scope u = user (def.), l = local system]</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> infile + + + + + + + + + + setup.exe CD install file(s) or .dll(s) containing install files</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> infile.[edr|ccss|ccmx] + + + + + + + + + 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;"> + + + + + + + + + + </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 + <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 <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> + <span style="font-family: monospace;">printcal</span><small + style="font-family: monospace;"> [-<i>options</i>] [prevcal] + inoutfile<br> + <a href="#v">-v verbosity</a> + Set verbosity level<br> + </small><small style="font-family: monospace;"> <a href="#p">-p</a> + + Plot graphs.<br> + <a href="#i">-i</a> + + + Initial calibration, set targets, + create .cal<br> + </small><small style="font-family: monospace;"> <a href="#r">-r</a> + + 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;"> <a href="#e">-e</a> + + + + Verify against previous .cal<br> + </small><small style="font-family: monospace;"> <a href="#I">-I</a> + + Create imitation target from .ti3 and null + calibration</small><br> + <small style="font-family: monospace;"> <a href="#d">-d</a> + + Go through the motions but don't write any files</small><br + style="font-family: monospace;"> + <small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#A">-A "manufacturer"</a><span + style="font-family: monospace;"> Set the manufacturer + description string</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#M">-M "model"</a><span + style="font-family: monospace;"> + Set the model + description string</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#D">-D "description"</a><span + style="font-family: monospace;"> Set the profile + Description string </span><br style="font-family: monospace;"> + <tt> </tt><tt><a href="#C">-C "copyright"</a></tt><tt> + Set the copyright string</tt><tt><br> + </tt><tt> </tt><tt> </tt><tt><a href="#x">-x# percent</a></tt><tt> +Set +initial + + maximum device % target (override auto)</tt><tt><br> + </tt></small><small><span style="font-family: monospace;"><small> <a + href="#m">-m# percent</a> + + Set initial dev target to % of auto maximum<br> + </small> <a href="#n">-n# deltaE</a> + Set initial white + minimum deltaE target<br> + <a href="#t">-t# percent</a> +Set +initial + + 50% transfer curve percentage target<br style="font-family: + monospace;"> + <span style="font-family: monospace;"> # = c, r, + 0 First channel</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +m, +g, +1 + + Second channel</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +y, +b, +2 + + Third channel</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +k, +3 +Fourth + + channel, etc.<br> + <a href="#a">-a</a> +Create +an + + Adobe Photoshop .AMP file as well as a .cal<br + style="font-family: monospace;"> + </span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p1">prevcal</a><span + style="font-family: monospace;"> +Base +name + + of previous .cal file for recal or verify.</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p2">inoutname</a><span + style="font-family: monospace;"> +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> 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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + + + Verbose mode</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </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;"> +20 += +DTP20, +22 += + + + DTP22, 41 = DTP41, 51 = DTP51, SS = SpectroScan,<br> + + + + i1 = i1Pro, CM = ColorMunki</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#a">-a scale</a><span + style="font-family: monospace;"> +Scale +patch +and +spacer +size + + + by factor (e.g. 0.857 or 1.5 etc.)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#A">-A scale</a><span + style="font-family: monospace;"> +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;"> </span><a + style="font-family: monospace;" href="#h">-h</a><span + style="font-family: monospace;"> + + Use hexagon patches for SS, double density for CM</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#r">-r</a><span + style="font-family: monospace;"> + + + Don't randomize patch location</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#s">-s</a><span + style="font-family: monospace;"> +Create +a +scan +image +recognition + + + (.cht) file</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#S">-S</a><span + style="font-family: monospace;"> +Same +as +-s, +but +don't + + + generate wide orientation strip.</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#c">-c</a><span + style="font-family: monospace;"> + + + Force colored spacers</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#b">-b</a><span + style="font-family: monospace;"> + + Force B&W spacers</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#n">-n</a><span + style="font-family: monospace;"> + + + Force no spacers</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#f">-f</a><span + style="font-family: monospace;"> + + + Create PostScript DeviceN Color fallback</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#w">-w g|r|s|n</a><span + style="font-family: monospace;"> + White colorspace encoding DeviceGray (def), DeviceRGB, + Separation or DeviceN</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#k">-k g|c|s|n</a><span + style="font-family: monospace;"> + Black colorspace encoding DeviceGray (def), DeviceCMYK, + Separation or DeviceN<br> + <a href="#o">-o k|n</a> + CMY colorspace encoding DefiveCMYK (def), inverted DeviceRGB or + DeviceN<br style="font-family: monospace;"> + </span> <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#e">-e</a><span + style="font-family: monospace;"> + + + Output EPS compatible file<br> + <a href="#t">-t [res]</a> +Output +8 +bit +TIFF +raster + + + file, optional res DPI (default 200)<br> + <a href="#T">-T [res]</a> +Output +16 +bit +TIFF +raster + + + file, optional res DPI (default 200)<br> + </span></small><small><span style="font-family: monospace;"> <a + href="#C">-C</a> + + + Don't use TIFF compression</span></small><br> + <small><span style="font-family: monospace;"> <a href="#N">-N</a> +Use +TIFF +alpha +N +channels + + + more than 4<br> + <a href="#D">-D</a> + + + Dither 8 bit TIFF values down from 16 bit<br> + <a href="#Q">-Q nbits</a> +Quantize +test +values +to +fit + + + in nbits<br> + </span></small><small style="font-family: monospace;"> <span + style="text-decoration: underline;">-</span><a href="#K">K + file.cal</a> Apply printer calibration + to patch values and include in .ti2<br> + <a href="#I">-I file.cal</a> 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;"> </span><a + style="font-family: monospace;" href="#R">-R rsnum</a><span + style="font-family: monospace;"> + + + Use given random start number</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#x">-x pattern</a><span + style="font-family: monospace;"> + Use given strip indexing pattern (Default = "A-Z, A-Z")</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#y">-y pattern</a><span + style="font-family: monospace;"> + Use given patch indexing pattern (Default = "0-9,@-9,@-9;1-999")</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#m">-m margin</a><span + style="font-family: monospace;"> +Set + + + a page margin in mm (default 6.0 mm)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#M">-M margin</a><span + style="font-family: monospace;"> + + + </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;"> <a href="#P">-P</a> + + + + Don't limit strip length</span></small><br> + <small><span style="font-family: monospace;"> <a href="#L">-L</a> +Suppress +any +left +paper +clip + + + border<br style="font-family: monospace;"> + </span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p size</a><span + style="font-family: monospace;"> + + + Select page size from:</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"></span></small><small><span + style="font-family: monospace;"> + +A4 + + + [210.0 x 297.0 mm]<br> + +A4R + + + [297.0 x 210.0 mm]<br> + + +A3 + + + [297.0 x 420.0 mm] (default)<br> + + + A2 [420.0 x 594.0 mm]<br> + + + Letter [215.9 x 279.4 mm]<br> + + LetterR [279.4 x + 215.9 mm]<br> + + + + + Legal [215.9 x 355.6 + mm]<br> + + + + + 4x6 [101.6 x 152.4 + mm]<br> + +11x17 + + + [279.4 x 431.8 mm]<br style="font-family: monospace;"> + </span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#pp">-p WWWxHHH</a><span + style="font-family: monospace;"> + 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> <span + style="font-family: monospace;"></span><a style="font-family: + monospace;" href="#p1"><i>basename</i></a><span + style="font-family: monospace;"> + + + 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, 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. 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 <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. 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 (>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 &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 + 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> + <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 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 <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 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 <a href="File_Formats.html#ICC">ICC</a> profile + against <a href="File_Formats.html#.ti3">.ti3</a> test chart + data.<br> + <h3>Usage Summary</h3> + <small><span style="font-family: monospace;">profcheck + [-options] + data.ti3 iccprofile.icm</span><br style="font-family: + monospace;"> + + <span style="font-family: monospace;"></span></small><small><span + style="font-family: monospace;">-v + [level] + 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;"> -c + +Show + CIE94 delta E values</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> -k + + Show CIEDE2000 delta E values</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -w + +create + VRML visualization (iccprofile.wrl)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -x + +Use + VRML axes<br> + -m +Make +VRML + lines a minimum of 0.5<br style="font-family: monospace;"> + </span><span style="font-family: monospace;"> -e +Color +vectors + acording to delta E</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> -d + devval1,deval2,devvalN</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + +Specify + a device value to sort + against</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> -p + +Sort + device value by PCS/Lab target</span><br style="font-family: + monospace;"> + + <span style="font-family: monospace;">-f + [illum] Use Fluorescent Whitening + Agent compensation [opt. simulated inst. illum.:<br> + + M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or + file.sp]<br> + -i illum Choose + illuminant for computation of CIE XYZ from spectral data & + FWA:<br> + + 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;"> -o + observ + 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;"> + 1931_2 + </span></small><small><span style="font-family: monospace;">(def.)</span></small><small><span + style="font-family: monospace;">, + 1964_10, S&B + 1955_2, shaw, J&V 1978_2</span></small><small><span + style="font-family: monospace;"><br> + -I intent r = relative + colorimetric, a = absolute (default)<br style="font-family: + monospace;"> + </span><i style="font-family: monospace;"> data.ti3</i><span + style="font-family: monospace;"> + + Test + point data file</span><br style="font-family: monospace;"> + <i style="font-family: monospace;"> iccprofile.icm</i><span + style="font-family: monospace;"> Profile to check</span></small> + <br> + <h3>Usage Details and Discussion</h3> + <b> profcheck</b> provides a way of checking how well an <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. 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. 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> 1931_2</b> selects the standard CIE 1931 2 degree + observer. + The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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> + -v + + Verbose<br> + -c +Create + + initial abstract correction profile<br> + -g +Don't + + impose output device gamut limit<br> + -r res Set + abstract profile clut resolution (default 33)<br> + -d factor Override default damping + factor (default 0.950000)<br> + -R +Aim + + for white point relative match rather than absolute<br> + </small></tt><tt><small><small></small><small><small>-f + [illum] Use Fluorescent Whitening Agent + compensation [opt. simulated inst. illum.:<br> + + + + M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or + file.sp]<br> + -i illum Choose + illuminant for computation of CIE XYZ from spectral data + & FWA:<br> + + + + A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp</small></small><br> + -o observ Choose CIE Observer for + spectral data:<br> + +1931_2, + + 1964_10, S&B 1955_2, J&V 1978_2 (def.)<br> + <span style="font-style: italic;">cietarget </span> + Target CIE or spectral values, CGATS file (e.g. .ti3)<br> + <span style="font-style: italic;">ciecurrent</span> + Actual CIE or spectral values, CGATS file (e.g. .ti3)<br> + [<span style="font-style: italic;">outdevicc</span>] + Output device ICC profile to set gamut limit (not used if -g)<br> + [<span style="font-style: italic;">inabs</span>] +Previous + + abstract correction ICC profile (not used if -c)<br> + <span style="font-style: italic;">outabs</span> +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 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. 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> 1931_2</b> selects the standard CIE 1931 2 degree + observer.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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> +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> + 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> + [<span style="font-style: italic; font-weight: bold;">outdevicc</span>] +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> + [<span style="font-weight: bold; font-style: italic;">inabs</span>] +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> + <span style="font-weight: bold; font-style: italic;">outabs</span> +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> + verify 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> + refine -v -c 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 <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> + revfix -v -1 -ke -p fix1.icm proofer.icm + proofer_fix1.icm<br> + or<br> + copy proofer.ti3 proofer_fix1.ti3<br> + colprof -v -p fix1.icm proofer_fix1<br> + or<br> + 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 + + </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> + verify reference.ti3 chart2.ti3<br> + <br> + <br> + <span style="font-weight: bold;"><span style="font-weight: bold;">>>></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;"> </span></span>We +can + + then start another round of improvement:<br> + <br> + We refine our previous abstract correction fix profile using + refine:<br> + <br> + refine -v 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> + revfix -v -1 -ke -p fix2.icm proofer.icm + proofer_fix2.icm<br> + or<br> + copy proofer.ti3 proofer_fix2.ti3<br> + colprof -v -p fix2.icm proofer_fix2<br> + or<br> + 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> + verify reference.ti3 chart3.ti3<br> + <br> + Rounds of improvements can be continues by looping back to <span + style="font-weight: bold;">>>></span>, being careful to + increment the names of the <span style="font-weight: bold;">fixN.icm</span>, + + <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;"> -v + + Verbose</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -0 + + Process perceptual</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -1 + + Process absolute/relative colorimetric</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -2 + + Process saturation</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -r res + + Override BtoA1 +CLUT res.</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#k">-k</a><span + style="font-family: monospace;"> [ezhxr] + e = +same K as existing BtoA table (def)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + z = +zero, h = 0.5 K, x = max K, r = ramp K</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </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;"> + p = +curve parameters</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + stle: K +level at White 0.0 - 1.0</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + stpo: +start point of transition Wh 0.0 - Bk 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + enpo: +End point of transition Wh 0.0 - Bk 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + enle: K level at Black 0.0 - 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + 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;"> </span><a + style="font-family: monospace;" href="#K">-K parameters</a><span + style="font-family: monospace;"> Same as +-k, but +target is K locus rather than K value itself</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#l">-l tlimit</a><span + style="font-family: monospace;"> + set total ink limit, 0 +- 400% +(estimate by default)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#L">-L klimit</a><span + style="font-family: monospace;"> + set black ink limit, 0 +- 100% +(estimate by default)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p aprof.icm</a><span + style="font-family: monospace;"> +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 relative colorimetric +tables. It also will not handle CLUT profile that use a matrix element +in them.<br> +<br> +<b>-v</b> 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. These set the target black level.<br> +<br> + 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> 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. 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> 1.0 K | + enpo<br> + +| _______ +enle<br> + +| /<br> + +| /<br> + +| /<br> + +| /<br> + stle +| ------/<br> + + +-------------------<br> + 0.0 K +0.0 stpo 1.0<br> + +White +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> +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> + <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 <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;"> :- inputs + 'input.tif', 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;"> :- 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;"> :- 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;"> :- 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;"> :- inputs + pbase.ti2+.ti3 and outputs pbase.ti3</span><br + style="font-family: monospace;"> + <br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#g">-g</a><span + style="font-family: monospace;"> +Generate + a chart reference (.cht) file</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#o">-o</a><span + style="font-family: monospace;"> +Output + patch values in .val file</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#c">-c</a><span + style="font-family: monospace;"> +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;"> </span><a + style="font-family: monospace;" href="#ca">-ca</a><span + style="font-family: monospace;"> +Same + as -c, but accumulates more values to pbase .ti3</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +from + subsequent pages</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#r">-r</a><span + style="font-family: monospace;"> +Replace + device values in pbase .ti3</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +Default + is to create a scanner .ti3 file<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#F">-F + x1,y1,x2,y2,x3,y3,x4,y4</a><span style="font-family: monospace;"> + <br> + +Don't + auto recognize, locate using four fiducual marks<br> + <a href="#p">-p</a> +Compensate + for perspective distortion<br style="font-family: monospace;"> + </span></small><small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#a">-a</a><span + style="font-family: monospace;"> +Recognize + chart in normal orientation only</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +Default + is to recognize all possible chart angles<br> + <a href="#m">-m</a> +Return + true mean (default is robust mean)<br> + </span></small><small><span style="font-family: monospace;"> <a + href="#G">-G gamma</a> + +Approximate +gamma + encoding of image</span></small><br style="font-family: + monospace;"> + <small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#v">-v [n]</a><span + style="font-family: monospace;"> +Verbosity + level 0-9</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#d">-d</a><span + style="font-family: monospace;"> [ihvglLIcrsonap] + generate + diagnostic output (try -dipn)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#di">i</a><span + style="font-family: monospace;"> +diag + - B&W of input image</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dh">h</a><span + style="font-family: monospace;"> +diag + - Horizontal edge detection</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dv">v</a><span + style="font-family: monospace;"> +diag + - Vertical edge detection</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dg">g</a><span + style="font-family: monospace;"> +diag + - Groups detected</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dl">l</a><span + style="font-family: monospace;"> +diag + - Lines detected</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dL">L</a><span + style="font-family: monospace;"> +diag + - All lines detected<br> + </span></small><small><span style="font-family: monospace;"> + </span><span style="font-family: monospace;"><a href="#dI">I</a> + +diag + - lines used to improve fit<br> + </span></small><small><span style="font-family: monospace;"> + </span><a style="font-family: monospace;" href="#dc">c</a><span + style="font-family: monospace;"> +diag + - lines perspective corrected</span></small><br + style="font-family: monospace;"> + <small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dr">r</a><span + style="font-family: monospace;"> +diag + - lines rotated</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#ds">s</a><span + style="font-family: monospace;"> +diag + - sample boxes rotated</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#do">o</a><span + style="font-family: monospace;"> +diag + - sample box outlines</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dn">n</a><span + style="font-family: monospace;"> +diag + - sample box names</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#da">a</a><span + style="font-family: monospace;"> +diag + - sample box areas</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#dp">p</a><span + style="font-family: monospace;"> +diag + - pixel areas sampled</span></small> + <br> + <small><span style="font-family: monospace;"> + <a href="#O">-O</a> + outputfile + Override the default output filename + & 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 <a + href="File_Formats.html#CGATS">CGATS</a> + 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, <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> + 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 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> 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> will show pixels in the + input image classified as being on horizontal edges, in red.<br> + <b><a name="dv"></a>v</b> will show pixels in the + input image classified as being vertical edges, in green.<br> + <b><a name="dg"></a>g</b> 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> will show valid lines + estimated from the vertical and horizontal pixel groups, in white.<br> + <b><a name="dL"></a>L</b> 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> will show valid lines lines + used + to improve the final fit, + in blue.<br> + <b><a name="dc"></a>c</b> will show the lines with + perspective correction applied in cyan.<br> + <b><a name="dr"></a>r</b> will show the lines + rotated + to the reference + chart orientation, in yellow.<br> + <b><a name="ds"></a>s</b> will show the diagnostic + sampling box edge outlines, rotated to the reference chart + orientation, + in orange.<br> + <b><a name="do"></a>o</b> will show all the + sampling + box edge outlines, in orange.<br> + <b><a name="dn"></a>n</b> 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> will show the sampling + areas as crossed boxes, plus the diagnostic sample boxes, in orange.<br> + <b><a name="dp"></a>p</b> 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 & 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 Binary files differnew file mode 100644 index 0000000..aaf330f --- /dev/null +++ b/doc/sl.jpg 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> + </span></small></tt><tt><small>-v + + Verbose mode</small></tt><br> + <tt><small><small> <a + href="file:///D:/src/argyll/doc/spec2cie.html#I">-I <i>illum</i></a> + Override + actual instrument illuminant + in .ti3 file:<br> + + + A, C, D50, D50M2, D65, F5, + F8, F10 or file.sp<br> + + (only + used in conjunction with <span style="font-weight: bold;">-f</span>)<br> + </small></small></tt><tt><small><small> <a + href="file:///D:/src/argyll/doc/colprof.html#f">-f [<i>illum</i>]</a> + Use Fluorescent Whitening Agent compensation + [simulated inst. illum.:<br> + + M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or + file.sp]<br> + </small></small></tt><tt><small><small><small> <a + href="file:///D:/src/argyll/doc/spec2cie.html#i">-i <i>illum</i></a> + Choose illuminant for computation of CIE XYZ + from spectral data & FWA:<br> + + + + A, C, D50 (def.), D50M2, D65, F5, + F8, F10 or file.sp<br> + </small></small><a href="#o">-o + <i>observ</i></a> + Choose CIE Observer for spectral + data:<br> + + + + 1931_2 </small></tt><tt><small> (def.)</small></tt><tt><small>, + 1964_10, S&B + 1955_2, shaw, J&V 1978_2<br> + <a href="#p">-n</a> +Don't +output + spectral values<br> + </small></tt><tt><small> <a href="#p">-p</a> + + Plot + each values spectrum</small></tt><tt><br> + </tt><tt> + </tt><tt><small> <span style="font-style: italic;">input.ti3</span> +Measurement + file<br> + <span style="font-style: italic;">output.ti3</span> + 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> + A CIE + tungsten + filament lamp 2848K<br> + D50 CIE daylight 5000K<br> + D65 CIE daylight 6500K<br> + F5 CIE Fluorescent + 6350K, CRI 72<br> + F8 CIE Fluorescent + 5000K, CRI 95<br> + 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. 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> + A CIE + tungsten filament lamp 2848K<br> + D50 CIE daylight 5000K<br> + D65 CIE daylight 6500K<br> + F5 CIE Fluorescent + 6350K, CRI 72<br> + F8 CIE Fluorescent + 5000K, CRI 95<br> + F10 CIE Fluorescent + 5000K, CRI 81<br> + <br> + Custom illuminants are most often used when a 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 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> 1931_2</b> selects the standard CIE 1931 2 degree observer + (the default).<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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 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> -v + + verbose</tt><tt><br> + </tt><tt> -c + + combine multiple files into one plot</tt><tt><br> + </tt><tt> -z +don't + make range cover zero</tt><tt><br> + </tt><tt> -u + level plot effect + of adding estimated UV level</tt><tt><br> + </tt><tt> -U + + plot effect of adding range of estimated UV level</tt><tt><br> + </tt><tt> [infile.sp ...] spectrum files to plot</tt><tt><br> + </tt><tt> + + 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;"> -v +Verbose - print each patch value</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -n +no Put no sets in +first file, and balance in second file.</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -p +percent Put percentage% in first file, +and balance in second file. (def. 50%)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -r +seed Use +given random seed.</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><span + style="font-style: italic; font-family: monospace;">input.ti3</span><span + style="font-family: monospace;"> File to +be split up.</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><span + style="font-style: italic; font-family: monospace;">output1.ti3</span><span + style="font-family: monospace;"> First output file</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><span + style="font-style: italic; font-family: monospace;">output2.ti3</span><span + style="font-family: monospace;"> 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;"> </span><a + style="font-family: monospace;" href="#v">-v</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + Verbose mode</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;"></span><a style=" font-family: + monospace;" href="#s">-s</a><span style="font-family: + monospace;"> + + + + + + + + + + + + + + + Print spectrum for each reading.</span></small><br + style="font-family: monospace;"> + <small><span style="font-family: monospace;"></span><span + style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#S">-S</a><span + style="font-family: monospace;"> + + Plot the spectrum in a graph window.</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#c">-c comport</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + 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;"> </span><a + style="font-family: monospace;" href="#t">-t</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + Use transmission measurement mode</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a style=" + font-family: monospace;" href="#e">-e</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + Use emissive measurement mode (absolute results)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#eb">-eb</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + Use display white brightness relative measurement mode<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#ew">-ew</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + Use display white relative measurement mode<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#p">-p</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + Use telephoto measurement mode (absolute results)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#pb">-pb</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + 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;"> </span><a + style=" font-family: monospace;" href="#pw">-pw</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + 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;"> </span><a + style="font-family: monospace;" href="#a">-a</a><span + style="font-family: monospace;"> + + + + + + + + + + + + + + + + Use ambient measurement mode (absolute results)<br> + <a href="#f">-f</a> + + + + + + + + + + + + + + + Use ambient flash measurement mode (absolute results)<br> + </span></small><font size="-1"><span style="font-family: + monospace;"> <a href="#y">-y X</a> + + + + + + + + + + + + + + + + Display type - instrument specific list to choose from.</span></font><br> + <small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="spotread.html#I">-I illum</a><span + style="font-family: monospace;"> + Set simulated instrument illumination + using FWA (def -i illum):</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + + + + +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;"> </span><a + style="font-family: monospace;" href="#i">-i illum</a><span + style="font-family: monospace;"> + Choose illuminant for computation of + CIE XYZ from spectral data & FWA:</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + + + +A, +D50 +(def.), + + + + + + + + + + + + + + + D50M2, D65, F5, F8, F10 or file.sp</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a style=" + font-family: monospace;" href="#Q">-Q observ</a><span + style="font-family: monospace;"> + Choose CIE Observer for + spectral data or CCSS instrument:</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + + + + + + + + + + + + + </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&B 1955_2, shaw, + J&V 1978_2</span></small><small><span style="font-family: + monospace;"></span></small><font size="-1"><span + style="font-family: monospace;"><br> + <a href="#F">-F filter</a> + + + + + + + + + + + + + + + Set filter configuration:<br> + + n + + + + + + + + + + + + + + + None<br> + + p + + + + + + + + + + + + + + + Polarising filter<br> + + 6 + + + + + + + + + + + + + + + D65<br> + + u + + + + + + + + + + + + + + + U.V. Cut<br> + <a href="#E">-E extrafilterfile</a> + Apply extra filter compensation file<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#x">-x</a> + + + + + + + + + + + + + + + + Display Yxy instead of Lab<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#h">-h</a> + + + + + + + + + + + + + + + + Display LCh instead of Lab</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#V">-V</a> + + + + + + + + + + + + + + + + Show running average and std. devation from ref.</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#T">-T</a> + + + + + + + + + + + + + + + + Display correlated color temperatures and CRI<br> + </span></font><font size="-1"><span style="font-family: + monospace;"> <a href="#N">-N</a> + + + + + + + + + + + + + + + Disable initial calibration of instrument if possible</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#H">-H</a><span + style="font-family: monospace;"> + + Use high resolution spectrum mode + (if available)<br> + </span></font><font size="-1"><span style="font-family: + monospace;"><a href="#X1">-X file.ccmx</a> + + + + + + + + + + + + + + + Apply Colorimeter Correction Matrix</span></font><br> + <span style="font-family: monospace;"> <a href="#X2">-X + file.ccss</a> +Use +Colorimeter +Calibration +Spectral +Samples + + + + + + + + + + + + + + + for calibration</span><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#Yrn">-<font size="-1">Y</font> + r|n</a><span style="font-family: monospace;"> + + + + + + + + Override refresh, non-refresh display + mode</span></font><br> + <font size="-1"><span style="font-family: monospace;"> </span><a + style=" font-family: monospace;" href="#YA">-<font size="-1">Y</font>A</a><span + style="font-family: monospace;"> + + Use non-adaptive integration time mode + (if available).</span></font><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#W">-W n|h|x</a> +Override +serial +port +flow +control: +n += +none, + + + + + + + + + + + + + + + h = HW, x = Xon/Xoff</span></font><br> + <small><span style="font-family: monospace;"> </span><a style=" + font-family: monospace;" href="#D">-D [level]</a><span + style="font-family: monospace;"> + + Print debug diagnostics to stderr</span></small><br> + <font size="-1"><span style="font-family: monospace;"> <a + href="#log"><span style="font-style: italic;">logfile</span></a> + + + + + + + + + + + + + + + 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 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> + 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> 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> 1931_2</b> selects the standard CIE 1931 2 degree + observer. The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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> + <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 Binary files differnew file mode 100644 index 0000000..6226a97 --- /dev/null +++ b/doc/srgbplot.gif diff --git a/doc/ss.jpg b/doc/ss.jpg Binary files differnew file mode 100644 index 0000000..93875a5 --- /dev/null +++ b/doc/ss.jpg diff --git a/doc/surface.jpg b/doc/surface.jpg Binary files differnew file mode 100644 index 0000000..cf412fb --- /dev/null +++ b/doc/surface.jpg 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> + -t +N i = +input, o = output, d = display (default)<br> + -d col_comb choose colorant combination +from the following:<br> + +0: +Print grey<br> + +1: +Video grey<br> + +2: +Print RGB<br> + +3: +Video RGB<br> + +4: +CMYK<br> + +5: +CMY<br> + +6: +CMYK + Light CM<br> + +7: +CMYK + Light CMK<br> + +8: +CMYK + Red + Blue<br> + +9: +CMYK + Orange + Green<br> + +10: +CMYK + Light CMK + Light Light K<br> + +11: +CMYK + Orange + Green + Light CM<br> + +12: +CMYK + Light CM + Medium CM<br> + -D colorant Add or delete colorant from +combination:<br> + +(Use +-?? to list known colorants)<br> +</i></font><font size="-1"><i style="font-family: monospace;"> -o +o1,o2,o3, Set non-linear curve offset +(default 0.0)</i></font><br> +<font size="-1"><i style="font-family: monospace;"> -s +s1,s2,s3, Set non-linear curve scale +(default 1.0)<br> + -p p1,p2,p3, Set non-linear curve powers +(default 1.0)<br> + outfile 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;"> -v + 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;"> -p +Use separation profile</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -l +Output Lab rather than XYZ<br> +<br style="font-family: monospace;"> +</span><span style="font-family: monospace;"> -0 +pow +Apply power to input device chanel 0-9 (after sep.)<br> +<br style="font-family: monospace;"> +</span><span style="font-family: monospace;"> -r +level +Add average random deviation of <level>% to input device values +(after sep.)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -R +level +Add average random deviation of <level>% to output PCS values<br> +</span></small><small><span style="font-family: monospace;"> -u + + +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;"> -b +L,a,b +Scale black point to target Lab value</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> [<span + style="font-style: italic;">separation.icm</span>] +Device link separation profile</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><i + style="font-family: monospace;">profile.</i><span + style="font-family: monospace;">[icm|mpp|ti3] </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 </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;"> + +<span style="font-family: monospace;"></span><i + style="font-family: monospace;">inoutfile</i><span + style="font-family: monospace;"> + 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 -> CMYK, +or perhaps CMYK->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 <a + href="File_Formats.html#.ti1">.ti1</a> file. <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. + <h3>Usage Summary</h3> + <small><span style="font-family: monospace;">targen [options] + outfile</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#v">-v [level]</a><span + style="font-family: monospace;"> + Verbose mode [optional + verbose level, 1..n]</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#d">-d col_comb</a><span + style="font-family: monospace;"> choose + colorant combination from the following:</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + 0: + Print + grey</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + 1: + Video + grey</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + + 2: + Print + RGB</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 3: + Video RGB</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + 4: CMYK<br> + + 5: + CMY<br style="font-family: monospace;"> + </span><span style="font-family: monospace;"> + + + + 6: + CMYK + Light CM</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 7: CMYK + Light CMK</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + +8: +CMYK ++ +Red + + Blue</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 9: CMYK + + Orange + Green</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 10: CMYK + + Light CMK + Light Light K</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + 11: CMYK + + Orange + Green + Light CM</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + 12: CMYK + Light + CM + Medium CM</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#D">-D colorant</a><span + style="font-family: monospace;"> Add or + delete colorant from combination:</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> + + + + 0: + Additive</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 1: + Cyan</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 2: + Magenta</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 3: + Yellow</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 4: + Black</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 5: + Orange</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 6: + Red</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 7: + Green</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 8: + Blue</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 9: + White</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 10: + Light + Cyan</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 11: + Light + Magenta</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 12: + Light + Yellow</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + 13: + Light + Black</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 14: + Medium + Cyan</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 15: + Medium + Magenta</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 16: + Medium + Yellow</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + + + 17: + Medium + Black</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + 18: + Light + Light + Black<br> + <a href="#G">-G</a> + Generate + good + optimzed + points + rather + than + Fast<br style="font-family: monospace;"> + </span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#e">-e patches</a><span + style="font-family: monospace;"> White + color test patches (default 4)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#s">-s steps</a><span + style="font-family: monospace;"> + Single + channel + steps + (default + 0)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#g">-g steps</a><span + style="font-family: monospace;"> +Gray +axis +RGB +or +CMY +steps +(default + 0)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#m">-m steps</a><span + style="font-family: monospace;"> + Multidimensional + device + space + cube + steps + (default + 2)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#f">-f patches</a><span + style="font-family: monospace;"> + Add + iterative & adaptive full spread patches to total (default + 836)<br> + + Default + is + Optimised + Farthest + Point + Sampling + (OFPS)<br style="font-family: monospace;"> + </span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#t">-t</a><span + style="font-family: monospace;"> + + +Use +incremental +far +point +for + full spread</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#r">-r</a><span + style="font-family: monospace;"> + + +Use +device +space +random +for + full spread</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#R">-R</a><span + style="font-family: monospace;"> + + +Use +perceptual +space +random +for + full spread</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#q">-q</a><span + style="font-family: monospace;"> + + +Use +device +space-filling +quasi-random +for + full spread<br> + </span></small><small><span style="font-family: monospace;"> + </span><a style="font-family: monospace;" href="#Q">-Q</a><span + style="font-family: monospace;"> + + + 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;"> </span><a + style="font-family: monospace;" href="#i">-i</a><span + style="font-family: monospace;"> + + +Use +device +space +body +centered + cubic grid for full spread</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#I">-I</a><span + style="font-family: monospace;"> + + +Use +perceptual +space +body +centered + cubic grid for full + spread</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#a">-a angle</a><span + style="font-family: monospace;"> +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;"> </span><a + style="font-family: monospace;" href="#A">-A adaptation</a><span + style="font-family: monospace;"> + 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;"> </span><a + style="font-family: monospace;" href="#t">-t</a><span + style="font-family: monospace;"> +Use +incremental +far +point +for +full +spread + (default + iterative)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#l">-l ilimit</a><span + style="font-family: monospace;"> +Total +ink + limit in %(default = none, or estimated from profile)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p power</a><span + style="font-family: monospace;"> +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;"> </span><a + style="font-family: monospace;" href="#c">-c profile</a><span + style="font-family: monospace;"> + Optional device ICC or MPP pre-conditioning profile filename<br> + <a href="#N">-N emphasis</a> + Degree of + neutral axis patch concentration 0-1. (default 0.50)<br + style="font-family: monospace;"> + </span> + <a style="font-family: monospace;" href="#F">-F L,a,b,rad</a><span + style="font-family: monospace;"> Filter out + samples + outside Lab sphere.</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#w">-w</a><span + style="font-family: monospace;"> + Dump + diagnostic + outfile.wrl + file + (Lab + locations)<br> + </span></small><small><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#W">-W</a><span + style="font-family: monospace;"> + + 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;"> </span><a + style="font-family: monospace;" href="#p1">outfile</a><span + style="font-family: monospace;"> + 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 > 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 & -r, -R and -q will generate a smaller + number of test points than expected. If the -f N & -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> Size (mm/Standard Name), + + No. Patches<br> + <br> + DTP20:<br> + <br> + 1 x A4 540<br> + 2 x A4 1080<br> + 3 x A4 + 1620<br> + 4 x A4 + 2160<br> + <br> + 1 x Letter 570<br> + 2 x Letter 1140<br> + 3 x Letter 1710<br> + 4 x Letter 2280<br> + <br> + DTP 22:<br> + <br> + 1 x A4 782<br> + 2 x A4 1564<br> + <br> + 1 x Letter 736<br> + 2 x Letter 1472<br> + <br> + DTP41:<br> + <br> + 1 x A4 + + + 375<br> + 2 x A4 + + + 750<br> + 3 x A4 + + + 1125<br> + 4 x A4 + + + 1500<br> + <br> + 1 x Letter + + 345<br> + 2 x Letter + + 690<br> + 3 x Letter + + 1035<br> + 4 x Letter + + 1380<br> + <br> + 1 x A3 + + 836<br> + 2 x A3 + + 1672<br> + <br> + 1 x 11x17 + 780<br> + 2 x 11x17 + 1560<br> + <br> + <br> + DTP51:<br> + <br> + 1 x A4 + + + 266<br> + 2 x A4 + + + 532<br> + 3 x A4 + + + 798<br> + 4 x A4 + + + 1064<br> + <br> + 1 x Letter + + 252<br> + 2 x Letter + + 504<br> + 3 x Letter + + 756<br> + 4 x Letter + 1008<br> + <br> + 1 x A3 + + 580<br> + 2 x A3 + + 1160<br> + <br> + 1 x 11x17 + 570<br> + 2 x 11x17 + + 1140<br> + <br> + SpectroScan with square patches:<br> + <br> + 1 x A4R 1014<br> + 2 x A4R 2028<br> + 3 x A4R + 3042<br> + 4 x A4R + 4056<br> + <br> + 1 x LetterR 999<br> + 2 x LetterR 1998<br> + 3 x LetterR 2997<br> + 4 x LetterR 3996<br> + <br> + SpectroScan with hexagonal patches:<br> + <br> + 1 x A4R 1170<br> + 2 x A4R 2340<br> + 3 x A4R + 3510<br> + 4 x A4R + 4680<br> + <br> + 1 x LetterR 1092<br> + 2 x LetterR 2184<br> + 3 x LetterR 3276<br> + 4 x LetterR 4368<br> + <br> + Eye-One Pro:<br> + <br> + 1 x A4 441<br> + 2 x A4 882<br> + 3 x A4 + 1323<br> + 4 x A4 + 1764<br> + <br> + 1 x Letter 462<br> + 2 x Letter 924<br> + 3 x Letter 1386<br> + 4 x Letter 1848<br> + <br> + ColorMunki:<br> + <br> + 1 x A4 + 90<br> + 2 x A4 180<br> + 3 x A4 + 270<br> + 4 x A4 + 360<br> + <br> + 1 x Letter 98<br> + 2 x Letter 196<br> + 3 x Letter 294<br> + 4 x Letter 392<br> + <br> + ColorMunki -h:<br> + <br> + 1 x A4 210<br> + 2 x A4 420<br> + 3 x A4 + 630<br> + 4 x A4 + 840<br> + <br> + 1 x Letter 196<br> + 2 x Letter 392<br> + 3 x Letter 588<br> + 4 x Letter 784<br> + <br> + Scanner (printtarg with -iSS -s options):<br> + <br> + 1 x A4R 1014<br> + 2 x A4R 2028<br> + 3 x A4R 3042<br> + 4 x A4R 4056<br> + <br> + 1 x LetterR 962<br> + 2 x LetterR 1924<br> + 3 x LetterR 2886<br> + 4 x LetterR 3848<br> + <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>, <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> "Xrite DTP20"</b><b><br> + </b><b> "Xrite DTP22"</b><b><br> + </b><b> "Xrite DTP41"</b><b><br> + </b><b> "Xrite DTP51"</b><b><br> + </b><b> "Xrite DTP92"</b><b><br> + </b><b> "Xrite DTP94"</b><b><br> + </b><b> "GretagMacbeth Spectrolino"</b><b><br> + </b><b> "GretagMacbeth SpectroScan"</b><b><br> + </b><b> "GretagMacbeth SpectroScanT"</b><b><br> + </b><b> "Spectrocam"</b><b><br> + </b><b> "GretagMacbeth i1 Display 1"</b><b><br> + </b><b> "GretagMacbeth i1 Display 2"</b><b><br> + </b><b> "Xrite i1 DisplayPro, ColorMunki Display"</b><b><br> + </b><b> "GretagMacbeth i1 Monitor"</b><b><br> + </b><b> "GretagMacbeth i1 Pro"</b><b><br> + </b><b> "X-Rite i1 Pro 2"</b><b><br> + </b><b> "X-Rite ColorMunki"</b><b><br> + </b><b> "Colorimtre HCFR"</b><b><br> + </b><b> "ColorVision Spyder2"</b><b><br> + </b><b> "Datacolor Spyder3"</b><b><br> + </b><b> "Datacolor Spyder4"</b><b><br> + </b><b> "GretagMacbeth Huey"</b><b><br> + </b><b> "ColorMunki Smile"</b><b><br> + </b><b> "Hughski ColorHug"</b><br> + <br> + All instruments except the Spectrocam are assumed to have an "A" + type illuminant (incandescent lamp of 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 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> +Cyan + + + + + C<br> + Magenta + M<br> + Yellow + + + Y<br> + Black + + + K<br> + Orange + + + O<br> + Red + + + R<br> + Green + + + G<br> + Blue + + + B<br> + White + + W<br> + Light Cyan + + + c<br> + Light + Magenta + + m<br> + Light + Yellow + + y<br> + Light + Black + + k<br> + Medium Cyan + 2c<br> + Medium Magenta + 2m<br> + Medium Yellow + 2y<br> + Medium Black + 2k<br> + Light Light Black 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;"> SPECTRAL_BANDS</span> shall + contain the number of spectral bands in the readings, e.g. <span + style="font-weight: bold;">"36"</span>.<br> + <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> + <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;"> 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 <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;"> -v + Verbose</span><br style="font-family: monospace;"> + + <span style="font-family: monospace;">-d + sres Surface + resolution details 1.0 - 50.0</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> -w +emit + VRML .wrl file as well as CGATS .gam file</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> -n +Don't + add VRML axes or white/black point</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> -k +Add + markers for prim. & sec. "cusp" points<br> + -f perc Filter by + popularity, + perc = percent to use<br style="font-family: monospace;"> + </span><span style="font-family: monospace;"> -i + intent p = + perceptual, r = relative colorimetric,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +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;"> -o + order n = normal + (priority: lut > matrix > monochrome)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +r + = reverse (priority: monochrome > + matrix > lut)<br> + </span></small><small><span style="font-family: monospace;"> </span><span + style="font-family: monospace;">-p oride</span><span + style="font-family: monospace;"> 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;"> -c viewcond + 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;"> +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;"> + pp - Practical Reflection + Print + (ISO-3664 P2)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + pe - Print evaluation environment (CIE 116-1995)<br> + </span></small><small><span style="font-family: monospace;"> + + 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;"> + mt - Monitor in typical work environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + mb - Monitor in bright work environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + md - Monitor in darkened work + environment</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + jm - Projector in dim environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + jd - Projector in dark environment</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + pcd - Photo CD - original scene + outdoors</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> + + ob - Original scene - Bright Outdoors</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + cx - Cut Sheet Transparencies on a viewing + box</span></small><br style="font-family: monospace;"> + <small><span style="font-family: monospace;"> +s:surround + n = auto, a = average, m = dim, d = dark,</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + c = transparency (default average)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> +w:X:Y:Z + Adapted white point + as XYZ (default media white)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +w:x:y + Adapted white point as + x, y</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +a:adaptation + Adaptation luminance in + cd.m^2 + (default 50.0)</span><br style="font-family: monospace;"> + <span style="font-family: monospace;"> +b:background + Background % of image luminance (default 20)<br> + l:scenewhite Scene + white in + cd.m^2 if surround = auto (default 250)<br style="font-family: + monospace;"> + </span><span style="font-family: monospace;"> +f:flare + Flare + light % of image luminance (default 1)</span><br + style="font-family: monospace;"> + <span style="font-family: monospace;"> + + f:X:Y:Z Flare color as + XYZ (default media white)</span><br style="font-family: + monospace;"> + <span style="font-family: monospace;"> +f:x:y + Flare color as x, y<br> + -O outputfile Override the default output filename & + 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 & 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. 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. <br> + <br> + <span style="font-weight: bold;">-p</span>: By default the gamut + will + be created in L*a*b* colorspace. If <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 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 & 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> + 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, 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> + 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;"> -v +Verbose</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -t +Generate rectangular boundary test chart<br> + -p steps Generate a colorspace step chart +with L* steps^2<br style="font-family: monospace;"> +</span><span style="font-family: monospace;"> -r +res Resolution +in DPI (default 200)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -s +Smooth blend</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -x +16 bit output</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -g +prop Percentage towards grey +(default 0%)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> outfile.tif Profile +to check against</span></small><br> +<h3>Usage Details and Discussion<br> +</h3> +The<b> -v</b> flag increases verbosity. <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 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 <a href="File_Formats.html#.ti3">.ti3</a> +CGATS +format. +<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;"> </span> + 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;"> set ink +limit, 0 +- +400% (default max in file)<br> +-d +Set type of device as Display, not Output<br> +-i +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;"> Input Device +CMYK +target file (typically file.txt)</span><br + style="font-family: monospace;"> +<i style="font-family: monospace;">infile </i><span + style="font-family: monospace;"> +Input +CIE, Spectral or Device & Spectral file (typically file.txt)</span><br + style="font-family: monospace;"> +<i style="font-family: monospace;">[specfile]</i><span + style="font-family: monospace;"> Input Spectral +file (typically file.txt)</span><br style="font-family: monospace;"> +<i style="font-family: monospace;">outbasefile</i><span + style="font-family: monospace;"> 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 <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 source files, consisting of a combined device value and CIE +and/or spectral values.<br> +2 source files, consisting of 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> + $XDG_CONFIG_DIRS/color.jcnf<br> +or /etc/xdg/color.jcnf<br> +<br> +and display profiles are stored in<br> +<br> + $XDG_DATA_DIRS/color/icc/devices/display/<br> +or /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> + $XDG_CONFIG_HOME/color.jcnf<br> +or $HOME/.config/color.jcnf<br> +<br> +and display profiles are stored in<br> +<br> + $XDG_DATA_HOME/color/icc/devices/display/<br> +or $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> + <span style="font-weight: bold;">key</span> + +<span style="font-weight: bold;">value</span><br> +<br> + devices/display/<span style="font-weight: bold;">N</span>/EDID + + Monitor EDID in upper case Hexadecimal <br> + devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE + Full path to the associated ICC profile<br> +<br> +or<br> +<br> + devices/display/<span style="font-weight: bold;">N</span>/NAME + + X11 display name <br> + devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE + 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> + "devices": {<br> + "display": {<br> + "1": {<br> + "EDID": +"0x00FFFFFFFFFFFF0034A1731751720000150901010C1F17CDE8A11E9E554A982712474FA4CE0045598180315961590101010101010101000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020003D",<br> + "ICC_PROFILE": +"/home/graeme/.local/share/color/devices/display/mon1.icc"<br> + },<br> + "2": {<br> + "NAME": ":0.1",<br> + "ICC_PROFILE": +"/home/graeme/.local/share/color/devices/display/mon2.icc"<br> + }<br> + }<br> + }<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 [-options] target.ti3 measured.ti3<br> + -v + + + Verbose - print each patch value<br> + -n +Normalise + + each files reading to white Y<br> + -N +Normalise + + each files reading to white XYZ<br> + -D +Use + + D50 100.0 as L*a*b* white reference<br> + -c + + + Show CIE94 delta E values<br> + -k + Show CIEDE2000 delta E values<br> + -s + Sort patch value by error<br> + -w + + + create VRML vector visualisation (measured.wrl)<br> + </small></tt><tt><small> -W + + create VRML marker & vector visualisation + (measured.wrl)</small></tt><tt><br> + </tt><tt> </tt><tt><small> -x + + + Use VRML axes<br> + </small></tt><tt><small><small>-f + [illum] Use Fluorescent + Whitening Agent compensation [opt. simulated inst. illum.:<br> + + + M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or + file.sp]<br> + -i illum + Choose illuminant for computation of CIE XYZ from spectral + data & FWA:<br> + + + A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp<br> + -o observ Choose + CIE Observer for spectral data:<br> + </small><small> + + 1931_2 </small><small>(def.)</small><small>, 1964_10, S&B + 1955_2, shaw, J&V 1978_2</small><br> + <i>target.ti3</i> Target or + reference patch data file<br> + <i>measured.ti3</i> 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. 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> 1931_2</b> selects the standard CIE 1931 2 degree + observer. The default.<br> + <b>1964_10</b> selects the standard CIE 1964 10 degree + observer.<br> + <b>1955_2</b> selects the Stiles and Birch 1955 2 degree + observer<br> + <b>1978_2 </b>selects the Judd and Voss 1978 2 degree + observer<br> + <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 <a href="File_Formats.html#VRML">VRML</a> +3D visualization +file. 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;"> +For each input gamut file:</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -c </span><i + style="font-family: monospace;">color</i><span + style="font-family: monospace;"> +Color +to +make gamut, +r = red, g = green, b = blue</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + +c = cyan, m = magenta, y = yellow, w = white</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +n = natural color</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -t </span><i + style="font-family: monospace;">trans</i><span + style="font-family: monospace;"> +Set +transparency +from 0.0 (opaque) to 1.0 (invisible)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> -w +Show as a wireframe</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> -s +Show as a solid surface</span><br style="font-family: monospace;"> +<i style="font-family: monospace;"> infile.gam</i><span + style="font-family: monospace;"> 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;"> -n +Don't add Lab axes<br> + -i Compute +and print intersecting volume of first 2 gamuts<br> + -I isect.gam Same as -i, but save intersection gamut +to isect.gam<br style="font-family: monospace;"> +</span><span style="font-family: monospace;"> </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 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 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 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> </h2> +<h3>Summary <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> + <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;"> </span><a + style="font-family: monospace;" href="#v">-v level</a><span + style="font-family: monospace;"> +Verbosity level 0 - 2 (default = 1)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#g">-g</a><span + style="font-family: monospace;"> + Plot slice instead of looking colors up. (Default white to black)<br> + <a href="#Gs">-G s:L:a:b</a> Override +plot slice start with Lab or Jab co-ordinate<br> + <a href="#Ge">-G e:L:a:b</a> Override +plot slice end with Lab or Jab co-ordinate<br + style="font-family: monospace;"> +</span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#f">-f function</a><span + style="font-family: monospace;"> f = forward, b = +backwards, g = gamut, p = preview</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +if += inverted forward, ib = inverted backwards</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#i">-i intent</a><span + style="font-family: monospace;"> a = +absolute, r = relative colorimetric,</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +</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;"> </span><a + style="font-family: monospace;" href="#o">-o order</a><span + style="font-family: monospace;"> n += normal (priority: lut > matrix > monochrome)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +r += reverse (priority: monochrome > matrix > +lut)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#p">-p oride</a><span + style="font-family: monospace;"> x += XYZ_PCS, X = XYZ * 100, l = Lab_PCS, L = LCh, y = Yxy,<br> + j = CIECAM02 +Appearance Jab, J = CIECAM02 Appearance JCh<br> +</span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#s">-s scale</a><span + style="font-family: monospace;"> +Scale device range 0.0 - scale rather than 0.0 - 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#k">-k [zhxrlv]</a><span + style="font-family: monospace;"> Black generation: z += zero K,</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + +h = 0.5 K, x = max K, r = ramp K (def.)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +l = extra PCS input is portion of K locus</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +v = extra PCS input is K target value</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </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;"> + +stle: K level at White 0.0 - 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +stpo: start point of transition Wh 0.0 - Bk 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +enpo: End point of transition Wh 0.0 - Bk 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +enle: K level at Black 0.0 - 1.0</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +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;"> </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;"> +Transfer +extra PCS input to dual curve limits</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#K">-K parameters</a><span + style="font-family: monospace;"> Same as -k, but target is K +locus rather than K value itself</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#l">-l tlimit</a><span + style="font-family: monospace;"> set +total ink limit, 0 - 400% (estimate by default)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#L">-L klimit</a><span + style="font-family: monospace;"> set +black ink limit, 0 - 100% (estimate by default)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#a">-a</a><span + style="font-family: monospace;"> +show +actual target values if clipped<br> + <a href="#b">-b</a> +use +CAM Jab for clipping<br style="font-family: monospace;"> +</span><span style="font-family: monospace;"> </span><a + style="font-family: monospace;" href="#m">-m</a><span + style="font-family: monospace;"> + +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;"> </span><a + style="font-family: monospace;" href="#c">-c viewcond</a><span + style="font-family: monospace;"> set viewing +conditions +for CIECAM02,</span><br style="font-family: monospace;"> + </small><small><span style="font-family: monospace;"> + +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;"> + pp - Practical Reflection Print +(ISO-3664 P2)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + +pe - Print evaluation environment (CIE 116-1995)<br> +</span></small><small><span style="font-family: monospace;"> + +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;"> + mt - Monitor in typical work environment</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + + mb - Monitor in bright work environment</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + md - Monitor in darkened work +environment</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + jm - Projector in dim environment</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + jd - Projector in dark environment</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + pcd - Photo CD - original scene +outdoors</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + ob - Original scene - Bright Outdoors</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + 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;"> +s:surround +n = auto, a = average, m = dim, d = dark,</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + + c = transparency (default average)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +w:X:Y:Z +Adapted white point +as XYZ (default media white, Abs: D50)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +w:x:y +Adapted white point as +x, y</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> +a:adaptation +Adaptation luminance in +cd.m^2 +(default 50.0)</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> + b:background Background % +of image luminance (default 20)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +f:flare +Flare +light % of image luminance (default 1)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> + +f:X:Y:Z Flare color +as XYZ (default media white, Abs: D50)</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> +f:x:y +Flare color as x, y</span><br style="font-family: monospace;"> +<br style="font-family: monospace;"> +<span style="font-family: monospace;"> +</span><a style="font-family: monospace;" href="#p1"><i>inoutfile</i></a><span + style="font-family: monospace;"> The input +ICC profile</span><br style="font-family: monospace;"> +<br style="font-family: monospace;"> +<span style="font-family: monospace;"> The colors to +be translated should be fed into +standard in,</span><br style="font-family: monospace;"> +<span style="font-family: monospace;"> one input +color per line, white space separated.</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> A line +starting with a # will be ignored.</span><br + style="font-family: monospace;"> +<span style="font-family: monospace;"> 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, + as +can other flags appropriate to the function selected. 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. 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. <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 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> + 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> 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. 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> 1.0 K | + enpo<br> + +| + _______ +enle<br> + +| + /<br> + +| + /<br> + +| + /<br> + +| + /<br> + stle +| ------/<br> + + +-------------------<br> + 0.0 K +0.0 stpo 1.0<br> + +White +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> + 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> 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> 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> + 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> + xicclu -ff -ip profile.icm < inputvalues.txt > +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> + xicclu -g -fb profile.icm<br> +<br> +Exploring possible black generation and ink limiting behavior might be +done +like this:<br> +<br> + xicclu -g -fif -kp 0 .1 .9 1 .5 -l230 -L95 +profile.icm<br> +<br> +<br> +<br> +<br> +<br> +<br> +<br> +</body> +</html> |