From 22f703cab05b7cd368f4de9e03991b7664dc5022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 13:56:46 +0200 Subject: Initial import of argyll version 1.5.1-8 --- doc/colprof.html | 1559 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1559 insertions(+) create mode 100644 doc/colprof.html (limited to 'doc/colprof.html') diff --git a/doc/colprof.html b/doc/colprof.html new file mode 100644 index 0000000..de9d5c2 --- /dev/null +++ b/doc/colprof.html @@ -0,0 +1,1559 @@ + + + + colprof + + + + +

profile/colprof

+

Summary

+ Create an ICC profile from + the .ti3 test chart patch + values.
+

Usage Summary

+  colprof [-options] inoutfile
+  -v         + + + + + + + + + + + +         Verbose mode
+  -A "manufacturer"  Set the + manufacturer description string
+  -M "model" +         Set the model + description string
+  -D "description"   Set the + profile Description string  (Default "inoutfile")
+  -C "copyright"     Set the + copyright string
+  -Z tmnb   +          Attributes: + Transparency, Matte, Negative, BlackAndWhite
+
 -Z prsa  + +           Default + intent: Perceptual, Rel. Colorimetric, Saturation, Abs. + Colorimetric
+
 -q lmhu +            Quality - Low, + Medium (def), High, Ultra
+  -b [lmhun]       +   Low quality B2A table - or specific B2A quality or none + for input device
+  -y         + + + + + + + + + + + +         Verify A2B profile
+  -ni        + + + + + + + + + + + +         Don't create input (Device) shaper + curves
+
 -np +                + Don't create input (Device) grid position curves
+
 -no        + + + + + + + + + + + +         Don't create output (PCS) shaper + curves
+
 -nc +                + Don't put the input .ti3 data in the profile
+
 -k zhxr  +           Black generation: z = zero K,
+             +  +  +  +    +h += +0.5 +K +(def), +x += + + + + + + + + + + + + max K, r = ramp K
+  -k p stle stpo enpo enle shape
+             +  +  +  +    +stle: +K +level +at +White +0.0 + + + + + + + + + + + + - 1.0
+             +  +  +  +  +  +stpo: +start +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
+             +  +  +  +  +  +shape: +1.0 += +straight, +0.0-1.0 +concave, + + + + + + + + + + + + 1.0-2.0 convex
+  -K parameters      + + + Same as -k, but target is K locus rather than K value itself
+  -l tlimit     +      override CMYK total ink limit, 0 - 400% + (default from .ti3)
+  -L klimit     +      override black ink limit, 0 - 100% (default + from .ti3)
+  -a lxXgsmGS        + Algorithm type override
+             +  +  +  +  +  +l += +Lab +cLUT +(def.), + + + + + + + + + + + + x = XYZ cLUT, X = display XYZ cLUT + matrix
+             +  +  +  +  +  +g += +gamma+matrix, +s += + + + + + + + + + + + + shaper+matrix, m = matrix only,
+             +  +  +  +  +  +G += +single +gamma+matrix, +S += + + + + + + + + + + + + single shaper+matrix
+  -u         +  +  +  +  + + + + If input profile, auto scale WP to allow extrapolation

+
 -uc +             +    If input profile, clip cLUT values above WP
+
 
-U scale +           If input + profile, scale media white point by scale
+
 -R                 +Restrict +white +<= +1.0, +black +and + + + + + + + + + + + + primaries to be +ve
+
 -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
+  -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)

+  -c viewcond        + + + + + + + + + + + + set input viewing conditions for output profile CIECAM02 gamut + mapping,
+                       + + + + + + + + + + + + either an enumerated choice, or a parameter
+  -d viewcond        + + + + + + + + + + + + set output viewing conditions for output profile CIECAM02, gamut + mapping
+                       + + + + + + + + + + + + either an enumerated choice, or a parameter:value change
+                       + + + + + + + + + + + + Also sets out of gamut clipping CAM space.
+                       + + + + + + + + + + + + Enumerated Viewing Conditions:
+
            +      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: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
+  -P +                   + + + + + + + + + + + + Create gamut gammap_p.wrl and gammap_s.wrl diagostics
+
 -O outputfile        +Override + + + + + + + + + + + + the default output filename & extension.
