xicc/iccgamut
    
    Create a gamut file or X3DOM file  of the color gamut of an ICC
    profile.
     iccgamut allows creation of
    gamut files from the forward or backwards table of an ICC profile,
    in Lab or CIECAM02 Jab colorspace, and can also representing the
    gamut as a X3DOM file.
    
    See 3D Viewing Format for switching to
    VRML or X3D output format.
    Usage
    
    iccgamut [-options] profile
       -v           
        Verbose
       -d
        sres       Surface resolution
        details 1.0 - 50.0
       -w           
emit
        X3DOM .x3d.html file as well as CGATS .gam file
       -n           
Don't
        add X3DOM axes or white/black point
       -k           
Add
        X3DOM markers for prim. & sec. "cusp" points
       -f
        function   f = forward*, b = backwards
        -i
        intent     p = perceptual, r = relative
        colorimetric,
                    
s
        = saturation, a = absolute (default), d = profile default
     -o
        order      n = normal (priority: lut
        > matrix > monochrome)
                    
r
        = reverse (priority: monochrome > matrix > lut)
       -p oride      l
        = Lab_PCS (default), j = CIECAM02 Appearance Jab
       -l
        tlimit     set total ink limit, 0 - 400%
        (estimate by default)
       -L
        klimit     set black ink limit, 0 - 100%
        (estimate by default)
       -c
        viewcond   set viewing conditions for CIECAM02,
                    
either
        an enumerated choice, or a series of parameters:value changes
             
            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
        Adaptation luminance in cd.m^2 (default 50.0)
              
b:background
Background
        % of image luminance (default 20)
                 l:imagewhite Image
        white in cd.m^2 if surround = auto (default 250)
            
f:flare     
            Flare light % of image luminance (default 0)
                  
        g:glare      Glare light % of ambient
        (default 5)
              
        g:X:Y:Z      Glare color as XYZ
        (default media white)
              
        g:x:y        Glare color as
        x, y
         -x pcent      
        Expand/compress gamut cylindrically by percent
         -s            
Create
        special cube surface topology plot
      profile      
           The name of the ICC profile, as well as the
        basename of the gamut [.gam] and/or X3DOM [.x3d.html] file.
    
    Comments
    The parameters are all those that control which table in the ICC
    profile to use, as well as what color space to convert it to. 
    
    The -v flag dumps out the ICC profile header information.
    Using -v -w will also print the gamut volume in
    cubic L*a*b* units.
    
    The -d parameter controls the level of detail displayed in
    the surface. The parameter roughly corresponds to a deltaE value, so
    smaller values give greater detail. The default value is around 10,
    and is a good place to start. Small values may take a lot of time to
    generate, and will produce big files.
    
    The -w flag causes a X3DOM file to be produced, as well as a
    gamut file.
    
    The -n flag suppresses the L*a*b* axes being created in the
    X3DOM.
    
    The -k flag adds markers
    for each of the primary and secondary "cusp" points (Red, Yellow,
    Green, Cyan, Blue & Magenta). No markers will be displayed if
    the cusps cannot be determined.
    
    The -f parameter allows choosing the ICC table to be used
    in plotting the gamut. The backwards tables generally incorporate
    gamut compression, and therefore don't reflect the native
    capabilities of the device.
    
    The -i flag selects the intent transform used for a lut
    based profile. It also selects between relative and absolute
    colorimetric for non-lut base profiles. Note that anything other
    than colorimetric may not represent the native capabilities of the
    device. The default intent will be absolute colorimetic for L*a*b*
    output, and CIECAM02 appearance for Jab output.
    
    An ICC profile is allowed to contain more than the minimum number of
    elements or table needed to describe a certain transform, and may
    contain redundant descriptions.  By default, lut based table
    information will be used first if present, followed by matrix/shaper
    information, and only using monochrome information if it is all that
    is present. The -o flag, reverses this
    order.    
    
    -p: By default the gamut
    will be created in L*a*b* colorspace. If  -pj is selected, then CIECAM02
    appearance space Jab will be used for the output, and the viewing
    conditions will be taken into account. Jab space is what is normally
    needed to be compatible with the default intents used in colprof. 
    Note that the CIECAM02 output space selection by default uses
    the colorimetric transform of the profile resulting in the
    appearance of the native device, but that the perceptual or
    saturation transforms may be used by selecting them using the -i parameter, which may give a
    different result with some profiles. This may be desirable if an
    image is to be transformed through the perceptual or saturation
    tables of a profile as part of a link with an Argyll generated
    output profile, since it will then represent the apparent gamut of
    the image when subject to these tables. If the absolute colorimetric
    intent is chosen using -ia
    in combinations with -pj,
    then  Jab with a fixed white reference is used, which emulates
    an absolute CIECAM02 Jab appearance space. 
    
    The -l parameter allows setting a total ink limit (TAC) for
    printing devices. If a device has a total ink limit, and hasn't been
    characterised with device values above this limit, then plotting the
    gamut in these areas will almost certainly be misleading. tables. By
    default, a total ink limit will be estimated from the profile
    tables. The ink limit will be in final calibrated device values if
    the profile includes calibration information.
    
    The -L parameter allows setting a black ink limit for
    printing devices. If a device is to be used with a black ink limit,
    then it is useful to evaluate the gamut with the limit in place. By
    default, a black ink limit will be estimated from the profile
    tables. The ink limit will be in final calibrated device values if
    the profile includes calibration information.
    
    The -c parameter allows setting the CIECAM02 viewing
    conditions, either by choosing a typical viewing environment, or
    controlling particular viewing condition parameters.
    
    The -x parameter allows expanding or compressing the
    resulting gamut in a cylindrical direction by the given percentage
    :- i.e "-x 120" will expand by 20%. This may be useful for creating
    a general compression gamut mapping by using such an expanded device
    gamut as input to collink -g or -G.
    
    The -s flag creates a
    special hyper-cube surface plot that is artificially colored. This
    can be useful for identifying the topology of the black ink color
    response.
    Example
    
    To create a view in L*a*b* of the absolute gamut of a CMYK file with
    an ink limit of 260%, one might use:
    
        iccgamut -w
      -ff -ia -l260 profile.icm
    
    and the resulting files will be profile.gam and profile.x3d.html.
    
    To create a gamut suitable for CIECAM02  gamut mapping space in
    colprof or collink, something like
    
        iccgamut -ir -pj -cmt  profile.icm
    
    where the viewing conditions "mt" should the same as the source
    conditions in colprof or collink.