invprofcheck
Author: Graeme Gill

## profile/invprofcheck

### Summary

Check ICC forward against reverse lookup.

### Usage Summary

`usage: invprofcheck [-options] profile.icm``
` `-v [level] Verbosity level (default 1), 2 to print each DE``
` `-l limit Set total ink limit (estimate by default)``
` `-L klimit Set black channel ink limit (estimate by default)``
` `-h High res test (27)``
` `-u Ultra high res test (61)``
` `-R res Specific grid resolution``
` `-I Do bwd to fwd check``
` `-c Show CIE94 delta E values``
` `-k Show CIEDE2000 delta E values``
` `-w Create X3DOM visualisation (profile.x3d.html)``
` `-x Use X3DOM axes``
` `-e Color vectors acording to delta E``
` `` `-Y c:file.cal` `Provide or overide calibration total ink curves`
`profile.icm Profile to check`

### Usage Details and Discussion

invprofcheck provides a way of checking how well an ICC profile inverse transform inverts the forward transform. For devices with more than 4 channels, a total ink limit is assumed, and (if no -l parameter is given) a reasonable number is deduced from the reverse table. A grid of device values is created, and the transform from PCS->device, and then device->PCS is computed in L*a*b* space. The average, maximum and RMS error delta E values are computed and displayed in the chosen delta E metric. A X3DOM plot of the error vectors can be created. invprofcheck tries to only test in-gamut color values. Note that because it scans a device grid, for a CMYK device, the density of test points will be progressively higher in the dark regions, and the average and RMS values will be distorted by the denser sampling.
The -v flag prints out extra information during the checking. A value greater than 1 will print the color values of each test point.
The -l flag 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. The ink limit will be in final raw device values if the profile includes calibration information.
The -L flag allows setting a black channel ink limit for printing devices. If a device has a black 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. The black ink limit will be final raw device values if the profile includes calibration information.
The default device grid is relativy low, and 11 (ie. 11 x 11 x 11 for an RGB device, 11 x 11 x 11 x 11 for a CMYK device etc.).
The -h flag selects a higher device grid resolution of 27.
The -u flag selects an extremely high device grid resolution of 61. This will probably take a long time to run.
The -G res option allows a specific grid resolution to be used.
If the -I option is used, then the grid is in L*a*b* space, so out of gamut clipping behavior can be examined. Delta E's will be high due to the clipping.
The -c option causes the error differences to be displayed in CIE94 delta E, rather than plain L*a*b* delta E. CIE94 delta E has a closer correspondence with perceived color differences than the default CIE76 delta E values.
The -k option causes the error differences to be displayed in CIEDE2000 delta E, rather than plain L*a*b* delta E. CIEDE2000 delta E has a closer correspondence with perceived color differences than either CIE76 or CIE94 delta E values.
The -w creates a X3DOM 3D visualization of the differences between the test points and the profiles prediction of the resulting colors.
The -x flag adds Lab axes to the X3DOM output.
The -e flag causes the error vectors in the X3DOM output to be color coded according to their lengths, from longest to shortest: yellow, red, magenta, blue, cyan and green.
The -Y c: file.cal parameter adds or overrides Calibration curves that will be used in the computation of the total or black ink limit calculation. This allows the ink limits to be computed in final raw device units.