+
 inoutfile +            Base name for + input.ti3/output.icc file
+

Options
+

+ -v  Turn on verbose mode. Gives progress + information as the profile is created. Since colprof can take a long + time to generate, this is often useful to monitor progress. If used + in combination with the -y flag, the error of each test + point to the resulting profile will be printed out.
+
+ The -A parameter allows setting of the + device manufacturer description tag. The parameter should be a + string that identifies the manufacturer of the device being + profiled. With most command line shells, it will be necessary to + enclose the parameter with double quotes, so that spaces and other + special characters are included in the parameter, and not mistaken + for the start of another flag, or as a final command line + parameters. By default no manufacturer description string tag will + be generated for the profile.
+
+ The -M parameter allows setting of the + device mode description tag. The parameter should be a string that + identifies the particular model of device being profiled. With most + command line shells, it will be necessary to enclose the parameter + with double quotes, so that spaces and other special characters are + included in the parameter, and not mistaken for the start of another + flag, or as a final command line parameters. By default no model + description string tag will be generated for the profile.
+
+ The -D parameter allows setting of the + profile description tag. The parameter should be a string that + describes the device and profile. On many systems, it will be this + string that will be used to identify the profile from a list of + possible profiles. With most command line shells, it will be + necessary to enclose the parameter with double quotes, so that + spaces and other special characters are included in the parameter, + and not mistaken for the start of another flag, or as a final + command line parameter. Many programs that deal with ICC profiles + use the description tag to identify a profile, rather than the + profile filename, so using a descriptive string is important in + being able to find a profile. By default, the base name of the + resulting profile will be used as the description.
+
+ The -C parameter allows setting of the + profile copyright tag. The parameter should be a string that + describes the copyright (if any) claimed on the profile being + generated.. With most command line shells, it will be necessary to + enclose the parameter with double quotes, so that spaces and other + special characters are included in the parameter, and not mistaken + for the start of another flag, or as a final command line + parameters. By default a generic copyright string will be generated + for the profile.
+
+ The -Z parameter allows setting of the + profile attribute flags. There are four flags: t to set Transparency, the + default being Reflective; m + to set Matte, the default is Glossy; n to set Negative, the default is Positive; b to set BlackAndWhite, the + default is Color.
+
+ The -Z parameter allows setting of the + profile default intent. The default intent can be one of the four + standard intents: p to set + Perceptual, r to set + Relative Colorimetric, s to + set Saturation, and a to + set Absolute colorimetric.
+
+ The -q parameter sets the level of effort + and/or detail in the resulting profile. For table based profiles + ("cLUT" profiles), it sets the main lookup table size, and hence + detail in the resulting profile. For matrix profiles it sets the per + channel curve detail level and fitting "effort". It is highly recommended that + -qm be used as a starting + point, and other settings only tried after this has been evaluated. + NOTE that -qu is a test mode, and + shouldn't be used, except to prove that it is not worth using.
+
+ The -b flag overrides the -q + parameter, and sets the lut resolution for the BtoA (inverse) to a + low value. The creation of the B2A table is fairly time consuming, + and if the profile is only going to be used by targen, or if it will only be used as an + input space profile, or if it will only be linked as an output + profile using Argyll's collink tool + using the -G option (inverse AtoB option), then a high + detail BtoA table is not required, and some time and profile space + can be saved. If the profile is to be used as an output space + profile with another CMS, or is going to be linked using the simple + (-s) or mapping mode (-g) options, then a good quality B2A table is + needed, and the -b flag should NOT + be set. Optionally, a specific B2A table quality can be set.
+
+ For input devices,  the presence of a B2A table is not + mandatory, and it can be omitted entirely from the profile by using + -bn. Note that input + 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 + per PCS channel (shaper) output curves. The  Using the -ni + flag disables the creation of the per device channel curves, while + using the -no flag disables the creation of the per PCS + channel curves.
+ For cLUT based profiles, the input curves that are written to the + profile are composed of two components, a shape to best match the + detailed shape of the device behavior, and a shape to distribute the + input values evenly across the LUT input indexes. The -no flag disables the former, + while the -np flag disables + the latter.
+
+ -nc Normally +the + + + + + + + + + + + + device and CIE/spectral sample data and calibration curves used to + create a profile is stored in the 'targ' + text tag in the resulting ICC profile. To suppress this and make the + resulting profile smaller, use the -nc + + + + + + + + + + + flag. Note that this + will then preclude final calibrated device value ink limits from + being computed for the resulting profile in subsequent use (ie. collink, xicclu + etc.).
+
+ -k parameter sets the target level of black + (K) when creating a B2A CMYK output tables. This is often called a + black level, a black inking rule, black generation, or under color + removal.  These set the target black level.
+
+  Possible arguments to the -k flag 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.
+
+ -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 .1 .9 1 .5
+
+          1.0 K   | +          enpo
+                  + + + + + + + + + + + + |           +  _______  enle
+                  + + + + + + + + + + + + |           /
+                  + + + + + + + + + + + + |          /
+                  + + + + + + + + + + + + |         /
+                  + + + + + + + + + + + + |        /
+            + stle  | ------/
+             +      +-------------------
+          0.0 K  + 0.0    + stpo        1.0
+                +White              + + + + + + + + + + + + Black
+

