profile/colprof
    Summary
    Create an RGB, CMY or CMYK ICC
    profile from the .ti3 test
    chart patch values.
    [ Note that currently, Monochrome and N-Color profiles are not
    supported. ]
    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   
              Table resolution - Low, Medium
      (def), High, Ultra
       -b [lmhun]      
        Low quality B2A table - or specific B2A quality or none for
      input device
       -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 Ink 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 lxXYgsmGS      
      Algorithm type override
                           
      l = Lab cLUT (def.), x = XYZ cLUT,
                           
      X = display XYZ cLUT + matrix, Y = display XYZ cLUT + debug 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
     -ua
                   
           If input profile, force Absolute Colorimetric
        intent
      -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
       -B X,Y,Z          
      Display Black Point override hack
       -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    
            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, 2012_2, 2012_10, S&B 1955_2, shaw, J&V 1978_2 or
      file.cmf
       -r avgdev         
      Average deviation of device+instrument readings as a percentage
      (default 0.5%)
       -s src.icm|cperc   Apply gamut mapping
      to output profile perceptual B2A table for given source, or
      compression percentage
       -S src.icm|experc  Apply gamut mapping
      to output profile perceptual and saturation B2A table, or
      expansion percentage
       -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
                    
        lp - Luminance Preserving Perceptual
            
               ms - Saturation
                
             s - Enhanced Saturation [ICC
      Saturation]
                 
           al - Absolute Colorimetric (Lab)
                      
      rl - White Point Matched 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:
                  
        pc - Critical print evaluation environment
        (ISO-3664 P1)
                        
      pp - Practical Reflection Print (ISO-3664 P2)
                 
           pe - Print evaluation environment (CIE
      116-1995)
               
           pm - Print evaluation with partial Mid-tone
      adapation
               
            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: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 5)
             
              
                
        g:X:Y:Z       Glare color as XYZ
        (default media white)
             
               
               
        g:x:y         Glare
        color as x, y
                 
                
                      
              h:hkscale     Helmholtz-Kohlrausch
              effect scale factor (default 1.0)
                       
                       
            m:mtaf        Mid-tone
            partial adaptation factor (default 0.0)
               
                    
                    
            m:X:Y:Z       Mid-tone
            Adaptation white as XYZ (default D50)
               
                     
                   
            m:x:y        
            Mid-tone Adaptation white as x, y 
       -P
                       
      Create gamut gammap_p.x3d.html and gammap_s.x3d.html 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.
    
    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. Some CMM's will use this to determine the
    default intent that they will use.
    
     The -q parameter sets the level of effort
    and/or resolution 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.
    
    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 an absolute black value target being defined by
    the inking rule, the black proportion out of the maximum possible
    for each color is defined. This makes the inking curve scale
    proportionally over the gamut, rather than clipping in dark
    chromatic regions where not much black can be added.
     
     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 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
    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. 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 unevenly spaced.
    
    -aX with Display profiles will create a profile with both XYZ
    cLUT tags and fallback shaper/matrix tags for situations in which
    the profile needs to work with Applications or CMMs that don't
    support cLUT. To help diagnose this situation.
    -aY will create a similar profile for Display devices,
    but the matrix will have  dummy values that deliberately
    interchanges Red, Green and Blue channels, so that it is obvious if
    the cLUT tables are not being used. 
    
    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, while still correcting the
    hue. This flag can be useful when 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.
    
     -ua: For
    input profiles, this flag forces the effective intent to be Absolute
    Colorimetric even when used with Relative Colorimetric intent
    selection in a CMM, by setting a D50 white point tag.  This
    also has the effect of preserving the conversion of colors whiter
    than the white patch of the test chart without clipping them
    (similar to the -u flag), but does not hue correct white.
    This flag can be useful when an input profile is needed for using a
    scanner as a "poor mans" colorimeter.
    
     -uc: For
    input profiles it is sometimes desirable that any highlights
    brighter than the white point, map (clip) 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.
    
    -B X,Y,Z This option is for display profiles
    only, and allows overriding the black point of the resulting
    profile. The XYZ value is in absolute instrument measurement units.
    This option should be used only in special circumstances, for
    instance if the display has a very low black point and the
    instrument is not capable of measuring the black point accurately or
    consistently. In this case a manual estimate of the black point
    could be made and provided as the argument to -B. It may also be
    useful for displays with black points that approach perfect black
    (ie. Plasma or OLED) where a value of 0,0,0 may be more accurate
    than typical instrument measurements. A value that is too different
    to the default computed black point will likely result in a profile
    with strange behavior near black.
    Note that the default contents of the .ti3 created by dispread is normalised to be 100 for the
    white point Y value, and similarly values returned by icclu -ia -px
    are normalized to a white Y value of 1.0, which is not what the -B
    option expects, so some care needs to be taken in specifying and
    evaluating the resulting black point XYZ values.
    
    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
    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 useful is to use the -f flag with
    the -i illuminant parameter (i.e. "-f -i D50"), 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 (i.e. "-f M1", or "-f A -i D65"
    etc.). 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
      2012_2 selects the proposed CIE 2012 2 degree observer
      2012_10 selects the proposed CIE 2012 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
      file.cmf selects an observer specified by the
    given .cmf file.
    
    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 have
    something that defines what source gamut should be used to create
    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.
    
    There are two ways of specifying a source gamut 1) Specify a
    specific source ICC profile or 2) Specify a general compression of
    the output gamut as a percentage. With the second choice, incoming
    colors that are up to the percentage outside the devices gamut will
    be compressed to fit into it. The same percentage is used for
    expansion if a saturation table is generated, or a separate
    percentage can be specified by including both a -s and -S
    percentage. You can optionally specify both an input ICC
    profile and a general compression percentage by using the -S option
    twice, in which case the input profile determines just the luminance
    range mapping, with the percentage determining the gamut volume
    compression. If a percentage compression is specified without an ICC
    profile, then the incoming luminance range will be assumed to be
    full range (perfect white to perfect black), which is compatible
    with idealized colorspaces such as sRGB, AdobeRGB and other working
    RGB spaces. The input viewing conditions are applicable to the
    assumed full range input.
    
    If no source ICC or compression percentage 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, instead of an ICC profile.
    
    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.
    Note that an input, output, display or device colororspace
    profile should be specified, not a non-device colorspace, device
    link, abstract or named color profile.
    Note that specifying a very large gamut colorspace as the
    source gamut (i.e. ProPhoto etc.) is probably NOT
    what you want to do, since unless the source images have a similar
    very large gamut to that of the colorspace, they will end up getting
    over compressed and come out looking dull. Instead use a source
    profile that has a gamut more representative of the images gamut, or
    you should provide a gamut using the the -g parameter.
    
    
    -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. Note
    that a source gamut is not used if a general compression ratio gamut
    mapping is used.
    
    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 X3DOM 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.
    
    For information on typical usage, see the Typical
      Usage Scenarios page.
    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 measurement, 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.
    
    The viewing condition parameter m: is a hack, intended to
    address certain situations involving the use of papers containing
    FWA/OBE brighteners when viewed in an environment that has a very
    noticeably warmer white point than the paper itself under the
    illuminant. While the white point will remain that of the paper, it
    allows the mid-tones to be partially adapted to a warmer white
    point, possibly reducing visual discrepancy. NOTE though, that this
    viewing situation doesn't often arise in real world viewing of such
    media,  as such documents are typically viewed in isolation or
    against a background of other pieces of the same paper. Note that it
    is a trap to evaluate such FWA/OBE rich paper using standard
    proofing viewing conditions, since they deliberately use a
    spectrally flat grey surround, unnaturally emphasizing the white
    point difference between FWA/OBE rich papers and spectrally flat
    neutrals, something that isn't present in real world conditions. The
    pm preset condition has mtaf value of 0.7, and Wxyz2 of D50.