From c07d0c2d2f6f7b0eb6e92cc6204bf05037957e82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 15:43:52 +0200 Subject: Imported Upstream version 1.6.3 --- doc/ArgyllDoc.html | 4522 +++++++++++++++++++++++++-------- doc/ChangesSummary.html | 191 +- doc/ColorHug.jpg | Bin 0 -> 28768 bytes doc/ColorManagement.html | 22 +- doc/Environment.html | 16 +- doc/File_Formats.html | 18 +- doc/Installing_Linux.html | 27 +- doc/Installing_MSWindows.html | 57 +- doc/Installing_OSX.html | 570 +++-- doc/JETI_1211.jpg | Bin 0 -> 29663 bytes doc/Performance.html | 242 +- doc/Scenarios.html | 5513 ++++++++++++++++++++++++++--------------- doc/afiles | 7 +- doc/cal_format.html | 162 +- doc/ccxxmake.html | 91 +- doc/cht_format.html | 1192 ++++----- doc/collink.html | 2365 ++++++++++++++++-- doc/colprof.html | 810 +++++- doc/colverify.html | 209 ++ doc/dispcal.html | 790 +++++- doc/dispprofloc.html | 305 +-- doc/dispread.html | 369 ++- doc/dispwin.html | 133 +- doc/fakeread.html | 612 +++-- doc/i1proHiRes.html | 177 ++ doc/i1proHiRes.jpg | Bin 0 -> 26870 bytes doc/i1proHiRes.zip | Bin 0 -> 319734 bytes doc/iccgamut.html | 335 +-- doc/illumread.html | 272 +- doc/instruments.html | 3361 ++++++++++++++----------- doc/oeminst.html | 2 +- doc/printtarg.html | 55 +- doc/profcheck.html | 4 +- doc/refine.html | 42 +- doc/scanin.html | 520 ++-- doc/spec2cie.html | 10 +- doc/spotread.html | 148 +- doc/targen.html | 1540 +++++++----- doc/tiffgamut.html | 348 ++- doc/txt2ti3.html | 204 +- doc/verify.html | 186 -- doc/xicclu.html | 1323 ++++++---- 42 files changed, 18119 insertions(+), 8631 deletions(-) create mode 100644 doc/ColorHug.jpg create mode 100644 doc/JETI_1211.jpg create mode 100644 doc/colverify.html create mode 100644 doc/i1proHiRes.html create mode 100644 doc/i1proHiRes.jpg create mode 100644 doc/i1proHiRes.zip delete mode 100644 doc/verify.html (limited to 'doc') diff --git a/doc/ArgyllDoc.html b/doc/ArgyllDoc.html index 498e974..98e730d 100644 --- a/doc/ArgyllDoc.html +++ b/doc/ArgyllDoc.html @@ -1,119 +1,140 @@ - - - - - - - - Argyll Documentation Top - - -

Argyll CMS documentation index (V1.5.1)
-

- Date:   8th March 2013
- Author: Graeme Gill -

Introduction

- 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.
-

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 Changes - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary for an overview of changes since the last release. - Changes between revisions is detailed in the log.txt file - that accompanies the source code.

-

The latest source code is available from here.
-

-

An Introduction to Color - Management

- A concise discussion of what - color management is, and why we need it, together with a brief - overview of the ICC profile format.
-

Operating Environments

-

-

Argyll is known to compile and run in at least the following - environments:

- 1) MSWindows XP system using Microsoft VC++ 6.0 compiler
- 2) MSWindows XP system using Microsoft VC++ 8.0 Express compiler + - Platform SDK Feb. 2003
- 3) MSWindows XP system using Microsoft VC++ 9.0 Express compiler + - Platform SDK Feb. 2003
- 4) MSWindows XP system using the MingW port of the GCC compiler
- 5) Linux on Fedora Core 8, 32 bit using gcc
- 6) Linux on Fedora Core 8, 64 bit using gcc
- 7) Apple OS X 10.3 PPC using GCC
- 8) Apple OS X 10.4, 10.5, 10.6 Intel using GCC
- 9) Apple OS X10.7 Intel using  Clang
- 10) PCBSD 9.1 (FreeBSD) [You need to copy the libusb sub directory - from ArgyllCMS V1.4.0]
-
- Additionally it is also known to run on:
-
-  MSWindows 2000, Vista & Windows 7 32 bit.
-  MSWindows Vista 64bit, Windows 7 64bit & Windows 8 64 bit.
-  Linux Ubuntu 7.10
-  Linux Kubuntu 7.10
-  Linux Mandriva 2008.0
-  Linux OpenSuSE 10.3
-  Linux Whitebox 4.2/2
-

but may well compile and run correctly in many more than this, - including OS X 10.8.

- This is a command line terminal - 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 tutorials below.
-
- The following color measuring instruments are directly supported:
-
- X-Rite:
+ + + + + + + + Argyll Documentation Top + + +

Argyll CMS documentation index (V1.6.3)
+

+ Date:   26th January 2014
+ Author: Graeme Gill +

Introduction

+ 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. Device Link can be created + with a wide variety of advanced options, including specialized Video + calibration standards  and 3dLuts. 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. 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.
+

This is Version 1.6.3, a bug fix update to V1.6.2 released on 8th + November 2013. The first public release of icclib was in November + 1998, and of Argyll was in October 2000. Code development + commenced in 1995. See Changes + Summary for an overview of changes since the last release. + Changes between revisions is detailed in the log.txt file + that accompanies the source code.

+

The latest source code is available from here.
+

+

An Introduction to Color + Management

+

A great introduction for non technical people is Steve Upton's The + Color of Toast.
+

+ I present here a more technical but concise + + + + + + + + + + + + + + + + discussion of what color management is, and why we need it, + together with a brief overview of the ICC profile format.
+
+

Operating Environments

+

+

Argyll is known to compile and run in at least the following + environments:

+ 1) MSWindows XP system using Microsoft VC++ 6.0 compiler
+ 2) MSWindows XP system using Microsoft VC++ 8.0 Express compiler + + Platform SDK Feb. 2003
+ 3) MSWindows XP system using Microsoft VC++ 9.0 Express compiler + + Platform SDK Feb. 2003
+ 4) MSWindows XP system using Microsoft VC++ 10.0 Express compiler + + Platform SDK Feb. 2003
+ 5) MSWindows XP system using Microsoft VC++ 11.0 Express compiler
+ 6) MSWindows XP system using the MingW port of the GCC compiler
+ 7) Linux on Fedora Core 8, 32 bit using gcc
+ 8) Linux on Fedora Core 8, 64 bit using gcc
+ 9) Apple OS X 10.3 PPC using GCC
+ 10) Apple OS X 10.4, 10.5, 10.6 Intel using GCC
+ 11) Apple OS X10.7 Intel using  Clang
+
+ Additionally it is also known to run on:
+
+  MSWindows 2000, Vista & Windows 7 32 bit.
+  MSWindows Vista 64bit, Windows 7, 8, 8.1 64 bit.
+  Linux Ubuntu 7.10
+  Linux Kubuntu 7.10
+  Linux Mandriva 2008.0
+  Linux OpenSuSE 10.3
+  Linux Whitebox 4.2/2
+

but may well compile and run correctly in many more than this, + including OS X 10.8.

+ This is a command line terminal + 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 tutorials below.
+
+ The following color measuring instruments are directly supported:
+
+ JETI:
+
+     specbos 1211 + & 1201                    + + + + + + + + + + + + + + + + + + + + + - Tele-Spectro-Radiometer
+
+ X-Rite:
    DTP20 "Pulse"                              @@ -156,8 +177,29 @@ - - "swipe" type reflective spectrometer, that can be used untethered.
-     DTP22 Digital + + + + + + + + + + + + + + + + + + + + + + - "swipe" type reflective spectrometer, that can be used untethered.
+    
DTP22 Digital Swatchbook            @@ -199,7 +241,28 @@ - - spot type reflective spectrometer.
+ + + + + + + + + + + + + + + + + + + + + + - spot type reflective spectrometer.
    DTP41                                         @@ -241,10 +304,6 @@ - - spot and strip reading reflective spectrometer.
-     DTP41T -                  -                      @@ -265,6 +324,11 @@ + + - spot and strip reading reflective spectrometer.
+     DTP41T +                  +                      @@ -285,8 +349,6 @@ - - spot and strip reading reflective/transmissive spectrometer.
-     DTP51                                         @@ -327,8 +389,9 @@ - - strip reading reflective colorimeter.
-     DTP92                                         + + - spot and strip reading reflective/transmissive spectrometer.
+     DTP51                                         @@ -369,69 +432,6 @@ - - CRT display colorimeter.
-     DTP94 "Optix XR" or "Optix XR2" or "Optix Pro"- display - colorimeter.
-     ColorMunki Design - or Photo           - - spot and "swipe" reflective/emissive spectrometer (UV cut only).
-     ColorMunki Create - or Smile   -          - display - colorimeter. (Similar to an Eye-One Display 2)
-     Lenovo W -                   -                   - - built in laptop Huey display colorimeter.
-     Eye-One Display - 3                 -         - Xrite i1 DisplayPro and ColorMunki - Display
-             -             -             -             -           [ The OEM - i1Display Pro, NEC SpectraSensor Pro and
-                   -                   -                   -        Quato Silver Haze 3 OEM i1d3 are also - reported to work.]
-     Eye-One Pro2 -                   -              - spot and - "swipe" reflective/emissive spectrometer.
-
- Gretag-Macbeth (now X-Rite):
-     Spectrolino   -                   -               - spot - reflective/emissive spectrometer.
-     SpectroScan   -                   -             - spot - reflective/emissive, XY table reflective spectrometer  .
-     SpectroScanT   -                   -           - spot - reflective/emissive/transmissive, XY table reflective spectrometer.
-     Eye-One Pro "EFI - ES-1000"           - spot and "swipe" - reflective/emissive spectrometer.
-     Eye-One Monitor -                   -         - spot and "swipe" emissive - spectrometer.
-     Eye-One Display 1 - or 2  or LT        - - display colorimeter.
-     HP DreamColor or - APS  -                 @@ -452,6 +452,9 @@ + + - strip reading reflective colorimeter.
+     DTP92                                         @@ -472,9 +475,6 @@ - - display colorimeter. (Treated as a Eye-One Display 2)
-     CalMAN X2 -                                  @@ -515,18 +515,70 @@ - - display colorimeter. (Treated as a Eye-One Display 2)
-     Huey   -                   -                 -        - display colorimeter.
-
- Sequel imaging (Now X-Rite):
-      MonacoOPTIX -                   -           - display - colorimeter (Treated as an Eye-One Display 1)
-                                                            + + - CRT display colorimeter.
+     DTP94 "Optix XR" or "Optix XR2" or "Optix Pro"- display + colorimeter.
+     ColorMunki Design + or Photo           - + spot and "swipe" reflective/emissive spectrometer (UV cut only).
+     ColorMunki Create + or Smile   +          - display + colorimeter. (Similar to an Eye-One Display 2)
+     Lenovo W +                   +                   - + built in laptop Huey display colorimeter.
+     Eye-One Display + 3                 +         - Xrite i1 DisplayPro and ColorMunki + Display
+             +             +             +             +           [ The OEM + i1Display Pro, NEC SpectraSensor Pro,
+                   +                   +                   +        Quato Silver Haze 3 OEM and HP + DreamColor  i1d3 are also reported to work.]
+     Eye-One Pro2 +                   +              - spot and + "swipe" reflective/emissive spectrometer.
+
+ Gretag-Macbeth (now X-Rite):
+     Spectrolino   +                   +               - spot + reflective/emissive spectrometer.
+     SpectroScan   +                   +             - spot + reflective/emissive, XY table reflective spectrometer  .
+     SpectroScanT   +                   +           - spot + reflective/emissive/transmissive, XY table reflective spectrometer.
+     Eye-One Pro "EFI + ES-1000"           - spot and "swipe" + reflective/emissive spectrometer.
+     Eye-One Monitor +                   +         - spot and "swipe" emissive + spectrometer.
+     Eye-One Display 1 + or 2  or LT        - + display colorimeter.
+     HP DreamColor or + APS  +                 @@ -567,10 +619,6 @@ - [The Sequel Chroma 4 may also work.]
-
- Lacie Blue - Eye:                                  @@ -591,6 +639,10 @@ + + - display colorimeter. (Treated as a Eye-One Display 2)
+     CalMAN X2 +                                  @@ -611,15 +663,6 @@ - - see Eye-One Display
-
- DataColor ColorVision:
-      Spyder 2 -                    -            -        - display colorimeter (Note - that the user must supply firmware)
-                                                           @@ -660,22 +703,19 @@ - [The Spyder 1 has also been reported as working, but this has not - been confirmed.]
-      Spyder 3 -                    -            -        - display colorimeter.
-      Spyder 4 -                    -            -        - display colorimeter (Note - that the user must supply calibration - data)
-
- Other:
-     Colorimètre HCFR                          + + - display colorimeter. (Treated as a Eye-One Display 2)
+     Huey   +                   +                 +        - display colorimeter.
+
+ Sequel imaging (Now X-Rite):
+      MonacoOPTIX +                   +           - display + colorimeter (Treated as an Eye-One Display 1)
+                                                            @@ -716,8 +756,6 @@ - - display colorimeter

-     ColorHug                                       @@ -738,110 +776,16 @@ + + [The Sequel Chroma 4 may also work.]
+
+ Lacie Blue + Eye:                                  - - display colorimeter. Experimental only, does not work on all - platforms.
-
- See
Operation of particular - instruments for more instrument specific detail.
-
- Other instruments can be supported indirectly, since patch result - files created by other packages can be imported into Argyll.
-
- Please note the installation instructions for each - platform - they contain important information for getting your - instruments working.
-

If you've decided to buy a color instrument because Argyll - supports it, please let the dealer and manufacturer know that "You bought it because Argyll CMS - supports it" - thanks.
-

-

Please note that instruments are - being driven by ArgyllCMS drivers, and that any problems or - queries regarding instrument
- operation
should be - directed to the Argyll's author(s) or the Argyll mailing list, - and not to any other - party.

-

There is a list - of contributed ccmx - (Colorimeter Correction Matrix) files for some display/colorimeter - combinations.

-

Copyright and Licensing:
-

-

Most of the source code and provided executable files are - copyrighted works, licensed under the Affero GNU Version 3 license, 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 Affero GNU - license prohibits - extending these tools - (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 license.

- 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. -

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 License.txt - 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 License2.txt file.
-

-

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 License2.txt file.

-

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 License3.txt - file.
-

-

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 website - are "This license combination explicitly allows the use of this - library in commercial, non-Open-Source applications."
-

-

The icc library in icc/, - the CGATS library in cgats/, @@ -882,7 +826,6 @@ - the jcnf library in jcnf/, @@ -898,6 +841,16 @@ + + - see Eye-One Display
+
+ DataColor ColorVision:
+      Spyder 2 +                    +            +        - display colorimeter (Note + that the user must supply firmware)
+                                                           @@ -922,78 +875,6 @@ - the files spectro/xdg_bds.*, - spectro/aglob.* and the - ucmm library in ucmm/ 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.
-

-

The yajl library in jcnf/yajl - 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.
-

-

The TIFF library included in this distribution for convenience, - has its own copyright and license detailed in tiff/COPYRIGHT (an - "MIT"/"BSD" like license).
-

-

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.

-

xicc/iccjpeg.h and xicc/iccjpeg.c are from lcms 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.
-

-

The mongoose web server software is Copyright (c) 2004-2011 - Sergey Lyubka, and is licensed under an "MIT" license.

-

What sort of project is this ? (re: - contributions)
-

- 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.
-
- 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.
-
-

Compiling

- How to build the software from the - source if you want to.
- Note that you don't need to - do this if you are using one of the binary installations.
-

Installing

- Important notes on installing the binary - software on various platforms.
-
-

Graphic - User Interfaces
-

- ArgyllCMS does not directly support a graphic user interface, but - several people have written GUI - based front ends for it. A popular front -end -that -supports -display -calibration @@ -1030,22 +911,27 @@ calibration + + [The Spyder 1 has also been reported as working, but this has not + been confirmed.]
+      Spyder 3 +                    +            +        - display colorimeter.
+      Spyder 4 +                    +            +        - display colorimeter (Note + that the user must supply calibration + data)
+
+ Other:
+     Colorimètre HCFR                          - and profiling is dispcalGUI - by Florian Höch. Others can be found with a suitable search.
-

Main - Tools and the command line
-

- 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 usage - of any of the tools, run it with just an "-?" argument, i.e. targen @@ -1084,23 +970,6 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a - -? (or some other unrecognized flag, if the "?" character is - treated specially in your shell, i.e. try "--" on OS X zsh).
-
- 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:
-
-   tool -?
-   usage: tool [options] infile outfile
-    - -v                   @@ -1119,6 +988,9 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a + + - display colorimeter

+     ColorHug                                       @@ -1141,9 +1013,6 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a - Verbose mode
-    -d - n                @@ -1167,6 +1036,104 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a + + - display colorimeter
+
+ See
Operation of particular + instruments for more instrument specific detail.
+
+ Other instruments can be supported indirectly, since patch result + files created by other packages can be imported into Argyll.
+
+ Please note the installation instructions for + each platform - they contain important information for getting your + instruments working.
+

If you've decided to buy a color instrument because Argyll + supports it, please let the dealer and manufacturer know that "You bought it because Argyll CMS + supports it" - thanks.
+

+

Please note that instruments are + being driven by ArgyllCMS drivers, and that any problems or + queries regarding instrument
+ operation
should be + directed to the Argyll's author(s) or the Argyll mailing list, + and not to any other + party.

+

There is a list of contributed ccmx (Colorimeter Correction + Matrix) files for some display/colorimeter combinations.

+

Copyright and Licensing:
+

+

Most of the source code and provided executable files are + copyrighted works, licensed under the Affero GNU Version 3 license, 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 Affero GNU + license prohibits + extending these tools + (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 license.

+ 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. +

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 License.txt + 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 License2.txt file.
+

+

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 License2.txt file.

+

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 License3.txt + file.
+

+

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 website + are "This license combination explicitly allows the use of this + library in commercial, non-Open-Source applications."
+

+

The icc library in icc/, + the CGATS library in cgats/, @@ -1184,9 +1151,6 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a - Choose a depth 0-4
-    -r -                   @@ -1227,15 +1191,11 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a - Use a random depth
-    -f - [nn]            - Use full range. nn optional range 0 - 100.
-    -M -                  + + the jcnf library in jcnf/, @@ -1273,9 +1233,6 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a - Manual
-    infile -                @@ -1298,6 +1255,79 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a + + the files spectro/xdg_bds.*, + spectro/aglob.* and the + ucmm library in ucmm/ 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.
+

+

The yajl library in jcnf/yajl + 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.
+

+

The TIFF library included in this distribution for convenience, + has its own copyright and license detailed in tiff/COPYRIGHT (an + "MIT"/"BSD" like license).
+

+

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.

+

xicc/iccjpeg.h and xicc/iccjpeg.c are from lcms 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.
+

+

The mongoose web server software is Copyright (c) 2004-2011 + Sergey Lyubka, and is licensed under an "MIT" license.

+

What sort of project is this ? (re: + contributions)
+

+ 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.
+
+ 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.
+
+

Compiling

+ How to build the software from the + source if you want to.
+ Note that you don't need to + do this if you are using one of the binary installations.
+

Installing

+ Important notes on installing the binary + software on various platforms.
+
+

Graphic + User Interfaces
+

+ ArgyllCMS does not directly support a graphic user interface, but + several people have written GUI + based front ends for it. A popular front +end +that +supports +display +calibration @@ -1316,154 +1346,6 @@ href="http://www.google.com/search?hl=en&source=hp&q=argyllcms+GUI&a - Input file
-    outfile -             - Output file
-
- 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:
-
-   tool -v testin testout
-   tool -d3 -M testin1 testout2
-   tool -f infile outfile
-   tool -f 45 infile outfile
-   tool -d 3 -f67 infile outfile
-

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.
-

-

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".
-

-

For more information on using a command - line environments, consult an appropriate tutorial:

-

MS Windows :
-    <http://www.bleepingcomputer.com/tutorials/tutorial76.html>
-    <http://www.pcstats.com/articleview.cfm?articleid=1723&page=1>
-    <http://www.voidspace.org.uk/python/articles/command_line.shtml>
-
-     To find more: <http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial>
-
- OS X:
-     <http://www.osxfaq.com/Tutorials/LearningCenter/>
-     <http://www.atomiclearning.com/macosxterminalx.shtml>
-     <http://www.oreillynet.com/pub/a/mac/2001/12/14/terminal_one.html>
-
-     To find more: <http://www.google.com/search?hl=en&q=OS+X+shell+tutorial>
-
- Linux:
-     <http://www.linuxcommand.org/index.php>
-     <http://www.tuxfiles.org/linuxhelp/shell.html>
-     <http://www.ee.surrey.ac.uk/Teaching/Unix/>
-
-     To find more: <http://www.google.com/search?q=linux+command+line+shell+tutorial>

-


- Note 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:
-

-

    <http://www.rain.org/~mkummel/unix.html>
-
-

-

Tutorial: Typical usage scenarios - and examples

- A guided tour 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.
-
- Although it is is a couple of years old now, this tutorial - may also be of interest.
-  
-

Topical - Discussions

- Discussions about particular topics:
-
- About Fluorescent Whitening Agent compensation
-
- Operation of particular instruments
-
- About ICC profiles and Gamut Mapping
-
- About display monitor settings and - targets
-
- About display "Gamma"
-
- What's the difference between Calibration - and Characterization ?
-
- Why doesn't my Colorimeter work - well on my Wide Gamut display ?
-
- My blacks get crushed on my - display - why ? How do I fix it ?
-
- How can I have confidence in the i1pro - Driver ?
-
- Evaluating input targets
-
-

Flow - diagram of Major Tools:

-
-           Thumbnail of Flow Diagram
-
-

Main Tools by - category:

-

Calibrating devices
-

- dispcal -       Adjust, - calibrate and profile a display.
-
printcal      Create a - printer calibration .cal file from a .ti3 data file.
-

Creating test targets for profiling or print calibration
-

- targen        @@ -1504,12 +1386,21 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Generate a profiling test target values .ti1 file.
- filmtarg      Create + + and profiling is dispcalGUI + by Florian Höch. Others can be found with a suitable search.
+

Main + Tools and the command line
+

+ 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 usage + of any of the tools, run it with just an "-?" argument, i.e. targen @@ -1548,10 +1439,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - film recorder TIFF files from Argyll .ti1 file.

- printtarg     Create @@ -1572,6 +1459,24 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + -?
(or some other unrecognized flag, if the "?" character is + treated specially in your shell, i.e. try "--" on OS X zsh).
+
+ 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:
+
+   tool -?
+   usage: tool [options] infile outfile
+    + -v                   @@ -1592,12 +1497,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a PS, EPS or TIFF file containing test patch values, ready for - printing.
-

Obtaining test results for profiling or print calibration
-

- chartread     Read @@ -1638,11 +1537,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a test chart using an instrument to create a .ti3 data file.
- dispread      Test + + Verbose mode
+    -d + n                @@ -1683,10 +1581,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - and read colorimetric values from a display

- filmread      Read @@ -1707,6 +1601,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + Choose a depth 0-4
+    -r +                   @@ -1727,10 +1625,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - film colorimetric values using a SpectroScanT (Deprecated ?)

- scanin        @@ -1771,15 +1665,13 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Convert a TIFF  image of a test chart into .ti3 - device values.
-
illumread     Use an - instrument to measure an illuminant spectrum, and estimate its UV - content.
- fakeread      Fake + + Use a random depth
+    -f + [nn]            + Use full range. nn optional range 0 - 100.
+    -M +                  @@ -1820,14 +1712,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - the reading of a device using an ICC or MPP profile.
-
synthread     Fake the - reading of a device using a synthetic device model.
- cb2ti3        @@ -1848,6 +1732,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + Manual
+    infile +                @@ -1868,11 +1756,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Convert Colorblind format CMY/RGB test chart into - Argyll .ti3 CGATS format.
- kodak2ti3     Convert @@ -1913,10 +1796,158 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Kodak Colorflow format CMYK test chart into Argyll .ti3 CGATS - format.
- txt2ti3       + + Input file
+    outfile +             + Output file
+
+ 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:
+
+   tool -v testin testout
+   tool -d3 -M testin1 testout2
+   tool -f infile outfile
+   tool -f 45 infile outfile
+   tool -d 3 -f67 infile outfile
+

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.
+

+

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".
+

+

For more information on using a command + line environments, consult an appropriate tutorial:

+

MS Windows :
+    <http://www.bleepingcomputer.com/tutorials/tutorial76.html>
+    <http://www.pcstats.com/articleview.cfm?articleid=1723&page=1>
+    <http://www.voidspace.org.uk/python/articles/command_line.shtml>
+
+     To find more: <http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial>
+
+ OS X:
+     <http://www.osxfaq.com/Tutorials/LearningCenter/>
+     <http://www.atomiclearning.com/macosxterminalx.shtml>
+     <http://www.oreillynet.com/pub/a/mac/2001/12/14/terminal_one.html>
+
+     To find more: <http://www.google.com/search?hl=en&q=OS+X+shell+tutorial>
+
+ Linux:
+     <http://www.linuxcommand.org/index.php>
+     <http://www.tuxfiles.org/linuxhelp/shell.html>
+     <http://www.ee.surrey.ac.uk/Teaching/Unix/>
+
+     To find more: <http://www.google.com/search?q=linux+command+line+shell+tutorial>

+


+ Note 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:
+

+

    <http://www.rain.org/~mkummel/unix.html>
+
+

+

Tutorial: Typical usage scenarios + and examples

+ A guided tour 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.
+
+ Although it is is a couple of years old now, this tutorial + may also be of interest.
+  
+

Topical + Discussions

+ Discussions about particular topics:
+
+ About Fluorescent Whitening Agent compensation
+
+ Operation of particular instruments
+
+ About ICC profiles and Gamut Mapping
+
+ About display monitor settings and + targets
+
+ About display "Gamma"
+
+ What's the difference between Calibration + and Characterization ?
+
+ Why doesn't my Colorimeter work + well on my Wide Gamut display ?
+
+ My blacks get crushed on my + display - why ? How do I fix it ?
+
+ How can I have confidence in the i1pro + Driver ?
+
+ Does the i1pro High Resolution mode + improve accuracy ?
+
+ Evaluating input targets
+
+

Flow + diagram of Major Tools:

+
+           Thumbnail of Flow Diagram
+
+

Main Tools by + category:

+

Calibrating devices
+

+ dispcal +       Adjust, + calibrate and profile a display.
+
printcal      Create a + printer calibration .cal file from a .ti3 data file.
+

Creating test targets for profiling or print calibration
+

+ targen        @@ -1957,11 +1988,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Convert Gretag/Logo/X-Rite or other format RGB or CMYK - test chart results into Argyll .ti3 CGATS format.
- fakeCMY       @@ -1982,6 +2008,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + Generate a profiling test target values .ti1 file.
+ filmtarg      Create @@ -2002,11 +2033,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Create a fake Argyll .ti3 CMY data file from a CMYK - profile, as a basis of creating a CMY to CMYK separation
-
average       Average @@ -2046,11 +2072,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - / Merge two measurement data files
-

Creating Device Profiles

- colprof       + + film recorder TIFF files from Argyll .ti1 file.

+ printtarg     Create @@ -2090,9 +2117,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Create an ICC profile from the .ti3 test data.
- mppprof       @@ -2114,6 +2138,13 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + a PS, EPS or TIFF file containing test patch values, ready for + printing.
+

Obtaining test results for profiling or print calibration
+

+ chartread     Read @@ -2133,10 +2164,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Create a Model Printer Profile (MPP) from the .ti3 - test data.
- revfix        @@ -2177,12 +2204,13 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Regenerate a device profiles B2A table data by - inverting the A2B table. -

Creating Device Link Profiles

- collink       + + a test chart using an instrument to create a .ti3 data file.

+ dispread      Test @@ -2222,12 +2250,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Link two device ICC profiles to create a device - link profile. -

Converting colors or applying print calibration
-

- cctiff        @@ -2249,6 +2271,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + and read colorimetric values from a display

+ filmread      Read @@ -2268,11 +2295,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Color convert a TIFF or JPEG file using a sequence - of ICC device, device link, abstract profiles and calibration files. -
- applycal      Apply @@ -2312,8 +2334,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - calibration curves to an ICC profile.
- icclu 
+ scanin        @@ -2355,10 +2381,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Lookup individual color values through any ICC - profile table.
- xicclu        @@ -2379,6 +2401,16 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + Convert a TIFF  image of a test chart into .ti3 + device values.
+
illumread     Use an + instrument to measure an illuminant spectrum, and estimate its UV + content.
+ fakeread      Fake @@ -2399,10 +2431,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Lookup individual color values forward or inverted - though an ICC profile table.
- mpplu         @@ -2443,10 +2471,15 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Lookup individual color values though an MPP - profile. Also create MPP gamut files/views.
- greytiff      Convert + + the reading of a device using an ICC or MPP profile.
+
synthread     Fake the + reading of a device using a synthetic device model.
+ cb2ti3        @@ -2487,18 +2520,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a TIFF file to monochrome using an ICC device profile
-

Color Tweaking tools
-

- refine -        Creates an - abstract profile from two chart readings, useful for refining - proofing profiles.
-
-

Creating gamut views

- iccgamut      Create @@ -2519,6 +2540,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Convert Colorblind format CMY/RGB test chart into + Argyll .ti3 CGATS format.
+ kodak2ti3     Convert @@ -2539,9 +2566,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a gamut file or VRML file of the color gamut of an ICC profile.
- tiffgamut     Create @@ -2582,9 +2606,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a gamut file or VRML file of the color gamut of a TIFF or JPEG - image.
- viewgam
+ txt2ti3       @@ -2626,12 +2651,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Convert one or more gamuts into a VRML 3D - visualization file. Compute an intersection.
-

Diagnostic and test tools
-

- iccdump       @@ -2652,6 +2671,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + Convert Gretag/Logo/X-Rite or other format RGB or CMYK + test chart results into Argyll .ti3 CGATS format.
+ fakeCMY       @@ -2672,9 +2697,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Dump the contents of an ICC profile as text.
- profcheck     Check @@ -2715,8 +2737,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an ICC profile against .ti3 test chart data.
- invprofcheck  + + Create a fake Argyll .ti3 CMY data file from a CMYK + profile, as a basis of creating a CMY to CMYK separation
+
average       Average @@ -2757,9 +2783,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Check ICC forward against inverse lookup.
- splitsti3     Split @@ -2779,6 +2802,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + / Merge two measurement data files

+

Creating Device Profiles

+ colprof       @@ -2799,13 +2827,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a CGATS file (ie. a .ti3) into two parts randomly to verify - profiling.
- timage -        Create TIFF test - images.
- mppcheck      Check @@ -2846,9 +2867,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an MPP profile against .ti3 test chart data.
- spotread      Use + +
Create an ICC profile from the .ti3 test data.
+ mppprof       @@ -2888,14 +2910,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an instrument to read a single spot color value.
- verify -        Verify - matching of CIE in two CGATS/.ti3 files (also view differences as - VRML)
- synthcal      Create @@ -2917,6 +2931,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Create a Model Printer Profile (MPP) from the .ti3 + test data.
+ revfix        @@ -2935,11 +2954,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a synthetic input, display or output calibration (.cal)file. -

Other Tools

- ccxxmake      Use @@ -2979,15 +2993,15 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a Spectrometer to create a Colorimeter Correction Matrix - (CCMX)  or a Colorimeter Calibration Spectral Set (CCSS)  - for a particular display.
- extracticc    Extract + +
Regenerate a device profiles B2A table data by + inverting the A2B table. +

Creating Device Link Profiles

+ collink       @@ -3025,15 +3039,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an embedded ICC profile from a TIFF or JPEG file.
-
extractttag   Extract a text tag (ie. CGATS - .ti3 data or CAL) from an ICC profile.
- dispwin       Install @@ -3057,6 +3062,14 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Link two device ICC profiles to create a device + link profile. +

Converting colors or applying print calibration
+

+ cctiff        + @@ -3074,16 +3087,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - or uninstall display profile, set display calibration from profile - or .cal file, test displace and dispwin access to a display.
- oeminst       - Install Instrument manufacturers files for the - Spyder 2, EDR or CCSS calibration files for i1d3 or Spyder 4,  - CCMX files for colorimeters.
- specplot       @@ -3124,12 +3127,14 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Plot a spectrum (.sp, .cmf, .ccss) and calculate CCT and VCT.
- spec2cie      Convert + +
Color convert a TIFF or JPEG file using a sequence + of ICC device, device link, abstract profiles and calibration files. +
+ applycal      Apply @@ -3168,14 +3173,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - spectral .ti3 readings into CIE XYZ or L*a*b* readings. Apply FWA, - plot spectrums.
-   -

Main Tools - Alphabetic Listing:

- applycal      Apply @@ -3197,6 +3194,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + calibration curves to an ICC profile.
+ icclu         + + @@ -3215,9 +3218,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - calibration curves to an ICC profile.
- average       @@ -3258,8 +3258,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Average / Merge two measurement data files
- cb2ti3Lookup individual color values through any ICC + profile table.
+ xicclu        @@ -3301,10 +3303,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Convert Colorblind format CMY/RGB test chart into - Argyll .ti3 CGATS format.
- cctiff        @@ -3325,6 +3323,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + Lookup individual color values forward or inverted + though an ICC profile or CAL table.
+ mpplu         @@ -3345,10 +3348,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Color convert a TIFF or JPEG file using a sequence - of ICC device, device link, abstract profiles and calibration files.
- ccxxmake      Use @@ -3388,12 +3387,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a Spectrometer to create a Colorimeter Correction Matrix - (CCMX)  or a Colorimeter Calibration Spectral Set (CCSS)  - for a particular display.
- chartread     Read + +
Lookup individual color values though an MPP + profile. Also create MPP gamut files/views.
+ greytiff      Convert @@ -3433,9 +3432,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a test chart using an instrument to create a .ti3 data file.
- collink       @@ -3457,6 +3453,19 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + a TIFF file to monochrome using an ICC device profile
+

Color Tweaking tools
+

+ refine +        Creates an + abstract profile from two chart readings, useful for refining + proofing profiles.
+
+

Creating gamut views

+ iccgamut      Create @@ -3476,10 +3485,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Link two device ICC profiles to create a device - link profile.
- colprof       @@ -3520,12 +3525,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Create an ICC profile from the .ti3 test data.
- dispcal -       Adjust, calibrate and - profile a display.
- dispread      Test + + + a gamut file or VRML file of the color gamut of an ICC profile.
+ tiffgamut     Create @@ -3566,10 +3570,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - and read colorimetric values from a display
- dispwin       Install @@ -3590,6 +3590,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + a gamut file or VRML file of the color gamut of a TIFF or JPEG + image.
+ viewgam       @@ -3610,11 +3615,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - or uninstall display profile, set display calibration from profile - or .cal file, test displace and dispwin access to a display.
- extracticc    Extract @@ -3655,13 +3655,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an embedded ICC profile from a TIFF or JPEG file.
-
extractttag   Extract a text tag (ie. CGATS - .ti3 data or CAL) from an ICC profile.
- fakeCMYConvert one or more gamuts into a VRML 3D + visualization file. Compute an intersection.
+

Diagnostic and test tools
+

+ iccdump       @@ -3703,10 +3702,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Create a fake Argyll .ti3 CMY data file from a CMYK - profile, as a basis of creating a CMY to CMYK separation
- fakeread      Fake @@ -3727,6 +3722,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Dump the contents of an ICC profile as text.
+ profcheck     Check @@ -3747,9 +3746,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - the reading of a device using an ICC or MPP profile.
- filmread      Read @@ -3790,9 +3786,9 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - film colorimetric values using a SpectroScanT (Deprecated ?)
- filmtarg      Create + + an ICC profile against .ti3 test chart data.
+ invprofcheck  @@ -3833,9 +3829,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - film recorder TIFF files from Argyll .ti1 file.
- greytiff      Convert @@ -3856,6 +3849,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Check ICC forward against inverse lookup.
+ splitsti3     Split @@ -3876,10 +3873,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a TIFF file to monochrome using an ICC device profile
- iccdump       @@ -3919,10 +3912,15 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + a CGATS file (ie. a .ti3) into two parts randomly to verify + profiling.
+ timage +        Create TIFF test + images.
+ mppcheck      Check -
Dump the contents of an ICC profile as text.
- iccgamut      Create @@ -3963,9 +3961,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a gamut file or VRML file of the color gamut of an ICC profile.
- icclu         @@ -3985,6 +3980,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + an MPP profile against .ti3 test chart data.
+ spotread      Use @@ -4006,10 +4005,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Lookup individual color values through any ICC - profile table.
- illumread     Use @@ -4048,16 +4043,18 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + an instrument to read a single spot color value.
+ colverify     Verify - an instrument to measure an illuminant spectrum, and estimate its UV - content.
- invprofcheck  Check ICC - forward against inverse lookup.
- kodak2ti3     Convert + + matching of CIE in two CGATS/.ti3 files (also view differences as + VRML)
+ synthcal      Create @@ -4096,10 +4093,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Kodak Colorflow format CMYK test chart into Argyll .ti3 CGATS - format.
- mppcheck      Check @@ -4121,6 +4114,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + a synthetic input, display or output calibration (.cal)file. +

Other Tools

+ ccxxmake      Use @@ -4140,9 +4139,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an MPP profile against .ti3 test chart data.
- mpplu         @@ -4183,10 +4179,14 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Lookup individual color values though an MPP - profile. Also create MPP gamut files/views.
- mppprof       + + a Spectrometer to create a Colorimeter Correction Matrix + (CCMX)  or a Colorimeter Calibration Spectral Set (CCSS)  + for a particular display.
+ extracticc    Extract + @@ -4227,16 +4227,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Create a Model Printer Profile (MPP) from the .ti3 - test data.
- oeminst       - Install Instrument manufacturers files for the - Spyder 2, EDR or CCSS calibration files for i1d3 or Spyder 4,  - CCMX files for colorimeters.
- printcal      Create @@ -4256,6 +4246,16 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + an embedded ICC profile from a TIFF or JPEG file.
+
extractttag   Extract a text tag (ie. CGATS + .ti3 data or CAL) from an ICC profile.
+ dispwin       Install @@ -4276,9 +4276,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a printer calibration .cal file from a .ti3 data file.
- printtarg     Create @@ -4319,10 +4316,17 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a PS, EPS or TIFF file containing test patch values, ready for - printing.
- profcheck     Check + + or uninstall display profile, set display calibration from profile + or .cal file, test displace and dispwin access to a display.
+ oeminst       + Install Instrument manufacturers files for the + Spyder 2, EDR or CCSS calibration files for i1d3 or Spyder 4,  + CCMX files for colorimeters.
+ specplot       @@ -4363,14 +4367,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an ICC profile against .ti3 test chart data.
- refine -        Creates an - abstract profile from two chart readings, useful for refining - proofing profiles.
- revfix        @@ -4391,6 +4387,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + Plot a spectrum (.sp, .cmf, .ccss) and calculate CCT and VCT.
+ spec2cie      Convert @@ -4411,10 +4412,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Regenerate a device profiles B2A table data by - inverting the A2B table.
- scanin        @@ -4455,11 +4452,15 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Convert a TIFF  image of a test chart into - .ti3 device values.
- spec2cie      Convert + + spectral .ti3 readings into CIE XYZ or L*a*b* readings. Apply FWA, + plot spectrums.
+   +

Main Tools + Alphabetic Listing:

+ applycal      Apply @@ -4500,11 +4501,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - spectral .ti3 readings into CIE XYZ or L*a*b* readings. Apply FWA, - plot spectrums.
- specplot       @@ -4524,6 +4520,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + calibration curves to an ICC profile.
+ average       @@ -4545,9 +4545,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Plot a spectrum (.sp, .cmf, .ccss) and calculate CCT and VCT.
- splitsti3     Split @@ -4587,10 +4584,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a CGATS file (ie. a .ti3) into two parts randomly to verify - profiling.
- spotread      Use + +
Average / Merge two measurement data files

+ cb2ti3        @@ -4630,10 +4627,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - an instrument to read a single spot color value.
- synthcal      Create @@ -4655,6 +4648,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Convert Colorblind format CMY/RGB test chart into + Argyll .ti3 CGATS format.
+ cctiff        @@ -4673,10 +4671,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a synthetic input, display or output calibration (.cal)file.
- synthread     Fake @@ -4717,11 +4711,13 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - the reading of a device using a synthetic device model.
- targen        + + Color convert a TIFF or JPEG file using a sequence + of ICC device, device link, abstract profiles and calibration files.
+ ccxxmake      Use @@ -4760,10 +4756,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> -
Generate a profiling test target values .ti1 file. -
- tiffgamut     Create @@ -4785,6 +4777,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + a Spectrometer to create a Colorimeter Correction Matrix + (CCMX)  or a Colorimeter Calibration Spectral Set (CCSS)  + for a particular display.
+ chartread     Read @@ -4804,14 +4802,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - a gamut file or VRML file of the color gamut of a TIFF or JPEG - image.
- timage -        Create TIFF - test images.
- txt2ti3       @@ -4852,13 +4842,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Convert Gretag/Logo/X-Rite or other - format RGB or CMYK test chart results into Argyll .ti3 CGATS - format.
- verify        Verify + + a test chart using an instrument to create a .ti3 data file.
+ collink       @@ -4898,11 +4886,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - matching of CIE in two CGATS/.ti3 files (also view differences as - VRML)
- viewgam       Convert @@ -4924,6 +4907,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Link two device ICC profiles to create a device + link profile.
+ colprof       @@ -4942,10 +4930,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - one or more gamuts into a VRML 3D visualization file. Compute an - intersection.
- xicclu        @@ -4986,39 +4970,13 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Lookup individual color values forward or inverted - though an ICC profile table.
-
-

Environment Variables
-

- Performance/memory tuning hints, plus - tweaks for scipting.
-

Performance Tuning
-

- Performance hints.
-

Overview

- Overview of the software and its aims and functionality.
-

Limitations

- Limitations of the current functionality.
-

Organization

- How directories are organized, what they contain. -

Source

- Any detailed documentation on how the software works, or what - algorithms it is based on. (Very incomplete.) -

Minor Tools

- A very brief description of minor tools and test harnesses.
-
-
-

File - formats that Argyll uses

- Argyll uses a number of file formats for its operation, some that - are external standards, and some that are unique to Argyll.
-
- .ti1            + +
Create an ICC profile from the .ti3 test data.
+ colverify     Verify @@ -5057,8 +5015,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Device test values
- .ti2            @@ -5081,6 +5037,14 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + matching of CIE in two CGATS/.ti3 files (also view differences as + VRML)
+ dispcal +       Adjust, calibrate and + profile a display.
+ dispread      Test @@ -5099,8 +5063,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Device test values & chart layout
- .ti3            @@ -5141,14 +5103,13 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Device test values & CIE tristimulus/spectral results  Format details.
- .cal -            Device - calibration information. Format details.
- .cht           + + and read colorimetric values from a display
+ dispwin       Install @@ -5187,9 +5148,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Test chart recognition template. Format - details.
- .gam         @@ -5212,6 +5170,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + or uninstall display profile, set display calibration from profile + or .cal file, test displace and dispwin access to a display.
+ extracticc    Extract @@ -5230,8 +5194,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - 3D gamut surface description
- .sp            @@ -5272,15 +5234,17 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Illuminant spectral description
- .ccmx -        Colorimeter Correction Matrix
- .ccss -         Colorimeter Calibration - Spectral Set
- CGATS      + + an embedded ICC profile from a TIFF or JPEG file.
+
extractttag   Extract a text tag (ie. CGATS + .ti3 data or CAL) from an ICC profile.
+ fakeCMY       @@ -5319,8 +5283,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Standard text based data exchange format
- ICC           @@ -5343,6 +5305,12 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + +
Create a fake Argyll .ti3 CMY data file from a CMYK + profile, as a basis of creating a CMY to CMYK separation
+ fakeread      Fake + @@ -5361,8 +5329,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - International Color Consortium profile format
- MPP          @@ -5403,9 +5369,11 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Model device profile format
- TIFF         + + the reading of a device using an ICC or MPP profile.
+ filmread      Read @@ -5445,8 +5413,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Tag Image File Format raster files.
- JPEG         @@ -5468,6 +5434,10 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> + + film colorimetric values using a SpectroScanT (Deprecated ?)
+ filmtarg      Create @@ -5487,9 +5457,6 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Joint Photographic Experts Group, JPEG File Interchange Format - raster files.
- VRML       @@ -5530,41 +5497,2474 @@ href="http://www.google.com/search?hl=en&q=windows+command+prompt+tutorial"> - Virtual Reality Modelling Language 3D file format.
-
- ucmm       Unix micro - Color Management Module convention and configuration file format and - Profile - Locations.
-   -

Errors, Corrections and Omissions:

- If you notice any errors, corrections needed or omissions in - the current documentation, please contact the author.
-  
-   - - + + Virtual Reality Modelling Language 3D file format.
+
+ ucmm       Unix micro + Color Management Module convention and configuration file format and + Profile + Locations.
+   +

Errors, Corrections and Omissions:

+ If you notice any errors, corrections needed or omissions in + the current documentation, please contact the author.
+  
+   + + diff --git a/doc/ChangesSummary.html b/doc/ChangesSummary.html index 94e3aa3..82d083f 100644 --- a/doc/ChangesSummary.html +++ b/doc/ChangesSummary.html @@ -2,7 +2,7 @@ + charset=windows-1252"> complete and more detailed list of changes, please see the log.txt file. +

[V1.6.2 -> V1.6.3] 26th January 2014

+
    +
  • Added ProPhoto.icm and ProPhotoLin.icm to ref profiles.
  • +
  • Fix bug in xicclu -py conversion.
  • +
  • Added code to minimize ICC rounding error on matrix profile + white point accuracy. Re-generated all reference profiles with + this change.
  • +
  • Changed i1d3 driver to completely ignore any EEPROM checksum + errors for non "A-01" rev. instruments.
  • +
  • Made transplot handle RGB->RGB device link.
  • +
  • Removed colprof -y option. Use "profcheck -v2" instead, as it + is more developed.
  • +
  • Fixed bug in dispcal - it was not using the final measurement + pass to update the calibration curves.
  • +
  • Fixed bug in spotread, dispcal & dispread for CCSS capable + instruments where refresh display types was being ignored if a + custom observer was used, and/or the custom observer as being + ignored, and/or a  CCMX was being ignored. Changed instlib + semantics for inst_opt_set_ccss_obs :- this is now set + immediately, and applied also to any subsequent set_disptype() + or col_cal_spec_set().
  • +
  • Renamed verify to colverify to avoid clash with MSWin program + of the same name. Made it print the patch location for -v2 if it + is present in the file.
  • +
  • Changed targen to ensure that -V and -p options effects are + reflected in the resulting expected CIE values of the .ti1 file.
  • +
  • Changed targen so that -V parameter also affects single + channel, grey wedge, grid & body centered grid point + distribution.
  • +
  • Changed colprof to deal with variable grid distribution in a + more neuanced way, to reduce overshoot artifacts when the -V + parameter is used.
  • +
  • Changed colprof to used a power_like function for the grid + distribution shape from the -V parameter, so as to avoid issues + with a power curve infinte slope near zero.
  • +
  • Changed colprof to used a scaled down value of the targen -V + parameter as the default for its -V parameter. Documentation now + recommends more moderate values for -V.
  • +
  • Added a special case to collink for RGB video input encoding + to (attempt) to fine tune the black point to compensate for it + (probably) not falling on a cLUT grid point. & out encoding
  • +
  • Tweaked dispcal to try and improve accuracy of black point + calibration.
  • +
  • Switch dispread to use NoClamp readings, so that average black + point value is not biased.
  • +
  • Fixed bug introduced into 1.6.2 oeminst that prevents .ccss + files being installed.
    +
  • +
+

[V1.6.1 -> V1.6.2] 18th November 2013

+
    +
  • Added "dark region emphasis" -V parameter to targen and + colprof,  in an attempt to improve the accuracy of display + profiles intended for use with video. This should improve the + subsequent black point accuracy of the profile.
  • +
  • Fixed bug and tweaked dispcal black point optimization to err + on the black side. Added -v3 for even more debugging + information.
  • +
  • Changed i1d3 driver to be more forgiving of EEProm checksum + calculation, so that it works with the latest release "A-02" + rev.  i1 display pro & colormunki display instruments, + as well as improving its robustness in the face of errors.
  • +
  • Fixed race condition bug in OS X HID driver. This fixes + occassional problem with i1d3, and also solves problem with the + ColorHug on OS X.
  • +
  • Fixed problem with TV encoded output and dispread -E -k/-K.
  • +
  • Fixed minor bug in DE94 in icclib.
  • +
  • Fixed major bug in illumread - result was being corrupted.
  • +
  • Fixed "edges don't match" bug in printarg when -iCM -h -s/-S + used.
  • +
  • Fix bug in -H flag in ccxxmake, chartread, dispcal, dispread, + illumread & spotread so that it works once again.
  • +

  • +
  • +
+

[V1.6.0 -> V1.6.1] 30th September 2013

+
    +
  • Fix bug in "average -m"
    +
  • +
  • Fix oeminst to work with a wider range of i1d3 install files.
  • +
  • Fix ColorMunki reflective measurement accuracy, particularly + for reflective readings. This has been poor since V1.5
  • +
  • Fix bug in using DTP94 on Apple OS X introduced in V1.5
  • +
  • Fix MadVR connect code to look for appropriate 32 bit or 64 + bit .dll.
  • +
  • Improve MSWin system driver installation by creating valid + ArgyllCMS.cat file to match ArgyllCMS.inf. This eliminates the + need to "Disable Driver Signature Enforcement", as well as + allowing installation on MSWin  8.1.
    +
  • +
+

[V1.5.1 -> V1.6.0] 16th August 2013

+
    +
  • Added support for JETI specbos 1211 and 1201 (Thanks + to JETI for their support!)
  • +
  • Added Video profiling & 3dLut creation support for eeColor + and MadVR. See video section in tutorial for pointers to + relevant changes to tools. This includes support for MadTPG + + various Video standard ICC profiles + verification workflow.
    +
  • +
  • Linux profile installation will use colord if + libcolordcompat.so is present on system.
  • +
  • Fix ColorHug driver so that it is backwards compatible + with FW 1.1.8
  • +
  • Made sure that MSWin test colors are not color managed. This + may affect Vista, Win7 and Win8.
  • +
  • Changed spectro/dispwin.c so that null transform color + matching is used for displaying test patches on OS X >= 10.6. + This should fix calibrating/profiling secondary displays on > + OS X 10.6. Note that the 32 bit 10.4 binary will still have + problems on > OS X 10.6.
  • +
  • Changed instlib API ambient XYZ and spectral units to + Lux. In previous versions of instlib they were Lux/pi.
  • +
  • For those instruments that support it, made ambient readings + honor refresh mode measurements, to improve repeatability when + measuring regularly flickering light sources. (specbos, i1d3, + i1disp).
  • +
  • Changed spotread -ew mode to be Bradford chromatic transform + rather than XYZ scaling, to better match Argyll ICC abs. vs. + rel.
  • +
  • Added support to xicclu to lookup colors though CAL files, + both forward and backwards. Will also plot CAL file contents + using -g.
  • +
  • Added -Y R:rate option to spotread, dispcal, dispread & + ccxxmake to allow setting a chosen display refresh rate. This + can be used with the Colormunki display, as well as situations + in which refresh rate measurement is not reliable.
  • +
  • By default printtarg will create PS and EPS files with a CUPS + job ticket to disable color management. Use the -U flag to + disable this.
  • +
  • Added display update delay calibration support to i1pro and + ColorMunki (just like i1disp3), to improve measurement times.
  • +
  • Changed dispcal & dispread so that they wait up to 0.5 + seconds when reading dark patches after light ones to allow for + display fall time. Added  patch order optimization for + display patch sets in targen to minimize the extra time.
  • +
  • Changed dispwin daemon loader mode option from -E to -X. Added + -E option to encode test patch colors in Video 16-235 range.
  • +
  • Changed dispcal verify option from -E to -z. Added -E option + to encode test patch colors in Video 16-235 range.
  • +
  • Added -E option to to dispread to encode test patch colors in + Video 16-235 range.
  • +
  • Changed CIECAM02 Flare model to distinguish between Flare from + the image itself, and Glare from ambient light. This allows + scaling Glare with ambient automatically. Changed enumerated + viewing conditions for new Flare/Glare settings, changed all to + Flareless to improve dark image behavior, while retaining Glare + modelling. Tweaked brightness and ambient values.
  • +
  • Improved i1pro hi-res mode to improve accuracy.
  • +
  • Added Body Centered Cubic grid option to targen.
  • +
  • Added -Yn flag to dispcal and dispread, which skips asking the + user to place the instrument on the measuring spot.
  • +
  • Improve robustness of i1d3 display update measurement code.
  • +
  • Added support for applying calibration curves in collink.
  • +
  • Changed spotread so that it won't fall back to emissive spot + mode if an ambient reading is requested.
  • +
  • Turned off B2A table clip map smoothing, as it seems to + introduce reversals for some data sets, and provides little + benefit.
  • +
  • Fixed crash in ucmm/ucmm.c when loading certain profiles using + dispwin (thanks to Torok Edwin).
  • +
  • Fixed gamut mapping intent "rl" to really use relative L*a*b*
  • +
  • Fix bug in cicam02 in V1.5.0 that causes some mapping problems + in the red for collink -ir or -ila. 
  • +
  • Changed cctiff so that it does lossless JPEG copy when there + is no color transformation. This makes it more useful for + embedding a profile.
  • +
  • Fix xicclu so that it works with device links.
  • +
  • Fixed bug in shaper/matrix profile curves that caused random + bumpy black behaviour (shaper curve optimization local minimum + problem).
  • +
  • Don't add colorant tag to .tiff files in cctiff unless it is a + non-standard space, as Photoshop will barf on such files.
  • +
  • Fix bug with Spyder not being able to break out of dispcal + adjustment loop.
  • +
  • Fix bug in xicc/xicclu, -K flag not being recognised.
  • +
  • Fix bug in xicc/xmatrix.c introduced in V1.5 that prevents + matrix only profiles from being created.
  • +
  • libusb 1.0 is now deprecated in favor of native USB drivers.
    +
  • +

[V1.5.0 -> V1.5.1] 8th March 2013

  • Fix spectro/instlib.ksh and standalone instlib build.
  • @@ -684,6 +865,10 @@ + + + + @@ -718,6 +903,10 @@ + + + + and memory usage issues.
  • Fixed issues with Eye-One Pro Rev B timeouts.
  • Added new option to collink -fk, that forces 000K input to K diff --git a/doc/ColorHug.jpg b/doc/ColorHug.jpg new file mode 100644 index 0000000..6c5d16a Binary files /dev/null and b/doc/ColorHug.jpg differ diff --git a/doc/ColorManagement.html b/doc/ColorManagement.html index fa7b656..50505cd 100644 --- a/doc/ColorManagement.html +++ b/doc/ColorManagement.html @@ -96,11 +96,11 @@ down by the International Commission on Illumination (CIE) in 1931 with the establishment of the CIE 1931 XYZ 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 Device Independent since it is - not related to a particular technological capture or reproduction + what light spectra will be a color match to the Standard Observer. + The Standard Observer represents the typical response of the Human + eye under given viewing conditions. Such a color space is said to be + Device Independent 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 L* a* b* space which is a more @@ -150,8 +150,8 @@
        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.
    + linking two device profiles, ie. Device 1 -> PCS -> Device 2, + resulting in a direct Device 1 -> Device 2 transformation.

    Abstract

    @@ -234,11 +234,11 @@ 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.
    + flare/glare) can be modeled using (for example) using CIECAM02 to + modify XYZ values.

    Another limitation relates to spectral assumptions. CIE XYZ uses a - standard observer to convert spectral light values into XYZ values, + 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 @@ -252,7 +252,7 @@ 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 + 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.

    diff --git a/doc/Environment.html b/doc/Environment.html index a319513..66dbbe2 100644 --- a/doc/Environment.html +++ b/doc/Environment.html @@ -62,14 +62,17 @@
    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 ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS + instruments (ie. i1d3, i1pro, ColorMunki) 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 ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS + environment variable, ie. ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS=400 would set a 400 msec minimum delay.
    @@ -101,6 +104,7 @@
    Argyll tries to follow the XDG + Base Directory Specification, and uses the XDG_CACHE_HOME environment variable to place per instrument calibration information (Eye-One diff --git a/doc/File_Formats.html b/doc/File_Formats.html index d6e38c5..aa0f4f4 100644 --- a/doc/File_Formats.html +++ b/doc/File_Formats.html @@ -3,7 +3,7 @@ Argyll File Formats + charset=windows-1252"> @@ -19,6 +19,7 @@ .cht
    .gam
    .sp
    + .cmf
    CGATS
    ICC
    MPP
    @@ -89,11 +90,17 @@

    .sp

    Spectral illuminant description. This is an ASCII text, CGATS, 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 + used to hold one or more spectral descriptions of an illuminant or + color. 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.
    +

    .cmf

    + Color Matching Functions. This is an ASCII text, CGATS, + Argyll specific format, used to hold three spectral response curves + that define a tristimulus observer. The format is the same as a .sp + file.

    .ccmx

    Colorimeter Correction Matrix. This is an ASCII text, CGATS, Argyll specific format, @@ -112,7 +119,8 @@ 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 oeminst - and ccxxmake for more information.
    + and ccxxmake for more information. The + format is similar to a .sp file.

    CGATS

    CGATS.5 Data Exchange Format, from the Annex J, of the ANSI CGATS.5-1993 standard.
    diff --git a/doc/Installing_Linux.html b/doc/Installing_Linux.html index ad2cacc..608ff7d 100644 --- a/doc/Installing_Linux.html +++ b/doc/Installing_Linux.html @@ -44,11 +44,15 @@ + + the /etc/rc.local startup script. You may also have to run xset + + b 100 1000 100 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.
    @@ -159,10 +163,19 @@ href="#serial">Serial instrument access:    All

    - NOTE: That libmtp has been known to - interfere with device access, particularly the Spyder 3. You - probably want to disable this library (look in udev).
    + NOTE: That mtp-probe + /  libmtp been known + to interfere with device access, particularly the Spyder 3 and + DTP94. Recent versions of the libmtp should ignore any instrument + marked as COLOR_MEASUREMENT_DEVICE by the + /etc/udev/rules.d/55-Argyll.rules file, but for older systems you + probably need to disable libmtp (look in the udev configuration).
    +
    + The JETI specbos 1211 and 1201 makes use of + the FTDI Virtual + COM Port Drivers (VCP), that should come with any recent + version of Linux.


    @@ -206,6 +219,8 @@ + + /sbin/udevcontrol reload_rules or  /sbin/udevstart or reboot to get the new file noticed.
    @@ -387,6 +402,8 @@ instruments + + access using hotplug:
    Under much older versions of Linux, @@ -542,6 +559,8 @@ instruments + + access:
    If you have a serial instrument then you may find that by default diff --git a/doc/Installing_MSWindows.html b/doc/Installing_MSWindows.html index 9079db0..c08e16d 100644 --- a/doc/Installing_MSWindows.html +++ b/doc/Installing_MSWindows.html @@ -2,9 +2,9 @@ + charset=windows-1252"> + charset=windows-1252"> Argyll Installation on Microsoft Windows @@ -60,9 +60,9 @@
     So if the current value of PATH is "%SystemRoot%\system32;%SystemRoot%" and you unpacked Argyll version - 1.5.1 in d:\bin\, then you + 1.6.3 in d:\bin\, then you would modify PATH to be - "%SystemRoot%\system32;%SystemRoot%;d:\bin\Argyll_V1.5.1\bin", - + "%SystemRoot%\system32;%SystemRoot%;d:\bin\Argyll_V1.6.3\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 @@ -112,25 +112,31 @@ have to disable all of them. Reboot after changing settings.


    -

    Serial Instruments:
    +

    Serial Instruments:

    If you are using a serial connected instrument, then there is nothing special to do to enable this.
    -

    USB Instruments:

    +

    USB Instruments:

    If you are using a USB connected instrument, then suitable USB drivers may need to be - installed.
    + style="font-weight: bold;">USB system drivers may need to + be installed.

    -
    Note that the Huey - and i1 Display Pro and ColorMunki Display colorimeter - appears as an HID (USB Human Interface Device Class) device, and - hence will be assigned to the default MSWindows HID driver. You - therefore don't need to install an Argyll usb driver for these - instruments, although it is possible to select the libusb0.sys - driver as an alternative to the default HID driver.
    + Note that the Huey, + i1 Display Pro, ColorMunki Display and ColorHug + colorimeter appears as an HID (USB Human Interface Device Class) + device, and hence will be assigned to the default MSWindows HID + driver. You therefore don't need to install an + Argyll usb system driver + for these instruments, although it is possible to select the + libusb0.sys driver as an alternative to the default HID driver.
    +
    + If you are using the JETI specbos 1211 or 1201, + then you may need to install the FTDI Virtual COM + Port Drivers (VCP), if they are not already on your system.

    Jump to your operating system version:

    @@ -158,13 +164,7 @@
    To install the Argyll driver for the first instrument:
    -     Settings -> Power -> Hold Shift Key down and click - "Restart" -> Troubleshoot -> Advanced Options -> Startup - Settings -> Restart ->
    -     (After Reboot) -> "Disable Driver Signature - Enforcement" (number 7 on the list)
    -     (After system starts, Plug in instrument)
    +     (Plug in instrument)
        Desktop -> Settings -> Control Panel -> Hardware and Sound -> Device Manager ->
        Other Devices -> <instrument being @@ -191,12 +191,7 @@
    To install the Argyll Driver:
    - Settings -> Power -> Hold - Shift Key down and click "Restart" -> Troubleshoot -> - Advanced Options -> Startup Settings -> Restart ->
    -     (After Reboot) -> Disable Driver Signature - Enforcement" (number 7 on the list)
    -     (After system starts, Plug in instrument)
    +     (Plug in instrument)
        Desktop -> Settings -> Control Panel -> Hardware and Sound -> Device Manager
        (Locate the instrument in the device list. It may diff --git a/doc/Installing_OSX.html b/doc/Installing_OSX.html index d3f9057..8a17291 100644 --- a/doc/Installing_OSX.html +++ b/doc/Installing_OSX.html @@ -1,58 +1,59 @@ - + - - - - - Argyll Installation on Apple OS X - - -

    -Installing the software on Apple OS X
    -

    -
    -You -will need to unpack the downloaded file in the location you have chosen -to hold the executable files. Typically this might be in /usr/bin, or perhaps $HOME/bin/.
    -
    -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).
    -
    -Alternatively you can unpack it on the command line using  the -command tar -zxf archivename.tgz, which will create a -directory Argyll_VX.X.X, where -X.X.X is the version number, and the executables will be in Argyll_VX.X.X/bin.
    -
    -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).
    -
    -You will have to -configure your $PATH environment variable to give access to the -executables from your command line environment, by editing your .profile file.
    -You can do this using a graphical editor, by using the open command:
    -
    -  ~$open .profile
    -
    -or by using some other editor, such as vi.
    -
    -And add the following line to your .path file
    -
    -  PATH=$PATH:$HOME/Argyll_V1.1.1/bin
    -
    -If you are unfamiliar -with how to do this, consult an appropriate tutorial, e.g. <ShellIntro>. + + + + + Argyll Installation on Apple OS X + + +

    Installing the software on Apple OS X
    +

    +
    + You will need to unpack the downloaded file in the location you have + chosen to hold the executable files. Typically this might be in /usr/bin, or perhaps $HOME/bin/, or even $HOME.
    +
    + 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).
    +
    + Alternatively you can unpack it on the command line using  the + command tar -zxf archivename.tgz, which will + create a directory Argyll_VX.X.X, + where X.X.X is the version number, and the executables will be in Argyll_VX.X.X/bin.
    +
    + 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).
    +
    + You will have to configure your $PATH environment variable to give + access to the executable from your command line environment, by + editing your .profile file. + You can do this using a graphical editor, by using the open command:
    +
    +   ~$open .profile
    +
    + or by using some other editor, such as vi.
    +
    + And add a line similar to the following line to your .path file
    +
    +   PATH=$PATH:$HOME/Argyll_VX.X.X/bin
    +
    + where "$HOME/Argyll_VX.X.X/bin" is the path to the executable + directory.
    +
    + If you are unfamiliar with how to do this, consult an appropriate + tutorial, e.g. <ShellIntro>. The .tgz file @@ -60,224 +61,253 @@ 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.
    -
    -For most devices there is nothing special to do. Plug in and go. Some -devices may not work without some extra help though:
    -

    X-Rite -ColorMunki

    -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:
    -
    -1) Turn off the X-Rite service for the ColorMunki. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
    -
    -2) Run all Argyll programs that need to access the instrument as root. -For instance:
    -
    -    sudo spotread
    -
    -and then you will be asked for the root password.
    -While these methods will work, they are incovenient.
    -
    -3) Alter the X-Rite drivers Daeomon so that it runs under your user -account.
    -
    -To do this you need to edit the script that controls the X-Rite Daemon.
    -
    -    cd ~
    -    whoami
    -    cp -/Library/LaunchDaemons/com.xrite.device.colormunki.plist temp.plist
    -    open temp.plist
    -
    -and add one child below the root:
    -
    -    Item                             +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.
    +
    + For most devices there is nothing special to do. Plug in and go. + Some devices may not work without some extra help though:
    +

    X-Rite ColorMunki

    + 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:
    +
    + 1) Turn off the X-Rite service for the ColorMunki. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
    +
    + 2) Run all Argyll programs that need to access the instrument as + root. For instance:
    +
    +     sudo spotread
    +
    + and then you will be asked for the root password.
    + While these methods will work, they are incovenient.
    +
    + 3) Alter the X-Rite drivers Daeomon so that it runs under your user + account.
    +
    + To do this you need to edit the script that controls the X-Rite + Daemon.
    +
    +     cd ~
    +     whoami
    +     cp + /Library/LaunchDaemons/com.xrite.device.colormunki.plist temp.plist
    +     open temp.plist
    +
    + and add one child below the root:
    +
    +     Item                             Type                    -Value           -
    -    UserName   -                  + + + + Value           +

    +     UserName   +                   string                   -myusername
    -
    -where "myusername" is your username shown by whoami, and save the file. -You then need -to copy the modified file back:
    -
    -    sudo cp temp.plist -/Library/LaunchDaemons/com.xrite.device.colormunki.plist
    -
    -You will then need to restart the machine for this change to take -effect, or invoke the following commands:
    -
    -   sudo launchctl unload -/Library/LaunchDaemons/com.xrite.device.colormunki.plist
    -   sudo launchctl load -/Library/LaunchDaemons/com.xrite.device.colormunki.plist
    -
    -NOTE that after running Argyll -tools, you may have to turn the X-Rite service off then on again, or -disconnect and reconnect the instrument.
    -
    -

    X-Rite -EyeOne -Pro
    -

    -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:
    -
    -1) Turn off the X-Rite service for the EyeOne Pro. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
    -
    -2) Run all Argyll programs that need to access the instrument as root. -For instance:
    -
    -    sudo spotread
    -
    -and then you will be asked for the root password.
    -While these methods will work, they are incovenient.
    -
    -3) Alter the X-Rite drivers Daeomon so that it runs under your user -account.
    -
    -To do this you need to edit the script that controls the X-Rite Daemon.
    -
    -    cd ~
    -    whoami
    -    cp -/Library/LaunchDaemons/com.xrite.device.i1.plist temp.plist
    -    open temp.plist
    -
    -and add one child below the root:
    -
    -    Item                             + + + + myusername
    +
    + where "myusername" is your username shown by whoami, and save the + file. You then need to copy the modified file back:
    +
    +     sudo cp temp.plist + /Library/LaunchDaemons/com.xrite.device.colormunki.plist
    +
    + You will then need to restart the machine for this change to take + effect, or invoke the following commands:
    +
    +    sudo launchctl unload + /Library/LaunchDaemons/com.xrite.device.colormunki.plist
    +    sudo launchctl load + /Library/LaunchDaemons/com.xrite.device.colormunki.plist
    +
    + NOTE that after running + Argyll tools, you may have to turn the X-Rite service off then on + again, or disconnect and reconnect the instrument.
    +
    +

    X-Rite EyeOne Pro
    +

    + 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:
    +
    + 1) Turn off the X-Rite service for the EyeOne Pro. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
    +
    + 2) Run all Argyll programs that need to access the instrument as + root. For instance:
    +
    +     sudo spotread
    +
    + and then you will be asked for the root password.
    + While these methods will work, they are inconvenient.
    +
    + 3) Alter the X-Rite drivers Daemon so that it runs under your user + account.
    +
    + To do this you need to edit the script that controls the X-Rite + Daemon.
    +
    +     cd ~
    +     whoami
    +     cp + /Library/LaunchDaemons/com.xrite.device.i1.plist temp.plist
    +     open temp.plist
    +
    + and add one child below the root:
    +
    +     Item                             Type                    -Value           -
    -    UserName   -                  + + + + Value           +

    +     UserName   +                   string                   -myusername
    -
    -where "myusername" is your username shown by whoami, and save the file. -You then need -to copy the modified file back:
    -
    -    sudo cp temp.plist -/Library/LaunchDaemons/com.xrite.device.i1.plist
    -
    -You will then need to restart the machine for this change to take -effect, or invoke the following commands:
    -
    -   sudo launchctl unload -/Library/LaunchDaemons/com.xrite.device.i1.plist
    -   sudo launchctl load -/Library/LaunchDaemons/com.xrite.device.i1.plist
    -
    -NOTE that after running Argyll -tools, you may have to turn the X-Rite service off then on again, or -disconnect and reconnect the instrument.
    -
    -

    HCFR Colorimeter

    -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:
    -
    -    ----------------- cut here ---------------------
    -   <?xml version="1.0" encoding="UTF-8"?>
    -   <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST -1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    -   <plist version="1.0">
    -   <dict>
    -       -<key>CFBundleDevelopmentRegion</key> -<string>English</string>
    -       <key>CFBundleGetInfoString</key> -<string>Libusb USB device Shield</string>
    -       -<key>CFBundleIdentifier</key> -<string>com.libusb.USB_Shield</string>
    -       -<key>CFBundleInfoDictionaryVersion</key> -<string>6.0</string>
    -       <key>CFBundleName</key> -<string>Libusb USB device Shield</string>
    -       <key>CFBundlePackageType</key> -<string>KEXT</string>
    -       <key>CFBundleSignature</key> -<string>????</string>
    -       <key>CFBundleVersion</key> -<string>6.0</string>
    -       -<key>IOKitPersonalities</key>
    -       <dict>
    -           -<key>HCFR</key>
    -           <dict>
    -               -<key>CFBundleIdentifier</key> -<string>com.apple.driver.AppleUSBComposite</string>
    -               -<key>IOClass</key> -<string>AppleUSBComposite</string>
    -               -<key>IOProviderClass</key> -<string>IOUSBDevice</string>
    -            -   <key>idVendor</key> -<integer>1243</integer>
    -             -  -<key>idProduct</key> -<integer>91</integer>
    -           </dict>
    -       </dict>
    -       -<key>OSBundleCompatibleVersion</key> -<string>1.8</string>
    -       <key>OSBundleLibraries</key>
    -       <dict>
    -           -<key>com.apple.kernel.iokit</key> -<string>6.0</string>
    -       </dict>
    -   </dict>
    -   </plist>
    -    ----------------- cut here ---------------------
    -
    -(You can also copy this from the source installation in -usb/Argyll.kext)
    -
    -You then need to install it by using:
    -
    -  sudo cp -R Argyll.kext /System/Library/Extensions
    -
    -supplying the appropriate root password when prompted.
    -Reboot the system to activate the extension.
    -
    -


    -

    - + + + + myusername
    +
    + where "myusername" is your username shown by whoami, and save the + file. You then need to copy the modified file back:
    +
    +     sudo cp temp.plist + /Library/LaunchDaemons/com.xrite.device.i1.plist
    +
    + You will then need to restart the machine for this change to take + effect, or invoke the following commands:
    +
    +    sudo launchctl unload + /Library/LaunchDaemons/com.xrite.device.i1.plist
    +    sudo launchctl load + /Library/LaunchDaemons/com.xrite.device.i1.plist
    +
    + NOTE that after running + Argyll tools, you may have to turn the X-Rite service off then on + again, or disconnect and reconnect the instrument.
    +
    +

    JETI +specbos + + + + 1201 and 1211
    +

    +
    + If you are using the JETI specbos 1211 and 1201, + then you may need to install the FTDI Virtual COM + Port Drivers (VCP), if they are not already on your system.
    +
    +

    HCFR Colorimeter

    + 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:
    +
    +     ----------------- cut here ---------------------
    +    <?xml version="1.0" encoding="UTF-8"?>
    +    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST + 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    +    <plist version="1.0">
    +    <dict>
    +        + <key>CFBundleDevelopmentRegion</key> + <string>English</string>
    +        + <key>CFBundleGetInfoString</key> <string>Libusb + USB device Shield</string>
    +        + <key>CFBundleIdentifier</key> + <string>com.libusb.USB_Shield</string>
    +        + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string>
    +        <key>CFBundleName</key> + <string>Libusb USB device Shield</string>
    +        + <key>CFBundlePackageType</key> + <string>KEXT</string>
    +        <key>CFBundleSignature</key> + <string>????</string>
    +        <key>CFBundleVersion</key> + <string>6.0</string>
    +        + <key>IOKitPersonalities</key>
    +        <dict>
    +            + <key>HCFR</key>
    +            <dict>
    +                + <key>CFBundleIdentifier</key> + <string>com.apple.driver.AppleUSBComposite</string>
    +             +    <key>IOClass</key> + <string>AppleUSBComposite</string>
    +              +   <key>IOProviderClass</key> + <string>IOUSBDevice</string>
    +             +    <key>idVendor</key> + <integer>1243</integer>
    +              + + + +   <key>idProduct</key> + <integer>91</integer>
    +            + </dict>
    +        </dict>
    +        + <key>OSBundleCompatibleVersion</key> + <string>1.8</string>
    +        <key>OSBundleLibraries</key>
    +        <dict>
    +            + <key>com.apple.kernel.iokit</key> + <string>6.0</string>
    +        </dict>
    +    </dict>
    +    </plist>
    +     ----------------- cut here ---------------------
    +
    + (You can also copy this from the source installation in + usb/Argyll.kext)
    +
    + You then need to install it by using:
    +
    +   sudo cp -R Argyll.kext /System/Library/Extensions
    +
    + supplying the appropriate root password when prompted.
    + Reboot the system to activate the extension.
    +
    +


    +

    + diff --git a/doc/JETI_1211.jpg b/doc/JETI_1211.jpg new file mode 100644 index 0000000..efbf291 Binary files /dev/null and b/doc/JETI_1211.jpg differ diff --git a/doc/Performance.html b/doc/Performance.html index b69f5ae..340cec0 100644 --- a/doc/Performance.html +++ b/doc/Performance.html @@ -1,106 +1,142 @@ - - - - - Argyll Performance Tuning - - -

    -Performance Tuning

    -
    -Some operations in Argyll can be particularly slow, so it is worth -examining ways of improving performance, or trading memory consumption -for performance.
    -

    Creating Device Links and Profiles
    -

    -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.
    -
    -The reverse cache size can be changed by setting an environment -variable -ARGYLL_REV_CACHE_MULT 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).
    -
    -If you find that colprof -or  collink -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 lower -the amount of memory Argyll uses by setting ARGYLL_REV_CACHE_MULT to a value -less than 1.0 (ie. try 0.5).
    -
    -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.
    -
    -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 ARGYLL_REV_ACC_GRID_RES_MULT -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.
    -
    -

    Setting an environment variable:

    -
    -To set an environment variable an MSWindows DOS shell, either use set, -e.g.;
    -
    -    set ARGYLL_REV_CACHE_MULT=1.5
    -
    -which will set the value for that session, or set it in
    -
    -Control Panel->System->Advanced->Environment Variables..
    -
    -in either user or system variables.
    -
    -For OS X or Linux, the exact procedure will depend on the shell you are -running, but
    -is usually something like:
    -
    -    export ARGYLL_REV_CACHE_MULT=1.5
    -or
    -    set ARGYLL_REV_CACHE_MULT=1.5
    -or
    -    ARGYLL_REV_CACHE_MULT=1.5
    -
    -and may need separately exporting, something like:
    -
    -    export ARGYLL_REV_CACHE_MULT
    -
    -Generally it should be configured in the shell start-up script,  -if you -want the setting to be used
    -for every session.
    -
    -
    - + + + + + Argyll Performance Tuning + + +

    + Performance Tuning

    +
    + Some operations in Argyll can be particularly slow, so it is worth + examining ways of improving performance, or trading memory + consumption + for performance.
    +

    Creating Device Links and Profiles
    +

    + 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.
    +
    + The reverse cache size can be changed by setting an environment + variable + ARGYLL_REV_CACHE_MULT 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).
    +
    + If you find that colprof + or  collink + 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 lower + the amount of memory Argyll uses by setting ARGYLL_REV_CACHE_MULT to a value + less than 1.0 (ie. try 0.5).
    +
    + 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.
    +
    + 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 ARGYLL_REV_ACC_GRID_RES_MULT + 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.
    +
    +

    Setting an environment variable:

    +
    + To set an environment variable an MSWindows DOS shell, either use + set, + e.g.;
    +
    +     set ARGYLL_REV_CACHE_MULT=1.5
    +
    + which will set the value for that session, or set it in
    +
    + Control Panel->System->Advanced->Environment Variables..
    +
    + in either user or system variables.
    +
    + You can examine individual variables using
    +
    +     echo %VARIABLE_NAME%
    +
    + or see all of them using
    +
    +    set
    +
    +
    + For OS X or Linux, the exact procedure will depend on the shell you + are + running, but
    + is usually something like:
    +
    +     export ARGYLL_REV_CACHE_MULT=1.5
    + or
    +     set ARGYLL_REV_CACHE_MULT=1.5
    + or
    +     ARGYLL_REV_CACHE_MULT=1.5
    +
    + and may need separately exporting, something like:
    +
    +     export ARGYLL_REV_CACHE_MULT
    +
    + Generally it should be configured in the shell start-up + script,  + if you + want the setting to be used
    + for every session.
    +
    + You can examine individual variables using
    +
    +     echo $VARIABLE_NAME
    +
    + or see all of them using
    +
    +    set
    +
    +
    +
    + diff --git a/doc/Scenarios.html b/doc/Scenarios.html index 3995d21..e82a8a4 100644 --- a/doc/Scenarios.html +++ b/doc/Scenarios.html @@ -1,152 +1,190 @@ - - - - Argyll Usage Scenarios - - - -

    Typical usage Scenarios and Examples

    - Choose a task from the list below. For more details on alternative - options, follow the links to the individual tools being used.
    -
    - Note that by default it is assumed that ICC profile have the file - extension .icm, but that on - Apple OS X and Unix/Linux platforms, the .icc extension is expected and should be used.
    -

    Profiling Displays

    -

        Checking you can access your - display
    -

    -

        Adjusting and Calibrating a - displays

    -

        Adjusting, calibrating and - profiling in one step
    -

    -

        Creating display test values

    -

        Taking readings from a - display

    -

        Creating a display profile

    -

        Installing a display profile

    -

        Expert tips when measuring displays

    -

        Calibrating and profiling a display that doesn't - have VideoLUT access.

    -


    - Profiling Scanners and other input devices such as - cameras
    -

    -

        Types of test charts

    -

        Taking readings from a - scanner

    -

        Creating a scanner profile

    -


    - Profiling Printers

    -

        Creating a print profile - test chart

    -

        Printing a - print profile test chart

    -

        Reading a print test chart - using an instrument

    -

        Reading a print test chart - using a scanner

    -

    -

        Creating a printer profile
    -

    -

        Choosing a black generation - curve

    -
    -

    Calibrating Printers

    -

        Calibrated - print workflows

    -

        Creating a - print calibration test chart

    -

    -

        Creating a - printer calibration
    -

    -

        Using a printer - calibration

    -

        How profile ink limits are - handled when calibration is being used
    -

    -


    - Linking Profiles

    -


    - Transforming colorspaces of raster files

    -
    -

    -

    Profiling Displays

    - Argyll supports adjusting, calibrating and profiling of displays - using one of a number of instruments - see instruments 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.
    -
    -

    Checking you can access your display
    -

    - You might first want to check that you are accessing and can - calibrate your display. You can do this using the dispwin - tool. If you just run dispwin 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 dispwin (by giving it - an unrecognized option, e.g. -?) - then it will show a list of available displays next to the -d - flag. Make sure that you are accessing the display you intend to - calibrate and profile, and that the VideoLUT is effective (the -r flag can be used to just run - the VideoLUT test). You can also try clearing the VideoLUTs using - the -c flag, and loading a - deliberately strange looking calibration strange.cal that is provided in the Argyll ref directory.
    -
    - Note that calibrating and/or profiling remote displays is possible using X11 or a web - browser (see -d option of - dispcal and dispread), or by using some external program to send - test colors to a display (see -C - and -M options of dispcal + + + + Argyll Usage Scenarios + + + +

    Typical usage Scenarios and Examples

    + Choose a task from the list below. For more details on alternative + options, follow the links to the individual tools being used.
    +
    + Note that by default it is assumed that ICC profile have the file + extension .icm, but that on + Apple OS X and Unix/Linux platforms, the .icc extension is expected and should be used.
    +

    Profiling Displays

    +

        Checking you can access your + display
    +

    +

        Adjusting and Calibrating a + displays

    +

        Adjusting, calibrating and + profiling in one step
    +

    +

        Creating display test values

    +

        Taking readings from a + display

    +

        Creating a display profile

    +

        Installing a display profile

    +

        Expert tips when measuring displays

    +

        Calibrating and profiling a display that doesn't + have VideoLUT access.

    +


    + Profiling Scanners and other input devices such as + cameras
    +

    +

        Types of test charts

    +

        Taking readings from a + scanner

    +

        Creating a scanner profile

    +


    + Profiling Printers

    +

        Creating a print profile + test chart

    +

        Printing a + print profile test chart

    +

        Reading a print test chart + using an instrument

    +

        Reading a print test chart + using a scanner

    +

    +

        Creating a printer profile
    +

    +

        Choosing a black generation + curve

    +
    +

    Calibrating Printers

    +

        Calibrated + print workflows

    +

        Creating a + print calibration test chart

    +

    +

        Creating a + printer calibration
    +

    +

        Using a printer + calibration

    +

        How profile ink limits are + handled when calibration is being used
    +

    +

    Linking Profiles

    +

    Transforming colorspaces of raster files

    +

    +

    Creating Video Calibration 3DLuts

    +

    Verifying Video Calibration 3DLuts

    +
    +

    +

    Profiling Displays

    + Argyll supports adjusting, calibrating and profiling of displays + using one of a number of instruments - see instruments 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.
    +
    +

    Checking you can access your display
    +

    + You might first want to check that you are accessing and can + calibrate your display. You can do this using the dispwin + tool. If you just run dispwin 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 dispwin (by giving it + an unrecognized option, e.g. -?) + then it will show a list of available displays next to the -d + flag. Make sure that you are accessing the display you intend to + calibrate and profile, and that the VideoLUT is effective (the -r flag can be used to just run + the VideoLUT test). You can also try clearing the VideoLUTs using + the -c flag, and loading a + deliberately strange looking calibration strange.cal that is provided in the Argyll ref directory.
    +
    + Note that calibrating and/or profiling remote displays is possible using X11 or a web + browser (see -d option of + dispcal and dispread), or by using some external program to send + test colors to a display (see -C + and -M options of dispcal and dispread), but you may want to refer to Calibrating - and profiling a display that doesn't have VideoLUT access.
    -
    -

    Adjusting and Calibrating Displays

    - Please read What's the difference between - Calibration and Characterization ? if you are unclear as to - the difference .
    -
    - 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.
    -
    - You can run dispcal -r to check on how - your display is currently set up. (you may have to run this as .
    +
    +

    Adjusting and Calibrating Displays

    + Please read What's the difference between + Calibration and Characterization ? if you are unclear as to + the difference .
    +
    + 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.
    +
    + You can run dispcal -r to check on how + your display is currently set up. (you may have to run this as dispcal -yl @@ -157,331 +195,6 @@ - -r for an LCD display, or dispcal -yc -r for a - CRT display with most of the colorimeter instruments. If so, this - will apply to all of the following examples.)
    -
    - Once this is done, dispcal 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.
    -
    - A typical calibration that leaves the brightness and white point - alone, might be:
    -
    - dispcal -v TargetA
    -
    - which will result in a "TargetA.cal" calibration file, that can then - be used during the profiling stage.
    -
    - 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 dispread.
    -
    - Dispcal 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 dispcal - and dispread 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. LCD displays seem to be less - influenced by what else is on the screen.
    -
    - If dispcal is run without - arguments, it will provide a usage screen. The -c parameter allows selecting a - communication port for an instrument, or selecting the instrument - you want to use,  and the -d 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 -P 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 dispwin tool.
    -
    - For a more detailed discussion on interactively adjusting the - display controls using dispcal, - see dispcal-adjustment. Once - you have adjusted and calibrated your display, you can move on to - the next step.
    -
    - When you have calibrated and profiled your display, you can keep it - calibrated using the dispcal -u - option.
    -
    -

    Adjusting, calibrating and profiling in one - step.

    - If a simple matrix/shaper display profile is all that is desired, dispcal can be used to do this, - permitting display adjustment, calibration and profiling all in one - operation. This is done by using the dispcal -o - flag:
    -
    - dispcal -v - -o TargetA
    -
    - This will create both a TargetA.cal file, but also a TargetA.icm - file. See -o and -O for other variations.
    -
    - For more flexibility in creating a display profile, the separate - steps of creating characterization test values using targen, reading them from the - display using dispread, and - then creating a profile using colprof - are used. The following steps illustrate this:
    -

    Profiling in several steps: Creating display - test values

    - If the dispcal 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.
    -
    - The first step in profiling any output device, is to create a set of - device colorspace test values. The important parameters needed are: -
    -
      -
    • What colorspace does the device use ?
    • -
    • How many test patches do I want to use ?
    • -
    • What information do I already have about how the device - behaves ?
    • -
    - 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.
    - 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.
    -
    - 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.
    -
    - 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:
    -
    - targen -v -  -d3 -f500 - DisplayA
    -
    - 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:
    -
    -
    targen -v -  -d3 -f500 - -cOldDisplay.icm DisplayA
    -
    - The output of targen will be the file DisplayA.ti1, - containing the device space test values, as well as expected CIE - values used for chart recognition purposes.
    -
    -

    Profiling in several steps: Taking readings - from a display

    - 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.
    -
    - dispread -v - DisplayA
    -
    - If we created a calibration for the display using dispcal, then we will want to use this - when we take the display readings (e.g. TargetA.cal from the - calibration example)..
    -
    - dispread -v - -k TargetA.cal DisplayA
    -
    - dispread 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 -d - parameter, and an alternate location and size for the test window - using the -P parameter as - with dispcal.
    -

    Profiling in several steps: Creating a display - profile

    - 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.
    -
    - To create a matrix/shaper profile, the following suffices:
    -
    - colprof -v - -D"Display A" -qm - -as DisplayA
    -
    - 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:
    -
    - colprof -v - -D"Display A" -qm - -S - fogra39l.icm -cpp -dmt DisplayA
    -
    - Make sure you check the delta E report at the end of the profile - creation, to see if the profile is behaving reasonably.
    - If a calibration file was used with dispread, - 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.
    -

    Installing a display profile

    - dispwin provides a convenient way of - installing a profile as the default system profile for the chosen - display:
    -
    - dispwin -I - DisplayA.icm
    -
    - 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 -I - option will load a calibration (ICC profile or .cal file) into the - current display.
    -
    - 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  Microsoft Color Control Panel Applet for Windows XP - available for download from Microsoft to do this, but NOTE however that it seems to - have a bug, in that it - sometimes associates the profiles with the wrong monitor 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. ]
    - On Microsoft Vista, you need to use dispwin -L or some other tool to - load the installed profiles calibration at startup.
    -
    - To use dispwin to load the installed profiles calibration to the - display, use
    -
    - dispwin -L
    -
    - As per usual, you can select the appropriate display using the -d flag.
    -
    - This can be automated on MSWindows and X11/Linux by adding this - command to an appropriate startup script.
    - More system specific details, including how to create such startup - scripts are here.
    -
    - If you are using Microsoft Vista, - there is a known bug 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 - dispwin -L - may not restore the calibration, because Vista filters out setting - (what it thinks) is a calibration that is already loaded. Use dispwin -c -L - as a workaround, as this will first clear the calibration, then - re-load the current calibration.
    -
    - On X11/Linux systems, you could try adding dispwin - -L to your ~/.config/autostart 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 dispwin -E 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.
    -
    -

    Expert tips when measuring displays:
    -

    - 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.
    -
    - If you are using an Eye-One Pro or ColorMunki spectrometer, then you - may wish to use the high resolution - spectral mode (-H). - This may be better at capturing the often narrow wavelength peaks - that are typical of display primary colors.
    -
    - 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 compensate - for dark calibration changes (-Ib) - 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.
    -
    - 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 - compensate for display white level  @@ -490,21 +203,6 @@ - (-Iw) changes by doing on - the fly calibrations during the measurements. Instrument black level - drift and display white level drift can be combined (-Ibw).
    -
    - 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 Colorimeter @@ -512,118 +210,6 @@ - Correction Matrix. 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 ccmx files is here.
    -
    -

    Calibrating and profiling a display that - doesn't have VideoLUT access.

    -

    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.
    -

    -

    There are two basic options in this situation:
    -

    -

      1) Don't attempt to calibrate, just profile the display.
    -   2) Calibrate, but incorporate the calibration in some other - way in the workflow.
    -

    -

    The first case requires nothing special - just skip calibration - (see the previous section Profiling in several - steps: Creating display test values).

    -

    In the second case, there are three choices:
    -

    -

     2a) Use dispcal to create a calibration and a quick profile - that incorporates the calibration into the profile.
    -  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.
    -  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.
    -

    -

    The first case requires nothing special, use dispcal in a normal - fashioned with the -o - option to generate a quick profile.The profile created 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 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.
    -

    -

    In the second case, the calibration file created using dispcal - should be provided to dispread using the -K flag:
    -

    -

    dispread -v - -K TargetA.cal DisplayA

    -

    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.
    - You can then use applycal 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.
    -

    - 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.:
    -
    -     cctiff SourceProfile.icm DisplayA.icm DisplayA.cal - infile.tif outfile.tif
    - or
    -     cctiff SourceProfile.icm DisplayA.icm DisplayA.cal - infile.jpg outfile.jpg
    -
    -
    -

    Profiling Scanners and other input devices - such as cameras
    -

    - 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.
    -

    Types of test charts

    - 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.
    - An accessible and affordable source of such targets is Wolf Faust a - www.coloraid.de.
    - Another source is LaserSoft www.silverfast.com.
    - The Kodak Q-60 Color Input Target is also a typical example:
    -
    - Kodak Q60 chart image
    -
    - 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:
    - ColorChecker 24 patch
    -
    - Other popular charts are the X-Rite/GretagMacbeth ColorChecker DC - and ColorChecker @@ -632,18 +218,6 @@ - SG charts:
    -
    - GretagMacbeth ColorChecker DC chart ColorChecker SG
    -
    - The GretagMacbeth Eye-One Pro Scan Target 1.4 can also be used:
    -
    - Eye-One Scan Target 1.4
    -
    - Also supported is the HutchColor @@ -652,14 +226,1116 @@ - HCT :
    -
    - HutchColor HCT
    -
    -
    - and Christophe + + + + + + + -r
    for an LCD display, or dispcal -yc -r for a + CRT display with most of the colorimeter instruments. If so, this + will apply to all of the following examples.)
    +
    + Once this is done,
    dispcal 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.
    +
    + A typical calibration that leaves the brightness and white point + alone, might be:
    +
    + dispcal -v TargetA
    +
    + which will result in a "TargetA.cal" calibration file, that can then + be used during the profiling stage.
    +
    + 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 dispread.
    +
    + Dispcal 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 dispcal + and dispread 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. LCD displays seem to be less + influenced by what else is on the screen.
    +
    + If dispcal is run without + arguments, it will provide a usage screen. The -c parameter allows selecting a + communication port for an instrument, or selecting the instrument + you want to use,  and the -d 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 -P 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 dispwin tool.
    +
    + For a more detailed discussion on interactively adjusting the + display controls using dispcal, + see dispcal-adjustment. Once + you have adjusted and calibrated your display, you can move on to + the next step.
    +
    + When you have calibrated and profiled your display, you can keep it + calibrated using the dispcal -u + option.
    +
    +

    Adjusting, calibrating and profiling in one + step.

    + If a simple matrix/shaper display profile is all that is desired, dispcal can be used to do this, + permitting display adjustment, calibration and profiling all in one + operation. This is done by using the dispcal -o + flag:
    +
    + dispcal -v + -o TargetA
    +
    + This will create both a TargetA.cal file, but also a TargetA.icm + file. See -o and -O for other variations.
    +
    + For more flexibility in creating a display profile, the separate + steps of creating characterization test values using targen, reading them from the + display using dispread, and + then creating a profile using colprof + are used. The following steps illustrate this:
    +

    Profiling in several steps: Creating display + test values

    + If the dispcal 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.
    +
    + The first step in profiling any output device, is to create a set of + device colorspace test values. The important parameters needed are: +
    +
      +
    • What colorspace does the device use ?
    • +
    • How many test patches do I want to use ?
    • +
    • What information do I already have about how the device + behaves ?
    • +
    + 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.
    + 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.
    +
    + 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.
    +
    + 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:
    +
    + targen -v +  -d3 -f500 + DisplayA
    +
    + 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:
    +
    +
    targen -v +  -d3 -f500 + -cOldDisplay.icm DisplayA
    +
    + The output of targen will be the file DisplayA.ti1, + containing the device space test values, as well as expected CIE + values used for chart recognition purposes.
    +
    +

    Profiling in several steps: Taking readings + from a display

    + 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.
    +
    + dispread -v + DisplayA
    +
    + If we created a calibration for the display using dispcal, then we will want to use this + when we take the display readings (e.g. TargetA.cal from the + calibration example)..
    +
    + dispread -v + -k TargetA.cal DisplayA
    +
    + dispread 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 -d + parameter, and an alternate location and size for the test window + using the -P parameter as + with dispcal.
    +

    Profiling in several steps: Creating a display + profile

    + 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.
    +
    + To create a matrix/shaper profile, the following suffices:
    +
    + colprof -v + -D"Display A" -qm + -as DisplayA
    +
    + 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:
    +
    + colprof -v + -D"Display A" -qm + -S + fogra39l.icm -cpp -dmt DisplayA
    +
    + Make sure you check the delta E report at the end of the profile + creation, to see if the sample data and profile is behaving + reasonably.
    + If a calibration file was used with dispread, + 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.
    +

    Installing a display profile

    + dispwin provides a convenient way of + installing a profile as the default system profile for the chosen + display:
    +
    + dispwin -I + DisplayA.icm
    +
    + 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 -I + option will load a calibration (ICC profile or .cal file) into the + current display.
    +
    + 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  Microsoft Color Control Panel Applet for Windows XP + available for download from Microsoft to do this, but NOTE however that it seems to + have a bug, in that it + sometimes associates the profiles with the wrong monitor 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. ]
    + On Microsoft Vista, you need to use dispwin -L or some other tool to + load the installed profiles calibration at startup.
    +
    + To use dispwin to load the installed profiles calibration to the + display, use
    +
    + dispwin -L
    +
    + As per usual, you can select the appropriate display using the -d flag.
    +
    + This can be automated on MSWindows and X11/Linux by adding this + command to an appropriate startup script.
    + More system specific details, including how to create such startup + scripts are here.
    +
    + If you are using Microsoft Vista, + there is a known bug 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 + dispwin -L + may not restore the calibration, because Vista filters out setting + (what it thinks) is a calibration that is already loaded. Use dispwin -c -L + as a workaround, as this will first clear the calibration, then + re-load the current calibration.
    +
    + On X11/Linux systems, you could try adding dispwin + -L to your ~/.config/autostart 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 dispwin -E 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.
    +
    +

    Expert tips when measuring displays:
    +

    + 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.
    +
    + If you are using an Eye-One Pro or ColorMunki spectrometer, then you + may wish to use the high resolution + spectral mode (-H). + This may be better at capturing the often narrow wavelength peaks + that are typical of display primary colors.
    +
    + 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 compensate + for dark calibration changes (-Ib) + 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.
    +
    + 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 + compensate for display white level  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (-Iw) changes by doing on + the fly calibrations during the measurements. Instrument black level + drift and display white level drift can be combined (-Ibw).
    +
    + 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 Colorimeter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Correction Matrix. 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 ccmx files is here.
    +
    +

    Calibrating and profiling a display that + doesn't have VideoLUT access.

    +

    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.
    +

    +

    There are two basic options in this situation:
    +

    +

      1) Don't attempt to calibrate, just profile the display.
    +   2) Calibrate, but incorporate the calibration in some other + way in the workflow.
    +

    +

    The first case requires nothing special - just skip calibration + (see the previous section Profiling in several + steps: Creating display test values).

    +

    In the second case, there are three choices:
    +

    +

     2a) Use dispcal to create a calibration and a quick profile + that incorporates the calibration into the profile.
    +  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.
    +  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.
    +

    +

    The first case requires nothing special, use dispcal in a normal + fashioned with the -o + option to generate a quick profile.The profile created 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 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.
    +

    +

    In the second case, the calibration file created using dispcal + should be provided to dispread using the -K flag:
    +

    +

    dispread -v + -K TargetA.cal DisplayA

    +

    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.
    + You can then use applycal 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.
    +

    + 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.:
    +
    +     cctiff SourceProfile.icm DisplayA.icm DisplayA.cal + infile.tif outfile.tif
    + or
    +     cctiff SourceProfile.icm DisplayA.icm DisplayA.cal + infile.jpg outfile.jpg
    +
    +
    +

    Profiling Scanners and other input devices + such as cameras
    +

    + 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.
    +

    Types of test charts

    + 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.
    + An accessible and affordable source of such targets is Wolf Faust a + www.coloraid.de.
    + Another source is LaserSoft www.silverfast.com.
    + The Kodak Q-60 Color Input Target is also a typical example:
    +
    + Kodak Q60 chart image
    +
    + 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:
    + ColorChecker 24 patch
    +
    + Other popular charts are the X-Rite/GretagMacbeth ColorChecker DC + and ColorChecker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SG charts:
    +
    + GretagMacbeth ColorChecker DC chart ColorChecker SG
    +
    + The GretagMacbeth Eye-One Pro Scan Target 1.4 can also be used:
    +
    + Eye-One Scan Target 1.4
    +
    + Also supported is the HutchColor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HCT :
    +
    + HutchColor HCT
    +
    +
    + and Christophe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Métairie's Digital TargeT 003 and Christophe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Métairie's Digital Target - 3 :
    +
    + CMP_DT_003  CMP_Digital_Target-3
    +
    + and the LaserSoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Imaging DCPro Target:
    +
    + LaserSoft DCPro
+      Target
    +
    + The Datacolor SpyderCheckr:
    +
    + Datacolor
+      SpyderCheckr
    +
    + One of the QPcard's:
    + QPcard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 201:            QPcard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 202:
    +
    + QPCard201        +             QPcard202
    +
    +

    Taking readings from a scanner or camera
    +

    + 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 scanin -p 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.
    +
    + 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).
    +
    + 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 scanin tool needs to be given + a template .cht 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.
    +
    +
    For an IT8.7/2 chart, this is the ref/it8.cht 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 here.
    + NOTE that the reference file for the IT8.7/2 chart supplied with Monaco EZcolor 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.)
    +
    + For the ColorChecker 24 patch chart, the ref/ColorChecker.cht file + should be used, and there is also a ref/ColorChecker.cie 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 ref/ColorChecker.ti2:
    +    chartread -n -a + ColorChecker.ti2
    + Note that due to the small number of patches, a profile created + from such a chart is not likely to be very detailed.
    +
    + For the ColorChecker DC chart, the ref/ColorCheckerDC.cht file should be used, and + there will be a ColorCheckerDC reference file supplied by + X-Rite/GretagMacbeth with the chart.
    +
    + 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.
    + A limited CIE reference file is available from X-Rite here, + but it is not in the usual CGATS format. To convert it to a CIE + reference file useful for scanin, + you will need to edit the X-Rite file using a plain text editor, + first deleting everything before the line starting with "A1" and + everything after "N10", then prepending this + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + header, and appending this footer, + making sure there are no blank lines inserted in the process. + There are reports that X-Rite have experimented with different ink + formulations for certain patches, so the above reference may not + be as accurate as desired, and it is preferable to measure your + own chart using a spectrometer, if you have the capability.
    + 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,
    + then you may + need to convert the reference information from spectral ColorCheckerSG.txt file to CIE + value ColorCheckerSG.cie + reference file, follow the following steps:
    +      txt2ti3 + ColorCheckerSG.txt ColorCheckerSG
    +      spec2cie + ColorCheckerSG.ti3 ColorCheckerSG.cie
    +
    + For the Eye-One Pro Scan Target 1.4 chart, the ref/i1_RGB_Scan_1.4.cht + 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 ref/i1_RGB_Scan_1.4.ti2:
    +     chartread -n -a + i1_RGB_Scan_1.4
    + and then rename the resulting i1_RGB_Scan_1.4.ti3 + file to i1_RGB_Scan_1.4.cie
    +
    + For the HutchColor HCT chart, the ref/Hutchcolor.cht + file should be used, and the reference .txt file downloaded from the HutchColor website.
    +
    + For the Christophe Métairie's Digital TargeT 003 chart with 285 + patches, the ref/CMP_DT_003.cht + file should be used, and the cie reference files come with the chart.
    +
    + For the Christophe Métairie's Digital Target-3 chart with 570 + patches, the ref/CMP_Digital_Target-3.cht + file should be used, and the cie reference files come with the chart.
    +
    + For the LaserSoft DCPro chart, the ref/LaserSoftDCPro.cht file should be used, and + reference .txt file + downloaded from the Silverfast + website.
    +
    + For the Datacolor SpyderCheckr, the ref/SpyderChecker.cht file should be used, and a + reference ref/SpyderChecker.cie + file made from measuring a sample chart is also available. + Alternately you could create your own reference file by + transcribing the values + on the Datacolor website.
    +
    + For the QPCard 201, the ref/QPcard_201.cht + file should be used, and a reference ref/QPcard_201.cie file made from measuring a + sample chart is also available.
    +
    + For the QPCard 202, the ref/QPcard_202.cht + file should be used, and a reference ref/QPcard_202.cie file made from measuring a + sample chart is also available.
    +
    +
    + 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 .cht_format + + + + + + + + + + + + @@ -668,8 +1344,6 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm - Métairie's Digital TargeT 003 and Christophe @@ -678,13 +1352,6 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm - Métairie's Digital Target - 3 :
    -
    - CMP_DT_003  CMP_Digital_Target-3
    -
    - and the LaserSoft @@ -693,107 +1360,425 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm - Imaging DCPro Target:
    -
    - LaserSoft DCPro
-      Target
    -
    - The Datacolor SpyderCheckr:
    -
    - Datacolor
-      SpyderCheckr
    -
    - One of the QPcard's:
    - QPcard - 201:            QPcard - 202:
    -
    - QPCard201        -             QPcard202
    -
    -

    Taking readings from a scanner or camera
    -

    - 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 scanin -p 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.
    -
    - 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).
    -
    - 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 scanin tool needs to be given - a template .cht 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.
    -
    -
    For an IT8.7/2 chart, this is the ref/it8.cht 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 here.
    - NOTE that the reference file for the IT8.7/2 chart supplied with Monaco EZcolor 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.)
    -
    - For the ColorChecker 24 patch chart, the ref/ColorChecker.cht file - should be used, and there is also a ref/ColorChecker.cie 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 ref/ColorChecker.ti2:
    -    chartread -n -a - ColorChecker.ti2
    - Note that due to the small number of patches, a profile created - from such a chart is not likely to be very detailed.
    -
    - For the ColorChecker DC chart, the ref/ColorCheckerDC.cht file should be used, and - there will be a ColorCheckerDC reference file supplied by - X-Rite/GretagMacbeth with the chart.
    -
    - 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.
    - A limited CIE reference file is available from X-Rite here, - but it is not in the usual CGATS format. To convert it to a CIE - reference file useful for scanin, - you will need to edit the X-Rite file using a plain text editor, - first deleting everything before the line starting with "A1" and - everything after "N10", then prepending this + + + + + documentation).
    +
    + To create the scanner .ti3 file, run the scanin tool as + follows (assuming an IT8 chart is being used):
    +
    + scanin -v scanner.tif It8.cht It8ref.txt
    +
    + "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 "scanner.ti3".
    +
    + scanin 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. +
    +
    + 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 -dipn + and examine the diag.tif + 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 -F parameters. The fiducial marks should + be listed in a clockwise direction starting at the top left.
    +

    Creating a scanner or camera input profile

    + 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.
    +
    + 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.
    +
    + If the purpose of the input profile is to use it as a substitute for + a colorimeter, then the -u 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.
    +
    + To create a matrix/shaper profile, the following suffices:
    +
    + colprof -v + -D"Scanner A" + -qm -as scanner
    +
    + For an XYZ PCS LUT based profile then the following would be used:
    +
    + colprof -v + -D"Scanner A" -qm + -ax scanner
    +
    + For the purposes of a poor mans colorimeter, the following would + generally be used:
    +
    + colprof -v + -D"Scanner A" -qm + -ax -u scanner
    +
    + Make sure you check the delta E report at the end of the profile + creation, to see if the sample data and profile is behaving + reasonably. 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 measurement, or profile creation.
    +
    + If profiling a camera in RAW 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 -u flag and avoid + setting the white point to that of the profile chart:
    +
    + colprof -v + -D"Camera" -qm + -am -u scanner
    +
    +
    +
    +

    Profiling Printers
    +

    + 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.
    +

    Creating a print profile test chart

    + The first step in profiling any output device, is to create a set of + device colorspace test values. The important parameters needed are:
    +
      +
    • What colorspace does the device use ?
    • +
    • How many test patches do I want to use/what paper size do I + want to use ?
    • +
    • What instrument am I going to use to read the patches ?
      +
    • +
    • If it is a CMYK device, what is the total ink limit ?
      +
    • +
    • What information do I already have about how the device + behaves ?
    • +
    + 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 iccdump.
    +
    + 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.
    +
    + 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.
    +
    + 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.
    +
    + The documentation for the targen tool + lists a table + of paper sizes and number of  patches for typical situations.
    +
    + 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.
    +
    + 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.
    +
    + 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.
    +
    + 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.
    +
    +
    + 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%.
    +
    + The simplest approach is to make a set of test values that is + independent of the characteristics of the particular device:
    +
    + targen -v +  -d2 -f1053 + PrinterA
    +
    + targen -v +  -d4 -l260 + -f1053 PrinterB
    +
    + The number of patches chosen here happens to be right for an A4 + paper size being read using a Spectroscan instrument. See the table in  the targen documentation for some other + suggested numbers.
    +
    + 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:
    +

    + targen -v +  -d2 -f1053 + -c OldPrinterA PrinterA
    +
    + targen -v +  -d4 -l260 + -f1053 -c + OldPrinterB PrinterB
    +
    +
    + The output of targen 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.
    +
    +

    Printing a print profile test chart
    +
    +

    + 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.
    +
    + For an X-Rite DTP41, the following would be typical:
    +
    + printtarg -v + -i41 -pA4 + PrinterA
    +  
    + For a Gretag Eye-One Pro, the following would be typical:
    +
    + printtarg -v + -ii1 -pA4 + PrinterA
    +
    + For using with a scanner as a colorimeter, the Gretag Spectroscan + layout is suitable, but the -s 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 targen, when using the printtarg -s flag, e.g. 1026 + patches for an A4R page, etc.) The following would be typical:
    +
    + printtarg -v + -s -iSS + -pA4R PrinterA
    +
    + printtarg
    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 -s + flag is used, one or more PrinterA.cht files is created to allow the + scanin program to recognize the chart.
    +
    + To create TIFF raster files rather than PostScript, use the -t + flag.
    +
    + GSview is a good program to + use to check what the PostScript file will look like, without + actually printing it out. You could also use Photoshop or ImageMagick for this purpose.
    +
    + The last step is to print the chart out.
    +
    + 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 -e and -t + flags).
    +
    +

    Reading a print test chart using an instrument

    + Once the test chart has been printed, the color of the patches needs + to be read using a suitable instrument.
    +
    + 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 instruments + for a current list.
    +
    + The instrument needs to be connected to your computer before running + the chartread 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.
    +
    + If you run chartread so as to print + out its usage message (ie. by using a -? or -- + flags), then it will list any identified serial ports or USB + connected instruments, and their corresponding number for the -c option. By default, chartread will try to connect to the + first available USB instrument, or an instrument on the first serial + port.
    +
    + 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 -c option would also be + specified.
    +
    +  e.g. for a Spectroscan on the second port:
    +
    + chartread -c2 + PrinterA
    +
    + For a DTP41 to the default serial port:
    +
    + chartread + PrinterA
    +
    + chartread will interactively + prompt you through the process of reading each sheet or strip. See chartread for more details on the + responses for each type of instrument. Continue with Creating a printer profile.
    +
    +

    Reading a print test chart using a scanner or + camera
    +

    +
    + 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.
    +
    + The main limitation of the scanner-as-colorimeter approach are:
    +
    + * The scanner dynamic range and/or precision may not match the + printers or what is required for a good profile.
    + * The spectral interaction of the scanner test chart and printer + test chart with the scanner spectral response can cause color + errors.
    + * Spectral differences caused by different black amounts in the + print test chart can cause color errors.
    + * The scanner reference chart gamut may be much smaller than the + printers gamut, making the scanner profile too inaccurate to be + useful.
    +
    + 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.
    +
    + The end result is often a profile that has a noticeable color cast, + compared to a profile created using a colorimeter or spectrometer.
    +
    +
    + It is assumed that you have created a scanner or camera profile + following the procedure + 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 -u + flag to avoid clipping scanned value whiter than the input + calibration chart.
    +
    + Scan or photograph your printer chart (or charts) on the scanner or + camera previously profiled. The + + + + + + + + + + + + + + @@ -801,79 +1786,6 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t - header, and appending this footer, - making sure there are no blank lines inserted in the process.
    - 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,
    - then you may - need to convert the reference information from spectral ColorCheckerSG.txt file to CIE - value ColorCheckerSG.cie - reference file, follow the following steps:
    -      txt2ti3 - ColorCheckerSG.txt ColorCheckerSG
    -      spec2cie - ColorCheckerSG.ti3 ColorCheckerSG.cie
    -
    - For the Eye-One Pro Scan Target 1.4 chart, the ref/i1_RGB_Scan_1.4.cht - 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 ref/i1_RGB_Scan_1.4.ti2:
    -     chartread -n -a - i1_RGB_Scan_1.4
    - and then rename the resulting i1_RGB_Scan_1.4.ti3 - file to i1_RGB_Scan_1.4.cie
    -
    - For the HutchColor HCT chart, the ref/Hutchcolor.cht - file should be used, and the reference .txt file downloaded from the HutchColor website.
    -
    - For the Christophe Métairie's Digital TargeT 003 chart with - 285 patches, the ref/CMP_DT_003.cht - file should be used, and the cie reference files come with the chart.
    -
    - For the Christophe Métairie's Digital Target-3 chart with - 570 patches, the ref/CMP_Digital_Target-3.cht - file should be used, and the cie reference files come with the chart.
    -
    - For the LaserSoft DCPro chart, the ref/LaserSoftDCPro.cht file should be used, and - reference .txt file - downloaded from the Silverfast - website.
    -
    - For the Datacolor SpyderCheckr, the ref/SpyderChecker.cht file should be used, and a - reference ref/SpyderChecker.cie - file made from measuring a sample chart is also available. - Alternately you could create your own reference file by - transcribing the values - on the Datacolor website.
    -
    - For the QPCard 201, the ref/QPcard_201.cht - file should be used, and a reference ref/QPcard_201.cie file made from measuring a - sample chart is also available.
    -
    - For the QPCard 202, the ref/QPcard_202.cht - file should be used, and a reference ref/QPcard_202.cie file made from measuring a - sample chart is also available.
    -
    -
    - 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 .cht_format @@ -881,399 +1793,6 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t - documentation).
    -
    - To create the scanner .ti3 file, run the scanin tool as - follows (assuming an IT8 chart is being used):
    -
    - scanin -v scanner.tif It8.cht It8ref.txt
    -
    - "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 "scanner.ti3".
    -
    - scanin 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. -
    -
    - 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 -dipn - and examine the diag.tif - 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 -F parameters. The fiducial marks should - be listed in a clockwise direction starting at the top left.
    -

    Creating a scanner or camera input profile

    - 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.
    -
    - 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.
    -
    - If the purpose of the input profile is to use it as a substitute for - a colorimeter, then the -u 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.
    -
    - To create a matrix/shaper profile, the following suffices:
    -
    - colprof -v - -D"Scanner A" - -qm -as scanner
    -
    - For an XYZ PCS LUT based profile then the following would be used:
    -
    - colprof -v - -D"Scanner A" -qm - -ax scanner
    -
    - For the purposes of a poor mans colorimeter, the following would - generally be used:
    -
    - colprof -v - -D"Scanner A" -qm - -ax -u scanner
    -
    - Make sure you check the delta E report at the end of the profile - creation, to see if the profile is behaving reasonably.
    -
    -
    - If profiling a camera in RAW 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 -u flag and avoid - setting the white point to that of the profile chart:
    -
    - colprof -v - -D"Camera" -qm - -am -u scanner
    -
    -
    -
    -

    Profiling Printers
    -

    - 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.
    -

    Creating a print profile test chart

    - The first step in profiling any output device, is to create a set of - device colorspace test values. The important parameters needed are:
    -
      -
    • What colorspace does the device use ?
    • -
    • How many test patches do I want to use/what paper size do I - want to use ?
    • -
    • What instrument am I going to use to read the patches ?
      -
    • -
    • If it is a CMYK device, what is the total ink limit ?
      -
    • -
    • What information do I already have about how the device - behaves ?
    • -
    - 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 iccdump.
    -
    - 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.
    -
    - 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.
    -
    - 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.
    -
    - The documentation for the targen tool - lists a table - of paper sizes and number of  patches for typical situations.
    -
    - 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.
    -
    - 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.
    -
    - 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.
    -
    - 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.
    -
    -
    - 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%.
    -
    - The simplest approach is to make a set of test values that is - independent of the characteristics of the particular device:
    -
    - targen -v -  -d2 -f1053 - PrinterA
    -
    - targen -v -  -d4 -l260 - -f1053 PrinterB
    -
    - The number of patches chosen here happens to be right for an A4 - paper size being read using a Spectroscan instrument. See the table in  the targen documentation for some other - suggested numbers.
    -
    - 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:
    -

    - targen -v -  -d2 -f1053 - -c OldPrinterA PrinterA
    -
    - targen -v -  -d4 -l260 - -f1053 -c - OldPrinterB PrinterB
    -
    -
    - The output of targen 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.
    -
    -

    Printing a print profile test chart
    -
    -

    - 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.
    -
    - For an X-Rite DTP41, the following would be typical:
    -
    - printtarg -v - -i41 -pA4 - PrinterA
    -  
    - For a Gretag Eye-One Pro, the following would be typical:
    -
    - printtarg -v - -ii1 -pA4 - PrinterA
    -
    - For using with a scanner as a colorimeter, the Gretag Spectroscan - layout is suitable, but the -s 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 targen, when using the printtarg -s flag, e.g. 1026 - patches for an A4R page, etc.) The following would be typical:
    -
    - printtarg -v - -s -iSS - -pA4R PrinterA
    -
    - printtarg
    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 -s - flag is used, one or more PrinterA.cht files is created to allow the - scanin program to recognize the chart.
    -
    - To create TIFF raster files rather than PostScript, use the -t - flag.
    -
    - GSview is a good program to - use to check what the PostScript file will look like, without - actually printing it out. You could also use Photoshop or ImageMagick for this purpose.
    -
    - The last step is to print the chart out.
    -
    - 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 -e and -t - flags).
    -
    -

    Reading a print test chart using an instrument

    - Once the test chart has been printed, the color of the patches needs - to be read using a suitable instrument.
    -
    - 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 instruments - for a current list.
    -
    - The instrument needs to be connected to your computer before running - the chartread 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.
    -
    - If you run chartread so as to print - out its usage message (ie. by using a -? or -- - flags), then it will list any identified serial ports or USB - connected instruments, and their corresponding number for the -c option. By default, chartread will try to connect to the - first available USB instrument, or an instrument on the first serial - port.
    -
    - 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 -c option would also be - specified.
    -
    -  e.g. for a Spectroscan on the second port:
    -
    - chartread -c2 - PrinterA
    -
    - For a DTP41 to the default serial port:
    -
    - chartread - PrinterA
    -
    - chartread will interactively - prompt you through the process of reading each sheet or strip. See chartread for more details on the - responses for each type of instrument. Continue with Creating a printer profile.
    -
    -

    Reading a print test chart using a scanner or - camera
    -

    -
    - 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.
    -
    - The main limitation of the scanner-as-colorimeter approach are:
    -
    - * The scanner dynamic range and/or precision may not match the - printers or what is required for a good profile.
    - * The spectral interaction of the scanner test chart and printer - test chart with the scanner spectral response can cause color - errors.
    - * Spectral differences caused by different black amounts in the - print test chart can cause color errors.
    - * The scanner reference chart gamut may be much smaller than the - printers gamut, making the scanner profile too inaccurate to be - useful.
    -
    - 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.
    -
    - The end result is often a profile that has a noticeable color cast, - compared to a profile created using a colorimeter or spectrometer.
    -
    -
    - It is assumed that you have created a scanner or camera profile - following the procedure - 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 -u - flag to avoid clipping scanned value whiter than the input - calibration chart.
    -
    - Scan or photograph your printer chart (or charts) on the scanner or - camera previously profiled. The @@ -1282,97 +1801,106 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t - scanner or camera must be configured and used exactly the same - as it was when it was profiled.
    -
    - I will assume the resulting scan/photo input file is called PrinterB.tif (or PrinterB1.tif, PrinterB2.tif 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.
    -
    - The scanner recognition files created when printtarg was run is assumed to - be called PrinterB.cht. - Using the scanner profile created previously (assumed to be called scanner.icm), the printer test - chart scan patches are converted to CIE values using the scanin tool:
    -
    - scanin -v -c PrinterB.tif - PrinterB.cht scanner.icm PrinterB
    -
    - If there were multiple test chart pages, the results would be - accumulated page by page using the -ca - option, ie., if there were 3 pages:
    -
    - scanin -v -c PrinterB1.tif - PrinterB1.cht scanner.icm PrinterB
    - scanin -v -ca PrinterB2.tif - PrinterB2.cht scanner.icm PrinterB
    - scanin -v -ca PrinterB3.tif - PrinterB3.cht scanner.icm PrinterB
    -
    - Now that the PrinterB.ti3 - data has been obtained, the profile continue in the next section - with Creating a printer profile.
    -
    - 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 -dipn - and examine the diag.tif - diagnostic file.
    -

    Creating a printer profile
    -

    - 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.
    -
    - Where the resulting profile will be used conventionally (ie. using collink -s, - or cctiff 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 colprof -S - 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.
    -
    - "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.
    -
    - 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.
    -
    - 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. collink + + + + + + + + + + scanner or camera must be configured and used exactly the same + as it was when it was profiled.

    +
    + I will assume the resulting scan/photo input file is called PrinterB.tif (or PrinterB1.tif, PrinterB2.tif 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.
    +
    + The scanner recognition files created when printtarg was run is assumed to + be called PrinterB.cht. + Using the scanner profile created previously (assumed to be called scanner.icm), the printer test + chart scan patches are converted to CIE values using the scanin tool:
    +
    + scanin -v -c PrinterB.tif + PrinterB.cht scanner.icm PrinterB
    +
    + If there were multiple test chart pages, the results would be + accumulated page by page using the -ca + option, ie., if there were 3 pages:
    +
    + scanin -v -c PrinterB1.tif + PrinterB1.cht scanner.icm PrinterB
    + scanin -v -ca PrinterB2.tif + PrinterB2.cht scanner.icm PrinterB
    + scanin -v -ca PrinterB3.tif + PrinterB3.cht scanner.icm PrinterB
    +
    + Now that the PrinterB.ti3 + data has been obtained, the profile continue in the next section + with Creating a printer profile.
    +
    + 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 -dipn + and examine the diag.tif + diagnostic file.
    +

    Creating a printer profile
    +

    + 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.
    +
    + Where the resulting profile will be used conventionally (ie. using collink -s, + or cctiff 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 colprof -S + 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.
    +
    + "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.
    +
    + 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.
    +
    + 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. collink -g or -G), then @@ -1383,69 +1911,113 @@ then - it can save considerable processing time and space if the -b flag is - used, and the -S flag not used.
    -
    - For an RGB printer intended to print RGB originals, the following - might be a typical profile usage:
    -
    - colprof -v - -D"Printer A" -qm - -S sRGB.icm - -cmt -dpp - PrinterA
    -
    - or if you intent to print from Fogra, SWOP or other standard CMYK - style originals:
    -
    - colprof -v - -D"Printer A" -qm - -S - fogra39l.icm -cmt -dpp PrinterA
    -
    - If you know what colorspace your originals are in, use that as the - argument to -S.
    -
    -

    Choosing a black generation curve (and other - CMYK printer options)
    -

    - 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 colprof for the - details of the options.
    -
    - Note
    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.
    -
    - 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.
    -
    - If you want to experiment with the various black generation - parameters, then it might be a good idea to create a preliminary - profile (using -ql -b -no, +
    + For an RGB printer intended to print RGB originals, the following + might be a typical profile usage:
    +
    +
    colprof -v + -D"Printer A" -qm + -S sRGB.icm + -cmt -dpp + PrinterA
    +
    + or if you intent to print from Fogra, SWOP or other standard CMYK + style originals:
    +
    + colprof -v + -D"Printer A" -qm + -S + fogra39l.icm -cmt -dpp PrinterA
    +
    + If you know what colorspace your originals are in, use that as the + argument to -S.
    +
    + Make sure you check the delta E report at the end of the profile + creation, to see if the sample data and profile is behaving + reasonably. 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 measurement, or profile creation. +

    Choosing a black generation curve (and other + CMYK printer options)
    +

    + 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 colprof for the + details of the options.
    +
    + Note
    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.
    +
    + 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.
    +
    + If you want to experiment with the various black generation + parameters, then it might be a good idea to create a preliminary + profile (using -ql -b -no, -ni and no -S), @@ -1454,406 +2026,443 @@ then - and then used xicclu to explore the - effect of the parameters.
    -
    - For instance, say we have our CMYK .ti3 file PrinterB.ti3. First we make a - preliminary profile called PrinterBt:
    -
    - copy PrinterB.ti3 PrinterBt.ti3      (Use - "cp" on Linux or OSX of course.)
    - colprof -v - -qm -b -cmt -dpp - PrinterBt
    -
    - 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%:
    -
    - xicclu -g -kz -l290 -fif -ir PrinterBt.icm
    -
    - Which might be a graph something like this:
    -
    - Graph of CMYK neutral axis with minimum K
    -
    - 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.
    -
    - Then let's see what the maximum black level down the neutral axis - can be:
    -
    - xicclu -g -kx -l290 -fif -ir PrinterBt.icm
    -
    - Which might be a graph something like this:
    -
    - Graph of CMYK neutral axis with maximum K
    -
    - 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.
    -
    - Any K curve we specify must lie between the black curves of the - above two graphs.
    -
    - 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.
    -
    - -k parameters
    -
    -
    - 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:
    -
    - xicclu -g -kp 0 0 .93 .87 1.0 -l290 -fif -ir PrinterBt.icm
    -
    - Graph of CMYK neutral axis with kp 0 0 1.0 1.0 1.0 -l290
    -
    - 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:
    -
    - xicclu -g -kp 0 0 .93 .87 - 0.65 -l290 -fif -ir PrinterBt.icm
    -
    - Graph of CMYK neutral axis with -kp 0 .05 1 .9 1 -l290
    -
    - This looks just about perfect, so the the curve parameters can now - be used to generate our real profile:
    -
    - colprof -v - -D"Printer B" -qm - -kp 0 0 .93 - .87 0.65 -S sRGB.icm -cmt - -dpp PrinterB
    -
    - and the resulting B2A table black curve can be checked using xicclu:
    -
    - xicclu -g -fb -ir PrinterB.icm
    -
    - sadsadas
    -
    -
    -

    - Examples of other inkings:
    -
    -
    A smoothed zero black inking:
    -
    - xicclu -g -kp 0 .7 .93 .87 - 1.0 -l290 -fif -ir PrinterBt.icm
    -
    - sadsadas
    -
    - A low black inking:
    -
    - xicclu -g -kp 0 0 .93 .87 - 0.15 -l290 -fif -ir PrinterBt.icm
    -
    - sadsadas
    -
    -
    - A high black inking:
    -
    - xicclu -g -kp 0 0 .93 .87 - 1.2 -l290 -fif -ir PrinterBt.icm
    -
    - sadsadas
    -
    - -

    Overriding the ink limit
    -

    - Normally the total ink limit will be read from the PrinterB.ti3 file, and will be - set at a level 10% lower than the number used in creating the test - chart values using targen -l. If you - want to override this with a lower limit, then use the -l flag.
    -
    - colprof -v - -D"Printer B" -qm - -S sRGB.icm - -cmt -dpp - -kr -l290 - PrinterB
    -
    - Make sure you check the delta E report at the end of the profile - creation, to see if the profile is behaving reasonably.
    -
    - One way of checking that your ink limit is not too high, is to use "xicc -fif -ia" to check, by - setting different ink limits using the -l option, feeding Lab = 0 0 0 into it, and checking - the resulting  black point. Starting with the ink limit used - with targen 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.
    -
    -

    -

    Calibrating Printers
    -

    - Profiling creates a - description of how a device behaves, while calibration on the other hand is - intended to change - 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.
    -
    - NOTE: 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.
    -

    Calibrated print workflows

    - There are two main workflows that printer calibration curves can be - applied to:
    -
    - Workflow with native calibration - capability:
    -
    - 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 printcal. - The calibration is then installed into the printer. Subsequent - profiling will be performed on the calibrated 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.)
    -
    - Workflow without native calibration - capability:
    -
    - 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 printcal,. During the subsequent - profiling, the - calibration curves will need to be applied to the profile test chart - in the process of using printtarg. - 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 cctiff to apply color profiles and calibration, OR by creating a version of the - profile that has had the calibration curves incorporated into it - using the applycal tool. - The latter is useful when some CMM (color management module) other - than cctiff is being used.
    -
    - 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. -   -

    Creating a print calibration test chart

    - 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.
    -
    - 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.
    -
    - For instance, to create a 50 steps per channel calibration test - chart for our RGB and CMYK devices, the following would be - sufficient:
    -
    - targen -v -  -d2 -s50 - -e3 -f0 PrinterA_c
    -
    - targen -v -  -d4 -s50 - -e4 -f0 PrinterB_c
    -
    - For an outline of how to then print and read the resulting test - chart, see  Printing a print - profile test chart, and Reading - a print test chart using an instrument. 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.
    -
    - NOTE that if you are - calibrating a raw printer driver, and there is considerable dot - gain, then you may want to use the -p - 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 -p.
    -

    Creating a printer calibration
    -

    - The printcal tool turns a calibration - chart .ti3 file into a .cal 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.)
    -
    - 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.
    -
    - 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 -x# percent option, where # represents the choice of - channel this will be applied to. The parameter is the percentage of - device maximum.
    -
    - The minimum level defaults to 0, but can be overridden using the -n# deltaE 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.
    -
    - 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 -t# percent - 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.
    -
    - Once a device has been calibrated, it can be re-calibrated to the - same aim target.
    -
    - Verification uses a calibration test chart printed through the - calibration, and compares the achieved response to the aim target.
    -
    - The simplest possible way of creating the PrinterA.cal file is:
    -
    -   printcal -i PrinterA_c
    -
    - For more detailed information, you can add the -v and -p flags:
    -
    -   printcal -v -p -i PrinterB_c
    -
    - (You will need to select the plot window and hit a key to advance - past each plot).
    -
    - For re-calibration, the name of the previous calibration file will - need to be supplied, and a new calibration
    - file will be created:
    -
    -   printcal -v -p -r PrinterB_c_old - PrinterB_c_new
    -
    - Various aim points are normally set automatically by printcal, but these can be - overridden using the -x, -n and -t - options. e.g. say we wanted to set the maximum ink for Cyan to 80% - and Black to 95%, we might use:
    -
    -   printcal -v -p -i -xc 80 - -xk 95 PrinterB_c
    -
    - -

    Using a printer calibration

    - The resulting calibration curves can be used with the following - other Argyll tools:
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and then used xicclu to explore the + effect of the parameters.
    +
    + For instance, say we have our CMYK .ti3 file PrinterB.ti3. First we make a + preliminary profile called PrinterBt:
    +
    + copy PrinterB.ti3 PrinterBt.ti3      (Use + "cp" on Linux or OSX of course.)
    + colprof -v + -qm -b -cmt -dpp + PrinterBt
    +
    + 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%:
    +
    + xicclu -g -kz -l290 -fif -ir PrinterBt.icm
    +
    + Which might be a graph something like this:
    +
    + Graph of CMYK neutral axis with minimum K
    +
    + 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.
    +
    + Then let's see what the maximum black level down the neutral axis + can be:
    +
    + xicclu -g -kx -l290 -fif -ir PrinterBt.icm
    +
    + Which might be a graph something like this:
    +
    + Graph of CMYK neutral axis with maximum K
    +
    + 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.
    +
    + Any K curve we specify must lie between the black curves of the + above two graphs.
    +
    + 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.
    +
    + -k parameters
    +
    +
    + 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:
    +
    + xicclu -g -kp 0 0 .93 .87 1.0 -l290 -fif -ir PrinterBt.icm
    +
    + Graph of CMYK neutral axis with kp 0 0 1.0 1.0 1.0 -l290
    +
    + 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:
    +
    + xicclu -g -kp 0 0 .93 .87 + 0.65 -l290 -fif -ir PrinterBt.icm
    +
    + Graph of CMYK neutral axis with -kp 0 .05 1 .9 1 -l290
    +
    + This looks just about perfect, so the the curve parameters can now + be used to generate our real profile:
    +
    + colprof -v + -D"Printer B" -qm + -kp 0 0 .93 + .87 0.65 -S sRGB.icm -cmt + -dpp PrinterB
    +
    + and the resulting B2A table black curve can be checked using xicclu:
    +
    + xicclu -g -fb -ir PrinterB.icm
    +
    + sadsadas
    +
    +
    +

    + Examples of other inkings:
    +
    +
    A smoothed zero black inking:
    +
    + xicclu -g -kp 0 .7 .93 .87 + 1.0 -l290 -fif -ir PrinterBt.icm
    +
    + sadsadas
    +
    + A low black inking:
    +
    + xicclu -g -kp 0 0 .93 .87 + 0.15 -l290 -fif -ir PrinterBt.icm
    +
    + sadsadas
    +
    +
    + A high black inking:
    +
    + xicclu -g -kp 0 0 .93 .87 + 1.2 -l290 -fif -ir PrinterBt.icm
    +
    + sadsadas
    +
    + +

    Overriding the ink limit
    +

    + Normally the total ink limit will be read from the PrinterB.ti3 file, and will be + set at a level 10% lower than the number used in creating the test + chart values using targen -l. If you + want to override this with a lower limit, then use the -l flag.
    +
    + colprof -v + -D"Printer B" -qm + -S sRGB.icm + -cmt -dpp + -kr -l290 + PrinterB
    +
    + Make sure you check the delta E report at the end of the profile + creation, to see if the profile is behaving reasonably.
    +
    + One way of checking that your ink limit is not too high, is to use "xicc -fif -ia" to check, by + setting different ink limits using the -l option, feeding Lab = 0 0 0 into it, and checking + the resulting  black point. Starting with the ink limit used + with targen 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.
    +
    +

    +

    Calibrating Printers
    +

    + Profiling creates a + description of how a device behaves, while calibration on the other hand is + intended to change + 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.
    +
    + NOTE: 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.
    +

    Calibrated print workflows

    + There are two main workflows that printer calibration curves can be + applied to:
    +
    + Workflow with native calibration + capability:
    +
    + 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 printcal. + The calibration is then installed into the printer. Subsequent + profiling will be performed on the calibrated 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.)
    +
    + Workflow without native calibration + capability:
    +
    + 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 printcal,. During the subsequent + profiling, the + calibration curves will need to be applied to the profile test chart + in the process of using printtarg. + 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 cctiff to apply color profiles and calibration, OR by creating a version of the + profile that has had the calibration curves incorporated into it + using the applycal tool. + The latter is useful when some CMM (color management module) other + than cctiff is being used.
    +
    + 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. +   +

    Creating a print calibration test chart

    + 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.
    +
    + 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.
    +
    + For instance, to create a 50 steps per channel calibration test + chart for our RGB and CMYK devices, the following would be + sufficient:
    +
    + targen -v +  -d2 -s50 + -e3 -f0 PrinterA_c
    +
    + targen -v +  -d4 -s50 + -e4 -f0 PrinterB_c
    +
    + For an outline of how to then print and read the resulting test + chart, see  Printing a print + profile test chart, and Reading + a print test chart using an instrument. 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.
    +
    + NOTE that if you are + calibrating a raw printer driver, and there is considerable dot + gain, then you may want to use the -p + 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 -p.
    +

    Creating a printer calibration
    +

    + The printcal tool turns a calibration + chart .ti3 file into a .cal 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.)
    +
    + 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.
    +
    + 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 -x# percent option, where # represents the choice of + channel this will be applied to. The parameter is the percentage of + device maximum.
    +
    + The minimum level defaults to 0, but can be overridden using the -n# deltaE 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.
    +
    + 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 -t# percent + 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.
    +
    + Once a device has been calibrated, it can be re-calibrated to the + same aim target.
    +
    + Verification uses a calibration test chart printed through the + calibration, and compares the achieved response to the aim target.
    +
    + The simplest possible way of creating the PrinterA.cal file is:
    +
    +   printcal -i PrinterA_c
    +
    + For more detailed information, you can add the -v and -p flags:
    +
    +   printcal -v -p -i PrinterB_c
    +
    + (You will need to select the plot window and hit a key to advance + past each plot).
    +
    + For re-calibration, the name of the previous calibration file will + need to be supplied, and a new calibration
    + file will be created:
    +
    +   printcal -v -p -r PrinterB_c_old + PrinterB_c_new
    +
    + Various aim points are normally set automatically by printcal, but these can be + overridden using the -x, -n and -t + options. e.g. say we wanted to set the maximum ink for Cyan to 80% + and Black to 95%, we might use:
    +
    +   printcal -v -p -i -xc 80 + -xk 95 PrinterB_c
    +
    + +

    Using a printer calibration

    + The resulting calibration curves can be used with the following + other Argyll tools:
    +
        printtarg     To apply @@ -1871,7 +2480,44 @@ chart, - and/or to have it included in .ti3 file.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and/or to have it included in .ti3 file.
        cctiff         To apply @@ -1889,7 +2535,44 @@ an - image file.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image file.
        applycal     @@ -1899,7 +2582,44 @@ an - To incorporate calibration into an ICC profile.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To incorporate calibration into an ICC profile.
        chartread   To override @@ -1917,261 +2637,1046 @@ a - profile chart.
    -
    -
    - In a workflow with native - calibration capability, the calibration curves would be used with - printarg during subsequent profiling - so that any ink limit calculations will reflect final device values, - while not otherwise using the calibration within the ICC workflow:
    -
    -     printtarg -v -ii1 - -pA4 -I - PrinterA_c.cal PrinterA
    -
    - 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).
    -
    -
    - In a workflow without - native calibration capability, the calibration curves would be used - with printarg to apply - the calibration to the test patch samples during subsequent profiling, as well as embedding - it in the resulting .ti3 to allow all the tools to be able to - compute final device value ink limits:
    -
    -     printtarg -v -ii1 - -pA4 -K - PrinterA_c.cal PrinterA
    -
    - To apply calibration to an ICC profile, so that a calibration - unaware CMM can be used:
    -
    -     applycal PrinterA.cal PrinterA.icm PrinterA_cal.icm
    -
    - To apply color management and calibration to a raster image:
    -
    -     cctiff Source2Destination.icm PrinterA_c.cal infile.tif - outfile.tif
    - or
    -     cctiff Source2Destination.icm PrinterA_c.cal infile.jpg - outfile.jpg
    -
    -
    - Another useful tool is synthcal, that - allows creating linear or synthetic calibration files for disabling - calibration or testing.
    - Similarly, fakeread also supports - applying calibration curves and embedding them in the resulting .ti3 - file
    -

    How profile ink limits are handled when - calibration is being used.

    - 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 'targ' text tag, by way of the printtarg -I or -K 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.
    -
    -
    -
    -

    Linking Profiles

    - 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.
    -
    - The overall process is to link the input space and output space - profiles using collink, 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.
    -
    - Three examples will be given here, showing the three different modes - than collink supports.
    -
    - In simple mode, the two profiles are - linked together in a similar fashion to other CMMs 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:
    -
    - collink -v - -qm -s -ip -op - SouceProfile.icm DestinationProfile.icm Source2Destination.icm
    -
    -
    - In gamut mapping mode, 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 collink. - 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:
    -
    - collink -v - -qm -g -ip -cmt - -dpp MonitorSouceProfile.icm - DestinationProfile.icm Source2Destination.icm
    -
    -
    - In inverse output table gamut mapping mode, - 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 collink. - In addition, the B2A table is not - 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:
    -
    - For a CLUT table based RGB printer destination profile, the - following would be appropriate:
    -
    - collink -v - -qm -G -ip -cmt - -dpp MonitorSouceProfile.icm - RGBDestinationProfile.icm Source2Destination.icm
    -
    - 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:
    -
    - collink -v - -qm -G -ip -cmt - -dpp -l250 - -kr MonitorSouceProfile.icm - CMYKDestinationProfile.icm Source2Destination.icm
    -
    - Note that you should set the source (-c) - and destination (-d) viewing conditions - for the type of device the profile represents, and the conditions - under which it will be viewed.
    -
    -

    Soft Proofing Link

    - 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:
    -
    - collink -v - -qm -G -ila -cpp - -dmt -t250 CMYKDestinationProfile.icm - MonitorProfile.icm SoftProof.icm
    -
    - 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.
    -   -

    -

    Transforming colorspaces of raster files

    - Although a device profile or device link profile may be useful with - other programs and systems, Argyll provides the tool cctiff for directly applying a device to - device transform to a TIFF or - JPEG 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 -i - 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.
    -
    - If a device link is to be used, the following is a typical example:
    -
    - cctiff Source2Destination.icm - infile.tif outfile.tif
    - or
    - cctiff Source2Destination.icm - infile.jpg outfile.jpg
    -
    -
    -
    If a source and destination profile are to be used, the - following would be a typical example:
    -
    - cctiff  -ip - SourceProfile.icm -ip DestinationProfile.icm - infile.tif outfile.tif
    - or
    - cctiff  -ip - SourceProfile.icm -ip DestinationProfile.icm - infile.jpg outfile.jpg
    -
    -
    -

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + profile chart.
    +
    +
    + In a workflow with native + calibration capability, the calibration curves would be used with + printarg during subsequent profiling + so that any ink limit calculations will reflect final device values, + while not otherwise using the calibration within the ICC workflow:
    +
    +     printtarg -v -ii1 + -pA4 -I + PrinterA_c.cal PrinterA
    +
    + 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).
    +
    +
    + In a workflow without + native calibration capability, the calibration curves would be used + with printarg to apply + the calibration to the test patch samples during subsequent profiling, as well as embedding + it in the resulting .ti3 to allow all the tools to be able to + compute final device value ink limits:
    +
    +     printtarg -v -ii1 + -pA4 -K + PrinterA_c.cal PrinterA
    +
    + To apply calibration to an ICC profile, so that a calibration + unaware CMM can be used:
    +
    +     applycal PrinterA.cal PrinterA.icm PrinterA_cal.icm
    +
    + To apply color management and calibration to a raster image:
    +
    +     cctiff Source2Destination.icm PrinterA_c.cal infile.tif + outfile.tif
    + or
    +     cctiff Source2Destination.icm PrinterA_c.cal infile.jpg + outfile.jpg
    +
    +
    + Another useful tool is synthcal, that + allows creating linear or synthetic calibration files for disabling + calibration or testing.
    + Similarly, fakeread also supports + applying calibration curves and embedding them in the resulting .ti3 + file
    +

    How profile ink limits are handled when + calibration is being used.

    + 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 'targ' text tag, by way of the printtarg -I or -K 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.
    +
    +
    +
    +

    Linking Profiles

    + 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.
    +
    + The overall process is to link the input space and output space + profiles using collink, 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.
    +
    + Three examples will be given here, showing the three different modes + than collink supports.
    +
    + In simple mode, the two profiles are + linked together in a similar fashion to other CMMs 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:
    +
    + collink -v + -qm -s -ip -op + SouceProfile.icm DestinationProfile.icm Source2Destination.icm
    +
    +
    + In gamut mapping mode, 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 collink. + 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:
    +
    + collink -v + -qm -g -ip -cmt + -dpp MonitorSouceProfile.icm + DestinationProfile.icm Source2Destination.icm
    +
    +
    + In inverse output table gamut mapping mode, + 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 collink. + In addition, the B2A table is not + 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:
    +
    + For a CLUT table based RGB printer destination profile, the + following would be appropriate:
    +
    + collink -v + -qm -G -ip -cmt + -dpp MonitorSouceProfile.icm + RGBDestinationProfile.icm Source2Destination.icm
    +
    + 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:
    +
    + collink -v + -qm -G -ip -cmt + -dpp -l250 + -kr MonitorSouceProfile.icm + CMYKDestinationProfile.icm Source2Destination.icm
    +
    + Note that you should set the source (-c) + and destination (-d) viewing conditions + for the type of device the profile represents, and the conditions + under which it will be viewed.
    +
    +

    Soft Proofing Link

    + 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:
    +
    + collink -v + -qm -G -ila -cpp + -dmt -t250 CMYKDestinationProfile.icm + MonitorProfile.icm SoftProof.icm
    +
    + 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.
    +   +

    +

    Transforming colorspaces of raster files

    + Although a device profile or device link profile may be useful with + other programs and systems, Argyll provides the tool cctiff for directly applying a device to + device transform to a TIFF or + JPEG 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 -i + 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.
    +
    + If a device link is to be used, the following is a typical example:
    +
    + cctiff Source2Destination.icm + infile.tif outfile.tif
    + or
    + cctiff Source2Destination.icm + infile.jpg outfile.jpg
    +
    +
    +
    If a source and destination profile are to be used, the + following would be a typical example:
    +
    + cctiff  -ip + SourceProfile.icm -ip DestinationProfile.icm + infile.tif outfile.tif
    + or
    + cctiff  -ip + SourceProfile.icm -ip DestinationProfile.icm + infile.jpg outfile.jpg
    +
    +
    +

    +

    Creating Video Calibration 3DLuts

    + Video calibration typically involves trying to make your actual + display device emulate an ideal video display, one which matches + what your Video media was intended to be displayed on. An ICC device + link embodies the machinery to do exactly this, to take device + values in the target source colorspace and transform them into an + actual output device colorspace. In the Video and Film industries a + very similar, but less sophisticated means of doing this is to use + 3DLuts, which come in a multitude of different format. ICC device + links have the advantage of being a superset of 3dLuts, encapsulated + in a standard file format.
    +
    + To facilitate Video calibration of certain Video systems, ArgyllCMS + supports some 3DLut output options as part of collink.
    +
    + What follows here is an outline of how to create Video calibration + 3DLuts using ArgyllCMS. First comes a general discussion of various + aspects of video device links/3dLuts, and followed with some + specific advice regarding the systems that ArgyllCMS supports. Last + is some recommended scenarios for verifying the quality of Video + calibration achieved.
    +
    1) How to display test patches.
    +
    + Argyll's normal test patch display will be used by default, as long + as any video encoding range considerations are dealt with (see + Signal encoding below). An alternative when working with MadVR V + 0.86.9 or latter, is to use the madTPG to display the patches in + which case the MadVR video encoding range setting will operate. This + can give some quality benefits due to MadVR's use of dithering. To + display patches using MadVR rather than Argyll, start madTPG and + then use the option "-d madvr" in dispcal, dispread and dispwin. + Leave the MadTPG "VideoLUT" and "3dluts" buttons in their + default  (enabled) state, as the various tools will + automatically take care of disabling the 3dLut and/or calibration + curves as needed.
    +
    2) White point calibration & neutral axis calibration.
    + A Device Link is capable of embodying all aspects of the + calibration, including correcting the white point and neutral axis + behavior of the output device, but making such a Link just from two + ICC profile requires the use of Absolute Colorimetric intent during + linking, and this reduces flexibility. In addition, a typical ICC + device profile may not capture the neutral axis behavior quite as + well as an explicit calibration, since it doesn't sample the + displays neutral axis behaviour in quite as much detail. It is often + desirable therefore, to calibrate the display device so as to have + the specific white point desired so that one of the white point + relative linking intents can be used, and to improve the displays + general neutral axis behavior so that subsequent profiling works to + best advantage. In summary, there are basically 4 options in + handling white point & neutral axis calibration:
    +
      +
    • Don't bother correcting the white point. Most displays are + close to the typical D65 target, and our eyes adapt to the white + automatically unless it is very far from the daylight locus or + we have something else to refer to. If this approach is taken, + then display profiling and linking can ignore calibration, and + one of the non Absolute Colorimetric intents (such as Relative + Colorimetric) is chosen during profile linking. It is wise to + make sure that the video card VideoLUTs are set to some known + state (ie. linear using "dispwin -c" , or set by a an installed + ICC display profile) though.
      +
    • +
    • Calibrate the white point and linearise the neutral axis using + the display controls. Many TV's have internal calibration + controls that allow setting the white point, and possibly the + neutral axis response. Either a dedicated Video calibration + package could be used, or ArgyllCMS dispcal's + + + + interactive adjustment mode can be used to set the white point. + Note that while adjusting the neutral axis for neutrality may + help, the Device Link will override the transfer curve + characteristic of the calibrated display, so aiming for a + transfer curve approximately the same as the target and + reasonably perceptually linear is all that is required. If this + approach is taken, then display profiling and linking can ignore + calibration, and one of the non Absolute Colorimetric intents is + chosen during profile linking. It is wise to make sure that the + video card VideoLUTs are set to some known state  though.
    • +
    • [Recommended] Calibrate the white point and neutral + axis using ArgyllCMS dispcal. Since + the Device Link will override the calibrated transfer curve + characteristic of the display, there there may be no point in + doing much more than a medium calibration, and choosing a + standard that has a straight segment from black, such as L*a*b*, + sRGB, Rec709 or SMPTE240 curve. The exact shape of the + calibration curve is not critically important, as the profiling + and 3dLut will set the final response. If this approach is + taken, then the resulting calibration file should be provided to + dispread as the -k parameter or -K parameter.  See also below Choice + of where to apply display per channel calibration curves.
    • +
    • Choose one of the Absolute Colorimetric intents in collink + (ie. -i aw). This greatly reduces flexibility, and may not be + quite as accurate as an explicit calibration.
    • +
    + If an explicit calibration is used, then it is a good idea to add + some test points down the neutral axis when profiling (targen -g parameter).
    +
    + 3) Choice of where to apply display per channel calibration + curves
    +
    + If calibration curves are going to be used, then it needs to be + decided where they will be applied in the video processing chain. + There are two options:
    +
    + a) Install the calibration curves in the playback system. On + a PC the display, this can be done by loading the calibration curves + into the Video Card temporarily using "dispwin calibration.cal", or + installing the ICC profile into the system persistently using + something like "dispwin -I profile.icm",
    + or when using MadVR 0.86.9 or latter by creating a 3dLut with + appended calibration curves using -H + display.cal.
    +
    + b) The calibration can be incorporated into the Device + Link/3dLUT by providing it to collink as the -a display.cal. This is the only option + if the video display path does not have some separate facility to + handle calibration curves. Note that if the playback system has + graphic card VideoLUTs then they will have to be set to a defined + consistent state such as linear. When using MadVR 0.86.9 or latter + this will be done automatically since the -a option will append a + linear set of calibration curves to the 3dLut.
    +
    + The choice is dictated by a number of considerations:
    +
      +
    • Does the video playback path have a facility for installing + the calibration curves ? If playing back system is a PC, then + typically the Graphics Card supports 1D VideoLUTs, thereby + making a) a possible choice.
      +
    • +
    • Does the video playback always play back through the + Video Card VideoLUTs ? Some systems do not apply VIdeoLUTs to + things like overlay plane rendering. If not, then you need to + choose b), but also make sure that if it does use the Video Card + VideoLUTs in some situations, that they are set to linear (ie. + dispcal -c). One way of determining when the VideoLUTs get used + or not is to load a distinct calibration such as "strange.cal" + provided in the ref folder, and check visually if it is + affecting the video or not, ie. "dispcal strange.cal". Note that + using MadVR 0.86.9 or latter in combination with a 3dLut with + appended calibration curves will apply the calibration even with + overlay plane rendering.
      +
    • +
    • Do you want/need other applications to share the calibration + curves or profile or not ? If you do, then it is desirable to + choose a).
    • +
    • Quality considerations. VideoLUTs may or may not be of greater + depth than the standard 8 bit per color component frame buffer. + If they are, and the video path passes that extra depth through + to the display, and the display is capable of using that extra + depth, then a) may be a desirable choice from a quality point of + view. You can get some idea whether this is the case by running + "dispcal -R". If the VideoLUT depth is not better than 8 bits, + then it may be more desirable to choose b), since renders like + MadVR can use dithering to give better than 8 bits precision in + the video playback.
      +
    • +
    +
    4) Output device calibration and profiling.
    + Output device profiling should basically follow the guide above in Adjusting and Calibrating a displays and Profiling Displays. The assumption is that either + you are calibrating/profiling your computer display for video, or + your TV is connected to the computer you are creating + calibrations/profiles on, and that the connection between the PC and + TV display is such that full range RGB signals are being used, or + that the Video card has automatically or manually been configured to + scale full range RGB values to Video levels for the TV. If the + latter is not possible, then use the -E options on dispcal and + dispread. (See Signal encoding bellow for more details on + this). Don't use the -E options on dispcal and dispread if you are + using MadVR to display test patches using the "-d madvr" option.
    +
    + Once the profile has been created, it is possible to then use the + resulting Device Link/3DLut with signal encoding other than full + range or Video level RGB.
    +
    5) Target colorspace
    +
    + In practical terms, there are five common Video and Digital Cinema + encoding colorspaces.
    +
    + For Standard Definition:
    +
    +     EBU 3213 or "PAL 576i" primaries.
    +
    +     SMPTE RP 145 or "NTSC 480i" primaries.
    +
    + For High Definition:
    +
    +     Rec 709 primaries.
    +
    + For Ultra High Defintion
    +
    +     Rec 2020 primaries.
    +
    + For Digital Cinema
    +
    +     SMPTE-431-2  or "DCI-P3"
    +
    + PAL and NTSC have historically had poorly specified transfer curve + encodings, and the Rec 709 HDTV encoding curve is the modern recommendation, + but the overall interpretation of Video sources may in fact be + partly determined by the expected standard Video display device + characteristics (see Viewing conditions adjustment and gamut + mapping below for more details).
    +
    + To enable targeting these colorspaces, ArgyllCMS provides 5 ICC + profiles in the ref directory to use as source + colorspaces:   
    +
    +     EBU3213_PAL.icm
    +
    +     SMPTE_RP145_NTSC.icm
    +
    +     Rec709.icm
    +
    +     Rec2020.icm
    +
    +     SMPTE431_P3.icm
    +
    6) Signal encoding
    + Typical PC display output uses full range RGB signals (0 .. 255 in 8 + bit parlance), while typical Video encoding allows some head & + footroom for overshoot and sync of digitized analog signals, and + typically uses a 16..235 range in 8 bits. In many cases Video is + encoded as luma and color difference signals YCbCr (loosely known as + YUV as well), and this also uses a restricted range 16..235 for Y, + and 16..240 for Cb and Cr in 8 bit encoding. The extended gamut + xvYCC encoding uses 16..235 for Y, and 1..254 for Cb and Cr.
    +
    + The signal encoding comes into play in two situations: 1) + Calibrating and profiling the display, and 2) Using the resulting + Device Link/3DLut.
    + The encoding may need to be different in these two situations, + either because different video source devices are being used for + calibration/profiling and for video playback, or because the video + playback system uses the Device Link/3DLut at a point in its + processing pipeline that requires a specific encoding.
    +
    + For calibration & profiling, the display will be driven by a + computer system so that dispcal and dispread can be used. By default + these programs expect to output full range RGB signals, and it is + assumed that either the display accepts full range signals, or that + the graphics card or connection path has been setup to convert the + full range values into Video range signals automatically or + manually. If this is not the case, then both dispcal and dispread + have a -E option that will modify them to output Video range RGB + values.
    +
    + If MadVR is the target of the calibration and profiling, then there + is an option to use it to display the calibration and profiling test + patches (-d madvr). In this case, MadVR should be configured + appropriately for full range or Video range encoding, and the -E + flag should not be used with dispcal or dispread, since + MadVR will be taking care of such conversions.
    +
    + If a calibration file was created using dispcal -E, then using it in + dispread will automatically trigger Video level RGB signals during + profiling. Any time such a Video level calibration is loaded into + the Graphics card VideoLUTs using dispwin, or the calibration curve + is converted to a 'vcgt' tag in a profile, the curve will also + convert full range RGB to Video range RGB. This should be kept in + mind so that if video playback is being performed with the + calibration curves installed in the Graphics card VideoLUTs, that + full range is converted only once to Video range (ie. In this + situation MadVR output should be set to full range if being played + back through the calibration curves in hardware, but only if dispcal + -E has been used). On the other hand, if the calibration curves are + incorporated into the DeviceLink/3dLUT, then the conversion to Video + levels has to be done somewhere else in the pipeline, such as using + MadVR video level output, or by the graphics card, etc.
    +
    + When creating the Device Link/3dLut, it is often necessary to + specify one of the video encodings so that it fits in to the + processing pipeline correctly. For instance the eeColor needs to + have input and output encoding that suits the HDMI signals passing + through it, typically Video Range RGB. MadVR needs Video Level RGB + to match the values being passed through the 3dLut at that point.
    +
    + There are several version of YCbCr encoding supported as well, even + though neither the eeColor nor the current version of MadVR need or + can use them at present.
    +
    7) Black point mapping
    +

    Video encoding assumes that the black displayed on a device is a + perfect black (zero light). No real device has a perfect black, + and if a colorimetric intent is used then certain image values + near black will get clipped to the display black point, loosing + shadow detail. To avoid this, some sort of black point mapping is + usually desirable. There are two mechanisms available in collink: + a) BT.1886 black point mapping, or b) using one of the smart gamut + mapping intents that does black point mapping (e.g. la, p, pa, ms + or s).
    +

    +
    8) Viewing conditions adjustment and gamut mapping
    +

    +

    In historical TV systems, there is a viewing conditions + adjustment being made between the bright studio conditions that TV + is filmed in, and the typical dim viewing environment that people + view it in. This is created by the difference between the encoding + response curve gamma of about 2.0, and a typical CRT response + curve gamma of 2.4.
    +

    +

    In theory Rec709 defines the video encoding, but it seems in + practice that much video material is adjusted to look as intended + when displayed on a reference monitor having a display gamma of + somewhere between 2.2 and 2.4, viewed in a dim viewing + environment. The modern standard covering the display transfer + curve is BT.1886, + which defines a pure power 2.4 curve with a black point offset. So + another means of making the viewing adjustment is to apply the + BT.1886-like response to Rec709 encoded material. Collink supports + this using the -I b, and allows some + control over the degree of viewing conditions adjustment by + overriding the BT.1886 gamma  using the -I b:g.g parameter. This is the recommended + approach to start with, since it gives good results with a single + parameter.
    +

    +

    An alternate approach to making this adjustment is to take + advantage of the viewing conditions adjustment using the CIECAM02 + model available in collink. Some control over the degree of + viewing conditions adjustment is possible by varying the viewing + condition parameters.

    +

    A third alternative is to combine the two approaches. The source + is defined as Rec709 rendered to a model BT.1886 display in dim + viewing conditions, and then CIECAM02 is used to adjust for the + actual display viewing conditions. Once again, control over the + degree of viewing conditions adjustment is possible by varying the + viewing condition parameters.

    +
    Putting it all together:
    + In this example we choose to create a display calibration first + using dispcal, and create a simple matrix profile as well:
    +
    +   dispcal -v -o -qm -k0 -w 0.3127,0.3290 -gs -o TVmtx.icm + TV
    +
    + We are targeting a D65 white point (-w 0.3127,0.3290) and + an sRGB response curve.
    +
    + If you are using the madTPG you would use:
    +
    +   dispcal -v -d madvr -o -qm -k0 -w 0.3127,0.3290 -gs -o + TVmtx.icm TV
    +
    + Then we need to create a display patch test set. We can use the + simple matrix to pre-condition the test patches, as this helps + distribute them where they will be of most benefit. If have + previously profiled your display, you should use that previous + profile, or if you decided not to do a dispcal, then the Rec709.icm + should be used as a substitute. Some per channel and a moderate + number of full spread patches is used here - more will increase + profiling accuracy, a smaller number will speed it up. Since the + video or film material is typically viewed in a darkened viewing + environment, and often uses a range of maximum brightnesses in + different scenes, the device behavior in the dark regions of its + response are often of great importance, and using the targen -V parameter can help improve the + accuracy in this region at the expense of slightly lower accuracy in + lighter regions.
    +
    +   targen -v -d3 -s30 -g100 -f1000 -cTVmtx.icm -V1.8 TV
    +
    + The display can then be measured:
    +
    +   dispread -v -k TV.cal TV
    +
    + or using madTPG:
    +
    +  dispread -v -d madvr -K TV.cal TV
    +
    + and then a cLUT type ICC profile created. Since we will be using + collink smart linking, we minimize the B2A table size. We use the + default colprof -V parameter carried through from targen:
    +
    +   colprof -v -qh -bl TV
    +
    + Make sure you check the delta E report at the end of the profile + creation, to see if the sample data and profile is behaving + reasonably. 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 measurement, or profile creation.
    +
    + If you would like to use the display ICC profile for general color + managed applications, then you would compute a more complete + profile:
    +
    +   colprof -v -qh TV
    +
    + The recommended approach then is to create a Device Link that uses a + BT.1886 black point and viewing conditions adjustment, say one of + the following:
    +
    +   collink -v -Ib:2.4 -G -ir Rec709.icm TV.icm + HD.icm   # dark conditions
    +
      collink -v -Ib     -G -ir + Rec709.icm TV.icm HD.icm   # dim conditions - good + default
    +
      collink -v -Ib:2.1 -G -ir Rec709.icm TV.icm + HD.icm   # mid to dim conditions
    +
      collink -v -Ib:2.0 -G -ir Rec709.icm TV.icm + HD.icm   # mid to light conditions
    +
    + or you could do it using pure CIECAM02 adjustment and a black point + mapping:
    +
    +   collink -v -ctv -dmd -da:1 -G -ila Rec709.icm TV.icm + HD.icm  # very dark conditions
    +
      collink -v -ctv -dmd -da:3 -G -ila Rec709.icm + TV.icm HD.icm  # dim conditions
    +
      collink -v -ctv -dmd -da:7 -G -ila Rec709.icm + TV.icm HD.icm  # mid to dim conditions - good default
    +
      collink -v -ctv -dmd -da:15 -G -ila Rec709.icm + TV.icm HD.icm # mid conditions
    +
    + or using both to model a reference video display system that is + adapted to your viewing conditions:
    +
    +
      collink -v -Ib -c md -dmd -da:5  -G -ila + Rec709.icm TV.icm HD.icm # very dark conditions
    +
      collink -v -Ib -c md -dmd -da:10 -G -ila Rec709.icm + TV.icm HD.icm  # dim conditions
    +
      collink -v -Ib -c md -dmd -da:18 -G -ila Rec709.icm + TV.icm HD.icm  # mid to dark conditions
    +
      collink -v -Ib -c md -dmd -da:30 -G -ila Rec709.icm + TV.icm HD.icm   # mid to dark conditions
    +
    + None of the above examples incorporate the calibration curves, so it + is assumed that the calibration curves would be installed so that + the Video Card applies calibration, ie:
    +
    +     dispwin TV.cal
    +
    + or the simple matrix profile installed:
    +
    +     dispwin -I TVmtx.icm
    +
    + or a the more complete display profile could be installed:
    +
    +   dispwin -I TV.icm
    +
    + See also here for information on how + to make sure the calibration is loaded on each system start. If not, + then you will want to incorporate the calibration in the Device + Link/3dlut by using collink "-a TV.cal".
    +
    + If the video path needs Video Level RGB encoding but does not + provide a means to do this, then you will want to include the -E + flag in the dispcal and dispread command lines above.
    +
    + Below are specific recommendation for the eeColor and MadVR that + include the flags to create the .3dlut and encode the input and + output values appropriately, but only illustrate using the + recommended BT.1886 black point and viewing conditions adjustments, + rather than illustrating CIECAM02 etc. use.
    +
    + For faster exploration of different collink option, you could omit + the "colprof -bl" option, and use collink "-g" instead of "-G", + since this
    + will greatly speed up collink. Once you are happy with the link + details, you can then generate a higher quality link/3dLut using + "collink -G ..".
    +
    + You can also increase the precision of the device profile by + increasing the number of test patches measured (ie. up to a few + thousand, depending on how long you are prepared to wait for the + measurement to complete, and how stable your display and instrument + are).
    +
    + Alternatives to relative colorimetric rendering ("-i r") or + luminance matched appearance ("-i la") used in the examples above + and below, are, perceptual ("-i p") which will ensure that the + source gamut is compressed rather than clipped by the display, or + even a saturation rendering ("-i ms"), which will expand the gamut + of the source to the full range of the output.
    +
    +
    + eeColor
    +
    + For PC use, where the encoding is full range RGB:
    +
    +   collink -v -3e -Ib -G -ir -a TV.cal Rec709.icm TV.icm + HD.icm
    +
    + For correct operation both the 3DLut HD.txt and the per channel + input curves HD-first1dred.txt, HD-first1dgreen.txt and + HD-first1dblue.txt. the latter by copying them over the default + input curve files uploaded by the TruVue application.
    +
    + See <http://www.avsforum.com/t/1464890/eecolor-processor-argyllcms> + for some more details.
    +
    + Where the eeColor is connected from a Video source using HDMI, it + will probably be processing TV RGB levels, or YCbCr encoded signals + that it converts to/from RGB internally, so
    +
    +   collink -v -3e -et -Et -Ib -G -ir -a TV.cal Rec709.icm + TV.icm HD.icm
    +
    + in this case just the HD.txt file needs installing on the eeColor, + but make sure that the original linear "first1*.txt files are + re-installed, or install the ones generated by collink, which will + be linear for -e t mode.
    +
    + MadVR
    +
    + MadVR 0.86.9 or latter has a number of features to support accurate + profiling and calibration, and is the recommended version to + use.  It converts from the media colorspace to the 3dLut input + space automatically with the type of source being played, but has + configuration for to 5 3dLuts, each one optimized for a particular + source color space. The advantage of building and installing several + 3dLuts is that unnecessary gamut clipping can be avoided.
    +
    + If you are just building one 3dLut then Rec709 source is a good one + to pick.
    +
    + If you want to share the VideoLUT calibration curves between your + normal desktop and MadVR, then it is recommended that you install + the display ICC profile and use the -H option:
    +
    +     collink -v -3m -et -Et -Ib -G -ir -H TV.cal + Rec709.icm TV.icm HD.icm
    +

    +
        collink -v -3m -et -Et -Ib -G -ir -H + + + + + + + + + + + + TV.cal EBU3213_PAL.icm TV.icm SD_PAL.icm
    +

    +
        collink -v -3m -et -Et -Ib -G -ir -H + + + + + + + + + + + + TV.cal SMPTE_RP145_NTSC.icm TV.icm SD_NTSC.icm
    +
    + For best quality it is better to let MadVR apply the calibration + curves using dithering, and allow it to set the graphics card to + linear by using the -a option:
    +
    +     collink -v -3m -et -Et -Ib -G -ir -a TV.cal + Rec709.icm TV.icm HD.icm
    +

    +
        collink -v -3m -et -Et -Ib -G -ir -a + + + + + + + + + + + + TV.cal EBU3213_PAL.icm TV.icm SD_PAL.icm
    +

    +
        collink -v -3m -et -Et -Ib -G -ir -a + + + + + + + + + + + + TV.cal SMPTE_RP145_NTSC.icm TV.icm SD_NTSC.icm
    +
    + the consequence though is that the appearance of other application + will shift when MadVR is using the 3dLut and loading the calibration + curves.
    +
    + The 3dLut can be used by opening the MadVR settings dialog, + selecting "calibration" and then selecting "calibrate this display + by using an external 3DLUT file", and then using the file dialog to + use it.
    +
    + If neither the -a no -H options are used, then no calibration curves + will be appended to the 3dLut, and MadVR will not change the + VideoLUTs when that 3dLut is in use. It is then up to you to manage + the graphics card VideoLUTs in some other fashion.
    +
    +
    +

    +

    Verifying Video Calibration

    +

    Often it is desirable to verify the results of a video + calibration and profile, and the following gives an outline of how + to use ArgyllCMS tools to do this. It is only possible to expect + perfect verification if a colorimetric intent was used during + linking - currently it's not possible to exactly verify a + perceptual or CIECAM02 viewing condition adjusted link.
    +
    +

    +

    The first step is to create a set of test points. This is + essentially the same as creating a set of test points for the + purposes of profiling, although it is best not to create exactly + the same set, so as to explore the colorspace at different + locatioins. For the purposes here, we'll actually create a regular + grid test set, since this makes it easier to visualize the + results, although a less regular set would probably be better for + numerical evaluation:
    +

    +

      targen -v -d3 -e1 -m6 -f0 -W verify
    +

    +

    We make sure there is at least one white patch usin g -e1, a 20% + increment grid using -m6, no full spread patches, and create a + VRML 3d visualization of the point set using the -W flag. It is + good to take a look at the verifyd.wrl file using a VRML viewer. + You may want to create several test sets that look at particular + aspects, ie. neutral axis response, pure colorant responses, etc.
    +

    +

    Next we create a reference file by simulating the expected + response of the perfect video display system. Assuming the collink + options were "-et -Et -Ib -G -ir Rec709.icm TV.icm HD.icm" then we + would:
    +

    +

      copy verify.ti1 ref.ti1
    +   fakeread -v -b TV.icm Rec709.icm ref
    +

    +

    You should adjust the parameters as necessary, so that the + reference matches the link options. For instance, if your link + options included "-I b:2.15" then the equivalent fakeread option + "-b 2.15:TV.icm" should be used, etc.
    +

    +
    +

    A sanity check we can make at this point is to see what the + expected result of the profiling & calibration will be, by + simulating the reproduction of this test set:
    +

    +

      copy verify.ti1 checkA.ti1
    +   fakeread -v -et -p HD.icm -Et TV.icm checkA
    +

    +

    If you used collink -a, then the calibration incorporated in the + device link needs to be undone to match what the display profile + expects:

    +

      fakeread -v -et -p HD.icm -Et -K TV.cal TV.icm checkA

    +

    and then you can verify:
    +

    +

      colverify -v -n -w -x ref.ti3 checkA.ti3
    +

    +

    If you have targeted some other white point rather than video D65 + for the display, then use the -N flag instead of -n to align the + white points. [ Note that there can be some small discrepancies in + this case in some parts of the color space if a CIECAM02 linking + intent was used, due to the slightly different chromatic + adaptation algorithm it uses compared to the one used by verify to + match the white points.]
    +

    +

      verify -v -N -w -x ref.ti3 checkA.ti3
    +

    +

    This will give a numerical report of the delta E's, and also + generate a VRML plot of the errors in L*a*b* space. The important + thing is to take a look at the checkA.wrl file, to see if gamut + clipping is occurring - this is the case if the large error + vectors are on the sides or top of the gamut. Note that the + perfect cube device space values become a rather distorted cube + like shape in the perceptual L*a*b* space. If the vectors are + small in the bulk of the space, then this indicates that the link + is likely to be doing the right thing in making the display + emulate the video colorspace with a BT.1886 like black point + adjustment. You could also check just the in gamut test points + using:
    +

    +

      verify -v -N -w -x -L TV.icm ref.ti3 + checkA.ti3
    +
    +

    +
    +

    You can explicitly compare the gamuts of your video space and + your display using the gamut tools:
    +

    +

      iccgamut -ff -ia Rec709
    +
      iccgamut -ff -ia TV.icm
    +
      viewgam -i Rec709.gam TV.gam gamuts.wrl
    +

    +

    and look at the gamuts.wrl file, as well as taking notice of % of + the video volume that the display intersects. The VRML solid + volume will be the video gamut, while the wire frame is the + display gamut. If you are not targetting D65 with your display, + you should use iccgamut -ir instead of -ia, so as + to align the white points.
    +

    +
    +

    The main check is to actually measure the display response and + compare it against the reference. Make sure the display is setup + as you would for video playback and then use dispread:
    +

    +

      copy verify.ti1 checkB.ti1
    +
      dispread -v checkB
    +

    +

    You would add any other options needed (such as -y etc.) + to set your instrument up properly. If you are using madTPG, then + configure madVR to use the 3dLut you want to measure as the + default, and also use the dispread -V flag to make sure that the + 3dLut is being used for the measurements: [Note that if the + version of MadVR you are using does not have radio buttons in its + calibration setup to indicate a default 3dLut, then the 3dLut + under test should be the only one set - all others should be + blank. ]
    +

    +

      dispread -v -d madvr -V checkB
    +

    +

    Verify the same way as above:
    +

    +

      verify -v -n -w -x ref.ti3 checkB.ti3
    +

    +

    If your display does not cover the full gamut of your video + source, the errors are probably dominated by out of gamut colors. + You can verify just the in gamut test values by asking verify to + skip them, and this will give a better notion of the actual device + link and calibration accuracy:
    +

    +

      verify -v -n -w -x -L TV.icm ref.ti3 + checkB.ti3

    +


    +

    +

     
    +

    +


    +
    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + diff --git a/doc/afiles b/doc/afiles index b01b147..e58ab5a 100644 --- a/doc/afiles +++ b/doc/afiles @@ -45,6 +45,8 @@ i1m.jpg i1p.jpg sl.jpg ss.jpg +JETI_1211.jpg +ColorHug.jpg mox.jpg moxxr.jpg Chroma4.jpg @@ -60,6 +62,9 @@ WideGamutColmters.html CrushedDisplyBlacks.html i1proDriver.html i1proDriver.xls +i1proHiRes.html +i1proHiRes.jpg +i1proHiRes.zip evalInputTargets.html YellowGreen.jpg srgbplot.gif @@ -118,7 +123,7 @@ timage.html cube.jpg surface.jpg LabSteps.jpg -verify.html +colverify.html viewgam.html xicclu.html oeminst.html diff --git a/doc/cal_format.html b/doc/cal_format.html index 3e40205..361a329 100644 --- a/doc/cal_format.html +++ b/doc/cal_format.html @@ -10,31 +10,24 @@

    Description of the .cal format

    Device calibration information. This is ASCII text, CGATS, 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 synthcal, dispcal + used to hold a description of device setup information that brings + it to a desired calibration state. Calibration files are created by + synthcal, dispcal and printcal.

    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 CAL + an Argyll specific file identifier CAL is used to avoid confusion with standard ANSI or CGATS files.

    The .cal 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.
    + 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.

    Generally a .cal file contains only one table, the table containing - the - setup information.
    + the setup information.


    The table contains the following:
    @@ -50,11 +43,12 @@ style="font-weight: bold;">DESCRIPTOR, ORIGINATOR, or CREATED keywords and values (as - per - CGATS).
    + per CGATS).

    There shall be a DEVICE_CLASS keyword that has a value of "OUTPUT", + + "DISPLAY" or "INPUT".
    This indicates what type of device the calibration information is @@ -62,65 +56,100 @@
    A "DISPLAY" type device may have a VIDEO_LUT_CALIBRATION_POSSIBLE - keyword that - must have a value of "NO" or - "YES", to indicate whether - the display has the ability to be calibrated by loading VideoLUT - values.
    + + + keyword that must have a value of "NO" or "YES", + + to indicate whether the display has the ability to be calibrated by + loading VideoLUT values.
    +
    + A "DISPLAY" type device may + have a TV_OUTPUT_ENCODING keyword + + that must have a value of "NO" + or "YES", to indicate + whether the calibration was created withing the video (16-235)/255 + compressed range of device value. This is used to signal to a + VideoLUT loader whether calibration values should be converted to + video encoded range when loaded into hardware. The calibration + values stored in the .cal file are never video encoded themselves, + i.e. 0.0 is always device minimum, and 1.0 is always device maximum.

    There shall be a keyword COLOR_REP 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:
    + values. The colorspaces shall be encoded with one  or two + letters per component. The device spaces shall use the following + letter encoding:

        Cyan + +          -               +                + + C
        Magenta                     M
        Yellow     -                  +                   + + Y
        Black    -                     +                      + + K
        Orange    -                  +                   + + O
        Red -                          +                           + + R
        Green      -                  +                   + + G
        Blue       -                    +                     + + B
        White                         W
        Light Cyan -                 +                  + + c
        Light -Magenta             + Magenta             + + m
        Light -Yellow               + Yellow               + + y
        Light -Black                 + Black                 + + k
        Medium Cyan             2c
        Medium Magenta -        - 2m
    +        2m
        Medium Yellow          2y
        Medium Black @@ -130,53 +159,47 @@ Black            &nb There may be an a prefix i preceding the device space letter encoding, indicating that although the space appears to be an additive space, it is in fact a - subtractive - device.
    + subtractive device.

    Typical values might be: "RGB" for an RGB display, "iRGB" - for an RGB printer, "CMYK" - for - a - printer, "RGB" for an RGB - scanner.
    + bold;">" for an RGB printer, "CMYK" for a printer, "RGB" for an RGB scanner.

    The NUMBER_OF_FIELDS - keyword - shall have a value that indicates the number of fields in each data - set, e.g. 4 (as per CGATS).
    + keyword shall have a value that indicates the number of fields in + each data set, e.g. 4 (as + per CGATS).

    The start of the declaration of the fields shall be marked by the BEGIN_DATA_FORMAT keyword (as - per - CGATS).
    + per CGATS).

    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 I.
    + colorspace identified followed by the individual colorant + identifier. There shall be an initial input index value identified + by the letter I.

    - For an RGB device, the - following fields would be used:
    + For an RGB device, the following fields would be used:

        RGB_I       + + The device value input value between 0.0 and 1.0.
        RGB_R      + + The Red device value input value between 0.0 and 1.0.
        RGB_G      The Green device value input value between 0.0 - and - 1.0.
    + and 1.0.
        RGB_B      The Blue device value input value between 0.0 - and - 1.0.
    + and 1.0.

    The corresponding field names for a CMYK device would be CMYK_I,
    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.
    + white space. All values shall be normalized to lie between 0.0 and + 1.0.

    The end of the values of the data sets shall be marked by the END_DATA keyword (as per CGATS).

    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.
    + or device behavior information. These will be specific to the tool + that creates that particular type of calibration.

    Generally any other keywords and values will be ignored.

    diff --git a/doc/ccxxmake.html b/doc/ccxxmake.html index c4d8059..8ef31b7 100644 --- a/doc/ccxxmake.html +++ b/doc/ccxxmake.html @@ -42,7 +42,7 @@ using it with the dispcal, dispread and spotread -X option, or it can be installed, and + href="oeminst.html">installed, and will then appear in the available display type selection (-y option).

    @@ -69,6 +69,8 @@ + +       Verbose mode
      -S                                         Create @@ -87,6 +89,8 @@ rather + + than CCMX
      -f file1.ti3[,file2.ti3]                @@ -108,6 +112,8 @@ two + + .ti3 files rather than measure.
     -display @@ -124,6 +130,8 @@ two + + displayname  [X11 only] Choose X11 display name

     -d @@ -168,6 +178,8 @@ m + + n                  Choose the @@ -189,6 +201,8 @@ list + + (default 1)
     -dweb[:port]          @@ -208,7 +222,21 @@ list - Display via a web server at port (default 8080)

    +  -dmadvr +               + + + + + + + + + + [MSWin] Display via MadVR Video Renderer
     -p                    @@ -225,6 +253,8 @@ list + + Use telephoto mode (ie. for a projector) (if available)
      (CCMX)
    @@ -261,6 +293,8 @@ list + + ho,vo,ss[,vs]
          Position test window and scale it

                           @@ -284,6 +318,8 @@ center, + + 1.0 = right/bottom etc.
                           ss: @@ -306,6 +342,8 @@ normal, + + 2.0 = double etc.
                           @@ -315,6 +353,8 @@ normal, + + ss,vs: = optional horizontal, vertical scale.
     
       -N                    @@ -374,6 +418,8 @@ on + + Disable initial calibration of instrument if possible
     
    @@ -409,6 +457,8 @@ on + + "command"          Invoke shell "command" each time a color is set
     -o @@ -439,6 +489,8 @@ sequence + + combination steps (default 3)

     
    -W @@ -455,6 +507,8 @@ sequence + + n|h|x              Override serial @@ -476,6 +530,8 @@ n + + none, h = HW, x = Xon/Xoff
     -D [level] @@ -500,6 +556,8 @@ overall + + escription
     -I "displayname"          
    Set display technology description (ie. CRT, LCD etc.)
     -U c                  + + Set UI selection character(s)
     -Y @@ -537,8 +599,12 @@ overall + +      Override refresh, non-refresh display mode

    +  
    -Y R:rate             + Override measured refresh rate with rate Hz
     -YA @@ -638,6 +704,8 @@ overall + + 1,2 . Some experimentation may be needed using dispwin on such systems, to discover what screen has access to the VideoLUT hardware, and which screens the @@ -660,6 +728,13 @@ overall style="font-weight: bold;">/sbin/ifconfig (Linux or OS X) and identify an internet address for your machine that way.

    + -dmadvr + [MSWin only] causes test patches to be displayed using the MadVR + video renderer. Note that you may have to start the video playback + software and load a video clip in pause for this to work. MadVR + rendering does not need or support VideoLUT access. Test patch + colors will be processed by the MadVR 3dLut.
    +
    The -p flag allows measuring in telephoto mode, using instruments that support this mode, e.g. the ColorMunki. Telephoto mode is one for taking @@ -752,6 +827,8 @@ overall + + of particular instruments for more details. This may give better accuracy for display measurements.

    @@ -860,14 +937,22 @@ overall + + -Y n options overrides the refresh display mode set by the -y display type + href="spotread.html#y">-y display type selection, with -Y r forcing refresh display mode, and -Y n 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.

    + The -Y R:rate + options overrides calibration of the instrument refresh rate. This + may be useful if the instrument supports this function and the + refresh rate cannot be accurately calibrated from the display + itself.
    +
    The -Y A option uses a non-adaptive integration time emission measurement mode, if the instrument supports it, such as the Eye-One Pro or diff --git a/doc/cht_format.html b/doc/cht_format.html index 1e02db1..80a3e9e 100644 --- a/doc/cht_format.html +++ b/doc/cht_format.html @@ -1,576 +1,622 @@ - - Scan Recognition Format File (.cht) - - - - -

    Description of the .cht format

    -[This is a rather inflexible format, that should really be replaced -with a CGATS style file.]
    -
    -The .cht format file is used -to hold the image recognition information that allows the scanin program to align the input image with -the specified sample boxes.
    -
    -A raw .cht file can be -produced by running scanin -with the -g 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.
    -
    -The .cht image recognition -file is usually set up to recognized a scanned test chart that includes -the edges of the chart itself, not -a cropped version of the chart that excludes the edges of the chart -itself. This is to allow scanin -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.
    -
    -The keywords and associated data must be used in the following order: BOXES, -BOX_SHRINK, REF_ROTATION, XLIST, YLIST -and EXPECTED.
    -
    -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.
    -
    -The BOXES 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 not -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:
    -
    -    kl lxs lxe lys lye w h xo yo xi yi
    -
    -with the following usage:
    -
    -    kl is a key letter.
    -
    -        F -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:

    -       
    F _ _ x0 y0 x1 y1 x2 y2 -x3 y3
    -
    -       
    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. 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.
    -
    -        D 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.
    -    
    -        X is used for a sequence -of boxes in which the X label comes first in the concatenated sample -box label.
    -        
    -        Y is used for a sequence -of boxes in which the Y label comes first in the concatenated sample -box label.
    -
    -        Boxes are created incrementing in -the X direction fastest, and the Y direction slowest.
    -
    -    lxs is the X axis starting label. This is -generally a letter or number, and it will be incremented appropriately -to reach lxe
    -
    -    lxe is the X axis ending label. When the X -label reaches this this value (inclusively), the iteration in the X -direction will reset.
    -
    -    lys is the Y axis starting label. This is -generally a letter or number, and it will be incremented appropriately -to reach lye
    -
    -    lye is the Y axis ending label. When the Y -label reaches this this value (inclusively), the iteration through the -boxes will end.
    -
    -    The X & Y labels will be concatenated to form -the sample box label.
    -
    -    A sample label that consists of the character '_' is -treated as a null label (useful for an array that only iterates in one -direction).
    -
    -    w, h are the width and height of each -box in the array.
    -
    -    xo, yo are the origin of the top -left -of the array.
    -
    -    xi, yi are the increments between -each -box in the array.
    -
    -A blank line should follow the last box definition line.
    -
    -The keyword BOX_SHRINK 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.
    -
    -A blank line should follow this keyword.
    -
    -The optional REF_ROTATION 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
    -
    -A blank line should follow this keyword.
    -
    -The XLIST 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.
    -
    -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.
    -
    -A blank line should follow the last XLIST edge definition.
    -
    -The YLIST is same format and details as the XLIST, used -for -horizontal edges.
    -
    -The EXPECTED keyword introduces an optional list of approximate -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 XYZ or LAB, -depending on the color space used to describe the reference values, -then -an integer indicating the number of entries in the list.
    -
    -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 BOXES entry above. It is an error if no corresponding box -has -been defined. The remaining three values are the approximate 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 -scanin).
    -
    -A blank line should follow the last EXPECTED box value.
    -
    -
    -

    -The following is an example .cht file, suitable for a typical Q60 IT8 -scan target.
    -
    - BOXES 290
    -  F _ _ _ _ 1 1  615.5 1.5  615 409
    -  D ALL ALL _ _ 615 409 1 1 0 0
    -  D MARK MARK _ _ 14 14 1 1 0 0
    -  Y 01 22 A L 25.625 25.625 26.625 26.625 25.625 25.625
    -  X GS00 GS23 _ _ 25.625 51.25 0.0 358.75 25.625 0.0
    -
    -BOX_SHRINK 3.0
    -
    -REF_ROTATION -0.002006
    -
    -XLIST 32
    -  1.799625 1.000000 0.312500
    -  27.064987 0.874039 0.750000
    -  52.592403 0.133439 0.687500
    -  78.196610 0.264191 0.687500
    -  104.117756 0.165427 0.937500
    -  129.377994 0.844432 0.937500
    -  155.144274 0.501218 0.875000
    -  180.839181 0.491428 0.937500
    -  206.359758 0.212384 0.937500
    -  232.038808 0.851851 0.937500
    -  257.854725 0.162956 0.625000
    -  283.552463 0.101243 0.812500
    -  300.534000 0.024750 0.812500
    -  309.507688 0.093829 1.000000
    -  334.711314 0.856821 1.000000
    -  360.428194 0.787677 1.000000
    -  385.849730 0.748130 0.937500
    -  386.650071 0.039487 0.687500
    -  394.630372 0.024725 0.687500
    -  411.835654 0.802501 0.750000
    -  414.017731 0.041974 0.937500
    -  437.133504 0.674062 0.937500
    -  437.975355 0.103714 1.000000
    -  462.938460 0.671643 1.000000
    -  463.880560 0.093836 0.937500
    -  488.517995 0.679022 1.000000
    -  514.338544 0.760511 1.000000
    -  540.037492 0.111108 0.625000
    -  565.856396 0.133330 0.562500
    -  591.114717 0.565475 0.562500
    -  603.447516 0.032097 0.312500
    -  615.984915 0.829608 0.250000
    -
    -YLIST 22
    -  2.477956 0.993407 0.142857
    -  12.988903 0.016393 0.190476
    -  14.739109 0.036082 0.190476
    -  26.746171 0.911487 0.428571
    -  52.537114 0.303282 0.904762
    -  78.060317 0.585303 0.857143
    -  103.498271 0.606862 0.761905
    -  128.994535 0.567266 0.761905
    -  154.483041 0.550814 0.714286
    -  179.935985 0.623055 0.666667
    -  205.552940 0.350826 0.714286
    -  212.051372 0.016393 0.714286
    -  231.153547 0.824618 0.857143
    -  256.697418 0.744268 0.952381
    -  282.145841 0.736126 0.904762
    -  307.899015 0.536075 0.952381
    -  333.262903 0.903282 0.809524
    -  340.217754 0.019722 0.190476
    -  344.988867 0.019671 0.095238
    -  346.988885 0.018032 0.095238
    -  358.840278 0.999967 1.000000
    -  409.201393 1.000000 0.000000
    -
    -EXPECTED XYZ 264
    -  A1    3.85 3.22 1.9
    -  A2    4.89 3.27 1.6
    -  A3    5.87 3.31 1.33
    -  A4    6.3 3.38 1.19
    -  A5    13.01 11.44 7.64
    -  A6    16.14 11.99 6.81
    -  A7    19.35 12.41 6.06
    -  A8    20.41 11.97 5.3
    -  A9    43.5 42.81 32.65
    -  A10   45.58 42.37 30.95
    -  A11   48.99 43.2 29.9
    -  A12   50.73 44.02 29.96
    -  A13   74.46 78.76 66.06
    -  A14   75.66 76.42 64.08
    -  A15   78.36 81.34 65.41
    -  A16   70.52 73.3 59.16
    -  A17   74.98 75.98 60.69
    -  A18   72.85 77.3 60.25
    -  A19   73.09 75.52 64.54
    -  B1    3.47 3.08 1.41
    -  B2    4.41 3.25 0.9
    -  B3    5.04 3.23 0.58
    -  B4    5.19 3.11 0.47
    -  B5    13.36 11.59 5.56
    -  B6    15.97 12.03 3.69
    -  B7    19.2 12.49 2.2
    -  B8    19.73 11.52 1.17
    -  B9    42.19 41.84 29.34
    -  B10   44.83 42.17 25.93
    -  B11   48.06 42.9 23.01
    -  B12   49.63 43.08 21.34
    -  B13   66.21 72.54 64.61
    -  B14   70.16 67.1 60.33
    -  B15   75.46 78.69 51.58
    -  B16   57.47 59.58 47.66
    -  B17   68.33 66.45 49.05
    -  B18   63.89 70.29 51.3
    -  B19   61.12 62.16 59.79
    -  C1    4.97 4.75 1.98
    -  C2    5.18 4.65 1.23
    -  C3    5.51 4.58 0.71
    -  C4    5.77 4.61 0.67
    -  C5    24.57 23.44 10.14
    -  C6    28.1 24.64 5.22
    -  C7    31.15 25.28 2.2
    -  C8    30.85 23.68 1.35
    -  C9    49.16 49.36 32.37
    -  C10   51.72 50.72 26.53
    -  C11   55.24 53.14 21.93
    -  C12   56.87 53.62 18.46
    -  C13   57.68 65.65 62.7
    -  C14   63.46 56.66 55.49
    -  C15   73 76.11 40.78
    -  C16   44.73 46.38 36.8
    -  C17   60.64 55.73 38.1
    -  C18   52.15 60.27 41.5
    -  C19   48.13 49.18 54.38
    -  D1    4.19 4.41 1.93
    -  D2    4.48 4.72 1.24
    -  D3    4.55 4.78 0.8
    -  D4    4.32 4.53 0.78
    -  D5    27.33 28.55 12.95
    -  D6    28.68 30.04 7.25
    -  D7    29.51 31.01 3.41
    -  D8    27.55 28.44 1.83
    -  D9    56.06 58.19 38.21
    -  D10   56.03 58.46 30.02
    -  D11   56.2 59.33 24.44
    -  D12   56.19 59.41 19.14
    -  D13   48.21 57.42 59.53
    -  D14   58.18 49.14 51.36
    -  D15   70.98 73.73 33.63
    -  D16   34.31 35.73 28.22
    -  D17   54.27 47.53 29.58
    -  D18   41.67 50.64 32.28
    -  D19   36.95 37.82 48.09
    -  E1    4.15 4.75 2.03
    -  E2    4 4.98 1.37
    -  E3    3.3 4.49 0.86
    -  E4    3.11 4.3 0.86
    -  E5    13.11 14.9 7.06
    -  E6    12.26 15.23 4.18
    -  E7    11.53 15.57 2.27
    -  E8    9.69 13.74 1.51
    -  E9    39.15 42.08 27.33
    -  E10   37.43 41.51 22.23
    -  E11   36.99 42.5 18.85
    -  E12   36.4 42.58 16.27
    -  E13   39.97 49.81 56.15
    -  E14   52.08 41.07 46.36
    -  E15   68.71 70.76 26.45
    -  E16   25.7 26.97 21.28
    -  E17   48.53 40.6 22
    -  E18   31.62 40.82 23.35
    -  E19   31.19 31.19 43.4
    -  F1    1.51 1.91 1.06
    -  F2    1.29 2.04 0.98
    -  F3    1.16 2.09 0.82
    -  F4    1.14 2.04 0.8
    -  F5    6.53 8.25 5.13
    -  F6    5.61 8.66 4.38
    -  F7    4.6 8.77 3.7
    -  F8    3.45 7.63 2.78
    -  F9    37.8 41.07 30.91
    -  F10   35.92 40.76 29.03
    -  F11   35.42 41.99 29.07
    -  F12   34 41.8 28
    -  F13   32.13 42.12 51.99
    -  F14   45.72 33.34 40.77
    -  F15   66.26 67.29 19.65
    -  F16   17.02 18.07 14.4
    -  F17   41.59 32.53 15.16
    -  F18   26.26 35.26 18.81
    -  F19   24.3 23.6 37.48
    -  G1    2.31 3 2.27
    -  G2    2 3.21 2.58
    -  G3    1.66 3.21 2.75
    -  G4    1.58 3.03 2.6
    -  G5    8.99 11.08 8.79
    -  G6    7.68 11.3 9.56
    -  G7    6.52 11.5 10.2
    -  G8    5.5 10.85 10.55
    -  G9    38.29 41.75 33.45
    -  G10   35.83 41.16 34.11
    -  G11   34.56 41.83 35.63
    -  G12   33.69 42.14 36.7
    -  G13   25.95 35.68 48
    -  G14   40.6 27.62 36.14
    -  G15   63.72 63.63 14.35
    -  G16   10.85 11.82 9.58
    -  G17   37.23 27.64 11.62
    -  G18   20.28 28.97 14.15
    -  G19   17.7 16.74 31.7
    -  H1    2.56 3.04 2.92
    -  H2    2.34 3.2 4.12
    -  H3    2.12 3.28 5.43
    -  H4    2.06 3.18 5.29
    -  H5    10.07 11.6 11.24
    -  H6    9.01 11.68 14.81
    -  H7    8.22 12 19.42
    -  H8    7.25 11.55 21.45
    -  H9    39.25 42.31 36.81
    -  H10   37.58 41.85 40.37
    -  H11   37.16 43.07 45.79
    -  H12   36.27 43.78 49.47
    -  H13   21.47 30.78 44.22
    -  H14   36.49 23.35 32.38
    -  H15   61.58 60.55 10.95
    -  H16   8.21 8.71 6.91
    -  H17   33.04 23.26 8.38
    -  H18   16.22 24.35 10.41
    -  H19   12.86 11.84 26.82
    -  I1    4.22 4.44 5.28
    -  I2    4.35 4.48 8.36
    -  I3    4.4 4.44 11.94
    -  I4    4.48 4.58 12.17
    -  I5    15.15 15.78 15.23
    -  I6    14.56 15.12 19.52
    -  I7    14.37 14.81 24.48
    -  I8    14.11 14.76 30.03
    -  I9    41.03 42.58 36.94
    -  I10   40.85 42.23 40.73
    -  I11   40.86 42.33 45.05
    -  I12   41.31 42.73 47.77
    -  I13   17.26 25.93 40.23
    -  I14   32.66 19.63 28.81
    -  I15   59.37 57.18 7.79
    -  I16   4.97 5.32 4.32
    -  I17   28.62 18.88 5.48
    -  I18   11.58 18.98 7.25
    -  I19   9.58 8.34 22.87
    -  I20   0.45 0.4 0.33
    -  I21   2.28 1.78 0.98
    -  I22   2.37 1.95 0.85
    -  J1    2.15 1.9 2.6
    -  J2    2.57 2 4.72
    -  J3    2.93 1.95 8.1
    -  J4    3.15 1.92 10.76
    -  J5    11.73 11.6 11.81
    -  J6    12.98 11.93 16.19
    -  J7    13.91 12.07 20.95
    -  J8    14.01 11.59 24.35
    -  J9    40.75 41.22 36.34
    -  J10   41.26 41.07 39.74
    -  J11   42.63 41.68 44.51
    -  J12   44.02 41.78 49.25
    -  J13   13.82 21.69 35.98
    -  J14   28.87 16.33 25.08
    -  J15   56.04 52.29 4.97
    -  J16   2.46 2.63 2.29
    -  J17   24.04 14.75 3.15
    -  J18   8.12 14.49 4.55
    -  J19   5.98 4.79 17.76
    -  J20   8.26 5.37 1.04
    -  J21   11.52 7.81 1.62
    -  J22   14.67 10.72 2.6
    -  K1    5.63 4.7 4.86
    -  K2    6.74 4.58 7.23
    -  K3    8.04 4.48 9.73
    -  K4    9.39 4.76 11.79
    -  K5    16.66 15.39 14.44
    -  K6    18.72 15.18 18.23
    -  K7    21.56 15.5 22.97
    -  K8    23 15.02 25.37
    -  K9    42.5 42.02 36.05
    -  K10   44.55 41.63 39.71
    -  K11   47.19 41.96 44.03
    -  K12   49.9 43.14 47.21
    -  K13   10.61 17.44 31.24
    -  K14   24.84 13.19 21
    -  K15   53.12 48.05 3.19
    -  K16   1.05 1.14 1.13
    -  K17   19.93 11.34 1.67
    -  K18   5.3 10.47 2.73
    -  K19   3.95 2.76 13.94
    -  K20   30.61 26.43 11.04
    -  K21   34.91 29.6 11.78
    -  K22   38.95 34.57 18.4
    -  L1    3.88 3.12 2.32
    -  L2    4.93 3.2 2.69
    -  L3    5.75 3.14 3.02
    -  L4    7.31 3.79 3.4
    -  L5    13.29 11.54 9.39
    -  L6    16.22 11.73 10.32
    -  L7    19.95 12.08 12.06
    -  L8    20.79 11.31 12.01
    -  L9    43.22 42.09 33.78
    -  L10   45.52 41.88 34.65
    -  L11   49.04 42.87 35.98
    -  L12   51.03 43.83 37.78
    -  L13   7.45 12.77 25.59
    -  L14   21.26 10.76 17.73
    -  L15   49.45 43.12 2.14
    -  L16   0.47 0.49 0.5
    -  L17   16.04 8.49 0.78
    -  L18   2.91 6.5 1.39
    -  L19   2.5 1.45 10.28
    -  L20   38.7 33.98 20.86
    -  L21   39.36 35.23 21.23
    -  L22   41.36 38.77 23.51
    -  GS0    79.47 82.51 69.04
    -  GS1    72.62 74.94 59.17
    -  GS2    63.15 65.11 51.57
    -  GS3    54.72 56.51 45.03
    -  GS4    48.1 49.81 39.24
    -  GS5    42.22 43.64 34.45
    -  GS6    37.33 38.7 30.5
    -  GS7    32.38 33.61 26.11
    -  GS8    27.56 28.7 22.11
    -  GS9    22.5 23.4 17.99
    -  GS10   18.77 19.55 14.83
    -  GS11   15.48 16.08 12.04
    -  GS12   12.69 13.29 9.98
    -  GS13   10.35 10.81 7.97
    -  GS14   8.39 8.77 6.37
    -  GS15   6.45 6.79 4.97
    -  GS16   4.95 5.18 3.7
    -  GS17   3.58 3.82 2.76
    -  GS18   2.76 2.89 2.06
    -  GS19   1.97 2.08 1.45
    -  GS20   1.22 1.31 0.98
    -  GS21   1 1.05 0.74
    -  GS22   0.87 0.89 0.65
    -  GS23   0.34 0.32 0.32
    -
    -

    -
    -

    -
    - + + Scan Recognition Format File (.cht) + + + + +

    Description of the .cht format

    + [This is a rather inflexible format, that should really be replaced + with a CGATS style file.]
    +
    + The .cht format file is + used + to hold the image recognition information that allows the scanin program to align the input image + with + the specified sample boxes.
    +
    + A raw .cht file can be + produced by running scanin + with the -g 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.
    +
    + The .cht image recognition + file is usually set up to recognized a scanned test chart that + includes + the edges of the chart itself, not + a cropped version of the chart that excludes the edges of the chart + itself. This is to allow scanin + 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.
    +
    + The keywords and associated data must be used in the following + order: BOXES, + BOX_SHRINK, REF_ROTATION, XLIST, YLIST + and EXPECTED.
    +
    + 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.
    +
    + The BOXES 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 not + 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:
    +
    +     kl lxs lxe lys lye w h xo yo xi yi
    +
    + with the following usage:
    +
    +     kl is a key letter.
    +
    +         F + is used to define four fiducial marks 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 (ie. clockwise order from top left). The parameters are labeled + as follows:
    +  
    +        
    F _ _ x0 y0 x1 y1 x2 + y2 + x3 y3
    +
    +        
    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. 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.
    +
    +         D 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.
    +     
    +         X is used for a + sequence + of boxes in which the X label comes first in the concatenated sample + box label.
    +         
    +         Y is used for a + sequence + of boxes in which the Y label comes first in the concatenated sample + box label.
    +
    +         Boxes are created incrementing + in + the X direction fastest, and the Y direction slowest.
    +
    +     lxs is the X axis starting label. This is + generally a letter or number, and it will be incremented + appropriately + to reach lxe
    +
    +     lxe is the X axis ending label. When the X + label reaches this this value (inclusively), the iteration in the X + direction will reset.
    +
    +     lys is the Y axis starting label. This is + generally a letter or number, and it will be incremented + appropriately + to reach lye
    +
    +     lye is the Y axis ending label. When the Y + label reaches this this value (inclusively), the iteration through + the + boxes will end.
    +
    +     The X & Y labels will be concatenated to form + the sample box label.
    +
    +     A sample label that consists of the character '_' + is + treated as a null label (useful for an array that only iterates in + one + direction).
    +
    +     w, h are the width and height of + each + box in the array.
    +
    +     xo, yo are the origin of the top + left + of the array.
    +
    +     xi, yi are the increments between + each + box in the array.
    +
    + A blank line should follow the last box definition line.
    +
    + The keyword BOX_SHRINK 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.
    +
    + A blank line should follow this keyword.
    +
    + The optional REF_ROTATION 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
    +
    + A blank line should follow this keyword.
    +
    + The XLIST 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.
    +
    + 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.
    +
    + A blank line should follow the last XLIST edge definition.
    +
    + The YLIST is same format and details as the XLIST, + used + for + horizontal edges.
    +
    + The EXPECTED keyword introduces an optional list of approximate + 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 XYZ or + LAB, + depending on the color space used to describe the reference values, + then + an integer indicating the number of entries in the list.
    +
    + 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 BOXES entry above. It is an error if no corresponding + box + has + been defined. The remaining three values are the approximate 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 + scanin).
    +
    + A blank line should follow the last EXPECTED box value.
    +
    +
    +

    + The following is an example .cht file, suitable for a typical Q60 + IT8 + scan target.
    +
    + BOXES 290
    +   F _ _ _ _ 1 1  615.5 1.5  615 409
    +   D ALL ALL _ _ 615 409 1 1 0 0
    +   D MARK MARK _ _ 14 14 1 1 0 0
    +   Y 01 22 A L 25.625 25.625 26.625 26.625 25.625 25.625
    +   X GS00 GS23 _ _ 25.625 51.25 0.0 358.75 25.625 0.0
    +
    + BOX_SHRINK 3.0
    +
    + REF_ROTATION -0.002006
    +
    + XLIST 32
    +   1.799625 1.000000 0.312500
    +   27.064987 0.874039 0.750000
    +   52.592403 0.133439 0.687500
    +   78.196610 0.264191 0.687500
    +   104.117756 0.165427 0.937500
    +   129.377994 0.844432 0.937500
    +   155.144274 0.501218 0.875000
    +   180.839181 0.491428 0.937500
    +   206.359758 0.212384 0.937500
    +   232.038808 0.851851 0.937500
    +   257.854725 0.162956 0.625000
    +   283.552463 0.101243 0.812500
    +   300.534000 0.024750 0.812500
    +   309.507688 0.093829 1.000000
    +   334.711314 0.856821 1.000000
    +   360.428194 0.787677 1.000000
    +   385.849730 0.748130 0.937500
    +   386.650071 0.039487 0.687500
    +   394.630372 0.024725 0.687500
    +   411.835654 0.802501 0.750000
    +   414.017731 0.041974 0.937500
    +   437.133504 0.674062 0.937500
    +   437.975355 0.103714 1.000000
    +   462.938460 0.671643 1.000000
    +   463.880560 0.093836 0.937500
    +   488.517995 0.679022 1.000000
    +   514.338544 0.760511 1.000000
    +   540.037492 0.111108 0.625000
    +   565.856396 0.133330 0.562500
    +   591.114717 0.565475 0.562500
    +   603.447516 0.032097 0.312500
    +   615.984915 0.829608 0.250000
    +
    + YLIST 22
    +   2.477956 0.993407 0.142857
    +   12.988903 0.016393 0.190476
    +   14.739109 0.036082 0.190476
    +   26.746171 0.911487 0.428571
    +   52.537114 0.303282 0.904762
    +   78.060317 0.585303 0.857143
    +   103.498271 0.606862 0.761905
    +   128.994535 0.567266 0.761905
    +   154.483041 0.550814 0.714286
    +   179.935985 0.623055 0.666667
    +   205.552940 0.350826 0.714286
    +   212.051372 0.016393 0.714286
    +   231.153547 0.824618 0.857143
    +   256.697418 0.744268 0.952381
    +   282.145841 0.736126 0.904762
    +   307.899015 0.536075 0.952381
    +   333.262903 0.903282 0.809524
    +   340.217754 0.019722 0.190476
    +   344.988867 0.019671 0.095238
    +   346.988885 0.018032 0.095238
    +   358.840278 0.999967 1.000000
    +   409.201393 1.000000 0.000000
    +
    + EXPECTED XYZ 264
    +   A1    3.85 3.22 1.9
    +   A2    4.89 3.27 1.6
    +   A3    5.87 3.31 1.33
    +   A4    6.3 3.38 1.19
    +   A5    13.01 11.44 7.64
    +   A6    16.14 11.99 6.81
    +   A7    19.35 12.41 6.06
    +   A8    20.41 11.97 5.3
    +   A9    43.5 42.81 32.65
    +   A10   45.58 42.37 30.95
    +   A11   48.99 43.2 29.9
    +   A12   50.73 44.02 29.96
    +   A13   74.46 78.76 66.06
    +   A14   75.66 76.42 64.08
    +   A15   78.36 81.34 65.41
    +   A16   70.52 73.3 59.16
    +   A17   74.98 75.98 60.69
    +   A18   72.85 77.3 60.25
    +   A19   73.09 75.52 64.54
    +   B1    3.47 3.08 1.41
    +   B2    4.41 3.25 0.9
    +   B3    5.04 3.23 0.58
    +   B4    5.19 3.11 0.47
    +   B5    13.36 11.59 5.56
    +   B6    15.97 12.03 3.69
    +   B7    19.2 12.49 2.2
    +   B8    19.73 11.52 1.17
    +   B9    42.19 41.84 29.34
    +   B10   44.83 42.17 25.93
    +   B11   48.06 42.9 23.01
    +   B12   49.63 43.08 21.34
    +   B13   66.21 72.54 64.61
    +   B14   70.16 67.1 60.33
    +   B15   75.46 78.69 51.58
    +   B16   57.47 59.58 47.66
    +   B17   68.33 66.45 49.05
    +   B18   63.89 70.29 51.3
    +   B19   61.12 62.16 59.79
    +   C1    4.97 4.75 1.98
    +   C2    5.18 4.65 1.23
    +   C3    5.51 4.58 0.71
    +   C4    5.77 4.61 0.67
    +   C5    24.57 23.44 10.14
    +   C6    28.1 24.64 5.22
    +   C7    31.15 25.28 2.2
    +   C8    30.85 23.68 1.35
    +   C9    49.16 49.36 32.37
    +   C10   51.72 50.72 26.53
    +   C11   55.24 53.14 21.93
    +   C12   56.87 53.62 18.46
    +   C13   57.68 65.65 62.7
    +   C14   63.46 56.66 55.49
    +   C15   73 76.11 40.78
    +   C16   44.73 46.38 36.8
    +   C17   60.64 55.73 38.1
    +   C18   52.15 60.27 41.5
    +   C19   48.13 49.18 54.38
    +   D1    4.19 4.41 1.93
    +   D2    4.48 4.72 1.24
    +   D3    4.55 4.78 0.8
    +   D4    4.32 4.53 0.78
    +   D5    27.33 28.55 12.95
    +   D6    28.68 30.04 7.25
    +   D7    29.51 31.01 3.41
    +   D8    27.55 28.44 1.83
    +   D9    56.06 58.19 38.21
    +   D10   56.03 58.46 30.02
    +   D11   56.2 59.33 24.44
    +   D12   56.19 59.41 19.14
    +   D13   48.21 57.42 59.53
    +   D14   58.18 49.14 51.36
    +   D15   70.98 73.73 33.63
    +   D16   34.31 35.73 28.22
    +   D17   54.27 47.53 29.58
    +   D18   41.67 50.64 32.28
    +   D19   36.95 37.82 48.09
    +   E1    4.15 4.75 2.03
    +   E2    4 4.98 1.37
    +   E3    3.3 4.49 0.86
    +   E4    3.11 4.3 0.86
    +   E5    13.11 14.9 7.06
    +   E6    12.26 15.23 4.18
    +   E7    11.53 15.57 2.27
    +   E8    9.69 13.74 1.51
    +   E9    39.15 42.08 27.33
    +   E10   37.43 41.51 22.23
    +   E11   36.99 42.5 18.85
    +   E12   36.4 42.58 16.27
    +   E13   39.97 49.81 56.15
    +   E14   52.08 41.07 46.36
    +   E15   68.71 70.76 26.45
    +   E16   25.7 26.97 21.28
    +   E17   48.53 40.6 22
    +   E18   31.62 40.82 23.35
    +   E19   31.19 31.19 43.4
    +   F1    1.51 1.91 1.06
    +   F2    1.29 2.04 0.98
    +   F3    1.16 2.09 0.82
    +   F4    1.14 2.04 0.8
    +   F5    6.53 8.25 5.13
    +   F6    5.61 8.66 4.38
    +   F7    4.6 8.77 3.7
    +   F8    3.45 7.63 2.78
    +   F9    37.8 41.07 30.91
    +   F10   35.92 40.76 29.03
    +   F11   35.42 41.99 29.07
    +   F12   34 41.8 28
    +   F13   32.13 42.12 51.99
    +   F14   45.72 33.34 40.77
    +   F15   66.26 67.29 19.65
    +   F16   17.02 18.07 14.4
    +   F17   41.59 32.53 15.16
    +   F18   26.26 35.26 18.81
    +   F19   24.3 23.6 37.48
    +   G1    2.31 3 2.27
    +   G2    2 3.21 2.58
    +   G3    1.66 3.21 2.75
    +   G4    1.58 3.03 2.6
    +   G5    8.99 11.08 8.79
    +   G6    7.68 11.3 9.56
    +   G7    6.52 11.5 10.2
    +   G8    5.5 10.85 10.55
    +   G9    38.29 41.75 33.45
    +   G10   35.83 41.16 34.11
    +   G11   34.56 41.83 35.63
    +   G12   33.69 42.14 36.7
    +   G13   25.95 35.68 48
    +   G14   40.6 27.62 36.14
    +   G15   63.72 63.63 14.35
    +   G16   10.85 11.82 9.58
    +   G17   37.23 27.64 11.62
    +   G18   20.28 28.97 14.15
    +   G19   17.7 16.74 31.7
    +   H1    2.56 3.04 2.92
    +   H2    2.34 3.2 4.12
    +   H3    2.12 3.28 5.43
    +   H4    2.06 3.18 5.29
    +   H5    10.07 11.6 11.24
    +   H6    9.01 11.68 14.81
    +   H7    8.22 12 19.42
    +   H8    7.25 11.55 21.45
    +   H9    39.25 42.31 36.81
    +   H10   37.58 41.85 40.37
    +   H11   37.16 43.07 45.79
    +   H12   36.27 43.78 49.47
    +   H13   21.47 30.78 44.22
    +   H14   36.49 23.35 32.38
    +   H15   61.58 60.55 10.95
    +   H16   8.21 8.71 6.91
    +   H17   33.04 23.26 8.38
    +   H18   16.22 24.35 10.41
    +   H19   12.86 11.84 26.82
    +   I1    4.22 4.44 5.28
    +   I2    4.35 4.48 8.36
    +   I3    4.4 4.44 11.94
    +   I4    4.48 4.58 12.17
    +   I5    15.15 15.78 15.23
    +   I6    14.56 15.12 19.52
    +   I7    14.37 14.81 24.48
    +   I8    14.11 14.76 30.03
    +   I9    41.03 42.58 36.94
    +   I10   40.85 42.23 40.73
    +   I11   40.86 42.33 45.05
    +   I12   41.31 42.73 47.77
    +   I13   17.26 25.93 40.23
    +   I14   32.66 19.63 28.81
    +   I15   59.37 57.18 7.79
    +   I16   4.97 5.32 4.32
    +   I17   28.62 18.88 5.48
    +   I18   11.58 18.98 7.25
    +   I19   9.58 8.34 22.87
    +   I20   0.45 0.4 0.33
    +   I21   2.28 1.78 0.98
    +   I22   2.37 1.95 0.85
    +   J1    2.15 1.9 2.6
    +   J2    2.57 2 4.72
    +   J3    2.93 1.95 8.1
    +   J4    3.15 1.92 10.76
    +   J5    11.73 11.6 11.81
    +   J6    12.98 11.93 16.19
    +   J7    13.91 12.07 20.95
    +   J8    14.01 11.59 24.35
    +   J9    40.75 41.22 36.34
    +   J10   41.26 41.07 39.74
    +   J11   42.63 41.68 44.51
    +   J12   44.02 41.78 49.25
    +   J13   13.82 21.69 35.98
    +   J14   28.87 16.33 25.08
    +   J15   56.04 52.29 4.97
    +   J16   2.46 2.63 2.29
    +   J17   24.04 14.75 3.15
    +   J18   8.12 14.49 4.55
    +   J19   5.98 4.79 17.76
    +   J20   8.26 5.37 1.04
    +   J21   11.52 7.81 1.62
    +   J22   14.67 10.72 2.6
    +   K1    5.63 4.7 4.86
    +   K2    6.74 4.58 7.23
    +   K3    8.04 4.48 9.73
    +   K4    9.39 4.76 11.79
    +   K5    16.66 15.39 14.44
    +   K6    18.72 15.18 18.23
    +   K7    21.56 15.5 22.97
    +   K8    23 15.02 25.37
    +   K9    42.5 42.02 36.05
    +   K10   44.55 41.63 39.71
    +   K11   47.19 41.96 44.03
    +   K12   49.9 43.14 47.21
    +   K13   10.61 17.44 31.24
    +   K14   24.84 13.19 21
    +   K15   53.12 48.05 3.19
    +   K16   1.05 1.14 1.13
    +   K17   19.93 11.34 1.67
    +   K18   5.3 10.47 2.73
    +   K19   3.95 2.76 13.94
    +   K20   30.61 26.43 11.04
    +   K21   34.91 29.6 11.78
    +   K22   38.95 34.57 18.4
    +   L1    3.88 3.12 2.32
    +   L2    4.93 3.2 2.69
    +   L3    5.75 3.14 3.02
    +   L4    7.31 3.79 3.4
    +   L5    13.29 11.54 9.39
    +   L6    16.22 11.73 10.32
    +   L7    19.95 12.08 12.06
    +   L8    20.79 11.31 12.01
    +   L9    43.22 42.09 33.78
    +   L10   45.52 41.88 34.65
    +   L11   49.04 42.87 35.98
    +   L12   51.03 43.83 37.78
    +   L13   7.45 12.77 25.59
    +   L14   21.26 10.76 17.73
    +   L15   49.45 43.12 2.14
    +   L16   0.47 0.49 0.5
    +   L17   16.04 8.49 0.78
    +   L18   2.91 6.5 1.39
    +   L19   2.5 1.45 10.28
    +   L20   38.7 33.98 20.86
    +   L21   39.36 35.23 21.23
    +   L22   41.36 38.77 23.51
    +   GS0    79.47 82.51 69.04
    +   GS1    72.62 74.94 59.17
    +   GS2    63.15 65.11 51.57
    +   GS3    54.72 56.51 45.03
    +   GS4    48.1 49.81 39.24
    +   GS5    42.22 43.64 34.45
    +   GS6    37.33 38.7 30.5
    +   GS7    32.38 33.61 26.11
    +   GS8    27.56 28.7 22.11
    +   GS9    22.5 23.4 17.99
    +   GS10   18.77 19.55 14.83
    +   GS11   15.48 16.08 12.04
    +   GS12   12.69 13.29 9.98
    +   GS13   10.35 10.81 7.97
    +   GS14   8.39 8.77 6.37
    +   GS15   6.45 6.79 4.97
    +   GS16   4.95 5.18 3.7
    +   GS17   3.58 3.82 2.76
    +   GS18   2.76 2.89 2.06
    +   GS19   1.97 2.08 1.45
    +   GS20   1.22 1.31 0.98
    +   GS21   1 1.05 0.74
    +   GS22   0.87 0.89 0.65
    +   GS23   0.34 0.32 0.32
    +
    +

    +
    +

    +
    + diff --git a/doc/collink.html b/doc/collink.html index 0b94bc7..778b682 100644 --- a/doc/collink.html +++ b/doc/collink.html @@ -27,6 +27,30 @@ style="font-family: monospace;">                 + + + + + + + + + + + + + + + + + + + + + + + + Verbose
     -A "manufacturer"
     
     
    -n
     
    -  

    +  
    -a file.cal +        Apply calibration + curves to link output and append linear
    +  -H file.cal        + + + Append calibration curves to 3dlut
    +  -s                 Simple Mode + + + + + + + + + + + + + + + + + + + + + + + + (default)
     -g [src.gam]

    @@ -149,6 +327,30 @@ Gamut s + + + + + + + + + + + + + + + + + + + + + + + + = saturation, a = absolute colorimetric

     

    @@ -178,302 +404,1382 @@ a - - Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]
    -              -aw -- - Absolute Colorimetric (in Jab) with scaling to fit white point
    -              -aa -- - Absolute Appearance
    -               -r -- - White Point Matched Appearance [ICC Relative Colorimetric]
    -              -la -- - Luminance matched Appearance
    -               -p -- - Perceptual (Preferred) [ICC Perceptual]
    -
                 -pa - - Perceptual Appearance
    -              -ms -- - Saturation
    -               -s -- - Enhanced Saturation [ICC Saturation]
    +              +aw +- + + + + + + + + + + + + + + + + + + + + + + + + + + + Absolute Colorimetric (in Jab) with scaling to fit white point
    +              +aa +- + + + + + + + + + + + + + + + + + + + + + + + + + + + Absolute Appearance
    +               +r +- + + + + + + + + + + + + + + + + + + + + + + + + + + + White Point Matched Appearance [ICC Relative Colorimetric]
                 -al +la - - Absolute Colorimetric (Lab)
    -  
    -w [J,a,b]     Use forced - whitepoint hack [optional color to map the white to]
    -  -c viewcond    set source viewing - conditions for CIECAM02,
    -                -   -either - an enumerated choice, or a parameter
    -  -d viewcond    set destination - viewing conditions for CIECAM02,
    -                -   -either - an enumerated choice, or a parameter:value change
    -
      -             pp - Practical - Reflection Print (ISO-3664 P2)
    -         -  -  -   pe - Print evaluation environment (CIE 116-1995)
    -
            -  -  -   pc - Critical print evaluation environment (ISO-3664 P1)
    -    -            mt - Monitor in - typical work environment
    -           -  -  - mb - Monitor in bright work environment
    -       -         md - Monitor in darkened work - environment
    -       -         jm - Projector in dim - environment
    -       -         jd - Projector in dark - environment
    -        -       pcd - Photo CD - original scene - outdoors
    -       -         ob - Original scene - Bright - Outdoors
    -       -         cx - Cut Sheet Transparencies - on a viewing box
    -           -s:surround -n - = auto, a = average, m = dim, d = dark,
    -                -  -    - c = transparency (default average)
    -           -w:X:Y:Z       -Adapted - white point as XYZ (default media white)
    -           -w:x:y         -Adapted - white point as x, y
    -           -a:adaptation  -Adaptatation - luminance in cd.m^2 (default 50.0)
    -           -b:background  -Background -% +               +p +- + + + + + + + + + + + + + + + + + + + + + + + + + + + Perceptual (Preferred) [ICC Perceptual]
    +
                 +pa + + + + + + + + + + + + + + + + + + + + + + + + + + + - Perceptual Appearance
    +              +ms +- + + + + + + + + + + + + + + + + + + + + + + + + + + + Saturation
    +               +s +- + + + + + + + + + + + + + + + + + + + + + + + + + + + Enhanced Saturation [ICC Saturation]
    +              +al +- + + + + + + + + + + + + + + + + + + + + + + + + + + + Absolute Colorimetric (Lab)
    +              + + + + + + + + + + + + + + + + + + + + + + rl - White Point Matched Colorimetric (Lab)

    +  -w [J,a,b]     Use forced + whitepoint hack [optional color to map the white to]
    +  -c viewcond    set source viewing + conditions for CIECAM02,
    +                +   +either + + + + + + + + + + + + + + + + + + + + + + + + + + + an enumerated choice, or a parameter
    +  -d viewcond    set destination + viewing conditions for CIECAM02,
    +                +   +either + + + + + + + + + + + + + + + + + + + + + + + + + + + an enumerated choice, or a parameter:value change
    +
      +             pp - Practical + Reflection Print (ISO-3664 P2)
    +         +  +  + + + + + + + + + + + + + + + + + + + + + + + + + + +   pe - Print evaluation environment (CIE 116-1995)
    +
            +  +  + + + + + + + + + + + + + + + + + + + + + + + + + + +   pc - Critical print evaluation environment (ISO-3664 P1)
    +    +            mt - Monitor in + typical work environment
    +           +  +  + + + + + + + + + + + + + + + + + + + + + + + + + + + mb - Monitor in bright work environment
    +       +         md - Monitor in darkened work + environment
    +       +         jm - Projector in dim + environment
    +       +         jd - Projector in dark + environment
    +        +       pcd - Photo CD - original scene + outdoors
    +       +         ob - Original scene - Bright + Outdoors
    +       +         cx - Cut Sheet Transparencies + on a viewing box
    +           +s:surround +n + + + + + + + + + + + + + + + + + + + + + + + + + + + = auto, a = average, m = dim, d = dark,
    +                +  +    + + + + + + + + + + + + + + + + + + + + + + + + + + + c = transparency (default average)
    +           +w:X:Y:Z       +Adapted + + + + + + + + + + + + + + + + + + + + + + + + + + + white point as XYZ (default media white)
    +           +w:x:y         +Adapted + + + + + + + + + + + + + + + + + + + + + + + + + + + white point as x, y
    +           +a:adaptation  +Adaptatation + + + + + + + + + + + + + + + + + + + + + + + + + + + luminance in cd.m^2 (default 50.0)
    +           +b:background  +Background +% + + + + + + + + + + + + + + + + + + + + + + + + + + + of image luminance (default 20)
    +           l:imagewhite  + Image white in cd.m^2 if surround = auto (default 250)

    +           +f:flare       +Flare +light + + + + + + + + + + + + + + + + + + + + + + + + + + + % of image luminance (default 0)
    +
     
             + g:glare       Glare light % of + ambient (default 1)
    +           + + + + + + + + + + + + + + + + g:X:Y:Z       Glare color as XYZ + (default media white)
    +           + + + + + + + + + + + + + + + + g:x:y         Glare + color as x, y
    +  -t tlimit          +set +source + + + + + + + + + + + + + + + + + + + + + + + + + + + total ink limit, 0 - 400% (estimate by default)
    +  -T klimit          +set +source + + + + + + + + + + + + + + + + + + + + + + + + + + + total ink limit, 0 - 100% (estimate by default)
    +
    +        Inverse outprofile A2B Options:
    +  -k tezhxr   +      CMYK Black generation
    +                +   +t + + + + + + + + + + + + + + + + + + + + + + + + + + + = transfer K from source to destination, e = retain K of + destination B2A table
    +                +   +z + + + + + + + + + + + + + + + + + + + + + + + + + + + = zero K, h = 0.5 K, x = maximum K, r = ramp K (default)
    +  -k p stle stpo enpo + enle shape
    +                +   +p + + + + + + + + + + + + + + + + + + + + + + + + + + + = black level generation curve parameters
    +  -k q stle0 stpo0 + enpo0 enle0 shape0 stle2 stpo2 enpo2 enle2 shape2
    +                +   +q + + + + + + + + + + + + + + + + + + + + + + + + + + + = transfer source K to dual curve limits
    +  -K parameters      + Same as -k, but target is K locus rather than K value itself
    +  -l tlimit          +set +destination + + + + + + + + + + + + + + + + + + + + + + + + + + + total ink limit, 0 - 400% (estimate by default)
    +  -L klimit          +set +destination + + + + + + + + + + + + + + + + + + + + + + + + + + + total ink limit, 0 - 100% (estimate by default)
    +  -3 flag            + + + + + + + + + + + + + + + + + + + + + Create "3DLut" output file as well as devlink
    +      + e               + + + + + + + + + + + + + + + + + + + + + eeColor .txt file

    +      + m               + + + + + + + + + MadVR .3dlut   file
    +  -I b               + + + + + + + + + + + + + + + + + + + + + Apply BT.1886-like mapping with effective gamma 2.2 to input
    +  -I + b:g.g           + + + + + + + + + + + + + + Apply BT.1886-like mapping with effective gamma g.g to + input
    +
     -I B +               + + + + + + + + + + + + + + Apply BT.1886 mapping with technical gamma 2.4 to input

    +  -I B:g.g           + + + + + + + + + + + + + + Apply BT.1886-like mapping with technical gamma g.g to input
    +
     -e flag            + + + + + + + + + + + + + + + + + + + + + Video encode input as:
    +  -E flag            + + + + + + + + + + + + + + + + + + + + + Video encode output as:

    +      + n                + + + + + + + + + + normal RGB 0..1 levels (default)
    +      + t                + + + + + + + + + + RGB (16-235)/255 "TV" levels
    +      + 6                + + + + + + + + + + Rec601 YCbCr SD (16-235,240)/255 "TV" levels
    +      + 7                + + + + + + + + + + Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 5                + + + + + + + + + + Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 2                + + + + + + + + + + Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels
    +      + C                + + + + + + + + + + Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV" + levels
    +      + x                + + + + + + + + + + xvYCC Rec601 YCbCr Rec709 Prims. SD (16-235,240)/255 "TV" + levels
    +      + X                + + + + + + + + + + xvYCC Rec709 YCbCr Rec709 Prims. HD (16-235,240)/255 "TV" + levels
    +
     
      -P +                 +Create +gamut - of image luminance (default 20)
    -           l:scenewhite  - Scene white in cd.m^2 if surround = auto (default 250)
    -
              -f:flare       -Flare -light - % of image luminance (default 1)
    -           -f:X:Y:Z       -Flare - color as XYZ (default media white)
    -           -f:x:y         -Flare - color as x, y
    -  -t tlimit          -set -source - total ink limit, 0 - 400% (estimate by default)
    -  -T klimit          -set -source - total ink limit, 0 - 100% (estimate by default)
    -
    -        Inverse outprofile A2B Options:
    -  -k tezhxr   -      CMYK Black generation
    -                -   -t - = transfer K from source to destination, e = retain K of - destination B2A table
    -                -   -z - = zero K, h = 0.5 K, x = maximum K, r = ramp K (default)
    -  -k p stle stpo enpo - enle shape
    -                -   -p - = black level generation curve parameters
    -  -k q stle0 stpo0 - enpo0 enle0 shape0 stle2 stpo2 enpo2 enle2 shape2
    -                -   -q - = transfer source K to dual curve limits
    -  -K parameters      - Same as -k, but target is K locus rather than K value itself
    -  -l tlimit          -set -destination - total ink limit, 0 - 400% (estimate by default)
    -  -L klimit          -set -destination - total ink limit, 0 - 100% (estimate by default)
    -
      -P -                 -Create -gamut gammap_p.wrl and gammap_s.wrl diagostics
    -
     TIFF + + + + + + + + + + + + + + + + + + + + + + + + or JPEG file with embedded profile may be used here.
      A TIFF or JPEG file with embedded profile may be used here.
    The -p 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 tweak + The -p parameter allows 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 tweak tools, such as refine.

    + The -a parameter causes calibration curves + in the supplied file to be applied after the link of the profiles. + This is used as an alternative to calibration curves being loaded + into the graphics card VideoLut. For MadVR 3dlut output, a linear + set of calibration curves will also be appended to the 3dlut, + ensuring that the correct VideoLUT curves get loaded at the time the + 3dLut is used by MadVR v0.86.9 or latter. By default no calibration + curves are appended to a MadVR 3dLut.
    +
    + The -H parameter causes calibration curves + in the supplied file to be appended to a MadVR 3dlut output, + ensuring that the correct VideoLUT curves get loaded at the time the + 3dLut is used by MadVR v0.86.9 or latter. By default no calibration + curves are appended to a MadVR 3dLut.
    +
    The basic linking style is chosen by using the -s (default), -g or -G flags. The three behaviors are:

    @@ -698,6 +2115,30 @@ ICC except the last one (no. 7), + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ -710,6 +2151,30 @@ ICC   + + + + + + + + + + + + + + + + + + + + + + + +  p = perceptual, r = relative colorimetric,
                                s @@ -778,10 +2243,10 @@ ICC
    The la 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.
    + expands the the luminance axis from white to black 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.

    The  p intent, Perceptual, uses "knee" type 3 Dimensional compression to @@ -816,11 +2281,18 @@ ICC The white point is mapped precisely from source to destination.

    The al - intent, Absolute Appearance (Lab), is similar to intent a, 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.
    + intent, Absolute Colorimetric (Lab), is similar to intent a, 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.
    +
    + The ar + intent, White Point Matched Colorimetric (Lab), is similar to + intent r, 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.

    The -w flag forces the white points to be @@ -919,30 +2391,150 @@ ICC    + + + + + + + + + + + + + + + + + + + + + + + +    _______  enle
                     |        + + + + + + + + + + + + + + + + + + + + + + + +    /
                     |        + + + + + + + + + + + + + + + + + + + + + + + +   /
                     |        + + + + + + + + + + + + + + + + + + + + + + + +  /
                     |        + + + + + + + + + + + + + + + + + + + + + + + + /
               stle  | ------/
    @@ -955,6 +2547,30 @@ ICC White              + + + + + + + + + + + + + + + + + + + + + + + + Black

    For minimum sensitivity of printed output to the lighting @@ -1023,6 +2639,243 @@ White            &nb in final calibrated device values if the profile includes calibration information.

    + The -3 flag triggers creation of a + "3dLut" of one of the following formats:
    +     e        eeColor format ".txt" files. + This includes 3 input curve files, the cLut file and 3 output curve + files.
    +     m       MadVR + format ".3dlut" file.
    +
    + Some hardware devices and other software make use of cLUT type + tables that are analogous to ICC device links, but are typically + less sophisticated and flexible. The -3 flag allows creation + of some of these file formats as well as the normal ICC device link. + Choosing one of these formats will typically also configure various + other parameters to default values suitable for that format, such as + the  table resolution (-r), and the use of 1D input and + output curves (-n). Other parameters (such as -I, -e + and -E) may have to be set to get a table suitable for the + particular target and situation.
    +
    + The -3 e eeColor format is basically a 65^3 cLUT, but the + hardware is unable to map a 1.0 input value to anything other than + 1.0 output. If one of the video input encodings is being used (-e + t or -e 7 etc.), then this is not an issued, since a + 1.0 input is not used for image data. For normal (full) input range + (ie. if the eeColor is being used to process the output of a + computer Video card, and the video card is not encoding using TV + values), then this is a problem, and collink will compensate for + this by creating a set of per channel input curve files that can be + loaded into the eeColor. The xvYCC encoding (-e x and -e + X) uses almost the full range of values for the Cb & Cr + values, and also needs per channel input curves to allow a full + range of mapping.
    +
    +  For this reason collink generates the following 7 files:
    +
    +     basename-first1dred.txt
    +     basename-first1dgreen.txt
    +     basename-first1dblue.txt
    +     test.txt
    +     basename-second1dred.txt
    +     basename-second1dgreen.txt
    +     basename-second1dblue.txt
    +
    + even though the 1d files will be linear for all cases except the + normal and xvYCC input range.
    +
    + The MadVR format is an 8 bit input, 16 bit output cLUT of 100 Mbytes + size, and will written to the file basename.3dlut. If the -a + or -H options are used, then the MadVR 3dLut will have a set of + appropriate per channel calibration curves appended to the 3dLut, to + ensure that the hardware is correctly set for it if used with MadVR + V0.86.9 or latter. This functionality is analogous to a 'VCGT' tag + in a normal ICC display profile.
    +
    + There is more information on the Typical + Usage Scenarios page.
    +
    +
    The -I b flag applies extra input + processing, applying BT.1886-like + + + + + + + + + + + + + + video gamma mapping using an effective gamma of 2.2 by default, and + overridable using -I b:g.g where g.g is the gamma. + The gamma is an effective gamma, meaning that its effect on 50% + input is the same as that of a pure power curve, in spite of any + black offset added by BT.1886. This has the benefit of making the + overall effect of brightness independent of the black level of the + display. Setting an effective gamma other than 2.2 is one way of + making the viewing condition adjustment for the different conditions + of video encoding and decoding, or for modelling the source + colorspace as a rendering on a video display. This would be used as + an alternative to using gamut mapping mode and setting explicit + input and output viewing conditions, or in combination with + appearance adjustments. BT.1886 will only work with matrix type + input profiles. The default value of 2.2 is probably suitable for + dim viewing conditions, and it may be desirable to override this + default if your viewing conditions are darker or lighter. For + lighter conditions, try "-I b:2.2". For darker conditions, try "-I + b:2.6".
    +
    + The -I B flag applies extra input + processing, applying BT.1886 + video gamma mapping using the BT.1886 gamma of 2.4 by default, and + overridable using -I b:g.g where g.g is the gamma. + The gamma is the technical gamma, or power applied to the input + image, and this means that its effect on 50% input will depend on + the black level of the display, making the overall brightness + somewhat unpredictable. For a more predictable effect, use -I b.
    +
    +
    The -e flag applies a Video + encoding to the input. See below and -E + for the list of encodings.
    +
    +      + x                + + + + + + + + + + xvYCC Rec601 YCbCr Rec709 Prims. SD (16-235,240)/255 "TV" + levels
    +      + X                + + + + + + + + + + xvYCC Rec709 YCbCr Rec709 Prims. HD (16-235,240)/255 "TV" + levels

    +
    + When xvYCC is chosen, the encoding is either a Rec601 YCbCr or + Rec709 YCbCr with extended range Cb and Cr values, and a hard coded + Rec709 source colorspace, corresponding to the xvYCC specifications. + The source profile provided to collink is used to + define the source gamut for gamut mapping, and also the space that + any BT.1886 processing will be performed in. For + instance, if the xvYCC is being used to encode a larger gamut such + as UHD Rec2020, or Digital Cinema SMPTE431 P3, then the + corresponding ICC profile should be provided as the source profile.
    +
    + The -E flag applies a Video + encoding to the output. The possible encoding are:
    +
    +      + n                + + + + + + + + + + normal RGB 0..1 full range levels (default)
    +      + t                + + + + + + + + + + RGB (16-235)/255 "TV" levels
    +      + 6                + + + + + + + + + + Rec601 YCbCr SD (16-235,240)/255 "TV" levels
    +      + 7                + + + + + + + + + + Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 5                + + + + + + + + + + Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 2                + + + + + + + + + + Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels
    +      + C                + + + + + + + + + + Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV" + levels
    +

    +
    The -P option causes a diagnostic 3D VRML plots to be created that illustrate the gamut mapping generated.
    @@ -1044,6 +2897,30 @@ White            &nb For information on typical usage, see the Typical + + + + + + + + + + + + + + + + + + + + + + + + Usage Scenarios page.


    diff --git a/doc/colprof.html b/doc/colprof.html index de9d5c2..022f984 100644 --- a/doc/colprof.html +++ b/doc/colprof.html @@ -3,7 +3,7 @@ colprof + charset=windows-1252"> @@ -23,6 +23,18 @@ + + + + + + + + + + + + @@ -42,6 +54,18 @@ Transparency, Matte, Negative, BlackAndWhite
     -Z prsa  + + + + + + + + + + + +           Default intent: Perceptual, Rel. Colorimetric, Saturation, Abs. Colorimetric
    @@ -51,7 +75,8 @@  -b [lmhun]         Low quality B2A table - or specific B2A quality or none for input device
    -  -y         +  -ni        + @@ -63,8 +88,6 @@ -         Verify A2B profile
    -  -ni        @@ -90,6 +113,18 @@ + + + + + + + + + + + + @@ -120,6 +155,18 @@ x + + + + + + + + + + + + @@ -144,6 +191,18 @@ White + + + + + + + + + + + + @@ -168,6 +227,18 @@ Wh + + + + + + + + + + + + @@ -192,6 +263,18 @@ Wh + + + + + + + + + + + + @@ -215,6 +298,18 @@ Black + + + + + + + + + + + + @@ -239,6 +334,18 @@ concave, + + + + + + + + + + + + @@ -246,6 +353,18 @@ concave,  -K parameters      + + + + + + + + + + + + Same as -k, but target is K locus rather than K value itself
     -l tlimit          override CMYK total ink limit, 0 - 400% @@ -274,6 +393,18 @@ cLUT + + + + + + + + + + + + @@ -297,6 +428,18 @@ s + + + + + + + + + + + + @@ -321,6 +464,18 @@ S + + + + + + + + + + + + @@ -333,6 +488,18 @@ S + + + + + + + + + + + + If input profile, auto scale WP to allow extrapolation

     -uc             @@ -356,20 +523,61 @@ and + + + + + + + + + + + + primaries to be +ve
    -
     -f [illum] +  -V demphasis       + + + + + Degree of dark region cLUT grid emphasis 1.0-3.0 (default 1.00 = + none)
    +
     -f [illum]         Use Fluorescent Whitening Agent compensation [opt. simulated inst. illum.:
                          + + + + + + + + + + + + M0, M1, M2,
    A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp ]
    -
     -i illum   +  -i illum   + + + + + + + + + + + +         Choose illuminant for computation of CIE XYZ from spectral data & FWA:
    @@ -385,6 +593,18 @@ D50 (def.), D50M2, + + + + + + + + + + + + D65, F5, F8, F10 or file.sp

     -o observ          Choose CIE Observer for spectral data:
    @@ -400,22 +620,6 @@ D50M2, -           1931_2
    (def.), - 1964_10, S&B 1955_2, shaw, J&V 1978_2
    -  -r avgdev       -    Average deviation of device+instrument readings as - a percentage (default 0.5%)
    -  -s src.icc         -Apply -gamut -mapping -to -output -profile -perceptual -B2A -table -for @@ -427,8 +631,249 @@ for - given source
    -  -S src.icc         + +           1931_2
    (def.), + 1964_10, S&B 1955_2, shaw, J&V 1978_2
    +  -r avgdev       +    Average deviation of device+instrument readings as + a percentage (default 0.5%)
    +  -s src.icc         +Apply +gamut +mapping +to +output +profile +perceptual +B2A +table +for + + + + + + + + + + + + + + + + + + + + + + + + given source
    +  -S src.icc         + + + + + + + + + + + + + + + + + + + + + + + + Apply gamut mapping to output profile perceptual and saturation + B2A table
    +  -nP                + + + + + + + + + + + + + + + + + + + + + + + + Use colormetric source gamut to make output profile perceptual + table
    +  -nS                + + + + + + + + + + + + + + + + + + + + + + + + Use colormetric source gamut to make output profile saturation + table
    +  -g src.gam +         Use source image + gamut as well for output profile gamut mapping
    +  -p aprof.icm,...   Incorporate + abstract profile(s) into output tables
    +  -t intent  +         Override gamut + mapping intent for output profile perceptual table:
    +  -T intent          + + + + + + + + + + + + + + + + + + + + + + + + Override gamut mapping intent for output profile saturation + table:
    +
          +             + a - Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]
    +           +        aw - Absolute Colorimetric + (in Jab) with scaling to fit white point
    +            +       aa - Absolute Appearance
    +             +       r - White Point Matched + Appearance [ICC Relative Colorimetric]
    +            +       la - Luminance matched Appearance
    +              +      p - Perceptual (Preferred) [ICC + Perceptual]
    +
                     + + + + + + + + + + + + + + + + + + + + + + + + pa - Perceptual Appearance
    +
            + + + + + + + + + + + + + + + + + + + + + + + +          ms - Saturation
    +            +        s - Enhanced Saturation [ICC + Saturation]
    +             +      al - Absolute Colorimetric (Lab)

    +                  + + + + + + + + + + + + rl - White Point Matched Colorimetric (Lab)
    +  -c viewcond        + + + + + @@ -440,9 +885,6 @@ for - Apply gamut mapping to output profile perceptual and saturation - B2A table
    -  -nP                @@ -450,13 +892,13 @@ for + set input viewing conditions for output profile CIECAM02 gamut + mapping,
    +                       - Use colormetric source gamut to make output profile perceptual - table
    -  -nS                @@ -468,17 +910,6 @@ for - Use colormetric source gamut to make output profile saturation - table
    -  -g src.gam -         Use source image - gamut as well for output profile gamut mapping
    -  -p aprof.icm,...   Incorporate - abstract profile(s) into output tables
    -  -t intent  -         Override gamut - mapping intent for output profile perceptual table:
    -  -T intent          @@ -487,28 +918,11 @@ for + either an enumerated choice, or a parameter
    +  -d viewcond        - Override gamut mapping intent for output profile saturation - table:
    -
          -             - a - Absolute Colorimetric (in Jab) [ICC Absolute Colorimetric]
    -           -        aw - Absolute Colorimetric - (in Jab) with scaling to fit white point
    -            -       aa - Absolute Appearance
    -             -       r - White Point Matched - Appearance [ICC Relative Colorimetric]
    -            -       la - Luminance matched Appearance
    -              -      p - Perceptual (Preferred) [ICC - Perceptual]
    -
                     @@ -520,8 +934,6 @@ for - pa - Perceptual Appearance
    -
            @@ -531,15 +943,11 @@ for + set output viewing conditions for output profile CIECAM02, gamut + mapping
    +                       -          ms - Saturation
    -            -        s - Enhanced Saturation [ICC - Saturation]
    -             -      al - Absolute Colorimetric (Lab)

    -  -c viewcond        @@ -551,9 +959,6 @@ for - set input viewing conditions for output profile CIECAM02 gamut - mapping,
    -                       @@ -564,9 +969,9 @@ for + either an enumerated choice, or a parameter:value change
    +                       - either an enumerated choice, or a parameter
    -  -d viewcond        @@ -578,9 +983,6 @@ for - set output viewing conditions for output profile CIECAM02, gamut - mapping
    -                       @@ -592,7 +994,7 @@ for - either an enumerated choice, or a parameter:value change
    + Also sets out of gamut clipping CAM space.
                          @@ -605,8 +1007,7 @@ for - Also sets out of gamut clipping CAM space.
    -                       + @@ -657,6 +1058,18 @@ for + + + + + + + + + + + + @@ -677,20 +1090,41 @@ for       b:background  Background % of image luminance (default 20)
                 -            l:scenewhite  - Scene white in cd.m^2 if surround = auto (default 250)
    -                   -       - f:flare       Flare light % of - image luminance (default 1)
    -                   -       - f:X:Y:Z       Flare color as XYZ - (default media white)
    -                   -       - f:x:y         Flare - color as x, y
    +            + l:imageewhite  Image white in cd.m^2 if surround = auto + (default 250)

    +       +          +          + f:flare       Flare light + % of image luminance (default 0)
    +
                +   
             + + + + + + + + + + + g:glare       Glare light % of + ambient (default 1)
    +       +          +          + g:X:Y:Z       Glare color as + XYZ (default media white)
    +       +           +         + g:x:y         Glare + color as x, y

     -P                   @@ -701,6 +1135,18 @@ for + + + + + + + + + + + + @@ -715,6 +1161,18 @@ Override + + + + + + + + + + + + @@ -824,13 +1282,6 @@ Override profiles and matrix profiles will only contain a colorimetric intent table or matrix.

    - The -y 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 -v flag - is also set, then information for each patch will also be printed.
    -
    Normally cLUT base profiles are generated with three major elements:- per device channel (shaper) input curves, the multi-dimensional lut table, and @@ -856,6 +1307,18 @@ the + + + + + + + + + + + + @@ -871,6 +1334,18 @@ the + + + + + + + + + + + + flag. Note that this @@ -919,6 +1394,18 @@ the + + + + + + + + + + + + @@ -933,6 +1420,18 @@ the + + + + + + + + + + + + @@ -946,6 +1445,18 @@ the + + + + + + + + + + + + @@ -959,6 +1470,18 @@ the + + + + + + + + + + + + @@ -972,6 +1495,18 @@ the + + + + + + + + + + + + @@ -993,6 +1528,18 @@ White            &nb + + + + + + + + + + + + @@ -1063,8 +1610,8 @@ White            &nb By default (equivalent to -al) profile creates a cLUT 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.
    + most robust and accurate results, and allows for the four different + rendering intents that ICC profiles can support.

    A cLUT base table profile using a PCS of XYZ can be created if -ax is used, and this may have the advantage of better accuracy for @@ -1072,14 +1619,16 @@ White            &nb 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 -aX, which - will create shaper/matrix tags.
    + white point that can occur in L*a*b* based cLUT input profiles. A disadvantage + of this type of profile is that it can be a lot less robust if given + a test patch set that is sparse, or too evenly spaced. 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 -aX, which will create + shaper/matrix tags.

    For RGB input or display profiles, a simpler type of profile using either a gamma curves or a general shaper curves, combined with a @@ -1159,6 +1708,25 @@ White            &nb black and primary values, so as to work with these programs, but this will reduce the accuracy of the profile.

    + The -V demphasis parameter allows sets the + degree to which cLUT grid spacing should emphasize the accuracy of + modelling the device response in the dark regions, over that of the + lighter regions. By default this value will be a scaled down version + of the one set using the targen -V + parameter, and values in the range 1.3 - 1.6 are a good + place to start. Display devices used for video or film reproduction + are typically viewed in dark viewing environments with no strong + white reference, and typically employ a range of brightness levels + in different scenes. This often means that the devices dark region + response is of particular importance, so increasing the density of + cLUT grid points in the dark region may improved the balance of + accuracy of the resulting profile for video or film reproduction. + This is most valuable when used in concert with a set of test points + that more densely sample the dark regions, by use of the + corresponding targen -V parameter. Emphasizing the dark region + characterization will reduce the accuracy of  modelling the + lighter regions given a certain quality/grid resolution.
    +
    The -f flag enables Fluorescent Whitening Agent (FWA) compensation. This only works if spectral data is available and, the instrument is not UV filtered.  FWA @@ -1189,6 +1757,18 @@ White            &nb + + + + + + + + + + + + @@ -1500,7 +2080,7 @@ White            &nb profile (.icm extension on the MSWindows platform, .icc on Apple or Unix platforms). The -O parameter will override this default. -

    Discussion

    +

    Discussion

    Note that monochrome profiling isn't currently supported. It may be supported sometime in the future.

    @@ -1512,7 +2092,7 @@ White            &nb 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.
    + with the device measurement, or profile creation.

    Given a .ti3 file from a display device that contains calibration curves (generated by dispcal, passed diff --git a/doc/colverify.html b/doc/colverify.html new file mode 100644 index 0000000..3f8bc72 --- /dev/null +++ b/doc/colverify.html @@ -0,0 +1,209 @@ + + + + colverify + + + + +

    profile/colverify

    +

    Summary

    + Verify a color transform by comparing CIE measurement values from + two test charts. The charts can be any suitably formatted CGATS or .ti3 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.
    +

    Usage Summary

    + colverify  [-options] target.ti3 measured.ti3
    +  -v + [n]           + Verbose mode, n >= 2 print each value
    +  -n               +Normalise + + + each files reading to white Y
    +  -N               +Normalise + + + each files reading to white XYZ
    +  -D               +Use + + + D50 100.0 as L*a*b* white reference
    +  -c           +  + + +   Show CIE94 delta E values
    +  -k           +     Show CIEDE2000 delta E values
    +  -s           +     Sort patch value by error
    +  -w           +  + + +   create VRML vector visualisation (measured.wrl)
    +
     -W +             +   create VRML marker & vector visualisation + (measured.wrl)
    +
     -x           +  + + +   Use VRML axes
    +  
    -f + [illum]       Use Fluorescent + Whitening Agent compensation [opt. simulated inst. illum.:
    +                    + + + M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or + file.sp]
    +  -i illum         + Choose illuminant for computation of CIE XYZ from spectral + data & FWA:
    +                    + + + A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp
    +  -o observ        Choose + CIE Observer for spectral data:
    +
                       + + + 1931_2 (def.), 1964_10, S&B + 1955_2, shaw, J&V 1978_2
    +  -L profile.icm   Skip any first file out of + profile gamut patches
    +  -X file.ccmx     Apply Colorimeter + Correction Matrix to second file
    +
     target.ti3       + Target or reference patch data file
    +  measured.ti3     Measured or actual patch + data file

    +

    Usage Details and Discussion

    + colverify provides a way of verifying how well a color + transformation (such a proofing) performs.
    +
    + The -v flag prints out extra information during the + checking, and prints each patch value, rather than just a summary.
    +
    + The -n 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.
    +
    + The -N 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.
    +
    + The -D 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.
    +
    + The -c 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.
    +
    + The -k 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.
    +
    + If the -s flag is used in combination with the -v + flag, then the test point by test point output will be sorted from + worst to best.
    +
    + The -w creates a VRML + 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 -W 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.
    +
    + The -x flag adds Lab axes to the VRML output.
    +
    + The -f 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 D50 or CIE computation + illuminant used for FWA (see -i below). See colprof -f for a fuller explanation. The + same value should be used as was used during the creation of the + profile.
    +
    + The -i flag allows specifying a standard or custom + illumination spectrum, applied to the spectral test point values to + compute CIE tristimulus values. A, D50, D50M2, + D65, F5, F8, F10 are a selection of + standard illuminant spectrums, with D50 being the default. + If a filename is specified instead, it will be assumed to be an + Argyll specific .sp 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.
    +
    + The -o flag allows specifying a tristimulus observer, and is + used to compute PCS (Profile Connection Space) tristimulus values. + The following choices are available:
    +   1931_2 selects the standard CIE 1931 2 degree + observer. The default.
    +   1964_10 selects the standard CIE 1964 10 degree + observer.
    +   1955_2 selects the Stiles and Birch 1955 2 degree + observer
    +   1978_2 selects the Judd and Voss 1978 2 degree + observer
    +   shaw selects the Shaw and Fairchild 1997 2 degree + observer
    +
    + The same parameter value should be used as was used during the + creation of the profile.
    +
    + The -L profile.icm parameter causes colverify to ignore + any patches from the first file that are out of gamut according to + the profile. This can be useful in evaluating accuracy without + tainting it by impossible to reach colors.
    +
    + The -X file.ccmx option applies the given 3x3 + calibration matrix to the values from the second file before doing + any verification. This can be useful in evaluating the effects of a + calibration matrix on raw colorimeter values, against reference + values measured using a spectrometer.
    +
    + If both CIE and spectral values are present in the input files, the + CIE values will be used by default. Using the -i, -o or -f + flag will force spectral values to be used. The the -i, -o or -f + flags will apply to both the target and measured input files.
    +
    +
    +
    +
    +
    +
    + + diff --git a/doc/dispcal.html b/doc/dispcal.html index 7327c8f..e23a8d0 100644 --- a/doc/dispcal.html +++ b/doc/dispcal.html @@ -36,6 +36,20 @@ + + + + + + + + + + + + + + @@ -75,6 +89,20 @@ for + + + + + + + + + + + + + + @@ -105,6 +133,20 @@ list + + + + + + + + + + + + + + @@ -132,7 +174,40 @@ list - Display via a web server at port (default 8080)

    +  -dmadvr +              + + + + + + + + + + + + + + + + + [MSWin] Display via MadVR Video Renderer
     -E + href="#z">-z                   @@ -689,6 +1059,20 @@ output + + + + + + + + + + + + + + @@ -730,16 +1114,6 @@ center, - = right/bottom etc.
    -                       -ss: -0.5 -= -half, -1.0 -= -normal, -2.0 @@ -754,24 +1128,99 @@ normal, + = right/bottom etc.
    +                       +ss: +0.5 += +half, +1.0 += +normal, +2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + = double etc.
    +
                          + + + + + + + + + + + + + + + + + + + + + ss,vs: = optional horizontal, vertical scale.
    +  -F +                   + + + + + + + + + + + + - = double etc.
    -
                          - ss,vs: = optional horizontal, vertical scale.
    -  -F -                   @@ -782,6 +1231,11 @@ normal, + Fill whole screen with black background
    +  -E +                   @@ -791,8 +1245,11 @@ normal, - Fill whole screen with black background
    Video + encode output as (16-235)/255 "TV" levels
      -
     -Y A
    +  -Y + + + R:rate            + + + Override measured refresh rate with rate Hz
    +
     
    -Y A                 Use non-adaptive integration time mode (if available).
    +  -Y + p +             +     Don't wait for the instrument to be placed on + the display
     -C "command" The -v flag reports progress information, as well as other statistics about the progress of calibration. A - numerical argument greater than 1 gives greater verbosity.
    + numerical argument greater than 1 gives greater verbosity. 2 will + give per step adjustment and repeat information, while 3 will give + even greater technical detail.

    When running on a UNIX based system that used the X11 Windowing System, dispcal will by default use the @@ -1142,6 +1741,20 @@ none, + + + + + + + + + + + + + + @@ -1183,6 +1796,16 @@ none, See the -o flag for an explanation of the implications of having no access to the VideoLUTs.

    + -dmadvr + [MSWin only] causes test patches to be displayed using the MadVR + video renderer. Note that you may have to start the video playback + software and load a video clip in pause for this to work. MadVR + rendering does not need or support VideoLUT access, but be aware + that the state of the Graphics Card VideoLUTs may affect the + results, and therefore may have to be set appropriately using + dispwin. Test patch colors will not be processed by the + MadVR 3dLut by default.
    +
    -c The instrument is assumed to communicate through a USB or serial communication port, and the port can be selected with the -c @@ -1198,9 +1821,11 @@ none, perform a quick measurement of current display behaviour, reports and then exits. If the -r flag is used the measurement are taken using the currently loaded - calibration (Video LUT) curves. If -R - is use, then the uncalibrated ("raw" or "native") behaviour is - measured. Reported are:
    + calibration (Video LUT) curves, and in the case of MadVR renderer + test patch display the Color Management 3dLut. If -R is use, then the uncalibrated + ("raw" or "native") behaviour is measured (ie. no VideoLut or CM). + Reported are:

        Black Brightness in cd/m^2
        White Brightness in cd/m^2
    @@ -1339,10 +1964,9 @@ none, and how this works, see Operation of particular instruments. 3) Any installed CCSS files (if applicable), or CCMX files. These files are typically created - using ccxxmake, - and installed using oeminst. The - default and Base Calibration types will be indicated in the usage.
    + using ccxxmake, and installed using oeminst. The default and Base Calibration + types will be indicated in the usage.

    -t Set the target white point @@ -1403,6 +2027,20 @@ Set + + + + + + + + + + + + + + @@ -1431,6 +2069,20 @@ the + + + + + + + + + + + + + + @@ -1510,6 +2162,20 @@ As + + + + + + + + + + + + + + @@ -1606,7 +2272,8 @@ As 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 -A - parameter (see below).
    + parameter (see below). For applications where maximum contrast ratio + is important (such as Video), use -k0.

    -A rate:  If @@ -1622,6 +2289,20 @@ If + + + + + + + + + + + + + + @@ -1668,7 +2349,7 @@ If ascertained. The verification uses a fixed number of semi-random test values to test the calibration.

    - -E Run + -z 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. dispwin to load a .cal file into the display - before running dispcal -E. + before running dispcal -z. 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 -a parameter @@ -1710,6 +2391,16 @@ If with black. This can aid black accuracy when measuring CRT displays or projectors.

    + The -E + flag causes the display test values to be scaled to the Video RGB + encoding range of (16-235)/255. This also modifies the resulting + calibration curve behavior downstream of dispcal. If a calibration + curve created using -E gets installed or converted to an ICC profile + 'vcgt' tag in the process of creating a profile in dispcal or + colprof, the incoming full range values will first have the + calibration curve applied and then be scaled to the Video encoding + range (16-235)/255.
    +
    -n When running on a UNIX based system that used the X11 Windowing System, dispcal normally selects the override redirect so that the test window will @@ -1782,6 +2473,20 @@ a + + + + + + + + + + + + + + @@ -1832,6 +2537,12 @@ a style="font-weight: bold;">-Iwb
    .

    + The -Y R:rate + options overrides calibration of the instrument refresh rate. This + may be useful if the instrument supports this function and the + refresh rate cannot be accurately calibrated from the display + itself.
    +
    The -Y A option uses a non-adaptive integration time emission measurement mode, if the instrument supports it, such as the Eye-One Pro or @@ -1841,6 +2552,13 @@ a This may give increased consistency and faster measurement times, but may also give less accurate low level readings.

    + The -Y p + option skips asking the user to place the instrument on the display. + Normally a grey patch is displayed, and then the user is asked to + confirm that the instrument is in place, so that readings can + commence. This flag disables that check. This may be useful in + automating certain operations.
    +
    The -C "command" option allows a method of relaying each test value to some other display than that diff --git a/doc/dispprofloc.html b/doc/dispprofloc.html index b583914..668ed16 100644 --- a/doc/dispprofloc.html +++ b/doc/dispprofloc.html @@ -11,195 +11,143 @@
    Installing a display profile for your monitor is very operating - system - dependent, which is why dispin -I 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.
    + system dependent, which is why dispin -I + 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.

    Please choose from the detailed instructions below that suite your system:

    - Microsoft - Windows
    + Microsoft Windows
    Apple OS X
    Linux/UNIX X11



    On Microsoft Windows, display - profiles are typically in one of the - following directories:
    + profiles are typically in one of the following directories:

        MS Windows Me and 98: C:\Windows\System\Color

        MS Windows NT: - C:\Winnt\system32\spool\drivers\color -

    + C:\Winnt\system32\spool\drivers\color

        MS Window 2000, XP, Vista and 7: C:\Windows\system32\spool\drivers\color

    An alternative to using dispwin - -I - 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.
    + -I 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.

    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 + 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.
    + 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.

    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.)
    + 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.)

    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 + display on startup. A separated tool is usually needed to achieve this.

    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 dispwin + "Gamma/VCGT/RAMDAC/Video LUT" loader tools, so 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 dispwin tool to do this for you, as it takes either a .cal or ICC - file - as an argument. The xcalib - tool could also be used.
    + href="cal_format.html">.cal or ICC + file as an argument. The xcalib tool + could also be used.

    To add a startup item that will load a profiles calibration into - the - display using dispwin, - use the - following - instructions:
    + the display using dispwin, + use the following instructions:

    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 - dispwin.exe, add a space - then - the option -L, eg:
    + select "Properties", then select the "Advanced" tab, then click + "Add..". then browse till you locate dispwin.exe. In the box + containing the path to dispwin.exe, + add a space then the option -L, + eg:

        c:\bin\argyll\dispwin -L

    If you don't want to use the default installed profile, you could explicitly set the calibration file - to use - as an argument:

    + to use as an argument:

        c:\bin\argyll\dispwin c:\myprofiles\mydisplay.icm

    Click "Next >", select the - "Startup" - folder, then name the item (ie. - "Argyll Calibration Loader"), then press "Finish".
    + "Startup" folder, then name the item (ie. "Argyll Calibration + Loader"), then press "Finish".

    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.
    + 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.

    Microsoft Windows XP has an optional Microsoft Color Control Panel Applet for Windows XP - 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 Profiles tab, then associate it - with - the display in the Devices - tab, but NOTE that it seems - to - have a bug, in that it - sometimes associates the profiles with the wrong monitor entry!
    -
    - On - Microsoft Vista you can set - the display profile in + 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 Profiles + tab, then associate it with the display in the Devices tab, but NOTE that it seems to have a bug, in that it sometimes + associates the profiles with the wrong + monitor entry!
    +
    + On Microsoft Vista you can + set the display profile in Control Panel -> Hardware and Sound -> Color Management, as an alternative to dispwin -I. 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 dispwin will still have to be - used - to do this. Note that currently Vista also has a bug 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 -c - flag: e.g.: c:\bin\argyll\dispwin - -c - -L
    -
    - On - Microsoft Windows 7 you can - set - the display profile by opening the Color + + though, it doesn't use the 'vcgt' calibration curves on system + startup, so a tool such as dispwin + will still have to be used to do this. Note that currently Vista + also has a bug 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 -c flag: e.g.: c:\bin\argyll\dispwin -c -L
    +
    + On Microsoft Windows 7 & 8 + you can set the display profile by opening the Color + Management control by clicking the Start button and then clicking Control Panel. In the search box, type color management, @@ -213,25 +161,25 @@ Unfortunately profile has been marked "(default)" if you want it to be automatically used for your display.

    - 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 Color Management - (see above), and then select the "Advanced" - tab, and then "Change system defaults...", then - select the "Advanced" - tab, and select/un-select the "Use Windows display calibration" - check box. (You could use dispwin - -I as an alternative to this if you really wanted.)
    + By default Windows 7 & 8 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 Color + Management (see above), and then select the "Advanced" tab, and then "Change + system defaults...", then select the "Advanced" tab, and select/un-select the "Use Windows + display calibration" check box. (You could use dispwin -I as an alternative to + this if you really wanted.)

     

    On Apple OSX, the display - profile are in one of the following - locations:
    + style="font-weight: bold;">Apple OSX
    , the display profile + are in one of the following locations:

        /Network/Library/ColorSync/Profiles
        /System/Library/Colorsync/Profiles
    @@ -239,25 +187,22 @@ Unfortunately     ~/Library/ColorSync/Profiles

    Note though that  /System/Library/Colorsync/Profiles is only - for - profiles supplied by Apple. You can use dispwin - -S  to select the appropriate scope when installing a - profile - using dispwin -I. You can use the - "System + for profiles supplied by Apple. You can use dispwin -S  to select the + appropriate scope when installing a profile using dispwin -I. 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 -D - flag used with the colprof - tool) will be used to identify the profile.
    + has been installed correctly. Note that the contents of the + description tag (the argument to the -D flag used + with the colprof tool) will + be used to identify the profile.


    On Linux and other Unix style systems, there is no - universally agreed location for ICC profiles yet, - although the following locations have been suggested at various - times:
    + universally agreed location for ICC profiles yet, although the + following locations have been suggested at various times:

        /usr/share/color/icc
        /usr/local/share/color/icc
    @@ -270,18 +215,16 @@ Unfortunately
    Argyll dispwin follows uses the ucmm scheme for storing user and system - display - profiles, and when a display is set to use a profile correctly, it - will - follow this + convention to make it available to applications.
      
    If you want the display calibration to be loaded, you should - consider - installing a tool to do so at startup, such as dispwin - or xcalib.
    + consider installing a tool to do so at startup, such as dispwin or xcalib.

    Using dispwin the currently installed profile for a particular display can be loaded using the
    which will both upload the installed profile into the root - window _ICC_PROFILE property, and also load it into the display - VideoLUTs.
    + style="font-weight: bold;">
    root window _ICC_PROFILE + property, and also load it into the display VideoLUTs.

    You can use the dispwin
    -d parameter - in - the usual way to select other - displays to store or load the calibration using the _ICC_PROFILE - property.
    + href="dispwin.html#d">-d parameter + in the usual way to select other displays to store or load the + calibration using the _ICC_PROFILE property.

    To do this when you start your X11 server, you could put the above command in your .xinitrc - file - in your home directory for each screen.
    + file in your home directory for each screen.


    diff --git a/doc/dispread.html b/doc/dispread.html index e1ce861..071fa7d 100644 --- a/doc/dispread.html +++ b/doc/dispread.html @@ -32,6 +32,15 @@ + + + + + + + + +      Verbose mode
    @@ -63,6 +72,15 @@ m + + + + + + + + + for VideoLUT access.

    @@ -86,6 +104,15 @@ list + + + + + + + + + (default 1)

    @@ -101,11 +128,34 @@ list + + + + + + + + + Display via a web server at port (default 8080)
    +  -dmadvr +              + + + + + + + + + + + + [MSWin] Display via MadVR Video Renderer
     -c listno @@ -124,6 +174,15 @@ list + + + + + + + + + Use telephoto mode (ie. for a projector) (if available)
    @@ -142,6 +201,15 @@ Display + + + + + + + + + @@ -160,6 +228,15 @@ Display + + + + + + + + + Load calibration file into display while reading
    @@ -178,9 +255,23 @@ Apply + + + + + + + + + calibration file to test values while reading

    +  -V                   + + + + [MSWin] Enable MadVR color management (3dLut)
     -s              @@ -193,6 +284,15 @@ Apply + + + + + + + + +      Save spectral information (default don't @@ -219,6 +319,15 @@ center, + + + + + + + + + 1.0 = right/bottom etc.
    @@ -241,6 +350,15 @@ normal, + + + + + + + + + 2.0 = double etc.
    @@ -251,6 +369,15 @@ normal, + + + + + + + + + ss,vs: = optional horizontal, vertical scale.
     -F @@ -268,7 +395,28 @@ normal, - Fill whole screen with black background

    +  -E +                   + + + + + + + + Video + encode output as (16-235)/255 "TV" levels
     -n              @@ -290,6 +438,15 @@ redirect + + + + + + + + + on test window
    @@ -306,6 +463,15 @@ redirect + + + + + + + + +      Run calibration first

    @@ -322,6 +488,15 @@ redirect + + + + + + + + + Disable initial calibration of instrument if possible
    @@ -353,6 +528,15 @@ Y + + + + + + + + + 100
    @@ -369,6 +553,15 @@ Y + + + + + + + + + Apply Colorimeter Correction Matrix
    @@ -388,6 +581,15 @@ Calibration + + + + + + + + + Spectral Samples for calibration
    -  -Y A

    +  -Y + R:rate             + Override measured refresh rate with rate Hz
    +
     
    -Y A                 + + + + + + + + + Use non-adaptive integration time mode (if available).
    +  -Y + p +             +     Don't wait for the instrument to be placed on + the display
     -C "command" @@ -478,6 +717,15 @@ n + + + + + + + + + none, h = HW, x = Xon/Xoff
    @@ -496,6 +744,15 @@ n + + + + + + + + + Base name for input[.ti1]/output[ . Some experimentation may be needed using ipconfig (MSWin) or /sbin/ifconfig (Linux or OS X) - and identify an internet address for your machine that way. - JavaScript needs to be enabled in your web browser for this - to work.
    + and identify an internet address for your machine that way. + JavaScript needs to be enabled in your web browser for this to + work.

    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 @@ -613,6 +879,17 @@ n See the
    -o flag for an explanation of the implications of having no access to the VideoLUTs.

    + -dmadvr + [MSWin only] causes test patches to be displayed using the MadVR + video renderer. Note that you may have to start the video playback + software and load a video clip in pause for this to work. MadVR + rendering does not need or support VideoLUT access, so the -K option should be used to read calibrated values. + Be aware that the state of the Graphics Card VideoLUTs may affect + the results, and therefore may have to be set appropriately using + dispwin. By default the test patch colors will not be + processed by the MadVR 3dLut (see the -V flag).
    +
    -c: The instrument is assumed to communicate through a USB or serial communication port, and the port can be selected with the -c @@ -650,9 +927,9 @@ n and how this works, see Operation of particular instruments. 3) Any installed CCSS files (if applicable), or CCMX files. These files are typically created - using ccxxmake, + using ccxxmake, and installed using oeminst. The + href="oeminst.html">oeminst. The default and Base Calibration types will be indicated in the usage.

    -s: By @@ -664,7 +941,7 @@ n -k: If a display video lookup table calibration .cal file is provided, it will - be loaded into the display ViedoLUTs + be loaded into the display VideoLUTs 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 colprof @@ -672,14 +949,20 @@ n tag in the resulting profile. This is the normal way to profile a calibrated display. The calibration file has usually been created using dispcal. 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 -K - mode (see below). NOTE that - the calibration is loaded into the display hardware just before the - instrument starts measurement, after the test window first appears.
    + href="dispcal.html">dispcal. 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 -K mode (see below). If a + calibration file is not supplied using -k or -K, + then the display will be measured in whatever calibration state it + is in, and no calibration information is saved to the resulting .ti3 + file.
    + If the calibration file provided created using video range encoding + (dispcal -E), then the -E option in dispread will be + triggered automatically.
    + NOTE that the calibration is + loaded into the display hardware just before the instrument starts + measurement, after the test window first appears.

    -K: If a display video lookup table calibration NOT normally the best way to profile a calibrated display, since the frame buffer may have lower precision than the VideoLUTs output - values.
    + values. This is the way calibration should be applied if MadVR is + being used to display the test patches. If a calibration file is not + supplied using -k or -K, then the display will be + measured in whatever calibration state it is in, and no calibration + information is saved to the resulting .ti3 file.
    + If the calibration file provided created using video range encoding + (dispcal -E), then the -E option in dispread will be + triggered automatically.
    +
    +
    -V: [MSWin] If using MadVR to display test + patches, then enable Color Managenent (3dLut). This would be used + for verification measurement.

    The -P parameter allows you to position and size the test patch window. By @@ -720,6 +1014,12 @@ n with black. This can aid black accuracy when measuring CRT displays or projectors.

    + The -E + flag causes the test values to be scaled to the Video RGB encoding + range of 16/255 to 235/255. If the calibration file provided using + the -k or -K flag was created using video range + encoding, then this option will be triggered automatically.
    +
    -n: When running on a UNIX based system that used the X11 Windowing System, dispread normally selects the override redirect so that the test window will @@ -793,6 +1093,15 @@ a + + + + + + + + + colorimeters accuracy for a particular type of display.
    @@ -835,9 +1144,14 @@ a If just display white level compensation is needed, use -Iw. If both are needed, use -Ibw or -Iwb.
    -
    + style="font-weight: bold;">-Iwb
    .
    +
    + The -Y R:rate + options overrides calibration of the instrument refresh rate. This + may be useful if the instrument supports this function and the + refresh rate cannot be accurately calibrated from the display + itself.
    +  
    The -Y A option uses a non-adaptive integration time emission measurement mode, if the instrument supports it, such as the Eye-One Pro or @@ -846,7 +1160,14 @@ a 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.
    -
    +
    + The -Y p + option skips asking the user to place the instrument on the display. + Normally a grey patch is displayed, and then the user is asked to + confirm that the instrument is in place, so that readings can + commence. This flag disables that check. This may be useful in + automating certain operations.
    +
    The -C "command" option allows a method of relaying each test value to some other display than that diff --git a/doc/dispwin.html b/doc/dispwin.html index a07d50f..f1d75f5 100644 --- a/doc/dispwin.html +++ b/doc/dispwin.html @@ -43,6 +43,10 @@ Verbose + + + + mode
       -d n                 @@ -76,6 +84,10 @@ X11] + + + + Choose the display from the following list (default 1)
     -dweb[:port]         @@ -84,7 +96,15 @@ X11] - Display via a web server at port (default 8080)

    +  -dmadvr +              + [MSWin] Display via MadVR Video Renderer
     -P @@ -100,6 +120,10 @@ ho,vi: + + + + = left/top, 0.5 = center, 1.0 = right/bottom etc.
                          @@ -112,11 +136,19 @@ ss: + + + + = half, 1.0 = normal, 2.0 = double etc.
                          + + + + ss,vs: = optional horizontal, vertical scale.
     
    -F @@ -130,7 +162,18 @@ whole - screen with black background

    +  -E +                   + + + Video + encode output as (16-235)/255 "TV" levels
       -n @@ -170,7 +217,11 @@ native - display values (rather than through Video LUT)
    + + + + + display values (rather than through Video LUT  and C.M.)
     -s filename.cal      Save the @@ -181,6 +232,10 @@ the + + + + currently loaded Video LUT to 'filename'
     -c @@ -194,6 +249,10 @@ a + + + + linear display calibration (clear calibration)
     -I @@ -219,6 +282,10 @@ that + + + + Install profile for display and use it's calibration
    Un-install profile for display
     -S d                 @@ -243,6 +314,10 @@ the + + + + install/uninstall scope for OS X [nlu] or Vista [lu]
                          d @@ -254,6 +329,10 @@ is + + + + one of: n = network, l = local system, u = user (default)
    Load installed profiles cal. into Video LUT
     -E + monospace;"> -X                   @@ -278,6 +361,10 @@ is + + + + [X11 only] Run in daemon loader mode for given X11 server
    .cal or .icm) into LUT, and exit.
    @@ -372,6 +467,10 @@ 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 @@ -406,6 +505,16 @@ the operation that depends on accessing the VideoLUTs will either generate a warning or fail.

    + -dmadvr + [MSWin only] causes test patches to be displayed using the MadVR + video renderer. Note that you may have to start the video playback + software and load a video clip in pause for this to work. MadVR + rendering does not need or support VideoLUT access, but be aware + that the state of the Graphics Card VideoLUTs may affect the results + (check this using dispwin). Test patch colors will be + processed by the MadVR 3dLut by default (see -n + flag).
    +
    The -P parameter allows you to position and size the test patch window. By default it is places in the center of the screen, and sized @@ -433,6 +542,12 @@ the with black. This can aid black accuracy when measuring CRT displays or projectors.

    + The -E + flag causes the test values to be scaled to the Video RGB encoding + range of 16/255 to 235/255. Note that this is not applicable if the + MadVR render is being used to display patches, as MadVR should be + configured for Video encoding instead.
    +
    By default dispwin will put a test window on the selected display, and display some test colors, before darkening  then brightening the screen by loading video @@ -463,7 +578,9 @@ the If the -n flag is set, then dispwin will display the colors directly on the display, rather than having - the color values translated through the currently loaded Video LUTs.
    + the color values translated through the currently loaded Video LUTs. + In the case of using the MadVR renderer to display the patches, any + 3dLut will also be disabled.

    If a -s filename.cal option is @@ -507,7 +624,9 @@ the 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 - -L flag).
    + -L flag). To make sure that the profile calbration + 'vcgt' tag gets loaded into the Graphics Card at system start, + please read the guide here.

    -U: The ICC profile specified as the final argument will be un-installed as the @@ -539,7 +658,7 @@ the display on system startup from the installed display profile, if the system doesn't not do this automatically .

    - -E: Daemon + -X: 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 diff --git a/doc/fakeread.html b/doc/fakeread.html index aa2847c..2a7b5c0 100644 --- a/doc/fakeread.html +++ b/doc/fakeread.html @@ -1,248 +1,372 @@ - + - - fakeread - - - - -

    spectro/fakeread

    -

    Summary

    -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 ICC or MPP profile, or the data set can be a -.ti3 file. A device link -separation or color space conversion can be applied before the -print/measure simulation.
    -

    Usage

    -fakeread [-v] [-s] [separation.icm] profile.[icm|mpp|ti3] inoutfile
    - -v                + + fakeread + + + + +

    spectro/fakeread

    +

    Summary

    + 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 ICC or MPP profile, or the data set can + be a .ti3 file. A device link + separation or color space conversion can be applied before the + print/measure simulation, as well as device calibration  or + inverse calibration curves.
    +
    + fakeread can be useful for creating a data set from an + existing profile to re-create a different style of profile (i.e. + create a cLUT profile from a matrix profile), for creating synthetic + data sets with known amounts of randomness for testing profile + creation against a perfectly known ideal, or for creating + verification test sets for checking colorimetric colorspace + emulation against.
    +
    + The options below are in the order of color processing that fakeread + performs.
    +

    Usage

    + fakeread [-options] profile.[icm|mpp|ti3] + + inoutfile
    +  -v + [n]            + Verbose mode [level]
    +  -e + flag           + Video encode device input to sepration as:
    +      + n              + normal 0..1 full range RGB levels (default)
    +      + t              + (16-235)/255 "TV" RGB levels
    +      + 6              + Rec601 YCbCr SD (16-235,240)/255 "TV" levels
    +      + 7              + Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 5              + Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 2              + Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels
    +      + C              + Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV" + levels
    +  -p separation.icm Use device link separation + profile on input
    +  -E + flag           + Video decode separation device output. See -e above
    +  -k file.cal       + Apply calibration (include in .ti3 output)
    +  -i file.cal       + Include calibration in .ti3 output, but don't apply it
    +  -K file.cal       + Apply inverse calibration
    +  -r + level          Add + average random deviation of <level>% to device values + (after sep. & cal.)
    +  -0 + pow            + Apply power to device chanel 0-9
    +  -b output.icm     Apply + BT.1886-like mapping with effective gamma 2.2
    +  -b g.g:output.icm Apply BT.1886-like mapping with + effective gamma g.g
    +  -B output.icm     Apply + BT.1886 mapping with technical gamma 2.4
    +  -B g.g:output.icm Apply BT.1886 mapping with + technical gamma g.g
    +  -I intent         + r = relative colorimetric, a = absolute (default)
    +  -A + L,a,b          + Scale black point to target Lab value
    +  -l                + Output Lab rather than XYZ
    +  -s                + Lookup
    MPP + spectral values
    +  -R + level          + Add average random deviation of <level>% to output PCS + values
    +
     -u                + Make random deviations have uniform distributions rather than + normal
    +  -S + seed           + Set random seed
    +
     profile.[icm|mpp|ti3]     ICC, MPP or .ti3 profile/file to use
    +   inoutfile             -      Verbose mode
    - -s                  -      Lookup MPP spectral values
    - -p                        -Use -separation profile
    - -l                        -Output -Lab rather than XYZ
    - -k -file.cal               -Apply -calibration (after sep.) and include in .ti3
    - -i -file.cal               -Include -calibration in .ti3 (but don't apply it)
    -
     -r -level                  -Add -average random deviation of <level>% to input device values -(after sep. & cal.)
    - -0 -pow                    -Apply -power to input device chanel 0-9 (after sep. cal. & rand.)
    -  --R -level                  -Add -average random deviation of <level>% to output PCS values
    -
     -u -      -                 -Make -random deviations have uniform distributions rather than normal
    - -S -seed                   -Set -random seed
    -
     -b -L,a,b                  -Scale -black point to target Lab value
    - -I -intent                 -r = relative colorimetric, a = absolute (default)
    -
     [separation.icm]          -Device -link separation profile
    - profile.[icm|mpp|ti3]     ICC, MPP -or .ti3 -profile/file to use
    -  -inoutfile           -  -    Base name for -input[.ti1]/output[.ti3] file

    -
    -Examples

    -
    -fakeread profile.icm testvalues
    -fakeread -p separation.icm profile.icm testvalues
    -

    Comments
    -

    -The -v flag does nothing at -the moment.
    -The -s flag works only with -MPP profiles that contain spectral model -information.
    -The -p flag enables a device -to device value conversion before -converting to expected PCS values.
    -The -l flag causes the CIE -output values to be L*a*b* rather than the -default XYZ values.
    -
    -The -k file.cal parameter specifies a printer -calibration file created by printcal, 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.
    -
    - The -i file.cal parameter specifies a printer -calibration file created by printcal, -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 is not applied -to tchart values. Note that if -the supplied ICC profile contains calibration curves, that these will -be included in the resulting .ti3 by default.
    -
    -The -r 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.
    -
    -The -0, -1, -2 .. -9 -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.
    -
    -The -R 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.
    -
    -The -u flag changes the -distribution of the random offsets applied using the -r or -R flags, from the default standard -deviation, to a uniform deviation distribution. The level is still -specified as an average deviation.
    -
    -The -S 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.
    -
    -The -b 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 -l -flag is used.
    -
    -The -I parameter allows -changing the intent used in looking up the ICC profile colors to -relative colorimetric. This would not 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.
    -
    -Fakeread is useful in creating artificial test value for testing colprof, as well as providing one path for -turning an MPP profile into an ICC profile. If a .ti3 file is -specified instead of an ICC or MPP profile, -then the closest matching measured points in the ..ti3 are substituted -for the test values in the .ti1 -file on -output. If the .ti1 -file is a monochrome test file with a White device value, then an RGB ICC profile, MPP or .ti3 may be used, and the White -values will be translated to equal RGB values. If the .ti1 -file is a monochrome test file with a Black device value, then a CMYK ICC profile, MPP or .ti3 may be used, and the Black -values will be translated to equal CMY = 0, K = grey values. Note that -any calibration within a supplied ICC profile is not applied during the -conversion, although it will be included in the .ti3 output (see -k and -i flags for how apply calibration -curves during the conversion and/or include -a specific calibration curves in the output).
    -
    -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.
    -
    -
    -
    - + + +   Base name for input[
    .ti1]/output[.ti3] file

    +
    + Examples

    +
    + fakeread profile.icm testvalues
    + fakeread -p separation.icm profile.icm testvalues
    +

    Comments
    +

    + The -v flag + reports extra information, e.g. on what BT.1886 option is doing. A + level > 1 will be more verbose.
    +
    + The -e flag applies a Video encoding + to the input of the separation.
    +
    +      + n           + normal 0..1 full range RGB levels (default)
    +      + t           + (16-235)/255 "TV" RGB levels
    +      + 6           + Rec601 YCbCr SD (16-235,240)/255 "TV" levels
    +      + 7           + Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 5           + Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 2           + Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels
    +      + C           + Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV" lev

    +
    + The -p separation.icm + option enables a device to device value conversion before converting + to expected PCS values. This might be an ink separation of a video + calibration device link. The argument is the name of the ICC device + link that defines the separation.
    +
    + The -E flag applies a Video decoding + to the output of the separation.   See + -e for the list of decodings.
    +
    + The -k file.cal parameter specifies a + calibration file created by printcal or dispcal, and the supplied calibration + curves will be applied to the chart device values after any + separation and before the device profile. 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.
    +
    + The -i file.cal parameter specifies a + printer calibration file created by printcal or dispcal, 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 is not applied to tchart values. + Note that if the supplied + ICC profile contains VCGT calibration curves, that these will be + included in the resulting .ti3 by default.
    +
    + The -K file.cal parameter specifies + a calibration file created by printcal or dispcal, and the + inverse of the supplied calibration curves will be applied to the + chart device values after any separation and before the device + profile. This allows for undoing calibration curves that may be part + of a video calibration device link, so that the (calibrated device + value) device profile will work as expected.
    +
    + The -r + 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.
    +
    + The -0, -1, -2 .. + -9 parameters are a way of simulating changes in the + behavior 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.
    +
    + The -b output.icm flag applies extra input + processing, applying BT.1886-like + + + + + + + + + + + + video gamma mapping using an effective gamma of 2.2 by default, and + overridable using -b g.g:output.icm where g.g is the + gamma. output.icm is the display ICC profile that provides + the black point that the BT.1886 curves will target. The gamma is an + effective gamma, meaning that its effect on 50% input is the same as + that of a pure power curve, in spite of any black offset added by + BT.1886. This has the benefit of making the overall effect of + brightness independent of the black level of the display. Setting an + effective gamma other than 2.2 is one way of making the viewing + condition adjustment for the different conditions of video encoding + and decoding, or for modelling the source colorspace as a rendering + on a video display. BT.1886 will only work with matrix type input + profiles. Typically this will be used to create a verification test + set for checking the operation of a device link or 3dLut created + using collink, using the same BT.1886 + parameters.
    +
    + The -B output.icm flag applies extra + input processing, applying BT.1886-like + + + + + + + + + + + + video gamma mapping using a gamma of 2.4 by default, and overridable + using -B g.g:output.icm where g.g is the gamma. output.icm + is the display ICC profile that provides the black point that the + BT.1886 curves will target. The gamma is the technical gamma, or + power applied to the input image, and this means that its effect on + 50% input will depend on the black level of the display, making the + overall brightness somewhat unpredictable. For a more predictable + effect, use -b.
    +
    + The -I + parameter allows changing the intent used in looking up the ICC + profile colors to relative colorimetric. This would not 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.
    +
    + The -A + 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 -l flag is + used.
    +
    + The -l flag + causes the CIE output values to be L*a*b* rather than the default + XYZ values.
    +
    + The -s flag + works if a spectral MPP file is being used as a device profile, and + causes the output to include spectral values.
    +
    + The -R + parameter is a way of simulating instability in the behavior 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.
    +
    + The -u flag + changes the distribution of the random offsets applied using the -r or -R flags, from the default standard deviation, to a + uniform deviation distribution. The level is still specified as an + average deviation.
    +
    + The -S + 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.
    +
    + Fakeread is useful in creating artificial test value for testing colprof, as well as providing one path for + turning an MPP profile into an ICC profile. It can also be used to + create a reference file for verifying against. If a .ti3 file is specified instead + of an ICC or MPP profile, then the closest + matching measured points in the ..ti3 + are substituted for the test values in the .ti1 file on output. If the .ti1 file is a monochrome test + file with a White device value, then an RGB ICC profile, MPP or .ti3 may be used, and the White + values will be translated to equal RGB values. If the .ti1 file is a monochrome test + file with a Black device value, then a CMYK ICC profile, MPP or .ti3 may be used, and the Black + values will be translated to equal CMY = 0, K = grey values. Note that any calibration within + a supplied ICC profile is not + applied during the conversion, although it will be included in the + .ti3 output (see -k and -i flags for how apply + calibration curves during the conversion and/or include a specific + calibration curves in the output).
    +
    + If a separation device profile is provided (e.g. from CMY -> + CMYK, or perhaps CMYK->CMYK, to simulate a color correction step + before "printing", or perhaps a Video RGB->RGB calibration link) + then this will be applied to the .ti1 device values, before + converting the the device values into .ti3 PCS values.
    +
    +
    +
    +
    + diff --git a/doc/i1proHiRes.html b/doc/i1proHiRes.html new file mode 100644 index 0000000..d6d8078 --- /dev/null +++ b/doc/i1proHiRes.html @@ -0,0 +1,177 @@ + + + + The i1pro Hi Res. Mode + + + + +

    Does the + i1pro High Resolution mode improve accuracy ?
    +

    + A question that has been asked is : "You've extended the Eye-One Pro with a high resolution + spectral mode, giving readings at 3.3nm spacing rather than the + default 10nm. Does this mode improve accuracy ?"
    +
    + This is a quite reasonable question. The following attempts to + answer it.
    +

    Why would a higher + resolution spectral mode improve accuracy ?
    +

    + A spectrometer computes CIE tri-stimulus values by measuring + spectral values and then weighing those values by the observer + curves before summing the weigted values. The accuracy depends on + the correct weighting being applied at each wavelength. If the color + is composed of very narrow spectra peaks, as is sometimes the case + for certain light sources and many display devices, then the exact + positioning of one of the peaks on the observer curves may be + influencial in the final color value, and too coarse a quanization + of the spectral readings may lead to tri-stimulus errors. So in + theory increasing the spectral reading resolution to 3.3 nm should + lead to improved color accuracy with narrow spectra color sources.
    +

    Why may this not work in + practice ?

    +

    The instrument spectral resolving power is set by a number of + factors, and a critical one is the entrance slit width. By + measuring a very narrow band source such a as a laser, using the + default 10nm resolution indicates a FWHM (Full + + + + + width at half maximum) of about 25nm. Doing a measurement at + 3.3nm resolution reveals that the optical limit seems to be about + 15nm, so there is some hope of improvement from that perspective.

    +

    Another factor is that the calibration data for the instrument is + only given at 10nm intervals. So to produce calibrated readings at + 3.3nm intervals, it is necessary to up-sample the calibration data + with sufficient accuracy. If the calibration data is sufficiently + smooth (indicating that the underlying device characteristics are + also smooth), or any slight inaccuracy will get calibrated out + (which is typically the case for reflective measurements) then + this may not be a limitation either. In the case of the i1pro2, + which seems to have a diffraction grating/light sensor with a less + smooth spectral efficiency curve than the Rev A - D models, the + task of up-sampling the emissive calibration data with sufficient + accuracy is a more difficult.
    +

    +

    The verification experiment
    +

    + To give some indication of whether ArgyllCMS's high resolution + spectral mode is capable of improving color measurement accuracy, or + at least to indicate that it doesn't noticeably worsen it, the + following fairly simple, real world experiment was performed:
    +
    + A measurement target consisting of white + primary + secondary + colors (White, Red, Green, Blue, Cyan, Magenta, Yellow) repeated 10 + times was used. This target was displayed on a conventional LCD + screen with a CCFL backlight (MacBook display), and measured using + using ArgyllCMS V1.6.0 dispread:
    +
    + 1) Using a JETI + + + + + specbos 1211 reference Tele-Spectro-Radiometer.
    +
    + 2) Using an i1pro2 in standard 10nm mode.
    +
    + 3) Using an i1pro2 in ArgyllCMS 3.3nm mode.
    +
    + The resulting readings were then analyzed using colverify.
    +
    + The results were analyzed two ways, first in absolute value error + terms, and secondly in brightness (Y) normalized terms, the latter + corresponding to the typical way such readings are used for display + calibration and profiling.
    +
    + A second, similar experiment was run on a CRT type display.
    +

    Results:

    +


    + LCD display:
    +

    +

    Absolute errors of i1pro2 10nm mode to specbos 1211:
    +

    +   Total errors (CIEDE2000):     peak = + 3.070420, avg = 2.204137
    +
    + Absolute errors of i1pro2 3.3nm mode to specbos 1211:
    +
    +   Total errors (CIEDE2000):     peak = + 2.108411, avg = 1.568577
    +
    +
    + White Y normalised errors of i1pro2 10nm mode to specbos 1211:
    +
    +   Total errors (CIEDE2000):     peak = + 2.419800, avg = 0.747926
    +
    + White Y normalised errors of i1pro2 3.3nm mode to specbos 1211:
    +
    +   Total errors (CIEDE2000):     peak = + 1.595033, avg = 0.578270
    +
    +
    + So in this particular situation, hi-res mode improves accuracy by + somewhere between 0.2 and 0.6 DeltaE 2K.
    +
    +
    + Example of white spectrum for the three measurements (red: 10nm + i1pro2, green: 3.3nm i1pro2, black: specbos):
    + specbos 1211 (Black), i1pro2 10nm (Red), i1pro2 3.3nm
+      (Green)
    +
    +


    + CRT display:
    +

    +

    Absolute errors of i1pro2 10nm mode to specbos 1211:
    +

    +   Total errors (CIEDE2000):     peak = + 1.516886, avg = 0.965740
    +
    + Absolute errors of i1pro2 3.3nm mode to specbos 1211:
    +
    +   Total errors (CIEDE2000):     peak = + 1.751776, avg = 0.887878
    +
    +
    + White Y normalised errors of i1pro2 10nm mode to specbos 1211:
    +
    +   Total errors (CIEDE2000):     peak = + 1.509129, avg = 0.654752
    +
    + White Y normalised errors of i1pro2 3.3nm mode to specbos 1211:
    +
    +   Total errors (CIEDE2000):     peak = + 1.284044, avg = 0.622501
    +
    +

    Conclusions:

    + The results for the conditions of this particular experiment + indicate that ArgyllCMS High Resolution mode can very slightly + improve colorimetric measurement accuracy of display devices. + Accuracy may conceivably be improved a little more than indicated by + this experiment for i1pro rev A-D instruments which have a smoother + diffraction grating/light sensor characteristic, or it is also + conceivable that an unfortunate combination of display spectra and + the i1pro2 may result in reduced accuracy. The High Resolution mode + is primarily useful for showing more spectral detail, and should + probably not be used for colorimetric measurement when the highest + possible robustness and reliability is desired. The potential for + improved accuracy may be of benefit in other situations though.
    +

    Raw Data:

    + The raw measurement data is available in this .ti3 archive.
    +
    +
    +
    +
    +
    +
    + + diff --git a/doc/i1proHiRes.jpg b/doc/i1proHiRes.jpg new file mode 100644 index 0000000..c07b37c Binary files /dev/null and b/doc/i1proHiRes.jpg differ diff --git a/doc/i1proHiRes.zip b/doc/i1proHiRes.zip new file mode 100644 index 0000000..49721f9 Binary files /dev/null and b/doc/i1proHiRes.zip differ diff --git a/doc/iccgamut.html b/doc/iccgamut.html index 6d2f5ba..fe555cf 100644 --- a/doc/iccgamut.html +++ b/doc/iccgamut.html @@ -12,186 +12,226 @@ Create a gamut file or VRML file  of the color gamut of an ICC profile.
    iccgamut 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.
    + 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.

    Usage

    iccgamut [-options] profile
     -v            + + + Verbose
     -d - sres       Surface - resolution details 1.0 - 50.0
    + sres       Surface resolution + details 1.0 - 50.0
     -w            emit + + + VRML .wrl file as well as CGATS .gam file
     -n            Don't + + + add VRML axes or white/black point
     -k            Add + + + VRML markers for prim. & sec. "cusp" points
     -f - function   f = - forward*, b = backwards
    -   -
    -i - intent     p = - perceptual, r = relative colorimetric,

    +  
    -i + intent     p = perceptual, r = relative + colorimetric,
                   s + + + = saturation, a = absolute (default), d = profile default

     -o - order      n = normal - (priority: lut > matrix > monochrome)
    + order      n = normal (priority: lut + > matrix > monochrome)
                   r - = reverse (priority: monochrome > - matrix > lut)
    + + + + = reverse (priority: monochrome > matrix > lut)
     -p oride      l - = - Lab_PCS (default), j = CIECAM02 Appearance Jab
     -l - tlimit     set total - ink limit, 0 - 400% (estimate by default)
    + tlimit     set total ink limit, 0 - 400% + (estimate by default)
     -L - klimit     set black ink - limit, 0 - 100% (estimate by default)
    + klimit     set black ink limit, 0 - 100% + (estimate by default)
     -c - viewcond   set - viewing conditions for CIECAM02,
    + viewcond   set viewing conditions for CIECAM02,
                   either - an enumerated choice, or a series of - parameters:value changes
    + + + + an enumerated choice, or a series of parameters:value changes
      -           pp - Practical Reflection - Print - (ISO-3664 P2)
    + style="font-family: monospace;">        +     pp - Practical Reflection Print (ISO-3664 P2)
              + + +   pe - Print evaluation environment (CIE 116-1995)
              + + +   pc - Critical print evaluation environment (ISO-3664 P1)
            + + +     mt - Monitor in typical work environment
              + + +   mb - Monitor in bright work environment
          -   -     md - Monitor in darkened work +       md - Monitor in darkened work environment
          -   -     jm - Projector in dim environment

          -   -     jd - Projector in dark environment

         -   -     pcd - Photo CD - original scene +       pcd - Photo CD - original scene outdoors
          -   -     ob - Original scene - Bright Outdoors

          -   -     cx - Cut Sheet Transparencies on a viewing - box

    +       cx - Cut Sheet Transparencies on a + viewing box

             s:surround   + + + n = auto, a = average, m = dim, d = dark,
                     + + +      c = transparency (default average)
             w:X:Y:Z      - Adapted white point - as XYZ (default media white)
    + + + + Adapted white point as XYZ (default media white)
             w:x:y        - Adapted white point as - x, y
    + + + + Adapted white point as x, y
             a:adaptation + + + Adaptation luminance in cd.m^2 (default 50.0)
             b:background Background + + + % of image luminance (default 20)
    -          l:scenewhite Scene - white in - cd.m^2 if surround = auto (default 250)
    -
             +          l:imagewhite Image + white in cd.m^2 if surround = auto (default 250)

    +          f:flare      - Flare - light % of image luminance (default 1)
    + + + + Flare light % of image luminance (default 0)
    +
             + g:glare      Glare light % of ambient + (default 1)
             -f:X:Y:Z      - Flare color as - XYZ (default media white)
    + + + g:X:Y:Z      Glare color as XYZ + (default media white)
             -f:x:y        - Flare color as x, y
    + + + g:x:y        Glare color as + x, y
     -s             Create + + + special cube surface topology plot
    profile       -    The - name of the ICC - profile, as well as the basename of the gamut [.gam] and/or VRML [.wrl] file.
    -
    +    The name of the ICC profile, as well as the + basename of the gamut [.gam] and/or VRML [.wrl] file.

    Comments

    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.
    @@ -201,127 +241,106 @@ Create cubic L*a*b* units.

    The -d 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.
    + 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.

    The -w flag causes a VRML file to be produced, as well as a gamut file.

    - The -n flag suppresses the L*a*b* axes being created in - the VRML.
    + The -n flag suppresses the L*a*b* axes being created in the + VRML.

    The -k 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.
    + 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.

    The -f 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.
    + in plotting the gamut. The backwards tables generally incorporate + gamut compression, and therefore don't reflect the native + capabilities of the device.

    The -i 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.
    + 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.

    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 -o - flag, - reverses this order.   
    + information, and only using monochrome information if it is all that + is present. The -o flag, reverses this + order.   

    -p: By default the gamut - will - be created in L*a*b* colorspace. If  -pj is selected, then CIECAM02 + will be created in L*a*b* colorspace. If  -pj 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 colprof.
    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 + appearance of the native device, but that the perceptual or saturation transforms may be used by selecting them using the -i 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 -ia in combinations - with - -pj, then  Jab with - a fixed white reference is used, which emulates an absolute CIECAM02 - Jab - appearance space.
    + 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 -ia + in combinations with -pj, + then  Jab with a fixed white reference is used, which emulates + an absolute CIECAM02 Jab appearance space.

    The -l parameter allows setting a total ink limit (TAC) for - printing - devices. If a device has a total ink limit, and hasn't been + 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.
    + 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.

    The -L 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.
    + 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.

    The -c parameter allows setting the CIECAM02 viewing - conditions, - either by choosing a typical viewing environment, or controlling - particular viewing condition parameters.
    + conditions, either by choosing a typical viewing environment, or + controlling particular viewing condition parameters.

    The -s 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.
    + special hyper-cube surface plot that is artificially colored. This + can be useful for identifying the topology of the black ink color + response.

    Example

    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:
    + an ink limit of 260%, one might use:

        iccgamut -w - -ff - -ia -l260 profile.icm
    + -ff -ia -l260 profile.icm

    and the resulting files will be profile.gam and profile.wrl.
    +
    + To create a gamut suitable for CIECAM02  gamut mapping space in + colprof or collink, something like
    +
    +     iccgamut -ir -pj -cmt  profile.icm
    +
    + where the viewing conditions "mt" should the same as the source + conditions in colprof or collink.



    diff --git a/doc/illumread.html b/doc/illumread.html index 03b5648..0dcf5bd 100644 --- a/doc/illumread.html +++ b/doc/illumread.html @@ -10,15 +10,11 @@

    spectro/illumread

    Summary

    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 spotread should be used - instead.)
    + 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 spotread should be used instead.)

    Usage Summary

    illumread [-options] illuminant.sp
    @@ -26,6 +22,7 @@ style="font-family: monospace;" href="#v">-v                +     Verbose mode

    @@ -34,46 +31,46 @@ style="font-family: monospace;" href="#S">-S              -  -     Plot - the readings in a graph window.
    +       Plot the readings in a graph window.
     -c comport            Set - COM port, 1..4 - (default 1)
     -N                    Disable + initial calibration of instrument if possible
     -H              -      - Use high resolution spectrum mode (if - available)
    +       Use high resolution spectrum mode + (if available)
    +  -Y r                  + Set refresh measurement mode
     -W n|h|x              Override + serial port flow control: n = none, h = HW, x = Xon/Xoff
     -D [level]            - Print - debug diagnostics to stderr
    -   -
    +  
    illuminant.sp         File + to save measurement to

    @@ -81,40 +78,26 @@ File illumread 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 FWA - compensation. 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.
    + href="FWA.html">FWA compensation. 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.

    The -v flag causes extra information to be - printed out during - chartread operation.
    + printed out during chartread operation.

    The -S 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.
    + spectral reflectance/transmittance values. You must select the plot + window and strike a key in it to continue with another measurement.

    The instrument is assumed to communicate through a USB or serial communication port, and the initial port can be - selected - with the - -c - option, - if the instrument is not connected to the first port. If you invoke - illumread - 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 + selected with the -c option, if the instrument is not + connected to the first port. If you invoke illumread 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.

    -N Any @@ -129,40 +112,39 @@ File subsequent measurements in a single session.

    The -H - option - turns on high resolution spectral mode, if the instrument supports - it. - See Operation of particular instruments - for more details.
    + option turns on high resolution spectral mode, if the instrument + supports it. See Operation of particular + instruments for more details.
    +
    + The -Y r + option turns on refresh mode measurement, if the instrument supports + it. This may improve the repeatability of measurements of + illuminants that have a repetitive flicker.

    The -W n|h|x - parameter overrides the default serial communications - flow control setting. The value n - turns all flow control off, h + parameter overrides the default serial communications flow control + setting. The value n turns + all flow control off, h sets hardware handshaking, and x sets Xon/Xoff handshaking. This commend may be useful in workaround serial communications issues with some systems and cables.

    - The -D 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 + The -D 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.
    + tracking down why an instrument can't connect.

    The illuminant.sp is - the name of the file to save the resulting illuminant spectrum to. - The - format used is .sp.
    + italic;">illuminant.sp
    is the name of the file to save the + resulting illuminant spectrum to. The format used is .sp.



    Unlike the other measurement utilities, illumread 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.
    + bold;">illumread 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.

    It will display a menu:

    @@ -173,74 +155,55 @@ File 4) Select another instrument, Currently 1 'usb:/bus4/dev2/ (GretagMacbeth i1 Pro)'
    5) Compute illuminant spectrum, average result with 0 previous - readings - & save it
    + readings & save it
    6) Compute illuminant spectrum from this reading & save result
    7) Exit

    There are three measurements to be made, after which the illuminant - can - be computed and saved. Before each measurement, the instrument may - need - calibrating.
    + can be computed and saved. Before each measurement, the instrument + may need calibrating.

    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.
    + in an ambient or emissive mode. For instance, a Spectrolino, Eye-One + Pro or ColorMunki would be suitable instruments.

    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.
    + reading in an projector or emissive mode. For instance, a + Spectrolino, Eye-One Pro or ColorMunki would be suitable + instruments.

    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.
    + 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.

    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.]
    + 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.]

    The first measurement 1), - is - to use either the ambient or emissive measurement mode to measure - the - illumination directly.
    + is to use either the ambient or emissive measurement mode to measure + the illumination directly.

    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 spotread -S - to check that the reflection characteristic is close to flat.]
    + 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 spotread -S to + check that the reflection characteristic is close to flat.]

    Measuring Ambient
    The second measurement 2), - is - to measure the illuminant after it has reflected from the paper.
    + is to measure the illuminant after it has reflected from the paper.

    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.
    + 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.

    Measuring via
         Paper3), - is - to measure the paper directly using the instrument reflective mode - measurement.
    + is to measure the paper directly using the instrument reflective + mode measurement.
    Measuring Paper
    If a different instrument is needed, use 4) to select from the available - instruments attached to your computer.
    + bold;">4) to select from the available instruments attached + to your computer.

    Once these three measurements have been made, then the illuminant - readings spectrum - can be computed and save using 6), - or a series of readings can be made with each reading being averages - with the previous readings before saving it by using 5). 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.
    -
    - 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).
    + readings spectrum can be computed and save using 6), or a series of readings can + be made with each reading being averages with the previous readings + before saving it by using 5). + 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.
    +
    + 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).


    Illumread can then be terminated using - - - Operation of particular instruments - - - -

    Operation of particular instruments

    - Please note that instruments are - being driven by ArgyllCMS drivers, and that any problems or - queries regarding instrument
    - operation
    should be - directed to the Argyll's author(s) or the Argyll mailing list, and - not to any other party.
    -
    - The following instruments are directly supported:
    - (Please note the installation instructions for each - platform - they contain important information for getting your - instruments working.)
    -
    - X-Rite:
    -     DTP20 "Pulse"  + + + + Operation of particular instruments + + + +

    Operation of particular instruments

    + Please note that instruments are + being driven by ArgyllCMS drivers, and that any problems or + queries regarding instrument
    + operation
    should be + directed to the Argyll's author(s) or the Argyll mailing list, and + not to any other party.
    +
    + The following instruments are directly supported:
    + (Please note the installation instructions for each + platform - they contain important information for getting your + instruments working.)
    +
    + JETI:
    +
    +     specbos 1211 & 1201                    + + + + + + + + + + + + - Tele-Spectro-Radiometer
    +
    + X-Rite:
    +     DTP20 "Pulse"                              @@ -45,7 +61,19 @@ - - "swipe" type reflective spectrometer, that can be used untethered.
    + + + + + + + + + + + + + - "swipe" type reflective spectrometer, that can be used untethered.
        DTP22 Digital Swatchbook            @@ -68,7 +96,19 @@ - - spot type reflective spectrometer.
    + + + + + + + + + + + + + - spot type reflective spectrometer.
        DTP41                                         @@ -91,9 +131,21 @@ - - spot and strip reading reflective spectrometer.
    -     DTP41T       -            + + + + + + + + + + + + + - spot and strip reading reflective spectrometer.
    +     DTP41T       +                                 @@ -116,7 +168,19 @@ - - spot and strip reading reflective/transmissive spectrometer.
    + + + + + + + + + + + + + - spot and strip reading reflective/transmissive spectrometer.
        DTP51                                         @@ -139,7 +203,19 @@ - - strip reading reflective colorimeter.
    + + + + + + + + + + + + + - strip reading reflective colorimeter.
        DTP92                                         @@ -162,7 +238,19 @@ - - CRT display colorimeter.
    + + + + + + + + + + + + + - CRT display colorimeter.
        DTP94 "Optix @@ -185,7 +273,19 @@ - XR" or "Optix XR2" or "Optix Pro"- display colorimeter.
    + + + + + + + + + + + + + XR"
    or "Optix XR2" or "Optix Pro"- display colorimeter.
        @@ -208,62 +308,73 @@ - ColorMunki - Design or Photo  -          - spot and "swipe" - reflective/emissive spectrometer (UV cut only).
    -     ColorMunki Create or Smile   -          - display - colorimeter. (Similar to an Eye-One Display 2)
    -     Lenovo W     -                   -               - built in laptop - Huey display colorimeter.
    -     Eye-One Display 3   -                   -     - i1 DisplayPro and ColorMunki Display
    -             -             -             -             -           [ The OEM - i1Display Pro and
    -             -             -             -             -              - NEC SpectraSensor Pro are also reported to work.]
    -     Eye-One Pro2 -                   -              - spot and - "swipe" reflective/emissive spectrometer.
    -
    - Gretag-Macbeth (now X-Rite):
    -     Spectrolino       -                   -           - spot reflective/emissive - spectrometer
    -     SpectroScan       -                   -         - spot reflective/emissive, XY table - reflective spectrometer 
    -     SpectroScanT       -                   -       - spot reflective/emissive/transmissive, XY - table reflective spectrometer
    -     Eye-One Pro "EFI ES-1000"   -         - spot and "swipe" reflective/emissive - spectrometer
    -     Eye-One Monitor -                   -         - spot and "swipe" emissive spectrometer
    -     Eye-One Display 1 or 2  or - LT        - display - colorimeter
    -     HP DreamColor or - APS  + + + + + + + + + + + + + ColorMunki + Design or Photo  +          - spot and "swipe" + reflective/emissive spectrometer (UV cut only).
    +     ColorMunki Create or Smile   +          - display + colorimeter. (Similar to an Eye-One Display 2)
    +     Lenovo W     +                   +               - built in laptop + Huey display colorimeter.
    +     Eye-One Display 3   +                   +     - i1 DisplayPro and ColorMunki Display
    +             +             +             +             +           [ The OEM + i1Display Pro, NEC SpectraSensor Pro,
    +                   +                   +                   +        Quato Silver Haze 3 OEM and HP + DreamColor  i1d3 are also reported to work.]
    +     Eye-One Pro2 +                   +              - spot and + "swipe" reflective/emissive spectrometer.
    +
    + Gretag-Macbeth (now X-Rite):
    +     Spectrolino       +                   +           - spot reflective/emissive + spectrometer
    +     SpectroScan       +                   +         - spot reflective/emissive, XY table + reflective spectrometer 
    +     SpectroScanT       +                   +       - spot reflective/emissive/transmissive, XY + table reflective spectrometer
    +     Eye-One Pro "EFI ES-1000"   +         - spot and "swipe" reflective/emissive + spectrometer
    +     Eye-One Monitor +                   +         - spot and "swipe" emissive spectrometer
    +     Eye-One Display 1 or 2  or + LT        - display + colorimeter
    +     HP DreamColor or + APS                  @@ -286,8 +397,20 @@ - - display colorimeter. (Treated as a Eye-One Display 2)
    -     CalMAN X2 + + + + + + + + + + + + + - display colorimeter. (Treated as a Eye-One Display 2)
    +     CalMAN X2                                  @@ -310,17 +433,29 @@ - - display colorimeter. (Treated as a Eye-One Display 2)
    -     Huey       -                   -             -        - display colorimeter
    -
    - Sequel imaging (Now X-Rite):
    -      MonacoOPTIX   -                    -        - display colorimeter (Treated - as an Eye-One Display 1)
    + + + + + + + + + + + + + - display colorimeter. (Treated as a Eye-One Display 2)
    +     Huey       +                   +             +        - display colorimeter
    +
    + Sequel imaging (Now X-Rite):
    +      MonacoOPTIX   +                    +        - display colorimeter (Treated + as an Eye-One Display 1)
                                                               @@ -343,9 +478,21 @@ - [The Sequel Chroma 4 may also work.]
    -
    - Lacie Blue + + + + + + + + + + + + + [The Sequel Chroma 4 may also work.]
    +
    + Lacie Blue Eye:                                  @@ -368,15 +515,6 @@ - - see Eye-One Display
    -
    - DataColor ColorVision:
    -      Spyder 2   -                    -          -        - display colorimeter (Note - that the user must supply firmware)
    -                                                           @@ -388,6 +526,17 @@ + + - see Eye-One Display
    +
    + DataColor ColorVision:
    +      Spyder 2   +                    +          +        - display colorimeter (Note + that the user must supply firmware)
    +                                                           + @@ -398,20 +547,6 @@ - [The Spyder 1 also seems to work.]
    -      Spyder 3   -                    -          -        - display colorimeter.
    -      Spyder 4   -                    -          -        - display colorimeter (Note - that the user must supply calibration - data)
    -
    - Other:
    -     Colorimètre @@ -433,6 +568,21 @@ + + [The Spyder 1 also seems to work.]
    +     
    Spyder 3   +                    +          +        - display colorimeter.
    +      Spyder 4   +                    +          +        - display colorimeter (Note + that the user must supply calibration + data)
    +
    + Other:
    +     Colorimètre HCFR                          @@ -455,9 +605,6 @@ - - display colorimeter
    -
        - ColorHug                                       @@ -467,12 +614,17 @@ + + + + - display colorimeter
    +
        ColorHug                                       + + + - - display colorimeter. Experimental only, does not work on all - platforms.
    -                                                            @@ -485,284 +637,289 @@ - Set environmental variable ENABLE_COLORHUG=true to test it.
    -

    - Other instruments can be supported indirectly, since patch result - files created by other packages can be imported into Argyll.
    -
    - General information about:
    -
    -     Strip reading instruments
    -
        X-Y Table instruments
    -     Spot reading instruments
    -
    -
    - There is a list of contributed ccmx (Colorimeter Correction - Matrix) files.
    -
    -
    -

    Strip reading instruments

    - When used with a DT20, DTP41, DTP51, Eye-One Pro or ColorMunki - 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:
    -
    -     About to read strip XX  :
    -
    - 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.
    -
    - For the DTP51 you should - feed the strip into the instrument, and the microswitch will trigger - the read.
    -
    - For the DTP41 you should - line the appropriate strip up in the machine, and press its button.
    -
    - For the Eye-One Pro you - should set the guide to the appropriate strip, place the instrument - ahead 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.
    -
    - For the ColorMunki 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 high density ColorMunki chart (printtarg -h), 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.
    -
    - Using the DTP20 or the Eye-One Pro or ColorMunki with a randomized - chart layout, the strip may be scanned from either direction. If a - randomized chart layout has not been used for the Eye-One Pro or ColorMunki, then the chart - should only be read in the one direction (use chartread -B).
    -
    - 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 installation.
    -
    - If the strip is read successfully there will be a single "success" - beep, and the line will be followed with:
    -
    -     Ready to read strip  XX  :
    -     Strip read OK
    -
    - 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
    - failed strip:
    -
    -     Ready to read strip XX  :
    -     Strip read failed due to misread (Not enough - patches)
    -
    -     Hit Esc to give up, any other key to retry:
    -
    - If you are unable to successfully read a strip after several - retries, you can skip that strip using the 'n' key, and save
    - the chart readings without that strip.
    -
    - 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:
    -
    -     Ready to read strip  XX  :
    -     (Warning) Seem to have read strip  YY  - rather than  XX !
    -     Hit Return to use it anyway, any other key to - retry, Esc, ^C or Q to give up:
    -
    - 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.
    - 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).
    - Erroneous warnings are less likely if a previous profile for a - device was given to targen - to set more accurate expectations.
    -
    - You may also see the following type of warning:
    -
    -     Ready to read strip  XX  :
    -     (Warning) Patch error YY.YYY (>35 not good, - >95 bad)
    -    There is at least one patch with an very unexpected - response!
    -     Hit Return to use it anyway, any other key to - retry, Esc, ^C or Q to give up:
    -
    - 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 targen - to set more accurate expectations.
    -
    - You can also navigate the next strip to be read using the 'f' key to move forward and the - 'b' keys - 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 'n' 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 'd' 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 resume reading the chart by using the chartread -r flag. [You could - resume reading the chart patch by patch using the chartread -r -p if you are - unable to read a strip successfully.]
    -
    - When reading in patch by patch mode, there are a few additional - navigation options, such as F to move forward 10 - patches, B to move - backwards 10 patches, and g - to go to a specific patch.
    -
    - You can abort the whole process at any time by hitting Escape, and - the readings will not be saved.
    -
    -
    -

    X-Y Table instruments

    - When you are using an XY table type instrument, such as a Gretag SpectroScan,  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:
    -
    -     Please make sure that the white reference is in - slot 1, then
    -     place sheet 1 of 4 on table, then
    -     hit return to continue, Esc to give up
    -
    - After hitting return you will be prompted to line up three squares - on the sheet, one at a time:
    -
    -     Using the XY table controls, locate patch A1 with - the sight,
    -     then hit return to continue, Esc to give up
    -
    - On completing this, the instrument will commence reading each sheet.
    -
    -
    -

    Spot reading instruments

    - When used with a DT22 or SpectroLino or use the patch by - patch reading mode (chartread -p) - with the Eye-One Pro or ColorMunki - instrument, or use the external values mode (chartread -x), 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:
    -
    -     Ready to read patch 'XX'  :
    -
    - where XX is the patch label, and this is followed by the available - options to navigate, read the strip, or finish.
    -
    - 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).
    -
    - There should be an audible prompt on a successful or failed reading. -
    -
    - 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 installation.
    -
    - If the patch is read successfully, the line will be completed with:
    -
    -     Ready to read patch  XX  :
    -     Patch read OK
    -
    - 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
    - failed patch:
    -
    -     Ready to read patch XX  : read_strip - returned 'Strip misread' (Bad reading)
    -
    -     Strip read failed due to misread
    -     Hit Esc to give up, any other key to retry:
    -
    - You can navigate the next patch to be read using the 'f' key to move forward and the - 'b' keys - to move backwards, while 'F' - and 'B' 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 'n' - to move forward to the next unread patch. When you are finished, use - the 'd' 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 resume reading the - chart by using the chartread -r - flag.
    -
    - You can abort the whole process at any time by hitting Escape, and - the readings will not be saved.
    -
    - -
    -

    Display Type
    -

    + + + + + + + - display colorimeter
    +

    + Other instruments can be supported indirectly, since patch result + files created by other packages can be imported into Argyll.
    +
    + General information about:
    +
    +     Strip reading instruments
    +
        X-Y Table instruments
    +     Spot reading instruments
    +
    +
    + There is a list of contributed ccmx (Colorimeter Correction + Matrix) files.
    +
    +
    +

    Strip reading instruments

    + When used with a DT20, DTP41, DTP51, Eye-One Pro or ColorMunki + 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:
    +
    +     About to read strip XX  :
    +
    + 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.
    +
    + For the DTP51 you should + feed the strip into the instrument, and the microswitch will trigger + the read.
    +
    + For the DTP41 you should + line the appropriate strip up in the machine, and press its button.
    +
    + For the Eye-One Pro you + should set the guide to the appropriate strip, place the instrument + ahead 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.
    +
    + For the ColorMunki 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 high density ColorMunki chart (printtarg -h), 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.
    +
    + Using the DTP20 or the Eye-One Pro or ColorMunki with a randomized + chart layout, the strip may be scanned from either direction. If a + randomized chart layout has not been used for the Eye-One Pro or ColorMunki, then the chart + should only be read in the one direction (use chartread -B).
    +
    + 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 installation.
    +
    + If the strip is read successfully there will be a single "success" + beep, and the line will be followed with:
    +
    +     Ready to read strip  XX  :
    +     Strip read OK
    +
    + 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
    + failed strip:
    +
    +     Ready to read strip XX  :
    +     Strip read failed due to misread (Not enough + patches)
    +
    +     Hit Esc to give up, any other key to retry:
    +
    + If you are unable to successfully read a strip after several + retries, you can skip that strip using the 'n' key, and save
    + the chart readings without that strip.
    +
    + 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:
    +
    +     Ready to read strip  XX  :
    +     (Warning) Seem to have read strip  YY  + rather than  XX !
    +     Hit Return to use it anyway, any other key to + retry, Esc, ^C or Q to give up:
    +
    + 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.
    + 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).
    + Erroneous warnings are less likely if a previous profile for a + device was given to targen + to set more accurate expectations.
    +
    + You may also see the following type of warning:
    +
    +     Ready to read strip  XX  :
    +     (Warning) Patch error YY.YYY (>35 not good, + >95 bad)
    +    There is at least one patch with an very unexpected + response!
    +     Hit Return to use it anyway, any other key to + retry, Esc, ^C or Q to give up:
    +
    + 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 targen + to set more accurate expectations.
    +
    + You can also navigate the next strip to be read using the 'f' key to move forward and the + 'b' keys + 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 'n' 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 'd' 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 resume reading the chart by using the chartread -r flag. [You could + resume reading the chart patch by patch using the chartread -r -p if you are + unable to read a strip successfully.]
    +
    + When reading in patch by patch mode, there are a few additional + navigation options, such as F to move forward 10 + patches, B to move + backwards 10 patches, and g + to go to a specific patch.
    +
    + You can abort the whole process at any time by hitting Escape, and + the readings will not be saved.
    +
    +
    +

    X-Y Table instruments

    + When you are using an XY table type instrument, such as a Gretag SpectroScan,  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:
    +
    +     Please make sure that the white reference is in + slot 1, then
    +     place sheet 1 of 4 on table, then
    +     hit return to continue, Esc to give up
    +
    + After hitting return you will be prompted to line up three squares + on the sheet, one at a time:
    +
    +     Using the XY table controls, locate patch A1 with + the sight,
    +     then hit return to continue, Esc to give up
    +
    + On completing this, the instrument will commence reading each sheet.
    +
    +
    +

    Spot reading instruments

    + When used with a DT22 or SpectroLino or use the patch by + patch reading mode (chartread -p) + with the Eye-One Pro or ColorMunki + instrument, or use the external values mode (chartread -x), 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:
    +
    +     Ready to read patch 'XX'  :
    +
    + where XX is the patch label, and this is followed by the available + options to navigate, read the strip, or finish.
    +
    + 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).
    +
    + There should be an audible prompt on a successful or failed reading. +
    +
    + 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 installation.
    +
    + If the patch is read successfully, the line will be completed with:
    +
    +     Ready to read patch  XX  :
    +     Patch read OK
    +
    + 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
    + failed patch:
    +
    +     Ready to read patch XX  : read_strip + returned 'Strip misread' (Bad reading)
    +
    +     Strip read failed due to misread
    +     Hit Esc to give up, any other key to retry:
    +
    + You can navigate the next patch to be read using the 'f' key to move forward and the + 'b' keys + to move backwards, while 'F' + and 'B' 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 'n' + to move forward to the next unread patch. When you are finished, use + the 'd' 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 resume reading the + chart by using the chartread -r + flag.
    +
    + You can abort the whole process at any time by hitting Escape, and + the readings will not be saved.
    +
    + +
    +

    Display Type
    +

    Many of the colorimeters have a display @@ -780,360 +937,398 @@ - type 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.
    -
    - 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 refresh are CRT - (Cathode Ray Tube), Single chip DLP (Digital Light Processing) and - Plasma displays. An example of a non-refresh - 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.
    -
    - 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.
    -
    - See Comparison_of_display_technology - for some background on different display technologies.
    -
    -

    -

    Refresh Rate Measurement

    -

    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 spotread using the 'F' key. - The particular instruments have a range of accuracy when making - this measurement. A rough guide is as follows:
    -
    -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    InstrumentTypical error in Hz.
    DTP92
    -
    0.1
    -
    i1 Display 2
    -
    0.5
    -
    Spyder 2
    -
    0.7
    -
    Spyder 3
    -
    3
    -
    Spyder 4
    -
    3
    -
    i1 Display Pro
    -
    0.05
    -
    i1 Pro Spectro.
    -
    0.05
    -
    ColorMunki Spectro.
    -
    0.05
    -
    -


    -

    -

    -
    - ColorMunki Design or Photo reflective/emissive spectrometer
    -
    -   
    -
    -
    Availability:
    -
    -
    The ColorMunki Design or Photo from X-Rite  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 chart - 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 .
    -
    - Limitations & Features:
    -
    - 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 here for - a discussion about what FWA compensation is).
    -
    - Like the Eye-One Pro, this instrument does support the high resolution spectral mode.
    -
    - OS X and X-Rite drivers
    -
    - Please note the installation instructions.
    -
    - Tips & Tricks:
    -
    -
    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.
    -
    - Patch recognition:
    -
    - 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.
    -
    - In chartread, the -T ratio 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 -T ratio argument can be used to - modify this criteria. To loosen the tolerance, use a number greater - than 1.0 (ie. 1.5, 2.0).
    -
    - Note that printtarg provides the -h 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.]
    -
    -
    -
    - -

    -
    DTP20 - "Pulse" reflective spectrometer
    -
    -

    -
    -
    Availability:
    -
    -
    The DTP20 from X-Rite was discontinued during - 2007, but may still be available from old stock or second hand.
    -
    - Special features:
    -
    - The DTP20 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 chartread, which will recognize - the chart, and download all the measurements.
    - 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 chartread too.
    -
    - Un-tethered spot measurements can also be read in using  spotread, 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.
    -
    - Note 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: -v
    -
    - Chart printing:
    -
    -
    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 printtarg -m - parameter, or find a printing path that preserves the test chart - size correctly.
    -
    - Operation:
    -
    -
    When reading in tethered (on-line) mode, that the instrument - takes several seconds to - download the measurements after each strip, and that the indicator - will be in "rainbow" mode while this occurs. Wait until the - indicator turns solid green again before starting to measure the - next strip.
    -
    - To reset 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).
    -
    - To calibrate 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.
    -
    - If the chart is particularly small, - 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
    - 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.
    -
    - The speed of scan can be - quite critical with this instrument. In particular, it doesn't work - very well if the scan is too slow. - You don't want to go too fast either, as this reduces the number of - samples per patch.
    -
    -
    - -

    -
    DTP22 - Digital Swatchbook reflective spectrometer
    -
    -
    -
    -
    Availability:
    -
    -
    The DTP22 from X-Rite is a discontinued - instrument.  It may still be available second hand. It is - capable of reading colored patches one at a time.
    -
    -
    - -

    - DTP41 reflective, DTP41T - reflective/transmissive spectrometers
    -
    -
    -
    -
    Availability:
    -
    -
    The DTP41 and DTP41T from X-Rite is a discontinued - instrument.  It may still be available second hand.
    -
    - The series II instruments (DTP41B - and DTP41TB) offer both - serial and USB connection. Note that currently only serial operation - using Argyll is possible with these instruments.
    -
    -

    - DTP51 - reflective colorimeter
    -
    -
    -
    -
    Availability:
    -
    -
    The DTP51 from X-Rite is a discontinued - instrument.  It may still be available second hand.
    -
    - Operation:
    -
    -
    The DTP51's switch is triggered by inserting a strip - into the slot.
    -
    -
    - -

    - DTP92 CRT display colorimeter
    -
    -
    -
    -
    Availability:
    -
    -
    The DTP92 from X-Rite is a discontinued - instrument.  It may still be available second hand. It will - only read CRT technology displays.
    -
    - Operation:
    -
    - The Display Selections for this instrument are:
    -
    + + + + + + + + + + + + + type 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.
    +
    + 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 refresh are CRT + (Cathode Ray Tube), Single chip DLP (Digital Light Processing) and + Plasma displays. An example of a non-refresh + 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.
    +
    + 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.
    +
    + See Comparison_of_display_technology + for some background on different display technologies.
    +
    +

    +

    Refresh Rate Measurement

    +

    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 spotread using the 'F' key. + The particular instruments have a range of accuracy when making + this measurement. A rough guide is as follows:
    +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    InstrumentTypical error in Hz.
    spectrobos 1211/1201
    +
    0.05
    +
    DTP92
    +
    0.1
    +
    i1 Display 2
    +
    0.5
    +
    Spyder 2
    +
    0.7
    +
    Spyder 3
    +
    3
    +
    Spyder 4
    +
    3
    +
    i1 Display Pro
    +
    0.05
    +
    i1 Pro Spectro.
    +
    0.05
    +
    ColorMunki Spectro.
    +
    0.05
    +
    +


    +

    +
    +

    specbos 1211 and 1201 + Tele-Spectro-Radiometer
    +

    + JETI specbos 1211 +


    +
    Availability:
    +
    +
    The specbos 1211 and 1201from JETI  are currently + available instruments. These are reference grade instruments + capable of emissive and ambient measurements, and are often used + for monitor, projector and cinema calibration and + characterization, amongst many other uses.
    +

    +
    +


    +

    +
    + ColorMunki Design or Photo reflective/emissive spectrometer
    +
    +   
    +
    +
    Availability:
    +
    +
    The ColorMunki Design or Photo from X-Rite  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 chart + 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 .
    +
    + Limitations & Features:
    +
    + 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 here for + a discussion about what FWA compensation is).
    +
    + Like the Eye-One Pro, this instrument does support the high resolution spectral mode.
    +
    + OS X and X-Rite drivers
    +
    + Please note the installation instructions.
    +
    + Tips & Tricks:
    +
    +
    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.
    +
    + Patch recognition:
    +
    + 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.
    +
    + In chartread, the -T ratio 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 -T ratio argument can be used to + modify this criteria. To loosen the tolerance, use a number greater + than 1.0 (ie. 1.5, 2.0).
    +
    + Note that printtarg provides the -h 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.]
    +
    +
    +
    + +

    +
    DTP20 + "Pulse" reflective spectrometer
    +
    +

    +
    +
    Availability:
    +
    +
    The DTP20 from X-Rite was discontinued during + 2007, but may still be available from old stock or second hand.
    +
    + Special features:
    +
    + The DTP20 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 chartread, which will recognize + the chart, and download all the measurements.
    + 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 chartread too.
    +
    + Un-tethered spot measurements can also be read in using  spotread, 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.
    +
    + Note 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: -v
    +
    + Chart printing:
    +
    +
    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 printtarg -m + parameter, or find a printing path that preserves the test chart + size correctly.
    +
    + Operation:
    +
    +
    When reading in tethered (on-line) mode, that the instrument + takes several seconds to + download the measurements after each strip, and that the indicator + will be in "rainbow" mode while this occurs. Wait until the + indicator turns solid green again before starting to measure the + next strip.
    +
    + To reset 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).
    +
    + To calibrate 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.
    +
    + If the chart is particularly small, + 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
    + 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.
    +
    + The speed of scan can be + quite critical with this instrument. In particular, it doesn't work + very well if the scan is too slow. + You don't want to go too fast either, as this reduces the number of + samples per patch.
    +
    +
    + +

    +
    DTP22 + Digital Swatchbook reflective spectrometer
    +
    +
    +
    +
    Availability:
    +
    +
    The DTP22 from X-Rite is a discontinued + instrument.  It may still be available second hand. It is + capable of reading colored patches one at a time.
    +
    +
    + +

    + DTP41 reflective, DTP41T + reflective/transmissive spectrometers
    +
    +
    +
    +
    Availability:
    +
    +
    The DTP41 and DTP41T from X-Rite is a discontinued + instrument.  It may still be available second hand.
    +
    + The series II instruments (DTP41B + and DTP41TB) offer both + serial and USB connection. Note that currently only serial operation + using Argyll is possible with these instruments.
    +
    +

    + DTP51 + reflective colorimeter
    +
    +
    +
    +
    Availability:
    +
    +
    The DTP51 from X-Rite is a discontinued + instrument.  It may still be available second hand.
    +
    + Operation:
    +
    +
    The DTP51's switch is triggered by inserting a strip + into the slot.
    +
    +
    + +

    + DTP92 CRT display colorimeter
    +
    +
    +
    +
    Availability:
    +
    +
    The DTP92 from X-Rite is a discontinued + instrument.  It may still be available second hand. It will + only read CRT technology displays.
    +
    + Operation:
    +
    + The Display Selections for this instrument are:
    +
        c    @@ -1156,32 +1351,44 @@ - CRT display         A Cathode Ray - Tube display, that is of the Refresh type [Default, CB2].
    -
    -

    - DTP94, "Optix XR" or "Optix XR2" or "Optix Pro" display colorimetrers
    -
    -             -    
    -
    -
    Availability:
    -
    -
    The DTP94 from X-Rite 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.
    -
    - Operation:
    -
    - The Display Selections for this instrument are:
    -
    + + + + + + + + + + + + + CRT display         A Cathode Ray + Tube display, that is of the Refresh type [Default, CB2].
    +
    +

    + DTP94, "Optix XR" or "Optix XR2" or "Optix Pro" display colorimetrers
    +
    +             +    
    +
    +
    Availability:
    +
    +
    The DTP94 from X-Rite 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.
    +
    + Operation:
    +
    + The Display Selections for this instrument are:
    +
        l     @@ -1199,8 +1406,20 @@ - LCD display         A Liquid - Crystal Display, that is of the Non-Refresh type [default, CB1].
    + + + + + + + + + + + + + LCD display         A Liquid + Crystal Display, that is of the Non-Refresh type [default, CB1].
        c    @@ -1223,23 +1442,35 @@ - CRT display         A Cathode Ray - Tube display, that is of the Refresh type [CB2].
    -     g    - Generic    -            Generic - display [CB3]
    -   
    -
    - -

    - Spectrolino reflective/emissive spectrometer
    -
    -
    -
    -
    Availability:
    -
    + + + + + + + + + + + + + CRT display         A Cathode Ray + Tube display, that is of the Refresh type [CB2].
    +     g    + Generic    +            Generic + display [CB3]
    +   
    +
    + +

    + Spectrolino reflective/emissive spectrometer
    +
    +
    +
    +
    Availability:
    +
    The Spectrolino from Gretag @@ -1263,220 +1494,237 @@ 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.
    -
    -
    -

    - SpectroScan reflective/emissive and SpectroScanT - reflective/emissive/transmissive spectrometers
    -
    -
    -
    -
    Availability:
    -
    -
    The SpectroScan and - SpectroScanT from Gretag - MacBeth (Now X-Rite) is a discontinued instrument. It is the - combination of an X-Y table and the Spectrolino instrument. The SpectroScanT 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.
    -
    - If measuring transparencies using a SpectroScanT, the Enter - key on the instrument may be used to trigger each reading. It will - be recognized after each previous reading has been completed.
    -
    -

    -
    - Eye-One Pro2:
    - Eye-One Pro 2
    -
    - 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 Eye-One Pro - reflective/emissive spectrometer below for details on the operation of this type of - instrument.
    -
    -

    - Eye-One Pro and - Eye-One Pro2 reflective/emissive spectrometer
    -
    -
    -
    -
    Availability:
    -
    -
    The Eye-One Pro from - X-Rite (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 chart - 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 i1 Basic - Pro.
    -
    - The EFI ES-1000 (which is a re-badged Eye-One Pro) is also reported - to work with Argyll.
    -
    - 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 here 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.
    -
    - 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.
    -
    - NOTE 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.
    -
    - See also How can I have confidence in - the i1pro Driver ?
    -
    - Patch recognition:
    -
    - 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.
    -
    - In chartread, the -T ratio 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 -T ratio argument can be used to - modify this criteria. To loosen the tolerance, use a number greater - than 1.0 (ie. 1.5, 2.0).
    -
    - Special features:
    -
    - 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 -H - flag on the command line to dispcal, - dispread, chartread, and spotread. It can also be toggled - on and off within spotread - using the h 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.
    -
    - High res. and standard res. spectrum.
    -
    - C.R.T high res. and standard res. spectrum.
    -
    -

    - Eye-One Monitor - emissive spectrometer
    -
    -
    -
    -
    Availability:
    -
    -
    The Eye-One Monitor - from X-Rite (was Gretag - MacBeth) is a discontinued instrument. It was a lower cost version - of the Eye-One Pro without - reflective measurement capability. See Eye-One Pro - reflective/emissive spectrometer for details on the operation of this instrument.
    -
    -
    -

    - Eye-One Display - 1, Eye-One Display 2, Eye-One Display LT, ColorMunki Create, - ColorMunki Smile colorimeters,
    -
    - ColorMunki SmileEye-One Display 2 ColorMunki Create
    -
    - Instrument Availability:
    -
    -
    The ColorMunki Smile - colorimeter is a currently available instrument.
    - The Eye-One Display LT and - Eye-One Display 2 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.
    - The ColorMunki Create - 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.
    - The HP DreamColor - colorimeter can also be used, and will appear as an i1Display2 - colorimeter [note that it is calibrated for the DreamColor display].
    - The HP APS (Advanced - Profiling Solution) colorimeter is also reported to work, and will - appear as an i1Display2.
    - The CalMAN X2 colorimeter - is also reported to work, and will appear as an i1Display2 - colorimeter.
    - The  Lacie Blue Eye colorimeter is also reported to - work, and will appear as an i1Display2 colorimeter.
    -
    - The Eye-One Display 1 is a - discontinued instrument.
    -
    - The Eye-One Display LT came with a less expensive package with more - limited software from the manufacture.
    - The Eye-One Display 2 package came with more software - features,  but the instruments are virtually identical, and - will operate identically using Argyll.
    - The ColorMunki Create - package is another alternative, and will operate identically using - Argyll.
    -
    - Operation:
    -
    + + + + + + + + + + + + + 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.
    +
    +
    +

    + SpectroScan reflective/emissive and SpectroScanT + reflective/emissive/transmissive spectrometers
    +
    +
    +
    +
    Availability:
    +
    +
    The SpectroScan and + SpectroScanT from Gretag + MacBeth (Now X-Rite) is a discontinued instrument. It is the + combination of an X-Y table and the Spectrolino instrument. The SpectroScanT 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.
    +
    + If measuring transparencies using a SpectroScanT, the Enter + key on the instrument may be used to trigger each reading. It will + be recognized after each previous reading has been completed.
    +
    +

    +
    + Eye-One Pro2:
    + Eye-One Pro 2
    +
    + 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 Eye-One Pro reflective/emissive + spectrometer below + for details on the operation of this type of instrument.
    +
    +

    + Eye-One Pro and + Eye-One Pro2 reflective/emissive spectrometer
    +
    +
    +
    +
    Availability:
    +
    +
    The Eye-One Pro from + X-Rite (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 chart + 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 i1 Basic + Pro.
    +
    + The EFI ES-1000 (which is a re-badged Eye-One Pro) is also reported + to work with Argyll.
    +
    + 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 here 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.
    +
    + 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.
    +
    + NOTE 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.
    +
    + See also How can I have confidence in + the i1pro Driver ?
    +
    + Patch recognition:
    +
    + 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.
    +
    + In chartread, the -T ratio 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 -T ratio argument can be used to + modify this criteria. To loosen the tolerance, use a number greater + than 1.0 (ie. 1.5, 2.0).
    +
    + Special features:
    +
    + 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 -H + flag on the command line to dispcal, + dispread, chartread, and spotread. It can also be toggled + on and off within spotread + using the h key.
    +
    + Note that while finer spectral resolution will worsen the signal to + noise ratio of the individual spectral values, the signal to noise + ratio of the resulting tri-stimulus color values will be identical + to normal resolution mode, since the same overall integration is + performed.
    +
    + See Does the i1pro High Resolution mode + improve accuracy ?
    +
    + High res. and standard res. spectrum.
    +
    + C.R.T high res. and standard res. spectrum.
    +
    +

    + Eye-One Monitor + emissive spectrometer
    +
    +
    +
    +
    Availability:
    +
    +
    The Eye-One Monitor + from X-Rite (was Gretag + MacBeth) is a discontinued instrument. It was a lower cost version + of the Eye-One Pro without + reflective measurement capability. See Eye-One Pro + reflective/emissive spectrometer for details on the operation of this instrument.
    +
    +
    +

    + Eye-One Display + 1, Eye-One Display 2, Eye-One Display LT, ColorMunki Create, + ColorMunki Smile colorimeters,
    +
    + ColorMunki SmileEye-One Display 2 ColorMunki Create
    +
    + Instrument Availability:
    +
    +
    The ColorMunki Smile + colorimeter is a currently available instrument.
    + The Eye-One Display LT and + Eye-One Display 2 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.
    + The ColorMunki Create + 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.
    + The HP DreamColor + colorimeter can also be used, and will appear as an i1Display2 + colorimeter [note that it is calibrated for the DreamColor display].
    + The HP APS (Advanced + Profiling Solution) colorimeter is also reported to work, and will + appear as an i1Display2.
    + The CalMAN X2 colorimeter + is also reported to work, and will appear as an i1Display2 + colorimeter.
    + The  Lacie Blue Eye colorimeter is also reported to + work, and will appear as an i1Display2 colorimeter.
    +
    + The Eye-One Display 1 is a + discontinued instrument.
    +
    + The Eye-One Display LT came with a less expensive package with more + limited software from the manufacture.
    + The Eye-One Display 2 package came with more software + features,  but the instruments are virtually identical, and + will operate identically using Argyll.
    + The ColorMunki Create + package is another alternative, and will operate identically using + Argyll.
    +
    + Operation:
    +
    The Display Selections for the ColorMunki @@ -1484,23 +1732,47 @@ Gretag - Smile are:
    -
    -     f -    LCD with CCFL back-light    -      A Liquid Crystal display that uses a Cold - Cathode Fluorescent back lighting. [Default, CB1]
    + + + + + + + + + + + + + Smile
    are:
    +
    +     f +    LCD with CCFL back-light    +      A Liquid Crystal display that uses a Cold + Cathode Fluorescent back lighting. [Default, CB1]
        e    - LCD with LED back-light    -       A Liquid Crystal display that uses - Light Emitting Diode back lighting.
    -
    - other instruments will offer:
    -
    + + + + + + + + + + + + + LCD with LED back-light    +       A Liquid Crystal display that uses + Light Emitting Diode back lighting.
    +
    + other instruments will offer:
    +
        l     @@ -1523,8 +1795,20 @@ Gretag - LCD display         A Liquid - Crystal Display, that is of the Non-Refresh type. [Default, CB1]
    + + + + + + + + + + + + + LCD display         A Liquid + Crystal Display, that is of the Non-Refresh type. [Default, CB1]
        c    @@ -1547,121 +1831,141 @@ Gretag - CRT display          A - Cathode Ray Tube display, that is of the Refresh type. [CB2]
    -
    -
    -

    -   i1 DisplayPro and ColorMunki Display colorimeters (i1 Display 3)
    -
    - i1 Display Pro ColorMunki Display
    -
    - Instrument Availability:
    -
    -
    Both instruments are currently available..
    -
    - The ColorMunki Display is a less expensive package - 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.
    -
    - The i1Display Pro package - 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 unable to measure the - refresh period, so is less repeatable in this mode than the - i1Display Pro).
    -
    - Both instruments are capable of using CCSS (Colorimeter Calibration Spectral - Sample) files, and this also gives the instrument the - capability of using a non-default standard observer. CCSS files can - be created using the ccxxmake tool, and - installed or translated from the .EDR files that are provided with - the instrument CD using the oeminst - utility using a spectrometer as a reference.
    -
    - There are some OEM versions of this instrument around too, and the SpectraCal OEM i1Display, ChromaPure and NEC - SpectraSensor Pro instruments are also reported to work. They - will appear as a be a the same as the i1Display Pro.
    - [Note 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 oeminst.]
    -
    - 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.
    -
    - Operation:
    -
    - The Display Selections for this instrument are:
    -
    -     n     A - non-refresh type display [Default, CB1].
    -     r -     A refresh type display  - The refresh period - is measured, and the integration time adjusted appropriately. [CB2]
    -
    - With the manufacturers .edr files & reference Argyll .ccss files - installed, the following selections are:
    -
    -     n      A - non-refresh type display [Default, CB1].
    -     r -      A refresh type display  - The refresh - period is measured, and the integration time adjusted appropriately. - [CB2]
    -     c      CRT - (Hitachi CM2112MET, Diamond View 1772ie)
    -     l       LCD CCFL - IPS (CCFL AC EIZO HP with CORRECTION)
    -     L      LCD CCFL - Wide Gamut IPS (WG CCFL NEC241 271)
    -          LCD RGB - LED IPS (RGBLED HP SOYO)
    -     e      LCD White - LED IPS (WLED AC LG Samsung)
    -     p      Projector - (Marantz HP Panasonic Projectors Hybrid EDR)
    -
    - Note when measuring CRT displays:
    -

    - 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.
    -
    -

    - Huey colorimeter
    -
    -
    -
    - Availability:
    -
    -
    The Huey is widely - available under the Pantone - name as well as the manufacturer, X-Rite. - There lower cost Huey is now discontinued, while the +
    +
    +

    +
      i1 DisplayPro and ColorMunki Display colorimeters (i1 Display 3)
    +
    + i1 Display Pro ColorMunki Display
    +
    + Instrument Availability:
    +
    +
    Both instruments are currently available..
    +
    + The ColorMunki Display is a less expensive package + 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.
    +
    + The i1Display Pro package + 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 unable to measure the + refresh period, so is less repeatable in this mode than the + i1Display Pro).
    +
    + Both instruments are capable of using CCSS (Colorimeter Calibration Spectral + Sample) files, and this also gives the instrument the + capability of using a non-default standard observer. CCSS files can + be created using the ccxxmake tool, and + installed or translated from the .EDR files that are provided with + the instrument CD using the oeminst + utility using a spectrometer as a reference.
    +
    + There are some OEM versions of this instrument around too, and the SpectraCal OEM i1Display, ChromaPure, NEC + SpectraSensor Pro and HP + + + + + + + DreamColor instruments are also reported to work. They will + appear as a be a the same as the i1Display Pro.
    + [Note 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 oeminst.]
    +
    + 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.
    +
    + Operation:
    +
    + The Display Selections for this instrument are:
    +
    +     n     A + non-refresh type display [Default, CB1].
    +     r +     A refresh type display  - The refresh period + is measured, and the integration time adjusted appropriately. [CB2]
    +
    + With the manufacturers .edr files & reference Argyll .ccss files + installed, the following selections are:
    +
    +     n      A + non-refresh type display [Default, CB1].
    +     r +      A refresh type display  - The refresh + period is measured, and the integration time adjusted appropriately. + [CB2]
    +     c      CRT + (Hitachi CM2112MET, Diamond View 1772ie)
    +     l       LCD CCFL + IPS (CCFL AC EIZO HP with CORRECTION)
    +     L      LCD CCFL + Wide Gamut IPS (WG CCFL NEC241 271)
    +          LCD RGB + LED IPS (RGBLED HP SOYO)
    +     e      LCD White + LED IPS (WLED AC LG Samsung)
    +     p      Projector + (Marantz HP Panasonic Projectors Hybrid EDR)
    +
    + Note when measuring CRT displays:
    +

    + 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.
    +
    +

    + Huey colorimeter
    +
    +
    +
    + Availability:
    +
    +
    The Huey is widely + available under the Pantone + name as well as the manufacturer, X-Rite. + There lower cost Huey is now discontinued, while the Huey @@ -1684,12 +1988,24 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - Pro is still available.
    -
    - Operation:
    -
    - The Display Selections for this instrument are:
    -
    + + + + + + + + + + + + + Pro is still available.
    +
    + Operation:
    +
    + The Display Selections for this instrument are:
    +
        l     @@ -1712,8 +2028,20 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - LCD display         A Liquid - Crystal Display, that is of the Non-Refresh type. [Default, CB1]
    + + + + + + + + + + + + + LCD display         A Liquid + Crystal Display, that is of the Non-Refresh type. [Default, CB1]
        c    @@ -1736,33 +2064,45 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - CRT display         A Cathode Ray - Tube display, that is of the Refresh type. [CB2]
    -
    -
    -

    - MonacoOPTIX - colorimeters
    -
    - -          
    -
    - Instrument Availability:
    -

    - Availability:
    -
    -
    The MonacoOPTIX 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.
    -
    - Operation:
    -
    - The Display Selections for this instrument are:
    -
    + + + + + + + + + + + + + CRT display         A Cathode Ray + Tube display, that is of the Refresh type. [CB2]
    +
    +
    +

    + MonacoOPTIX + colorimeters
    +
    + +          
    +
    + Instrument Availability:
    +

    + Availability:
    +
    +
    The MonacoOPTIX 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.
    +
    + Operation:
    +
    + The Display Selections for this instrument are:
    +
        c    @@ -1785,8 +2125,20 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - CRT display         A Cathode Ray - Tube display, that is of the Refresh type.
    + + + + + + + + + + + + + CRT display         A Cathode Ray + Tube display, that is of the Refresh type.
        l     @@ -1809,41 +2161,53 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - LCD display         A Liquid - Crystal Display, that is of the Non-Refresh type.
    -
    -

    - Spyder 2 - colorimeter
    -
    -
    -
    -
    Availability:
    -
    -
    The Spyder 2 has been superseded by the - Spyder 3 & 4, but may be available second hand.
    - [The Spyder 1 has also been reported as working, but this has not - been confirmed.]
    -
    -
    Operation:
    -

    - Important Note about the - ColorVision Spyder 2 instrument support:
    -
    - This instrument cannot function without the driver software having - access to the vendor supplied PLD firmware pattern for it.
    - This firmware is not provided with Argyll, since it is not available - under a compatible license.
    -
    - 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 - oeminst tool.
    -
    - The Display Selections for this instrument are:
    -
    + + + + + + + + + + + + + LCD display         A Liquid + Crystal Display, that is of the Non-Refresh type.
    +
    +

    + Spyder 2 + colorimeter
    +
    +
    +
    +
    Availability:
    +
    +
    The Spyder 2 has been superseded by the + Spyder 3 & 4, but may be available second hand.
    + [The Spyder 1 has also been reported as working, but this has not + been confirmed.]
    +
    +
    Operation:
    +

    + Important Note about the + ColorVision Spyder 2 instrument support:
    +
    + This instrument cannot function without the driver software having + access to the vendor supplied PLD firmware pattern for it.
    + This firmware is not provided with Argyll, since it is not available + under a compatible license.
    +
    + 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 + oeminst tool.
    +
    + The Display Selections for this instrument are:
    +
        l     @@ -1866,8 +2230,20 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - LCD display        A Liquid Crystal - Display, that is of the Non-Refresh type. [Default, CB1]
    + + + + + + + + + + + + + LCD display        A Liquid Crystal + Display, that is of the Non-Refresh type. [Default, CB1]
        c    @@ -1890,131 +2266,143 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - CRT display         A Cathode Ray - Tube display, that is of the Refresh type. [CB2]
    -
    -
    - Linux USB hub problems:
    -
    -
    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".
    -
    -

    - Spyder 3 - colorimeter
    -
    - Spyder3 Spyder3Express
    -
    -
    Availability:
    -
    -
    The Spyder3Elite, Spyder3Pro and Spyder3Express are being - superseded by the Spyder4, but may still stocked by some dealers, - and may be available second hand. The Spyder3Elite and Spyder3Pro - appear to be identical hardware with different software from the - manufacturer. The Spyder3Express - lacks the ambient sensor.
    -
    - [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.]
    -
    -
    Operation:
    -

    - The ambient light sensor can be used with the Spyder3Elite and Spyder3Pro instruments, but is - only capable of monochrome readings.
    -

    - The Display Selections for this instrument are:
    -
    -     n | l     A - non-refresh type display [Default, CB1]
    -     r | c -     A refresh type display. [CB2]
    -
    -
    -

    - Spyder 4 - colorimeter
    -
    - Spyder4
    -
    -
    Availability:
    -
    -
    The Spyder4Elite, Spyder4Pro and Spyder4Express are a currently - available instruments. The Spyder4Elite - and Spyder4Pro appear to be - identical hardware with different software from the manufacturer. - The Spyder4Express lacks - the ambient sensor.
    -
    -
    Operation:
    -

    - These instruments are capable of using using CCSS (Colorimeter Calibration Spectral - Sample) files, and this also gives the instrument the - capability of using a non-default standard observer. CCSS files can - be created using the ccxxmake tool - using a spectrometer as a reference.
    -
    - Important Note about the - DataColor Spyder 4 vendor display type/calibration support:
    -
    - This instrument does not have a full range of display type - calibration selections available without the vendor supplied - calibration data for it.
    - This calibration data is not provided with Argyll, since it is not - available under a compatible license.
    - 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 oeminst - tool.
    -
    - The Display Selections for this instrument are:
    -
    -     n | l     -    A non-refresh type display with a generic calibration - [Default, CB1].
    -     r | c        A - refresh type display with a generic calibration.[CB2]
    -
    - The Display Selections for this instrument when the manufacturers - calibration information has been installed is:
    -
    -     n        -      A non-refresh type display with a generic - calibration [Default, CB1].
    -     r        -      A refresh type display with a generic - calibration.[CB2]
    -     f    -          LCD, CCFL + + + + + + + + + + + + + CRT display         A Cathode Ray + Tube display, that is of the Refresh type. [CB2]
    +
    +
    + Linux USB hub problems:
    +
    +
    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".
    +
    +

    + Spyder 3 + colorimeter
    +
    + Spyder3 Spyder3Express
    +
    +
    Availability:
    +
    +
    The Spyder3Elite, Spyder3Pro and Spyder3Express are being + superseded by the Spyder4, but may still stocked by some dealers, + and may be available second hand. The Spyder3Elite and Spyder3Pro + appear to be identical hardware with different software from the + manufacturer. The Spyder3Express + lacks the ambient sensor.
    +
    + [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.]
    +
    +
    Operation:
    +

    + The ambient light sensor can be used with the Spyder3Elite and Spyder3Pro instruments, but is + only capable of monochrome readings.
    +

    + The Display Selections for this instrument are:
    +
    +     n | l     A + non-refresh type display [Default, CB1]
    +     r | c +     A refresh type display. [CB2]
    +
    +
    +

    + Spyder 4 + colorimeter
    +
    + Spyder4
    +
    +
    Availability:
    +
    +
    The Spyder4Elite, Spyder4Pro and Spyder4Express are a currently + available instruments. The Spyder4Elite + and Spyder4Pro appear to be + identical hardware with different software from the manufacturer. + The Spyder4Express lacks + the ambient sensor.
    +
    +
    Operation:
    +

    + These instruments are capable of using using CCSS (Colorimeter Calibration Spectral + Sample) files, and this also gives the instrument the + capability of using a non-default standard observer. CCSS files can + be created using the ccxxmake tool + using a spectrometer as a reference.
    +
    + Important Note about the + DataColor Spyder 4 vendor display type/calibration support:
    +
    + This instrument does not have a full range of display type + calibration selections available without the vendor supplied + calibration data for it.
    + This calibration data is not provided with Argyll, since it is not + available under a compatible license.
    + 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 the instrument, and should + therefore be able to enable the full range of display type + selections in Argyll by using the oeminst + tool.
    +
    + The Display Selections for this instrument are:
    +
    +     n | l     +    A non-refresh type display with a generic calibration + [Default, CB1].
    +     r | c        A + refresh type display with a generic calibration.[CB2]
    +
    + The Display Selections for this instrument when the manufacturers + calibration information has been installed is:
    +
    +     n        +      A non-refresh type display with a generic + calibration [Default, CB1].
    +     r        +      A refresh type display with a generic + calibration.[CB2]
    +     f    +          LCD, CCFL Backlight                         @@ -2037,17 +2425,29 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - - normal gamut Liquid Crystal Display with standard Cold Cathode - Fluorescent Lamp backlight.
    -     L  -           Wide Gamut LCD, CCFL - Backlight      - wide gamut Liquid Crystal - Display with Cold Cathode Fluorescent Lamps backlight.
    -     e -             LCD, White - LED Backlight        -           - normal - gamut Liquid Crystal Display with a White LED backlight.
    + + + + + + + + + + + + + - normal gamut Liquid Crystal Display with standard Cold Cathode + Fluorescent Lamp backlight.
    +     L  +           Wide Gamut LCD, CCFL + Backlight      - wide gamut Liquid Crystal + Display with Cold Cathode Fluorescent Lamps backlight.
    +     e +             LCD, White + LED Backlight        +           - normal + gamut Liquid Crystal Display with a White LED backlight.
        B   @@ -2070,12 +2470,24 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey -          Wide Gamut LCD, RGB LED - Backlight - wide gamut Liquid Crystal Display with RGB LED - backlight.
    -     x -             LCD, CCFL - Type 2 + + + + + + + + + + + + +          Wide Gamut LCD, RGB LED + Backlight - wide gamut Liquid Crystal Display with RGB LED + backlight.
    +     x +             LCD, CCFL + Type 2 Backlight              @@ -2098,23 +2510,6 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - - normal gamut Liquid Crystal Display with alternative Cold Cathode - Fluorescent Lamp backlight (Laptop ?)
    -
    - The ambient light sensor can be used with the Spyder4Elite and Spyder4Pro instruments, but is - only capable of monochrome readings.
    -
    -
    Colorimètre HCFR - colorimeter
    -
    -
    -
    -
    Availability:
    -
    -
    The Colorimètre @@ -2126,6 +2521,34 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey + + - normal gamut Liquid Crystal Display with alternative Cold Cathode + Fluorescent Lamp backlight (Laptop ?)
    +
    + The ambient light sensor can be used with the Spyder4Elite and Spyder4Pro instruments, but is + only capable of monochrome readings.
    +
    +
    Colorimètre HCFR + colorimeter
    +
    +
    +
    +
    Availability:
    +
    +
    The Colorimètre + + + + + + + + + + @@ -2136,26 +2559,39 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - HCFR Probe is a kit instrument from HCFR. -
    -
    - OS X
    -
    - Please note the installation instructions.
    -
    - Operation:
    -
    - 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.
    -
    - The Display Selections for this instrument are:
    -
    + + + + + + + + + + + + + + HCFR Probe
    is a kit instrument from HCFR. +
    +
    + OS X
    +
    + Please note the installation instructions.
    +
    + Operation:
    +
    + 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.
    +
    + The Display Selections for this instrument are:
    +
        l     @@ -2178,8 +2614,20 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - LCD display         A Liquid - Crystal Display [Default].
    + + + + + + + + + + + + + LCD display         A Liquid + Crystal Display [Default].
        c    @@ -2202,13 +2650,86 @@ href="http://www.pantone.com/pages/products/product.aspx?pid=562&ca=2">Huey - CRT display         A Cathode Ray - Tube display.
    -     R   Raw  - Reading       Raw sensor readings, - used for calibration [CB1]
    -
    -
    -
    - - + + + + + + + + + + + + + CRT display         A Cathode Ray + Tube display.
    +     R   Raw  + Reading       Raw sensor readings, + used for calibration [CB1]
    +
    +
    ColorHug
    +
    +
    +
    +
    Availability:
    +
    +
    The ColorHug + is a low cost display colorimeter instrument from Hughski.
    +
    + Operation:
    +
    + Due to the nature of its sensor, the ColorHug accuracy is quite + dependent on the instrument calibration matrix. A custom .CCMX will + greatly assist it's accuracy, although a workaround is to calibrate + your display using its native white point, rather than aiming for + some absolute white point such as D65.
    +
    + The Display Selections for this instrument are:
    +
    +    l                   + + + + LCD, CCFL Backlight [Default]
    +    c                  + + + + + CRT display
    +    p                  + + + + + Projector
    +    e                  + + + + LCD, White LED Backlight
    +    F                  + + + + + Factory matrix (For Calibration) [CB1]
    +    R                 + + + + + Raw Reading (For Factory matrix Calibration) [CB2]
    +
    +
    +
    +
    +
    +
    + + diff --git a/doc/oeminst.html b/doc/oeminst.html index 7334d8d..ffbc0f0 100644 --- a/doc/oeminst.html +++ b/doc/oeminst.html @@ -296,7 +296,7 @@ href="http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html">XDG
    If you are going to use the same CCSS or CCMX file all the time, then you may want to set the ARGYLL_COLMTER_CAL_SPEC_SET + href="Environment.html">ARGYLL_COLMTER_CAL_SPEC_SET environment variable.


    diff --git a/doc/printtarg.html b/doc/printtarg.html index 5faab76..0d86cac 100644 --- a/doc/printtarg.html +++ b/doc/printtarg.html @@ -20,6 +20,7 @@ style="font-family: monospace;">              + Verbose mode
     -i 20 | 22 | 41 | 51 | @@ -34,10 +35,12 @@ DTP20, = + DTP22, 41 = DTP41, 51 = DTP51, SS = SpectroScan,
                     + i1 = i1Pro, CM = ColorMunki
     
     -A scale
                  + Don't randomize patch location
     
     
    -S
                   + Force colored spacers

     
    -b              + Force no spacers
     -f              + Create PostScript DeviceN Color fallback
       -o k|n          + CMY colorspace encoding DefiveCMYK (def), inverted DeviceRGB or DeviceN
                   + Output EPS compatible file
     
    -t [res]        Output @@ -151,6 +164,7 @@ TIFF raster + file, optional res DPI (default 200)
     -T [res]        Output @@ -160,11 +174,13 @@ TIFF raster + file, optional res DPI (default 200)
     -C              + Don't use TIFF compression
     -N              Use @@ -174,10 +190,12 @@ N channels + more than 4
     -D              + Dither 8 bit TIFF values down from 16 bit
     -Q nbits        Quantize @@ -187,6 +205,7 @@ to fit + in nbits
     -K @@ -201,6 +220,7 @@ fit style="font-family: monospace;">        + Use given random start number
     
     -M margin       + Set a page margin in mm and include it in TIFF
    @@ -232,6 +254,7 @@ Set              + Don't limit strip length
     -L              Suppress @@ -241,12 +264,19 @@ paper clip - border
    + + border

    +  -U +              + Suppress CUPS cupsJobTicket: cups-disable-cmm in PS & + EPS files
     -p size         + Select page size from:
         @@ -254,17 +284,20 @@ clip A4       + [210.0 x 297.0 mm]
                        A4R      + [297.0 x 210.0 mm]
                        A3       + [297.0 x 420.0 mm] (default)
                        @@ -279,18 +312,21 @@ A3         +       Legal    [215.9 x 355.6 mm]
                     +    4x6      [101.6 x 152.4 mm]
                        11x17    + [279.4 x 431.8 mm]
     -p WWWxHHH        + Base name for input(.ti1), output(Normally, printtarg 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 @@ -385,6 +423,7 @@ A3       turn this off you probably want to disable + bi-directional strip reading in instruments such as the i1pro.

    The -s flag does two things. One is that it @@ -408,6 +447,7 @@ A3       then contrasting neutral colored spacers will be used, but these generally work less reliably than colored spacers. The + -n 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 @@ -573,9 +613,11 @@ A3       represented in the Postscript or TIFF output. The default is to use the DeviceGray representation (-wg), + but Device RGB can also be used, where the R, G &B values are all set to the same value (-wr), + a White separation color can be specified (-ws), or a DeviceN White color can be @@ -592,6 +634,7 @@ can also + be used, where the CMY values are zero, and just the K channel is used (-kc), a Black separation color can be @@ -604,6 +647,7 @@ also output. The default is to use the DeviceCMYK representation (-ok) where the K value is always zero, or inverted Device RGB (-or), + or as a 3 channel DeviceN colorsoace can be used (-on).

    @@ -641,10 +685,19 @@ also hold the chart in place, while it is being read. (Currently this is only the Eye-One Pro).

    + The -U flag suppresses the CUPS + %cupsJobTicket: cups-disable-cmm in PS and EPS files. By default + this ensures that the resulting files doesn't have color management + applied to it. If you are creating a test chart that should be color + managed (perhaps because you want to use it to verify the overall + operation of the printing system), then you can use the -U + flag to disable this.
    +
    The -p parameter specifies the paper size. The size can either be one of the default sizes, 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 diff --git a/doc/profcheck.html b/doc/profcheck.html index ebb719b..ef0bc5b 100644 --- a/doc/profcheck.html +++ b/doc/profcheck.html @@ -197,7 +197,7 @@ Sort illumination spectrum to be used as the similated instrument illuminant, overriding the default D50 or CIE computation illuminant used for FWA (see -i below). See colprof -f for + href="colprof.html#f">colprof -f for a fuller explanation. The same value should be used as was used during the creation of the profile.
    @@ -209,7 +209,7 @@ Sort F8, F10 are a selection of standard illuminant spectrums, with D50 being the default. If a filename is specified instead, it will be assumed to be an Argyll specific .sp + href="File_Formats.html#.sp">.sp 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 diff --git a/doc/refine.html b/doc/refine.html index cfe18b9..36a0ae4 100644 --- a/doc/refine.html +++ b/doc/refine.html @@ -15,15 +15,16 @@ 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 refine + press, or created using an ideal target profile such as Rec709), and + the proofing system (the device that is being profiled). The + abstract profile that refine 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.

    - verify is a useful tool to use on the two + colverify 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.
    @@ -32,14 +33,17 @@ [inabs] outabs
     -v            + Verbose
     -c            Create + initial abstract correction profile
     -g            Don't + impose output device gamut limit
     -r res        Set abstract profile clut resolution (default 33)
    @@ -48,6 +52,7 @@ Don't  -R            Aim + for white point relative match rather than absolute
     
    -f [illum]    Use Fluorescent Whitening Agent @@ -55,6 +60,7 @@ Aim                 + M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp]
     -i illum      Choose @@ -63,26 +69,33 @@ Aim                 + A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp

     -o observ     Choose CIE Observer for spectral data:
                     1931_2, + 1964_10, S&B 1955_2, J&V 1978_2 (def.)
     cietarget     + Target CIE or spectral values, CGATS file (e.g. .ti3)
     ciecurrent    + Actual CIE or spectral values, CGATS file (e.g. .ti3)
     [outdevicc]   + Output device ICC profile to set gamut limit (not used if -g)
     [inabs]       Previous + abstract correction ICC profile (not used if -c)
     outabs        Created/refined + abstract correction ICC profile

    Usage Details

    refine provides a way of improving the profile accuracy of a @@ -135,7 +148,7 @@ Created/refined illumination spectrum to be used as the similated instrument illuminant, overriding the default D50 or CIE computation illuminant used for FWA (see -i below). See colprof -f for + href="colprof.html#f">colprof -f for a fuller explanation. The same value should be used as was used during the creation of the profile.

    @@ -146,7 +159,7 @@ Created/refined standard illuminant spectrums, with D50 being the default. If a filename is specified instead, it will be assumed to be an Argyll specific .sp + href="File_Formats.html#.sp">.sp 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 @@ -178,6 +191,7 @@ Created/refined cietarget         Is + the filename of the target CIE or spectral values. This is a CGATS file (e.g. a .ti3 made using outdevicc]     If + the -g flag is not used, then the output device ICC profile should be supplied here, to allow refine to limit its @@ -206,6 +221,7 @@ If  [inabs]           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 outabs            The + name of the created or refined abstract correction ICC profile

    Discussion

    @@ -249,9 +266,9 @@ The file.

    Lets check how well the proofing system current matches using - verify:
    + colverify:

    -     verify  reference.ti3 chart1.ti3
    +     colverify  reference.ti3 chart1.ti3

    We then create our initial abstract correction fix profile fix1.icm using refine:
    @@ -282,6 +299,7 @@ The the same options as you used to create your initial proofer.icm  + or target_proofer.icm, with the addition of the "-p fix1.icm" option to specify the abstract correction profile be applied.
    @@ -292,9 +310,9 @@ The style="font-weight: bold;">chart2.ti3 file.

    Lets check how well the proofing system matches after this first - round of refinement using verify:
    + round of refinement using colverify:

    -     verify  reference.ti3 chart2.ti3
    +     colverify  reference.ti3 chart2.ti3


    >>>
    @@ -302,6 +320,7 @@ The  We can + then start another round of improvement:

    We refine our previous abstract correction fix profile using @@ -328,14 +347,15 @@ can style="font-weight: bold;">chart3.ti3 file.

    Check again how well the proofing system matches after this first - round of refinement using verify:
    + round of refinement using colverify:

    -     verify  reference.ti3 chart3.ti3
    +     colverify  reference.ti3 chart3.ti3

    Rounds of improvements can be continues by looping back to >>>, being careful to increment the names of the fixN.icm,  + proofer_fixN.icm or target_proofer_fixN.icm and chartN.ti3files. Stop when diff --git a/doc/scanin.html b/doc/scanin.html index db5091f..ac6ccc8 100644 --- a/doc/scanin.html +++ b/doc/scanin.html @@ -10,11 +10,8 @@

    scanin/scanin

    Summary

    Convert an 8 or 16 bit per component
    TIFF - image of a - test chart into .ti3 - device - values + href="File_Formats.html#TIFF">TIFF image of a test chart + into .ti3 device values using automatic pattern recognition, or manual chart alignment.
    Performs other tasks associated with turning a TIFF raster of test patches into numeric values.
    @@ -22,40 +19,37 @@ usage: scanin [options] input.tif - recogin.cht - valin.cie [diag.tif]
    + recogin.cht valin.cie [diag.tif]
       :- inputs - 'input.tif',  and outputs scanner - 'input.ti3', or
    + 'input.tif',  and outputs scanner 'input.ti3', or

    usage: scanin -g [options] input.tif - recogout.cht - [diag.tif]
    + recogout.cht [diag.tif]
       :- outputs file 'recogout.cht', or

    usage: scanin -o [options] input.tif - recogin.cht - [diag.tif]
    + recogin.cht [diag.tif]
       :- outputs file 'input.val', or

    usage: scanin -c [options] input.tif - recogin.cht - scanprofile.[icm|mpp] pbase [diag.tif]

       :- inputs - pbase.ti2 - and outputs printer pbase.ti3, or
    + pbase.ti2 and outputs printer pbase.ti3, or

    usage: scanin -r [options] input.tif - recogin.cht - pbase [diag.tif]
    + recogin.cht pbase [diag.tif]
       :- inputs pbase.ti2+.ti3 and outputs pbase.ti3
    @@ -64,18 +58,21 @@ style="font-family: monospace;" href="#g">-g                   Generate + a chart reference (.cht) file
     -o                   Output + patch values in .val file
     -c                   Use + image to measure color to convert printer pbase .ti2 to .ti3
    @@ -83,19 +80,23 @@ Use style="font-family: monospace;" href="#ca">-ca                  Same + as -c, but accumulates more values to pbase .ti3
                          from + subsequent pages
     -r                   Replace + device values in pbase .ti3
                          Default + is to create a scanner .ti3 file
     -F @@ -103,84 +104,98 @@ Default
                          Don't + auto recognize, locate using four fiducual marks
     
    -p                   Compensate + for perspective distortion
     -a                   Recognize + chart in normal orientation only
                          Default + is to recognize all possible chart angles
     -m                   Return + true mean (default is robust mean)
     -G gamma             -Approximate -gamma - encoding of image
     -v [n]               Verbosity + level 0-9
     -d [ihvglLIcrsonap]   - generate - diagnostic output (try -dipn)
    + generate diagnostic output (try -dipn)
         i                 diag + - B&W of input image
         h                 diag + - Horizontal edge detection
         v                 diag + - Vertical edge detection
         g                 diag + - Groups detected
         l                 diag + - Lines detected
         L                 diag + - All lines detected
         + I                 diag + - lines used to improve fit
         + c                 diag + - lines perspective corrected
    r                 diag + - lines rotated
         s                 diag + - sample boxes rotated
         o                 diag + - sample box outlines
         n                 diag + - sample box names
         a                 diag + - sample box areas
         p                 diag - - pixel areas sampled
    -
    -   - -O - outputfile       - Override the default output filename - & extension.
    + + - pixel areas sampled
    +   -O + outputfile       Override the + default output filename & extension.

    Usage Details and Discussion

    scanin 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 + 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.
    + 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.

    There are 5 basic modes that scanin operates in.
    • 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 .ti3 data file containing the CIE test values and the corresponding RGB scanner values. The .ti3 file can then be - used for - creating - an input profile using colprof. The - file - arguments are: The TIFF file that is to be - processed, the image recognition template - file, the CIE reference value definitions for - the test chart - (sometimes labeled a ".q60" file), 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.
    • + used for creating an input profile using colprof. + The file arguments are: The TIFF file that is + to be processed, the image recognition + template file, the CIE reference value + definitions for the test chart (sometimes labeled a ".q60" + file), 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.
    • If the -g flag is specified, then - scanin - is operating in a mode designed to create the necessary image - recognition template file (.cht) - 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. CHT file format. 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: The - TIFF file that - is to be processed, the image recognition - template - file to be created, and + scanin is operating in a mode designed to create the necessary + image recognition template file (.cht) 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. CHT file format. 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: The TIFF file + that is to be processed, the image + recognition template file to be created, and an optional name for the image recognition diagnostic output.
    • If the -o flag is used, then scanin - will - process the input TIFF file and produce a generic CGATS -  style file containing just the patch values (a .val file). The file - arguments - are: The TIFF file that is to be processed, the image recognition template file - to be created, and an optional name for the - image - recognition diagnostic - output.
    • + will process the input TIFF file and produce a generic CGATS  style file + containing just the patch values (a .val file). The file arguments are: The TIFF file that is to be processed, the image recognition template file to be + created, and an optional name for the image + recognition diagnostic output.
    • If the -c 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: The - TIFF file that - is to be processed containing the image of a print test chart, the image recognition template file for the - test chart - generated by the printtarg tool, - the input device ICC or MPP profile, 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, 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. The -ca 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.
    • + 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: The TIFF file that is to be processed + containing the image of a print test chart, the + image recognition template file for the test chart generated by + the printtarg tool, the input device ICC or MPP profile, 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, 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. The + -ca 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.
    • If the -r - 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: The - TIFF file that - is to be processed containing a rasterized image of an output - test - chart, the image recognition template file - for the - test - chart generated by the printtarg - tool,  the base name for - the .ti2 file containing the output test chart device values and - their - patch + 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: The TIFF file that is to be processed + containing a rasterized image of an output test chart, the image recognition template file for the + test chart generated by the printtarg + tool,  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, and finally an optional name - for - the - image recognition diagnostic - output.
      + its device values replaced, and finally an + optional name for the image recognition diagnostic output.
    A number of flags and options are available, that are independent of - the - mode that scanin is in.
    + the mode that scanin is in.

    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 printtarg - with the -s 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 - flag can be - used, - and care taken to provide a raster file that is within 45 degrees of - "no - rotation".
    + href="printtarg.html"> printtarg with the -s 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 + flag can be used, and care taken to provide a raster file that is + within 45 degrees of "no rotation".

    Normally scanin will use automatic chart recognition - to - identify the location of the test patches and extract their values. - If - the chart CHT file  + to identify the location of the test patches and extract their + values. If the chart CHT file  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 -F 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.
    + 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.

    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 -p flag - enables automatic - compensation for perspective distortion.
    + 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 -p + flag enables automatic compensation for perspective distortion.

    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 -m + 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 -m flag.

    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 -G 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.
    + 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 -G 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.

    The -v flag enables extra verbosity in processing. This can aid debugging, if a chart fails to be recognized.

    The -d 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 diag.tif. 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.
    + 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 diag.tif. + 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.
    i    creates a black and - white - version of the input raster in the diagnostic output, to be able to - compare with the feature extraction.
    + white version of the input raster in the diagnostic output, to be + able to compare with the feature extraction.
    h    will show pixels in the input image classified as being on horizontal edges, in red.
    v    will show pixels in the input image classified as being vertical edges, in green.
    g    will show groups of - pixels - that will be used - to estimate edge lines, each group in a different color.
    + pixels that will be used to estimate edge lines, each group in a + different color.
    l    will show valid lines estimated from the vertical and horizontal pixel groups, in white.
    L    will show all lines - (valid - and invalid) estimated from the vertical and horizontal pixel - groups, - in white.
    + (valid and invalid) estimated from the vertical and horizontal pixel + groups, in white.
    I    will show valid lines lines - used - to improve the final fit, - in blue.
    + used to improve the final fit, in blue.
    c    will show the lines with perspective correction applied in cyan.
    r    will show the lines - rotated - to the reference - chart orientation, in yellow.
    + rotated to the reference chart orientation, in yellow.
    s    will show the diagnostic sampling box edge outlines, rotated to the reference chart - orientation, - in orange.
    + orientation, in orange.
    o    will show all the - sampling - box edge outlines, in orange.
    + sampling box edge outlines, in orange.
    n    will show the ID names - of - the sampling boxes, plus the diagnostic sample boxes, using a simple - stroke font, in orange.
    + of the sampling boxes, plus the diagnostic sample boxes, using a + simple stroke font, in orange.
    a    will show the sampling areas as crossed boxes, plus the diagnostic sample boxes, in orange.
    p    will show the sampling @@ -555,26 +456,21 @@ diag The combination of -dipn is usually a good place to start.

    The TIFF file can be either 8 - or - 16 bits per color component, with 16 bit files being slower to - process, - but yielding more precise results.
    + or 16 bits per color component, with 16 bit files being slower to + process, but yielding more precise results.

    If at all in doubt that the file has been recognized correctly, use - the - -dipn diagnostic flag + the -dipn diagnostic flag combination, and check the resulting diagnostic raster file.
    [ A badly recognised image will typically result in high self fit delta E's when used with colprof. ]

    The -O - 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.
    + parameter allows the output file name & extension to be + specified independently of the last tiff filename. This works for + the default, -g and -o modes. It is ignored for the -r, -c and -ca + modes that use a basename for .ti2 in and .ti3 output. Note that the + full filename must be specified, including the extension.



    diff --git a/doc/spec2cie.html b/doc/spec2cie.html index 192ee64..c928f9a 100644 --- a/doc/spec2cie.html +++ b/doc/spec2cie.html @@ -19,7 +19,7 @@            Verbose mode
     -I illum   + href="spec2cie.html#I">-I illum      Override actual instrument illuminant in .ti3 file:
    @@ -31,14 +31,14 @@ (only used in conjunction with -f)
     -f [illum] + href="colprof.html#f">-f [illum]    Use Fluorescent Whitening Agent compensation [simulated inst. illum.:
                    M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp]
     -i illum   + href="spec2cie.html#i">-i illum      Choose illuminant for computation of CIE XYZ from spectral data & FWA:
               @@ -93,7 +93,7 @@ Measurement bold;">-f flag. If a filename is specified instead, it will be assumed to be an Argyll - specific .sp + specific .sp custom spectrum file. Illuminant details are:

    @@ -130,7 +130,7 @@ Measurement selection of standard illuminant spectrums, with D50 being the default. If a filename is specified instead, it will be assumed to be an Argyll specific .sp + href="File_Formats.html#.sp">.sp custom spectrum file. This only works if spectral data is available. Illuminant details are:

    diff --git a/doc/spotread.html b/doc/spotread.html index 0259530..aaac0a1 100644 --- a/doc/spotread.html +++ b/doc/spotread.html @@ -31,6 +31,9 @@ + + +       Verbose mode


    @@ -98,6 +107,9 @@ + + +       Use transmission measurement mode

      
    -eb
     -ew                   - - - - - - - - - - - - - - - Use display white relative measurement mode
    + Use display white point relative chromatically adjusted mode
     -p @@ -175,6 +179,9 @@ + + + Use telephoto measurement mode (absolute results)
     -pbprojector white brightness relative measurement mode
    @@ -215,9 +225,13 @@ + + + Use
    projector white relative measurement mode
    + style="font-family: monospace;">
    white point relative + chromatically adjusted mode
     -a @@ -236,6 +250,9 @@ + + + Use ambient measurement mode (absolute results)
     -f                    @@ -252,6 +269,9 @@ + + + Use ambient flash measurement mode (absolute results)
     -y X @@ -270,6 +290,9 @@ + + + Display type - instrument specific list to choose from.
     -I illum

     1931_2
    (def.)    n                    @@ -381,6 +416,9 @@ D50 + + + None
       p                    @@ -398,6 +436,9 @@ D50 + + + Polarising filter
       6                    @@ -415,6 +456,9 @@ D50 + + + D65
       u                    @@ -432,6 +476,9 @@ D50 + + + U.V. Cut
     
    -E extrafilterfile    Apply extra filter compensation file
    @@ -452,6 +499,9 @@ D50 + + + Display Yxy instead of Lab
     -h @@ -470,6 +520,9 @@ D50 + + + Display LCh instead of Lab
     -V @@ -488,6 +541,9 @@ D50 + + + Show running average and std. devation from ref.
     -T @@ -506,6 +562,9 @@ D50 + + + Display correlated color temperatures and CRI
     -N                    @@ -523,6 +582,9 @@ D50 + + + Disable initial calibration of instrument if possible
     -H
     -X file.ccss          @@ -568,6 +633,9 @@ Samples + + + for calibration
     -Y @@ -579,14 +647,20 @@ Samples + + +      Override refresh, non-refresh display mode
    +  
    -Y R:rate             + + Override measured refresh rate with rate Hz
     -YA-Y A              -      Use non-adaptive integration time mode - (if available).
    +     Use non-adaptive integration time mode (if + available).
     -W n|h|x              Override @@ -611,6 +685,9 @@ none, + + + h = HW, x = Xon/Xoff
     -D [level] The -ew 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.
    + value read as the first reading using a Bradford chromatic adaption. + This matches the absolute <-> relative intent transformation + of Argyll ICC profiles.

    The -p flag allows measuring in telephoto mode, using instruments that support @@ -714,7 +796,9 @@ none, The -pw 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.
    + value read as the first reading using a Bradford chromatic adaption. + This matches the absolute <-> relative intent transformation + of Argyll ICC profiles.

    The -a flag allows measuring in ambient illumination mode using instruments that @@ -749,9 +833,9 @@ none, and how this works, see Operation of particular instruments. 3) Any installed CCSS files (if applicable), or CCMX files. These files are typically created - using ccxxmake, + using ccxxmake, and installed using oeminst. The + href="oeminst.html">oeminst. The default and Base Calibration types will be indicated in the usage.

    The -I parameter allows specifying a @@ -883,6 +967,9 @@ a + + + colorimeters accuracy for a particular type of display.

    The -Y r and @@ -892,6 +979,9 @@ a + + + -Y n options overrides the refresh display mode set by the -y display type selection, with -Y r forcing refresh display mode, @@ -899,6 +989,12 @@ a instruments support a display measurement refresh mode, or the ability to override the mode set by the display type selection.

    + The -Y R:rate + options overrides calibration of the instrument refresh rate. This + may be useful if the instrument supports this function and the + refresh rate cannot be accurately calibrated from the display + itself.
    +
    The -Y A option uses a non-adaptive integration time emission measurement mode, if the instrument supports it, such as the Eye-One Pro or @@ -975,6 +1071,10 @@ a can be toggled on and off using the h key.

    + If the instrument supports a laser target (such as the JETI + specbos), then this can be toggled on & off using the t + key. It will automatically be turned off at each measurement.
    +
    If the instrument supports stored readings (ie. DTP20), then these can be ignored using the n key.
    diff --git a/doc/targen.html b/doc/targen.html index d03416f..ee12f27 100644 --- a/doc/targen.html +++ b/doc/targen.html @@ -3,7 +3,7 @@ targen + charset=windows-1252"> @@ -11,65 +11,112 @@

    Summary

    Generate a profiling test target values .ti1 file.  targen - is - used to generate the device channel test point values for grayscale, - RGB, CMY, CMYK or N-color output or display devices.  + is used to generate the device channel test point values for + grayscale, RGB, CMY, CMYK or N-color output or display + devices. 

    Usage Summary

    targen [options] outfile
     -v [level]      + Verbose mode [optional verbose level, 1..n]
    -      Verbose mode [optional - verbose level, 1..n]

     -d col_comb     choose colorant combination from the following:
                         - 0: - Print - grey
    + + + + + + + + + + + + + + 0: Print grey
                -   -   -      - 1: - Video - grey
    + + + + + + + + + + + + + +          1: Video grey
             -   -   -   -       - 2: - Print - RGB
    + + + + + + + + + + + + + +             2: Print RGB
          -   -     -          3: - Video RGB
    +       +          3: Video RGB
           -   -   -           - 4: CMYK
    -                     - 5: - CMY
    +     +           4: CMYK
    +                      + + + + + + + + + + + + + + 5: CMY
         -   -   -   -           6: - CMYK + Light CM
    +       +           6: CMYK + + Light CM
            -       -        7: CMYK + Light CMK
    + + + + + + + + + + + + + +              7: + CMYK + Light CMK
                  @@ -79,149 +126,380 @@ CMYK + Red + + + + + + + + + + + + + + Blue
         -   -      +                 9: CMYK + Orange + Green
         -   -      -         10: CMYK + - Light CMK + Light Light K
    +        +         10: CMYK + Light CMK + + Light Light K
         -   -     +                11: CMYK + Orange + Green + Light CM
            -     -         12: CMYK + Light - CM + Medium CM
    + + + + + + + + + + + + + +             12: + CMYK + Light CM + Medium CM
     -D colorant     Add or delete colorant from combination:
            -   -    -         - 0: - Additive
    + + + + + + + + + + + + + +              + 0: Additive
                         - 1: - Cyan
    + 1: Cyan
         -   -    +                 2: Magenta
         -   -    +                 3: Yellow
               -           - 4: - Black
    + + + + + + + + + + + + + +           4: Black
              -            - 5: + + + + + + + + + + + + + +            5: Orange
                         - 6: - Red
    + + + + + + + + + + + + + + 6: Red
                         - 7: - Green
    + + + + + + + + + + + + + + 7: Green
                         - 8: - Blue
    + + + + + + + + + + + + + + 8: Blue
                         - 9: - White
    + + + + + + + + + + + + + + 9: White
                         - 10: - Light - Cyan
    + + + + + + + + + + + + + + 10: Light Cyan
                         - 11: - Light - Magenta
    + + + + + + + + + + + + + + 11: Light Magenta
                         - 12: - Light - Yellow
    + + + + + + + + + + + + + + 12: Light Yellow
            + + + + + + + + + + + + +           -    - 13: - Light - Black
    +    13: Light Black
                         - 14: - Medium - Cyan
    + + + + + + + + + + + + + + 14: Medium Cyan
                         - 15: - Medium - Magenta
    + + + + + + + + + + + + + + 15: Medium Magenta
                         - 16: - Medium - Yellow
    + + + + + + + + + + + + + + 16: Medium Yellow
             -        -   -    - 17: - Medium - Black
    + + + + + + + + + + + + + +             17: + Medium Black
               -           - 18: - Light - Light - Black
    + + + + + + + + + + + + + +           18: Light + Light Black
     -G              - Generate - good - optimzed - points - rather - than - Fast
    + + + + + + + + + + + + + + Generate good optimzed points rather than Fast
     -e patches      White - color test patches (default 4)
    +  -B patches      + Black test patches (default 4 Grey/RGB, else 0)
    +
      -s + + + + + + + + + + + + steps        + + + + + + + + + + + + + + Single channel steps (default 0)
    -  -s steps        - Single - channel - steps - (default - 0)
     -g steps        @@ -232,31 +510,101 @@ or CMY steps (default + + + + + + + + + + + + + 0)
     -m steps        - Multidimensional - device - space - cube - steps - (default - 2)
    -  -f patches      - Add - iterative & adaptive full spread patches to total (default - 836)
    -                     - Default - is - Optimised - Farthest - Point - Sampling - (OFPS)
    + + + + + + + + + + + + + + Multidimensional device space cube steps (default 0)

    +  -b steps        + + + + + + + + + + + + + Multidimensional body centered cubic steps (default 0)
    +
      -f + + + + + + + + + + + + + patches      + + + + + + + + + + + + + + Add iterative & adaptive full spread patches to total + (default 836)
    +                      + + + + + + + + + + + + + + Default is Optimised Farthest Point Sampling (OFPS)
      -t             @@ -267,6 +615,19 @@ incremental far point for + + + + + + + + + + + + + full spread
      -r
      -R
      -q
      -Q             -  -   Use perceptual space-filling quasi-random for full spread
    +     Use perceptual space-filling quasi-random for full + spread

      -i
     
    + + + + + + + + + + + + + + cubic grid for full spread

     
    -a angle           @@ -343,14 +768,26 @@ angle - 0.5 for - B.C.C. grid, default -2047840407
      -A adaptation      - Degree - of adaptation of OFPS 0.0 - 1.0 (default 0.1, 1.0 if -c profile - provided)
    + Degree of adaptation of OFPS 0.0 - 1.0 (default 0.1, 1.0 if -c + profile provided)
     -t              @@ -361,13 +798,38 @@ point for full spread - (default - iterative)
    + + + + + + + + + + + + + + (default iterative)
     -l ilimit       Total ink + + + + + + + + + + + + + limit in %(default = none, or estimated from profile)
     -p power
     -c profile      Optional device ICC or MPP pre-conditioning profile filename
    -  -N emphasis     - Degree of - neutral axis patch concentration 0-1. (default 0.50)
    -N nemphasis    Degree of + neutral axis patch concentration 0-1. (default 0.50)

    +  -V + demphasis    dark region patch + concentration 1.0-4.0 (default 1.0 = none)
    -
      - -F L,a,b,rad    Filter out - samples - outside Lab sphere.
    +   -F + L,a,b,rad    + + + + + + + + + + + + + Filter out samples outside Lab sphere.
     -w              - Dump - diagnostic - outfile.wrl - file - (Lab - locations)
    + + + + + + + + + + + + + + Dump diagnostic outfile.wrl file (Lab locations)
     -W -             - Dump - diagnostic - outfile.wrl - file - (Device - locations)
    +              + Dump diagnostic outfile.wrl file (Device locations)

     outfile         - Base - name - for - output(.ti1) -
    + + + + + + + + + + + + + + Base name for output(.ti1)

    Usage Details and Discussion

    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 + 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.
    + For 'N' color profile creation, 3000 or more test points should + probably be used.

    The -v 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.

    The -d 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.
    + 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.

    The -D parameter modifies the colorspace - set - by -d by allowing - individual - colorants to be added or subtracted from the colorspace.
    + set by -d by allowing + individual colorants to be added or subtracted from the colorspace.

    The -G 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.
    + 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.

    The composition of the test patches is controlled by the following flags and parameters:
    @@ -485,309 +970,286 @@ device 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.
    + use more than a single point.
    +
    + The -B parameter sets the number of black + colored test patches, defaulting to 4 if the -B flag isn't used and + the colorspace is grey or RGB. The black point can be very important + for characterizing additive color spaces, so measuring more than one + black patch improves robustness over measuring just a single point.

    The -s 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 -p parameter is provided, then, - then the steps will be distributed according to the power value. - e.g. - the option -s 5 will - generate - steps at 0.0 0.25 0.5 0.75 and 1.0, while the option -s 5 -p 2.0 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.
    + 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 -p parameter + is provided, then, then the steps will be distributed according to + the power value. e.g. the option -s + + + + + + + + + + + + + 5 will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while + the option -s 5 -p 2.0 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.

    The -g 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 -p parameter - is - provided, then, - then the steps will be distributed according to the power value. - e.g. - the option -g 5 - will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while the option -g 5 -p 2.0 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.
    + in device space. If the -p + parameter is provided, then, then the steps will be distributed + according to the power value. e.g. the option -g 5 will generate steps at 0.0 + 0.25 0.5 0.75 and 1.0, while the option -g 5 -p 2.0 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.

    The -m 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 -p parameter is - provided, then, - then the steps will be distributed according to the power value. - e.g. - the option -m 5 - will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while the option -m 5 -p 2.0 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..
    -
    - The behavior of the -e, -s, -g and -m - flags, is not to duplicate test values already created by a previous - type.
    + of colorants. The grid steps are evenly spaced in device space by + default, but if the -p + parameter is provided, then, then the steps will be distributed + according to the power value. e.g. the option -m 5 will generate steps at 0.0 + 0.25 0.5 0.75 and 1.0, while the option -m 5 -p 2.0 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..
    +
    + The -b parameter sets the outer edge size + of the multidimensional body centered grid of test values. The total + number of patches of this type will be the -b parameter value to the + power of the number of colorants plus the (number-1) to the power of + the number of colorants. The grid steps are evenly spaced in device + space by default, but if the -p + parameter is provided, then, then the steps will be distributed + according to the power value. A body centered grid is a regular grid + (see -m) with another smaller regular grid within it, at the + centers of the outer grid. This grid arrangement is more space + efficient than a regular grid (ie. for a given number of test + points, it fills the space better.)
    +
    + The behavior of the -e, -s, -g -m and + + + + + + + + + + + + + -b flags, is not to duplicate test values already created by + a previous type.

    The -f 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 -t. -r, -R, - -q, - -i or -I 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 -c - option. The total number patches specified will - include any - patches - generated using the -e, -s, -g and -m - flags (i.e. - full spread patches will be added to bring the total number of - patches - including - those generated using the -e, -s, -g and -m - 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 targen 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 -t flag. A table - of useful total patch counts for different paper sizes is shown - below. + 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 -t. -r, -R, -q, -i or -I 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 -c option. + The total number patches specified will include any patches + generated using the -e, -s, -g -m + and -b flags (i.e. full spread patches will be added to + bring the total number of patches including those generated using + the -e, -s, -g -m and -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 targen 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 -t flag. A table 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 -c profile is poor, non-smooth, - or - has unusual behaviour. In these cases a different algorithm should - be - chosen (ie. -Q or -I), or perhaps a smoother or - lower - resolution ("quality") previous profile may overcome the problem.
    + or has unusual behaviour. In these cases a different algorithm + should be chosen (ie. -Q or + -I), or perhaps a smoother + or lower resolution ("quality") previous profile may overcome the + problem.

    The -t 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.
    + 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.

    The -r flag overrides the default full - spread - test patch algorithm, and chooses test points with an even random - distribution in device space.
    + spread test patch algorithm, and chooses test points with an even + random distribution in device space.

    The -R flag overrides the default full - spread - test patch algorithm, and chooses test points with an even random - distribution in perceptual space.
    + spread test patch algorithm, and chooses test points with an even + random distribution in perceptual space.

    The -q flag overrides the default full - spread - test patch algorithm, and chooses test points with a quasi-random, - space filling distribution in device space.
    + spread test patch algorithm, and chooses test points with a + quasi-random, space filling distribution in device space.

    The -Q flag overrides the default full - spread - test patch algorithm, and chooses test points with a quasi-random, - space filling distribution in perceptual space.
    + spread test patch algorithm, and chooses test points with a + quasi-random, space filling distribution in perceptual space.

    The -i flag overrides the default full - spread - test patch algorithm, and chooses test points with body centered - cubic - distribution in device space.
    + spread test patch algorithm, and chooses test points with body + centered cubic distribution in device space.

    The -I flag overrides the default full - spread - test patch algorithm, and chooses test points with body centered - cubic - distribution in perceptual space.
    + spread test patch algorithm, and chooses test points with body + centered cubic distribution in perceptual space.

    The -a angle parameter sets the - overall - angle that the body centered grid distribution has.
    + overall angle that the body centered grid distribution has.

    The -A adaptation 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 -c + the degree of adaptation to the known device characteristics, used + by the default full spread OFPS algorithm. A profile should be + provided using the -c parameter if adaptation - is set above a low level. By - default the adaptation is 0.1 (low), and 1.0 (maximum) if -c profile is provided, but - these - defaults can be overridden using this option. For instance, if the -c profile doesn't represent the - device behavior very well, a lower adaption than 1.0 might be - appropriate.
    + is set above a low level. By default the adaptation is 0.1 (low), + and 1.0 (maximum) if -c profile + is provided, but these defaults can be overridden using this option. + For instance, if the -c profile + doesn't represent the device behavior very well, a lower adaption + than 1.0 might be appropriate.

    The -l 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 - -c flag, then this will be - used - to estimate an ink limit, if none is provided with the -l flag. Ink limits are, as far - as - possible, always in final calibrated device values, and the - calibration - curves from the profile provided to the -c flag will be used to estimate the - equivalent limit in the underlying pre-calibration device space - values - that targen creates.
    + 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 -c + flag, then this will be used to estimate an ink limit, if none is + provided with the -l flag. + Ink limits are, as far as possible, always in final calibrated + device values, and the calibration curves from the profile provided + to the -c flag will be used + to estimate the equivalent limit in the underlying pre-calibration + device space values that targen creates.

    The -p flag and parameter sets a power-like - value - applied to all of the device values after they are generated, 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. printcal will recommend a - power-like - value if the verbose option is used. [ Note - that for Print RGB space this - is reversed, since internally a Print RGB space is treated as a CMY - space. ]. Note 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).
    + value applied to all of the device values after they are generated, + 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. printcal + will recommend a power-like value if the verbose option is used. [ Note that for Print RGB space + this is reversed, since internally a Print RGB space is treated as a + CMY space. ]. Note 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).

    The -c flag and parameter is used to - specify - an ICC or ICC or MPP 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 -R, -Q, -I - or the default OFPS with an - -A value > 0.0) is being - used.
    -
    - The -N emphasis 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 adaptation - parameter is set to a high value. It is also most effective when a pre-conditioning 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.
    + 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 -R, -Q, -I or the default OFPS + with an -A value > 0.0) + is being used.
    +
    + The -N nemphasis 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 adaptation parameter is set to a high value. It is + also most effective when a pre-conditioning + 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.
    +
    + The -V demphasis parameter allows changing + the degree to which the patch distribution should emphasis dark + region of the device response. Display devices used for video or + film reproduction are typically viewed in dark viewing environments + with no strong white reference, and typically employ a range of + brightness levels in different scenes. This often means that the + devices dark region response is of particular importance, so + increasing the relative number of sample points in the dark region + may improved the balance of accuracy of the resulting profile for + video or film reproduction. This emphasis is only effective for + perceptual patch distributions where a pre-conditioning + profile is provided. The default value of 1.0 provides no emphasis + of the dark regions. A value somewhere around 1.5 - 2.0 is a + good place to start for video profile use. A scaled down version of + the -V parameter will be passed on through the .ti3 file to colprof + where it will set a default value for the corresponding colprof -V parameter.  Note that + increasing the proportion of dark patches will typically lengthen + the time that an instrument takes to read the whole chart. + Emphasizing the dark region characterization will reduce the + accuracy of measuring and modelling the lighter regions, given a + fixed number of test points and profile quality/grid resolution. The + parameter will also be used in an analogous way to the -p power + value in changing the distribution of -s steps, -g steps, -m steps + and -b + + + + steps patches.

    The -F 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 -c - 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 + 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 -c 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.

    @@ -798,35 +1260,29 @@ in strange, since the extra K dimension is compressed into the 3 dimensional L*a*b* space. If the -W flag is given, the plot will - be - in device space, with only the first 3 dimensions of each point - being - plotted.
    + be in device space, with only the first 3 dimensions of each point + being plotted.

    The final parameter on the command line is the - base - filename for the .ti1 output - file. targen will add the .ti1 extension automatically.
    + base filename for the .ti1 + output file. targen will add the .ti1 extension + automatically.

    Some typical total patch number/paper size combinations are shown below. These "magic" numbers are found by using printtarg 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.
    + fill the last row or paper size, in a trial and error fashion.

         Size (mm/Standard Name), -   - No. Patches
    +   No. Patches

    DTP20:

          1 x A4        540
          2 x A4       1080
    -       3 x A4     -   1620
    -       4 x A4    -    2160
    +       3 x A4       1620
    +       4 x A4       2160

          1 x Letter    570
          2 x Letter   1140
    @@ -844,41 +1300,27 @@ in   DTP41:

          1 x A4           -   -   -     375
    +         375
          2 x A4         -     -   -     750
    +           750
          3 x A4         -     -   -    1125
    +          1125
          4 x A4         -     -   -    1500
    +          1500

          1 x Letter           -   -   345
    +     345
          2 x Letter           -     - 690
    +     690
          3 x Letter           -    - 1035
    +    1035
          4 x Letter           -    - 1380
    +    1380

          1 x A3      -   -            836
    +              836
          2 x A3      -   -           1672
    +             1672

          1 x 11x17              780
    @@ -889,55 +1331,41 @@ in   DTP51:

          1 x A4           -   -   -     266
    +         266
          2 x A4         -     -   -     532
    +           532
          3 x A4         -     -   -     798
    +           798
          4 x A4         -     -   -    1064
    +          1064

          1 x Letter           -    - 252
    +    252
          2 x Letter           -    - 504
    +    504
          3 x Letter           -    - 756
    +    756
          4 x Letter             1008

          1 x A3      -   -           580
    +             580
          2 x A3      -   -          1160
    +            1160

          1 x 11x17             570
          2 x 11x17         -    - 1140
    +    1140

      SpectroScan with square patches:

          1 x A4R       1014
          2 x A4R       2028
    -       3 x A4R     -   3042
    -       4 x A4R    -    4056
    +       3 x A4R       + 3042
    +       4 x A4R       + 4056

          1 x LetterR    999
          2 x LetterR   1998
    @@ -948,10 +1376,10 @@ in
          1 x A4R       1170
          2 x A4R       2340
    -       3 x A4R     -   3510
    -       4 x A4R    -    4680
    +       3 x A4R       + 3510
    +       4 x A4R       + 4680

          1 x LetterR   1092
          2 x LetterR   2184
    @@ -962,10 +1390,8 @@ in
          1 x A4        441
          2 x A4        882
    -       3 x A4     -   1323
    -       4 x A4    -    1764
    +       3 x A4       1323
    +       4 x A4       1764

          1 x Letter    462
          2 x Letter    924
    diff --git a/doc/tiffgamut.html b/doc/tiffgamut.html index bc63ce7..5b67603 100644 --- a/doc/tiffgamut.html +++ b/doc/tiffgamut.html @@ -9,182 +9,195 @@

    xicc/tiffgamut

    Summary

    - Create a gamut file or VRML file of the color gamut of the - contents of a set of TIFF or JPEG image.
    + Create a gamut file or VRML file of the color gamut of the contents + of a set of TIFF or JPEG image.

    tiffgamut 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 - collink.
    + 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 collink.

    NOTE that if you are - creating - an image gamut suitable for use with the collink - -g or -G - flags, or colprof - -g, use the Jab appearance space intent for appearance space - gamut - mappings, and the same input viewing - conditions to be used in collink - or colprof - using - the -c flag, i.e. "tiffgamut -pj -cmt sRGB.icm image.tif"
    + creating an image gamut suitable for use with the collink -g + or -G flags, or colprof -g, use the Jab appearance space + intent for appearance space gamut mappings, and the same input + viewing conditions to be used in collink + or colprof using the -c + flag, i.e. "tiffgamut -pj -cmt sRGB.icm image.tif"

    Usage Summary

    tiffgamut [-v level] [profile.icm | embedded.tif/jpg] infile1.tif/jpg [infile2.tif/jpg ...]
     -v            + + Verbose
    -   - -d - sres       Surface - resolution details 1.0 - 50.0
    +   -d + sres       Surface resolution + details 1.0 - 50.0
     -w            emit + + VRML .wrl file as well as CGATS .gam file
     -n            Don't + + add VRML axes or white/black point
     -k            Add + + markers for prim. & sec. "cusp" points
     -f perc       Filter by - popularity, - perc = percent to use
    + popularity, perc = percent to use
     -i - intent     p = - perceptual, r = relative colorimetric,
    + intent     p = perceptual, r = relative + colorimetric,
                   s + + = saturation, a = absolute (default), d = profile default

     -o - order      n = normal - (priority: lut > matrix > monochrome)
    + order      n = normal (priority: lut + > matrix > monochrome)
                   r - = reverse (priority: monochrome > - matrix > lut)
    + + + = reverse (priority: monochrome > matrix > lut)
     -p oride      l - = - Lab_PCS (default), j = CIECAM02 Appearance Jab

     -c viewcond   - set - appearance mode and viewing conditions for CIECAM02,

                   either + + an enumerated choice, or a parameter:value change
      -          pp - Practical Reflection - Print - (ISO-3664 P2)
    + style="font-family: monospace;">        +    pp - Practical Reflection Print (ISO-3664 P2)
               + + pe - Print evaluation environment (CIE 116-1995)
               + + pc - Critical print evaluation environment (ISO-3664 P1)
    -      -       mt - Monitor in typical work environment
           +     mt - Monitor in typical work environment
             + +   mb - Monitor in bright work environment
         -   -     md - Monitor in darkened work +       md - Monitor in darkened work environment
         -   -     jm - Projector in dim environment

         -   -     jd - Projector in dark environment

          -     pcd - Photo CD - original scene - outdoors
    +     pcd - Photo CD - original scene outdoors
         -   -     ob - Original scene - Bright Outdoors

         -   -     cx - Cut Sheet Transparencies on a viewing - box

    +       cx - Cut Sheet Transparencies on a + viewing box

             s:surround   + + n = auto, a = average, m = dim, d = dark,
                     + +      c = transparency (default average)
             w:X:Y:Z      - Adapted white point - as XYZ (default media white)
    + + + Adapted white point as XYZ (default media white)
             w:x:y        - Adapted white point as - x, y
    + + + Adapted white point as x, y
             a:adaptation - Adaptation luminance in - cd.m^2 - (default 50.0)
    + + + Adaptation luminance in cd.m^2 (default 50.0)
             b:background + + Background % of image luminance (default 20)
    -          l:scenewhite Scene - white in - cd.m^2 if surround = auto (default 250)
    -
             +          l:imagewhite Image + white in cd.m^2 if surround = auto (default 250)

    +          f:flare      - Flare - light % of image luminance (default 1)
    + + + Flare light % of image luminance (default 1)
    +
             + g:glare      Glare light % of ambient + (default 1)
          -    - f:X:Y:Z      Flare color as - XYZ (default media white)
             -f:x:y        - Flare color as x, y
    + + g:x:y        Glare color as + x, y
     -O outputfile Override the default output filename & extension.

    @@ -193,148 +206,116 @@ f:x:y        The -v flag dumps out the ICC profile header information.

    The -d 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.
    + 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.

    The -w flag causes a VRML file to be produced, as well as a gamut file.

    - The -n flag suppresses the L*a*b* axes being created in - the + The -n flag suppresses the L*a*b* axes being created in the VRML.

    The -k 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.
    + 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.

    The -f perc parameter turns on - filtering of - the raster colors. The colors from the image are clustered, and then - sorted according to popularity, and then the perc 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 perc 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.
    + 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.

    The -i 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.
    + 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.

    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 -o flag, - reverses - this + information, and only using monochrome information if it is all that + is present. The -o flag, reverses this order.   

    -p: By default the gamut - will - be created in L*a*b* colorspace. If  -pj is selected, then CIECAM02 + will be created in L*a*b* colorspace. If  -pj 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 colprof.
    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 + appearance of the native device, but that the perceptual or saturation transforms may be used by selecting them using the -i 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 -ia in combinations - with - -pj, then  Jab with - a fixed white reference is used, which emulates an absolute CIECAM02 - Jab - appearance space.
    + 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 -ia + in combinations with -pj, + then  Jab with a fixed white reference is used, which emulates + an absolute CIECAM02 Jab appearance space.

    The -c 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.
    + 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.

    The -O 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.
    + the last tiff/jpeg filename. Note that the full filename must be + specified, including the extension.

    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:
    + 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:

        tiffgamut image.tif image.tif

    - 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.
    + To create a gamut suitable for CIECAM02  gamut mapping space in + colprof or collink, something like
    +
    +     tiffgamut -ir -pj -cmt  image.icm image.tif
    +
    + where the viewing conditions "mt" should the same as the source + conditions in colprof or collink.
    +
    + 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.

    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 -O - parameter will override this default.
    + 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 -O parameter will + override this default.

    NOTES

    @@ -342,12 +323,9 @@ f:x:y        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.
    + 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.



    diff --git a/doc/txt2ti3.html b/doc/txt2ti3.html index 744a576..5d021fc 100644 --- a/doc/txt2ti3.html +++ b/doc/txt2ti3.html @@ -1,98 +1,112 @@ - + - - txt2ti3 - - - - -

    profile/txt2ti3

    -

    Summary

    -Convert -Gretag/Logo/X-Rite or other CGATS format RGB or CMYK test chart results -into Argyll .ti3 -CGATS -format.  -

    Usage Summary

    -txt2ti3 [-v] [-l limit] -[-d] [devfile] infile [specfile] outfile
    -
    --2       -     create a dummy .ti2 file as well.
    -
    -l limit      set ink -limit, 0 -- -400% (default max in file)
    --d            -Set type of device as Display, not Output
    --i            -Set type of device as Input, not Output
    -
    [devfile]     Input Device -CMYK -target file (typically file.txt)
    -infile        + + txt2ti3 + + + + +

    profile/txt2ti3

    +

    Summary

    + Convert + Gretag/Logo/X-Rite or other CGATS format RGB or CMYK test chart + results + into Argyll .ti3 + CGATS + format.  +

    Usage Summary

    + txt2ti3 [-v] [-l limit] + [-d] [devfile] infile [specfile] outbase
    +
    + -2       +      create a dummy .ti2 file as well.
    +
    -l limit      + set ink + limit, 0 + - + 400% (default max in file)
    + -d            +Set + type of device as Display, not Output
    + -i            +Set + type of device as Input, not Output
    +
    [devfile]     Input + Device + CMYK + target file (typically file.txt)
    + infile        Input -CIE, Spectral or Device & Spectral file (typically file.txt)
    -[specfile]    Input Spectral -file (typically file.txt)
    -outbasefile   Base name for -output.ti3 and .ti2 -file
    -
    -

    Usage Details and Discussion

    -txt2ti3 takes the Gretag/Logo/X-Rite/etc. test chart -results, and converts them -into Argyll .ti3 CGATS files.
    -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.
    -
    -A variety of different packaging of Gretag/Logo data can be accepted:
    -
    -1 source files, consisting of a combined device value and CIE -and/or spectral values.
    -2 source files, consisting of  a file containing the device -values, and a file containing the CIE and/or spectral values.
    -2 source files, consisting of a file containing the device values and -the CIE values, and a file containing the spectral values.
    -3 source files, consisting of a file containing the device values, a -file containing the CIE values, and a file containing the spectral -values.
    -
    -X-Rite ColorPort seems to produce a single source file containing -combined device value and CIE -and/or spectral values.
    -
    -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.
    -
    -The outbasefile is the base -of the output file(s), to which txt2ti3 will automatically append a -.ti3 and .ti2 extension.
    -
    -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.
    -
    -
    - +CIE, + Spectral or Device & Spectral file (typically file.txt)

    + [specfile]    Input + Spectral + file (typically file.txt)
    + outbasefile   Base name for + output.ti3 and .ti2 + file
    +
    +

    Usage Details and Discussion

    + txt2ti3 takes the Gretag/Logo/X-Rite/etc. test chart + results, and converts them + into Argyll .ti3 CGATS + files.
    + 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.
    +
    + A variety of different packaging of Gretag/Logo data can be + accepted:
    +
    + 1 source files, consisting of a combined device value and CIE + and/or spectral values.
    + 2 source files, consisting of  a file containing the device + values, and a file containing the CIE and/or spectral values.
    + 2 source files, consisting of a file containing the device values + and + the CIE values, and a file containing the spectral values.
    + 3 source files, consisting of a file containing the device values, a + file containing the CIE values, and a file containing the spectral + values.
    +
    + X-Rite ColorPort seems to produce a single source file containing + combined device value and CIE + and/or spectral values.
    +
    + 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.
    +
    + The outbasefile is the + base + of the output file(s), to which txt2ti3 will automatically append a + .ti3 and .ti2 extension.
    +
    + 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.
    +
    +
    + diff --git a/doc/verify.html b/doc/verify.html deleted file mode 100644 index bd4a953..0000000 --- a/doc/verify.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - verify - - - - -

    profile/verify

    -

    Summary

    - Verify a color transform by comparing CIE measurement values from - two test charts. The charts can be any suitably formatted CGATS or .ti3 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.
    -

    Usage Summary

    - verify  [-options] target.ti3 measured.ti3
    -  -v           -  - -   Verbose - print each patch value
    -  -n               -Normalise - - each files reading to white Y
    -  -N               -Normalise - - each files reading to white XYZ
    -  -D               -Use - - D50 100.0 as L*a*b* white reference
    -  -c           -  - -   Show CIE94 delta E values
    -  -k           -     Show CIEDE2000 delta E values
    -  -s           -     Sort patch value by error
    -  -w           -  - -   create VRML vector visualisation (measured.wrl)
    -
     -W -           -     create VRML marker & vector visualisation - (measured.wrl)
    -
     -x           -  - -   Use VRML axes
    -  
    -f - [illum]       Use Fluorescent - Whitening Agent compensation [opt. simulated inst. illum.:
    -                    - - M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or - file.sp]
    -  -i illum         - Choose illuminant for computation of CIE XYZ from spectral - data & FWA:
    -                    - - A, C, D50 (def.), D50M2, D65, F5, F8, F10 or file.sp
    -  -o observ        Choose - CIE Observer for spectral data:
    -
                       - - 1931_2 (def.), 1964_10, S&B - 1955_2, shaw, J&V 1978_2
    -  target.ti3       Target or - reference patch data file
    -  measured.ti3     Measured or actual patch - data file

    -

    Usage Details and Discussion

    - verify provides a way of verifying how well a color - transformation (such a proofing) performs.
    -
    - The -v flag prints out extra information during the - checking, and prints each patch value, rather than just a summary.
    -
    - The -n 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.
    -
    - The -N 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.
    -
    - The -D 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.
    -
    - The -c 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.
    -
    - The -k 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.
    -
    - If the -s flag is used in combination with the -v - flag, then the test point by test point output will be sorted from - worst to best.
    -
    - The -w creates a VRML - 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 -W 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.
    -
    - The -x flag adds Lab axes to the VRML output.
    -
    - The -f 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 D50 or CIE computation - illuminant used for FWA (see -i below). See colprof -f for a fuller explanation. The - same value should be used as was used during the creation of the - profile.
    -
    - The -i flag allows specifying a standard or custom - illumination spectrum, applied to the spectral test point values to - compute CIE tristimulus values. A, D50, D50M2, - D65, F5, F8, F10 are a selection of - standard illuminant spectrums, with D50 being the default. - If a filename is specified instead, it will be assumed to be an - Argyll specific .sp 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.
    -
    - The -o flag allows specifying a tristimulus observer, and is - used to compute PCS (Profile Connection Space) tristimulus values. - The following choices are available:
    -   1931_2 selects the standard CIE 1931 2 degree - observer. The default.
    -   1964_10 selects the standard CIE 1964 10 degree - observer.
    -   1955_2 selects the Stiles and Birch 1955 2 degree - observer
    -   1978_2 selects the Judd and Voss 1978 2 degree - observer
    -   shaw selects the Shaw and Fairchild 1997 2 degree - observer
    -
    - The same parameter value should be used as was used during the - creation of the profile.
    -
    - If both CIE and spectral values are present in the input files, the - CIE values will be used by default. Using the -i, -o or -f - flag will force spectral values to be used. The the -i, -o or -f - flags will apply to both the target and measured input files.
    -
    -
    -
    -
    -
    -
    - - diff --git a/doc/xicclu.html b/doc/xicclu.html index 8377c69..cf572fe 100644 --- a/doc/xicclu.html +++ b/doc/xicclu.html @@ -1,551 +1,838 @@ - + - - xicclu - - - - -

    xicc/xicclu 

    -

    Summary 
    -

    -Lookup individual color values forward or inverted though an ICC -profile table. xicclu is the analogue of the icclib tool icclu, but expands the capability to reverse -lookup the Lut tables, and displaying PCS values in CIECAM02 Jab space. -xicclu -can also be used to plot the device value composition down the neutral -axis, -for device profiles.
    -

    Usage Summary

    xicclu [-options] profile
    - -v level       -Verbosity level 0 - 2 (default = 1)
    - -g           -  Plot slice instead of looking colors up. (Default white to black)
    -G s:L:a:b     Override -plot slice start with Lab or Jab co-ordinate
    -G e:L:a:b     Override -plot slice end with Lab or Jab co-ordinate
    -
     -f function    f = forward, b = -backwards, g = gamut, p = preview
    -                + + xicclu + + + + +

    xicc/xicclu 

    +

    Summary 
    +

    + Lookup individual color values forward or inverted though an ICC + profile table or CAL file. xicclu is the analogue of the + icclib tool icclu, but expands the + capability to reverse lookup the Lut tables, and displaying PCS + values in CIECAM02 Jab space. xicclu can also be used to + plot the device value composition down the neutral axis for device + profiles, or CAL file contents.
    +
    + Few of the options that apply to ICC profiles apply to CAL files, + although device value options such as -e or -E will + work. To lookup inverted CAL values, use -f b.
    +

    Usage Summary

    +  xicclu [-options] profile_or_cal
    +  -v level       + Verbosity level 0 - 2 (default = 1)
    +  -g         +     Plot slice instead of looking colors up. (Default + white to black)
    +  -G s:L:a:b     + Override plot slice start with Lab or Jab co-ordinate
    +  -G e:L:a:b     + Override plot slice end with Lab or Jab co-ordinate
    +
     -f function    f = forward, + b = backwards, g = gamut, p = preview
    +                 if -= inverted forward, ib = inverted backwards
    - -i intent      a = -absolute, r = relative colorimetric,
    -                -
    p = -perceptual, s = -saturation
    - -o order       n -= normal (priority: lut > matrix > monochrome)
    -                + + + + + + inverted forward, ib = inverted backwards
    +  -i intent      a + = absolute, r = relative colorimetric,
    +                 + + + + + +
    p = + perceptual, s = saturation
    +  -o order       + + + + + + n = normal (priority: lut > matrix > monochrome)
    +                 r -= reverse (priority: monochrome > matrix > -lut)
    - -p oride       x -= XYZ_PCS, X = XYZ * 100, l = Lab_PCS, L = LCh, y = Yxy,
    -                j = CIECAM02 -Appearance Jab, J = CIECAM02 Appearance JCh
    -
     -s scale       -Scale device range 0.0 - scale rather than 0.0 - 1.0
    - -k [zhxrlv]    Black generation: z -= zero K,
    -               += + + + + + + reverse (priority: monochrome > matrix > lut)
    +  -p oride       + + + + + + x = XYZ_PCS, X = XYZ * 100, l = Lab_PCS, L = LCh, y = Yxy,
    +                 j = + CIECAM02 Appearance Jab, J = CIECAM02 Appearance JCh
    +
     -s scale       +Scale + + + + + + device range 0.0 - scale rather than 0.0 - 1.0
    +

    +   -e flag        + + + Video encode device input as:
    +  -E flag        + + + Video decode device output as:
    +      + n           + normal 0..1 full range RGB levels (default)
    +      + t           + (16-235)/255 "TV" RGB levels
    +      + 6           + Rec601 YCbCr SD (16-235,240)/255 "TV" levels
    +      + 7           + Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 5           + Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 2           + Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels
    +      + C           + Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV" + lev

    +
     -k [zhxrlv]    Black + generation: z = zero K,
    +                   -h = 0.5 K, x = max K, r = ramp K (def.)
    -               +h + + + + + + = 0.5 K, x = max K, r = ramp K (def.)
    +                   -l = extra PCS input is portion of K locus
    -               +l + + + + + + = extra PCS input is portion of K locus
    +                   -v = extra PCS input is K target value
    - -k p stle stpo enpo enle -shape
    -               +v + + + + + + = extra PCS input is K target value
    +  -k p stle stpo enpo + enle shape
    +                   -stle: K level at White 0.0 - 1.0
    -               +stle: + + + + + + K level at White 0.0 - 1.0
    +                   -stpo: start point of transition Wh 0.0 - Bk 1.0
    -               +stpo: + + + + + + start point of transition Wh 0.0 - Bk 1.0
    +                   -enpo: End point of transition Wh 0.0 - Bk 1.0
    -               +enpo: + + + + + + End point of transition Wh 0.0 - Bk 1.0
    +                   -enle: K level at Black 0.0 - 1.0
    -               +enle: + + + + + + K level at Black 0.0 - 1.0
    +                   -shape: 1.0 = straight, 0.0-1.0 concave, 1.0-2.0 -convex
    - -k q stle0 stpo0 enpo0 -enle0 shape0 stle2 stpo2 -enpo2 enle2 shape2
    -                +shape: + + + + + + 1.0 = straight, 0.0-1.0 concave, 1.0-2.0 convex
    +  -k q stle0 stpo0 + enpo0 enle0 shape0 stle2 stpo2 enpo2 enle2 shape2
    +                 Transfer -extra PCS input to dual curve limits
    - -K parameters  Same as -k, but target is K -locus rather than K value itself
    - -l tlimit      set -total ink limit, 0 - 400% (estimate by default)
    - -L klimit      set -black ink limit, 0 - 100% (estimate by default)
    - -a             +extra + + + + + + PCS input to dual curve limits
    +  -K parameters  Same as -k, but target is + K locus rather than K value itself
    +  -l tlimit      + set total ink limit, 0 - 400% (estimate by default)
    +  -L klimit      + set black ink limit, 0 - 100% (estimate by default)
    +  -a             show -actual target values if clipped
    -b             +actual + + + + + + target values if clipped
    +  -b             use -CAM Jab for clipping
    -
     -m -            -merge output processing into clut
    - -c viewcond    set viewing -conditions -for CIECAM02,
    -  
                +CAM + + + + + + Jab for clipping
    +
     -m +             + merge output processing into clut
    +  -c viewcond    set viewing + conditions for CIECAM02,
    +   
                   -either an enumerated choice, or a parameter:value change
    -
      -         pp - Practical Reflection Print -(ISO-3664 P2)
    -        +either + + + + + + an enumerated choice, or a parameter:value change
    +
            +    pp - Practical Reflection Print (ISO-3664 P2)
    +            -pe - Print evaluation environment (CIE 116-1995)
    -
            +pe + + + + + + - Print evaluation environment (CIE 116-1995)
    +
               -pc - Critical print evaluation environment (ISO-3664 P1)
    -     -      mt - Monitor in typical work environment
    -       +pc + + + + + + - Critical print evaluation environment (ISO-3664 P1)

    +      +       mt - Monitor in typical work environment
    +        +    -  mb - Monitor in bright work environment
    -       -    md - Monitor in darkened work -environment
    -       -    jm - Projector in dim environment
    -       -    jd - Projector in dark environment
    -      -    pcd - Photo CD - original scene -outdoors
    -       -    ob - Original scene - Bright Outdoors
    -       -    cx - Cut Sheet Transparencies on a viewing box

    -          + + + + + + mb - Monitor in bright work environment
    +      +       md - Monitor in darkened work + environment
    +      +       jm - Projector in dim environment
    +      +       jd - Projector in dark environment
    +       +     pcd - Photo CD - original scene outdoors
    +      +       ob - Original scene - Bright Outdoors
    +      +       cx - Cut Sheet Transparencies on a + viewing box

    +           s:surround   -n = auto, a = average, m = dim, d = dark,
    -               +n + + + + + + = auto, a = average, m = dim, d = dark,
    +                +    -      c = transparency (default average)
    -          + + + + + +     c = transparency (default average)
    +           w:X:Y:Z      -Adapted white point -as XYZ (default media white, Abs: D50)
    -          +Adapted + + + + + + white point as XYZ (default media white, Abs: D50)
    +           w:x:y        -Adapted white point as -x, y
    -          +Adapted + + + + + + white point as x, y
    +           a:adaptation -Adaptation luminance in -cd.m^2 -(default 50.0)
    -    -      b:background Background % -of image luminance (default 20)
    -          +Adaptation + + + + + + luminance in cd.m^2 (default 50.0)
    +     +       b:background Background % of + image luminance (default 20)
    +
              f:flare      Flare -light % of image luminance (default 1)
    -        -  -f:X:Y:Z      Flare color -as XYZ (default media white, Abs: D50)
    -          -f:x:y        -Flare color as x, y
    -
    -  -inoutfile       The input -ICC profile
    -
    -    The colors to -be translated should be fed into -standard in,
    -    one input -color per line, white space separated.
    -    A line -starting with a # will be ignored.
    -    A line not -starting with a number will terminate the -program.
    -
    -

    Flags and Parameters

    - The -v 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.
    -
    -The -g 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 -G -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 --k 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 -fb to select the B2A table, or to invert the A2B -table, -and be able to explore black generation behavior, use the -fif -flag. -The appropriate intent can be selected with the -i flag, - as -can other flags appropriate to the function selected.  See example.
    -
    -The -G s:L:a:b -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 s: with the three numbers separated -by the ':' character (no -spaces).
    -
    -The -G e:L:a:b -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 s: with the three numbers separated -by the ':' character (no -spaces).
    -
    - The -f 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 xicclu. 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.
    -
    - The -i flag selects the intent table used for -a lut based -profile. It also selects between relative and absolute colorimetric for -non-lut base profiles.
    -
    - 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 -o flag, reverses this order.   
    -
    - Normally the native PCS (Profile Connection Space) of -a device or abstract profile is used, but the -p flag allows -this to be overridden: -px: -XYZ (scaled to 1.0), -pX: XYZ -scaled to 100, -pl: L*a*b*, -pL: LCh, -py: Yxy space, -pj: CIECAM02 appearance space Jab, -or -pJ: CIECAM02 appearance -space JCh.
    -
    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 -i parameter. If the absolute -colorimetric intent is chosen using -ia -in combinations with -pj, -then  Jab with -a fixed white reference is used, which emulates an absolute CIECAM02 -Jab -appearance space.
    -
    - 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 -s -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 -s 255.
    -
    - 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. colprof, - collink), with the addition of two extra -options.
    -
    - Possible arguments to the -k option are:
    -
    - -kz selects minimum black (0.0)
    - -kh selects a black value of 0.5
    - -kx selects the maximum possible black (1.0)
    - -kr 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.
    - -kl uses an extra (fourth) value entered after the input PCS -value, to select a black locus target between 0.0 and 1.0.
    - -kv uses an extra (fourth) value entered after the input PCS -value, to select a black value target value between 0.0 and 1.0.
    -
    --k p stle stpo enpo enle shape  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.
    -
    -Typical black value generation curve with parameters something -like: -kp 0 .05 1 .9 .8
    -
    -          1.0 K   | -         enpo
    -                 +light + + + + + + % of image luminance (default 1)
    +
              + + + + + g:glare      Glare light % of ambient + (default 1)

    +       +     g:X:Y:Z      Glare color + as XYZ (default media white, Abs: D50)
    +           + + + + + g:x:y        FGare color as + x, y
    +
    +   inoutfile       The + input ICC profile or CAL file.
    +
    +     The + colors to be translated should be fed into standard in,
    +     one input + color per line, white space separated.
    +     A line + starting with a # will be ignored.
    +     A line + not starting with a number will terminate the program.
    +
    +

    Flags and Parameters

    + The -v 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.
    +
    + The -g 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 -G 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 + -k 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 -fb to select the + B2A table, or to invert the A2B table, and be able to explore black + generation behavior, use the -fif flag. The appropriate + intent can be selected with the -i flag,  as can other + flags appropriate to the function selected.  See example.
    +
    + If a CAL file is used, then -g will simply plot the each + channels calibration curve. It will also plot the invers curve for -f + + b.
    +
    + The -G s:L:a:b + 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 s: with the three numbers + separated by the ':' + character (no spaces).
    +
    + The -G e:L:a:b + 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 s: with the three numbers + separated by the ':' + character (no spaces).
    +
    + The -f 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 xicclu. 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.
    +
    + The -i flag selects the intent table used + for a lut based profile. It also selects between relative and + absolute colorimetric for non-lut base profiles.
    +
    + 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 -o flag, reverses this + order.   
    +
    + Normally the native PCS (Profile Connection Space) + of a device or abstract profile is used, but the -p flag + allows this to be overridden: -px: + XYZ (scaled to 1.0), -pX: + XYZ scaled to 100, -pl: + L*a*b*, -pL: LCh, -py: Yxy space, -pj: CIECAM02 appearance space + Jab, or -pJ: CIECAM02 + appearance space JCh.
    +
    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 -i parameter. If the absolute + colorimetric intent is chosen using -ia in combinations with -pj, then  Jab with a fixed white reference is + used, which emulates an absolute CIECAM02 Jab appearance space.
    +
    + 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 -s 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 -s 255.
    +
    + The -e flag applies a Video encoding + to the input. See -E for + the list of encodings.
    +
    + The -E flag applies a Video + encoding to the output. The possible encoding are:
    +
    +      + n                + + + + + normal RGB 0..1 full range levels (default)
    +      + t                + + + + + RGB (16-235)/255 "TV" levels
    +      + 6                + + + + + Rec601 YCbCr SD (16-235,240)/255 "TV" levels
    +      + 7                + + + + + Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 5                + + + + + Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels
    +      + 2                + + + + + Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels
    +      + C                + + + + + Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV" + levels
    +

    + 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. colprof, collink), + + + + + with the addition of two extra options.
    +
    +  Possible arguments to the -k option are:
    +
    + -kz selects minimum black (0.0)
    + -kh selects a black value of 0.5
    + -kx selects the maximum possible black (1.0)
    + -kr 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.
    + -kl uses an extra (fourth) value entered after the input PCS + value, to select a black locus target between 0.0 and 1.0.
    + -kv uses an extra (fourth) value entered after the input PCS + value, to select a black value target value between 0.0 and 1.0.
    +
    + -k p stle stpo enpo enle shape  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.
    +
    + Typical black value generation curve with parameters something like: + -kp 0 .05 1 .9 .8
    +
    +          1.0 K   | +          enpo
    +                  |      -      _______  -enle
    -                 +   + + + + + +    _______  enle
    +                  |      -     /
    -                 +  + + + + + +    /
    +                  |     -     /
    -                 +   + + + + + +   /
    +                  |      -   /
    -                 +  + + + + + +  /
    +                  |      -  /
    -           stle  -| ------/
    -            -     +-------------------
    -         0.0 K  -0.0    stpo        1.0
    -               +  + + + + + + /
    +            + stle  | ------/
    +             +      +-------------------
    +          0.0 K  + 0.0    + stpo        1.0
    +                White              -Black
    -

    --k q stle0 stpo0 enpo0 enle0 shape0 stle2 stpo2 -enpo2 enle2 shape2 is a combination of the -kv and -kp -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.
    -
    - -K parameters. -Any of the -k options above -can use the -K version, in -which rather than a black value target being defined by the inking -rule, a black locus -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).
    -
    - The -g flag can be used together with the -fif -flag, to plot -out the resulting black channel behaviour for various -k -or -K parameter -values.
    -
    --l tlimit     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.
    -
    --L klimit    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.
    -
    - If the -a 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.
    -
    - If the -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.
    -
    - The -m 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.
    -
    -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 -c 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.
    -
    - The final parameter is the name of the ICC 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.
    -

    Usage and Discussion

    -Typical usage for an output profile might be:
    -
    -    xicclu -ff -ip profile.icm
    -
    -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:
    -
    -    xicclu -ff -ip profile.icm < inputvalues.txt > -outputvalues.txt
    -
    -When plotting the neutral axis behavior, plotting the -existing B2A table -behavior would typically be done something like this:
    -
    -    xicclu -g -fb profile.icm
    -
    -Exploring possible black generation and ink limiting behavior might be -done -like this:
    -
    -    xicclu -g -fif -kp 0 .1 .9 1 .5 -l230 -L95 -profile.icm
    -
    -
    -
    -
    -
    -
    -
    - + + + + + + Black
    +

    + -k q stle0 stpo0 enpo0 enle0 shape0 stle2 stpo2 + enpo2 enle2 shape2 is a combination of the -kv and -kp + 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.
    +
    + -K parameters. + Any of the -k options above + can use the -K version, in + which rather than a black value target being defined by the inking + rule, a black locus + 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).
    +
    +  The -g flag can be used together with the -fif + flag, to plot out the resulting black channel behaviour for various + -k or -K parameter + values.
    +
    + -l tlimit     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.
    +
    + -L klimit    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.
    +
    + If the -a 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.
    +
    + If the -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.
    +
    + The -m 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.
    +
    + 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 -c 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.
    +
    + The final parameter is the name of the ICC 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.
    +

    Usage and Discussion

    + Typical usage for an output profile might be:
    +
    +     xicclu -ff -ip profile.icm
    +
    + 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:
    +
    +     xicclu -ff -ip profile.icm < inputvalues.txt + > outputvalues.txt
    +
    + When plotting the neutral axis behavior, plotting + the existing B2A table behavior would typically be done something + like this:
    +
    +     xicclu -g -fb profile.icm
    +
    + Exploring possible black generation and ink limiting behavior might + be done like this:
    +
    +     xicclu -g -fif -kp 0 .1 .9 1 .5 -l230 -L95 + profile.icm
    +
    +
    +
    +
    +
    +
    +
    + -- cgit v1.2.3