xicc/tiffgamut

Summary

Create a gamut file or VRML file of the color gamut of the contents of a TIFF image.
tiffgamut allows creation of gamut files from the pixel values in a TIFF raster image, as defined by an ICC profile, in L*a*b* or CIECAM02 Jab colorspace, and can also represent the gamut as a VRML file. This can be used for visualizing and comparing the gamut of an image to the colorspace it is in, or a colorspace it might get transformed into, and can also be used to create an image source gamut for use with icclink.

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

Usage Summary

tiffgamut [-v level] profile.icm infile.tif
 -v            Verbose
  -d sres      Surface resolution details 1.0 - 50.0
 -w            emit VRML .wrl file as well as CGATS .gam file
 -n            Don't add VRML axes or white/black point
 -k            Add markers for prim. & sec. "cusp" points
 -i intent     p = perceptual, r = relative colorimetric,
               s = saturation, a = absolute, j = Appearance CIECAM02
 -o order      n = normal (priority: lut > matrix > monochrome)
               r = reverse (priority: monochrome > matrix > lut)
 -c viewcond   set appearance mode and viewing conditions for CIECAM02,
               either an enumerated choice, or a parameter:value change
           pp - Practical Reflection Print
           pe - Print evaluation environment
           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   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)
         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

Usage Details and Discussion

The -v flag dumps out the ICC profile header information.

The -d parameter controls the level of detail displayed in the surface. The parameter roughly corresponds to a deltaE value, so smaller values give greater detail. The default value is around 10, and is a good place to start. Small values may take a lot of time to generate, and will produce big files.

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

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

The -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 -i parameter allows choosing the ICC profile table being used by its intent. Anything other than colorimetric may not represent the native capabilities of the device. The j parameter interprets the absolute colorimetric table in terms of CIECAM02 appearance space Jab values.

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.   

The -c parameter sets the output space to CIECAM02 appearance Jab values, and also allows choosing a set of viewing conditions, either by choosing a typical viewing environment, or controlling particular viewing condition parameters.