+ For minimum sensitivity of printed output to the lighting spectrum, + it currently seems best to use the maximum possible black, but other + black generation levels (ie. 0.3 to 0.5) may well be preferred if + one wants to minimize the noisy appearance of black on an inkjet + device, or if the banding behaviour or other rendering flaws of the + printer is to be minimized.
+
+ Note that the black level curve is applied throughout the gamut, + resulting in GCR (Grey Component Replacement). There is no facility + to restrict black to just neutral colors, hence UCR is not currently + supported.
+  
+ The xicclu tool can be used to plot out + the resulting black level for a given set of parameters, by using + the -g flag of a profile already + created from the same .ti3 file.
+
+ -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 -l tlimit parameter sets the + total ink limit (TAC, Total Area Coverage) for the CMYK separation, + as a total percentage from 0% to 400%, and overrides any ink limit + specified in the .ti3 file. The limit value should generally be set + a little below the value used in the test chart generation, to avoid + the very edges of the gamut. If the test chart ink limit has been + chosen to be a little beyond an acceptable level, then this number + should be the acceptable level. Although limits can be set below + 200%, this will generally restrict the color gamut noticeably, as + fully saturated secondary colors will not be reproduced. Values are + between 220% and 300% for typical printing devices. Ink limits will + be in the final calibrated device values if the .ti3 includes the calibration + table.
+
+ The -L klimit parameter sets the + black channel ink limit for the CMYK separation, as a total + percentage from 0% to 100%. For printing press like devices, this + can be used to prevent the black channel screening pattern "filling + in". Typical values might be from 95% to 99%. Note that with the + current implementation this can slow down the creation of the + profile quite noticeably, so do not use -L unless you really need to. Ink limits will be in + the final calibrated device values if the .ti3 includes the calibration table.
+
+ The -a parameter allows choosing an + alternate profile type.
+
+ 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.
+
+ 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 + additive type devices (displays, scanners, cameras etc.), may avoid + clipping for displays with a colorant chromaticity that can't be + encoded in L*a*b* PCS space, and may give a more accurate white + point for input devices by avoiding clipping of values above the + white point that can occur in L*a*b* based cLUT input profiles. By + default cLUT XYZ PCS Display profiles will also have a set of dummy + matrix tags included in them, for better compatibility with other + systems. The dummy matrix deliberately interchanges Red, Green and + Blue channels, so that it is obvious if the cLUT tables are not + being used. If it is important for both the cLUT and matrix be + accurate, use -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 + matrix can be created, although such a profile cannot support + perceptual or saturation intents. Gamma curve and matrix profiles + can be created by specifying -ag or -aG, the former + creating three independent gamma curves, one for each device + channel, and the latter creating one common curve for all the device + channels. The latter may be needed with certain applications that + will not accept different gamma curves for each channel. General + shaper curve and matrix profiles (which are superior to gamma curve + profiles) can be created by specifying -as or -aS, + the former creating three independent shaper curves, one for each + device channel, and the latter creating one common curve for all the + device channels. The latter may be needed with certain applications + that will not accept different shaper curves for each channel.
+
+ The -am option will create + a matrix profile with linear (i.e. gamma = 1.0) curves. This may be + useful in creating a profile for a device that is known to have a + perfectly linear response, such as a camera in RAW mode.
+
+ -u: Input + profiles will normally be created such that the white patch of the + test chart will be mapped to perfect white when used with any of the + non-absolute colorimetric intents. This is the expected behavior for + input profiles. If such a profile is then used with a sample that + has a lighter color than the original test chart, then a cLUT + profile will clip the value, since it cannot be represented in the + lut table. Using the -u flag causes the media white point to + be automatically scaled (using the same type of scaling as the -U scale option) to avoid + clipping values up to full device white. This flag can be useful + when an input profile is needed for using a scanner as a "poor mans" + colorimeter, or if the white point of the test chart doesn't + represent the white points of media that will be used in practice, + and that white point adjustment will be done individually in some + downstream application.
+
+ -uc: For + input profiles it is sometimes desirable that any highlights + brighter than the white point, map exactly to white, and this option + post processes the cLUT entries to ensure this is the case. Note + that due to the finite nature of the cLUT grid, this may affect the + accuracy of colors near the light surface of the device gamut.
+
+ -U scale: Input profiles + will normally be created such that the white patch of the test chart + will be mapped to perfect white when used with any of the + non-absolute colorimetric intents. This is the expected behavior for + input profiles. Sometimes the test chart white is not quite the same + as the media being converted through the input profile, and it may + be desirable in these cases to adjust the input profile white point + to compensate for this. This can happen in the case of a camera + profile, where the test chart is not perfectly exposed. The -U parameter allows this. If the + media converted is a little darker than the test chart white, then + use a scale factor slightly less than 1.0 to make sure that the + media white comes out as white on conversion (ie. try 0.9 for + instance). If the media is a little lighter than the test chart + white and is "blowing out" the highlights, try a value slightly + greater than 1.0 (ie. try 1.1 for instance). The -u option sets the scale + automatically to accomodate a perfect white, but -U scale can be used on top of + this automatic scaling.
+
+ -R: Normally the white point, black point and primary + locations (for matrix profiles) are computed so as to create + profiles that best match the sample data provided. Some programs are + not happy with the resulting locations if they have negative XYZ + values, or if the white point has a Y value > 1. The -R option restricts the white, + black and primary values, so as to work with these programs, but + this will reduce the accuracy of the profile.
+
+ 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. There are two ways this can be used:
+
+ The first and most common is to use the -f flag with the -i + illuminant parameter, to make the color values more accurately + reflect their appearance under the viewing illuminant. This will + work accurately if you specify the actual illuminant spectrum you are using to view the + print, using the -i flag. If you are + doing proofing, you need to apply this to both your source profile, and + your destination profile. Note that it is not sufficient to + specify an illuminant with the same white point as the one you are + using, you should specify the spectrum of the illuminant you are actually using for the + proofing, including its Ultra + + + + + + + + + + + + Violet spectral content, otherwise FWA compensation won't + work properly. This means you ideally need to measure your + illuminant spectrum using an instrument that can measure down to + 300nm. Such instruments are not easy to come by. The best + alternative is to use the illumread + utility, which uses an indirect means of measuring an illuminant and + estimating its UV content. Another alternative is to simply try + different illuminant spectra in the ref directory, and see if one gives you the result + you are after, although this will be fairly a tedious approach. The + ref/D50_X.X.sp set of illuminant spectra are the D50 spectrum with + different levels of U.V. added or subtracted, ref/D50_1.0.sp being + the standard D50 illuminant, and may be somewhere to start.
+  [Note: Generally using -f + with the standard (-i) D50 illuminant spectrum will predict + that the device will produce bluer output than the default of not + FWA compensation. This is because most instruments use an + incandescent illuminant (A type illuminant), which has lower + relative levels of UV than D50, so the FWA compensation simulates + the effect of the greater UV in the D50. Also note that in an + absolute colorimetric color transformation, the more a profile + predicts the output device will have blue output, the yellower the + result will be, as the overall color correction compensates for the + blueness. The opposite will happen for an input profile.]
+
+ The second way of using the -f flag is to provide it with a + instrument simulation illuminant spectrum parameter, in addition to + the default D50 or -i parameter  CIE XYZ  + calculation illuminant. This more complicated scenario + simulates the measurement of the spectral reflectance of the samples + under a particular instrument illuminant, then computes the CIE XYZ + values of that reflectance spectrum under the default D50 or -i + parameter illuminant. This is not used to give a more + accurate real world result, but to provide simulations of various + standardized measurement conditions. For instance, to reproduce ISO + 13655:2009 M2 measurement conditions, the -f D50M2 could be + used (together with the default -i D50 setting). There are + shortcuts provided for ISO 13655:2009 conditions:
+
+     -f M0    +     equivalent to    -f A
+     -f M1        + equivalent to    -f D50
+     -f M2        + equivalent to    -f D50M2
+

+  Note that using -f M2 + gives a result that is comparable to that of a U.V. cut filter + instrument. See also the discussion About + Fluorescent Whitening Agent compensation.
+
+ The -i parameter allows specifying a + standard or custom illumination spectrum, applied to spectral .ti3 + data to compute PCS (Profile Connection Space) tristimulus values. A, + D50, 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 + custom spectrum file. This only works if spectral data is available. + Illuminant details are:
+
+         A   CIE + tungsten filament lamp 2848K
+         D50 CIE daylight 5000K
+         D65 CIE daylight 6500K
+         F5  CIE Fluorescent + 6350K, CRI 72
+         F8  CIE Fluorescent + 5000K, CRI 95
+         F10 CIE Fluorescent + 5000K, CRI 81
+
+ Custom illuminants are most often used when a  viewing booth or + other known viewing conditions is going to be used to view results. + Other illuminant reference files could be created using a suitable + measuring instrument such as a spectrolino, or an eyeone using spotread, although such instruments do + not themselves provide the necessary response down to Ultra Violet + that is needed for accurate operation of Fluorescent Whitening Agent + compensation. The best way of measuring a custom illuminant is to + use illumread, since it uses a special + method to estimate the illuminant UV in a way that complements FWA + compensation. (See the discussion above for the -f flag).
+
+ Note that if an illuminant other than D50 is chosen, the resulting + ICC profile will not be standard, and may not work perfectly with + other profiles that that use  the standard ICC D50 illuminant, + particularly if the absolute rendering intent is used. Profiles + should generally be linked with other profiles that have the same + illuminant and observer.
+
+ The -o flag allows specifying a tristimulus + observer, and is used to compute 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
+
+ Note that if an observer other than 1931 2 degree is chosen, the + resulting ICC profile will not be standard, and cannot be freely + interchanged with other profiles that that use the standard 1931 2 + degree observer. Profiles should only be linked with other profiles + that have the same illuminant and observer. The 1978_2 + observer or shaw observer + may give slightly better results than the 1931_2 observer.
+
+
+ The -r parameter specifies the average + deviation of device+instrument readings from the perfect, noiseless + values as a percentage. Knowing the uncertainty in the reproduction + and test patch reading can allow the profiling process to be + optimized in determining the behaviour of the underlying system. The + lower the uncertainty, the more each individual test reading can be + relied on to infer the underlying systems color behaviour at that + point in the device space. Conversely, the higher the uncertainty, + the less the individual readings can be relied upon, and the more + the collective response will have to be used. In effect, the higher + the uncertainty, the more the input test patch values will be + smoothed in determining the devices response. If the perfect, + noiseless test patch values had a uniformly distributed error of +/- + 1.0% added to them, then this would be an average deviation of 0.5%. + If the perfect, noiseless test patch values had a normally + distributed  error with a standard deviation of 1% added to + them, then this would correspond to an average deviation of 0.564%. + For a lower quality instrument (less than say a Gretag Spectrolino + or Xrite DTP41), or a more variable device (such as a xerographic + print engine, rather than a good quality inkjet), then you might be + advised to increase the -r + parameter above its default value (double or perhaps 4x would be + good starting values.)
+
+ -s + -S  In order to generate perceptual and saturation + intent B2A tables for output profiles, it is necessary to specify at + least one profile to define what source gamut should be used in the + source to destination gamut mapping. [For more information on why a source gamut is + needed, see About ICC profiles and + Gamut Mapping] The -S parameter is used to do this, + and doing so causes perceptual and saturation tables to be + generated. If only a perceptual intent is needed, then the -s + flag can be used, and the saturation intent will use the same table + as the perceptual intent. Note that a input, output, display or + device colororspace profile should be specified, not a non-device + colorspace, device link, abstract or named color profile.
+ If no source gamut is specified for a cLUT Display profile, then an + ICC Version 2.2.0 profile will be created with only an A2B0 and B2A0 + tag. If a source gamut is specified, then an ICC Version 2.4.0 + profile will be created with a full complement of B2A tags to + support all intents. The source gamut is created from the + corresponding intent table of the provided profile to the output + table being created. A TIFF or JPEG file containing an embedded ICC + profile may be supplied as the argument.
+ Note that input profiles and + matrix profiles will only contain a colorimetric intent table or + matrix, and hence the -s + and -S option is not + relevant.
+
+ -nP: + Normally when a source profile is provided to define the source + gamut for the output profile perceptual table gamut mapping, the + perceptual source table is used to determine this gamut. This is + because some profile have gamut transformations in their perceptual + A2B tables that is not in the colorimetric A2B table, and this needs + to be taken into account in creating the perceptual B2A table, so + that when the two profiles are linked together with the perceptual + intent, the gamut mapping works as intended. The -nP option causes the source + gamut to be taken from the source profile colorimetric table + instead, causing the perceptual gamut mapping created for the + perceptual table to be from the natural source colorspace gamut to + the output space gamut.
+
+ -nS: + Normally when a source profile is provided to define the source + gamut for the output profile saturation table gamut mapping, the + saturation source table is used to determine this gamut. This is + because some profile have gamut transformations in their saturation + A2B tables that is not in the colorimetric A2B table, and this needs + to be taken into account in creating the saturation B2A table, so + that when the two profiles are linked together with the saturation + intent, the gamut mapping works as intended. The -nS option causes the source + gamut to be taken from the source profile colorimetric table + instead, causing the saturation gamut mapping created for the + saturation table to be from the natural source colorspace gamut to + the output space gamut.
+
+ The -g flag + and its argument allow the use of a specific source gamut instead of + that of the source profile. This is to allow optimizing the gamut + mapping to a source gamut of  a particular image, which can + give slightly better results that gamut mapping from the gamut of + the source colorspace. Such a source image gamut can be created + using the tiffgamut tool. The gamut + provided to the -g flag should be in the same + colorspace that colprof is + using internally to connect the two profiles. For all intents except + the last one (no. 7), the + space should be Jab appearance space, with the viewing conditions + generally being those of the input profile viewing conditions. The + input profile will normally be the one used to create a source image + gamut using tiffgamut.
+
+ The -p option allows specifying one + or more abstract profiles that will be applied to the output tables, + after any gamut mapping. An abstract profile is a way of specifying + a color adjustment in a device independent way. The abstract profile + might have been created using one of the tweak tools, such as refine.
+ If a single abstract profile is specified, then it will be applied + to all the output tables (colorimetric, perceptual and saturation). + To specify different abstract profiles for each output table, use a + contiguous comma separated list of filenames. Omit a filename + between the commas if no abstract profile is to be applied to a + table. For instance: -p + colabst.icm,percabst.icm,satabst.icm for three different + abstract transforms, or: -p + ,percabst.icm, for just a perceptual table abstract + transform.
+
+ One strategy for getting the best perceptual results with output + profile when using ICC profiles with systems that don't accept + device link profiles, is as follows: Specify a gamut mapping profile + of opposite type to the type of device being profiled, and when + linking, use the relative colorimetric intent if the two profiles + are of the same type, and perceptual intent if the two profiles are + of the opposite type. For instance, if you are creating a CMYK + output profile, specify an RGB profile for the -s or -S + parameter. If linking that profile with a CMYK source profile, use + relative colorimetric intent, or if linking with an RGB profile, use + the perceptual intent. Conversely, if creating an RGB output + profile, specify a CMYK profile for the -s or -S + parameter, and if linking that profile with an RGB source profile, + use relative colorimetric intent, or if linking with a CMYK profile, + use the perceptual intent.
+
+ (Note that the perceptual and saturation table gamut mapping doesn't + make any allowance for the application of the abstract profile. This + is a bug.)
+
+ Normally, the gamut mapping used + in creating the perceptual and saturation intent tables for output + profiles is set to perceptual and saturation gamut mapping (as would + be expected), but it is possible to override this default selection + for each intent using the -t and -T flags. The -t + flag can be used to set the gamut mapping for the perceptual table, + and the -T flag can be used to set the gamut mapping for the + saturation table. A more detailed description of the different + intents is given in collink. Note that + selecting any of the absolute intents will probably not function as + expected, since the perceptual and saturation tables are inherently + relative colorimetric in nature.
+
+ Since appearance space is + used in the gamut mapping (just as it is in + collink), the viewing conditions for the source and + destination colorspaces should really be specified. The source + colorspace is the profile specified with the -s or -S + flag, and the destination is the profile being created. The -c + and -d options allow specification of their respective, + associated viewing conditions. The viewing condition information is + used to map the profile PCS (Profile Connection Space, which us + either XYZ or L*a*b*) color into appearance space (CIECAM02), which + is a better colorspace to do gamut mapping in. The viewing + conditions allow the conversion into appearance space to take + account of how color will be seen under particular viewing + conditions.
+
+ Viewing conditions can be specified in two basic ways. One is to + select from the list of "pre canned", enumerated viewing conditions, + choosing one that is closest to the conditions that are appropriate + for the media type and situation. Alternatively, the viewing + conditions parameters can be specified individually. If both methods + are used, them the chosen enumerated condition will be used as a + base, and its parameters will then be individually overridden.
+
+ Appearance space is also used to provide a space to map any + remaining out of gamut colors (after a possible gamut mapping has + been applied) into the device gamut.
+
+ The -P option causes diagnostic 3D VRML plots to be created that + illustrate the gamut mappings generated for the perceptual and + saturation intent tables.
+
+ The -O + parameter allows the output file name & extension to be + specified independently of the final parameter basename. Note that + the full filename must be specified, including the extension.
+
+ The final parameter is the file base name for the + .ti3 input test point data, and + the resulting ICC output + profile (.icm extension on the MSWindows platform, .icc on Apple or + Unix platforms). The -O + parameter will override this default. +

Discussion

+ Note that monochrome profiling isn't currently supported. It may be + supported sometime in the future.
+
+ If the -v flag is used (verbose), then at the end of + creating a profile, the maximum and average fit error of the input + points to the resulting profile will be reported. This is a good + guide as to whether things have gone smoothly in creating a profile. + Depending on the type of device, and the consistency of the + readings, average errors of 5 or less, and maximum errors of 15 or + less would normally be expected. If errors are grossly higher than + this, then this is an indication that something is seriously wrong + with the device testing, or profile creation.
+
+ Given a .ti3 file from a display device that contains calibration + curves (generated by dispcal, passed + through dispread) and the calibration + indicates that the VideoLUTs are accessible for the device, then colprof will convert the + calibration into a vcgt tag + in the resulting profile so that the operating system tools can + configure the display hardware appropriately, whenever the profile + is used. If the VideoLUTs are not marked as being accessible, colprof will do nothing with the + calibration curves. In this case, to apply calibration, the curves + have to be incorporated in the subsequent workflow, either by + incorporating them into the profile using applycal, or including them after the + profile in a cctiff profile chain.
+
+ Given a .ti3 file from a print device that contains the per-channel + calibration information (generated by printcal, + passed through printtarg and chartread), colprof will save this along with the .ti3 file in + the 'targ' text tag in the + profile, so that + subsequent evaluation of ink limits can compute the final calibrated + device values.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + -- cgit v1.2.3