mpplu
Author: Graeme Gill

## xicc/mpplu

### Summary

Lookup individual color values though an MPP profile. Also create MPP gamut files or X3DOM views.

### Usage

`mpplu [-v level] [-f func] [-i intent] [-o order] profile.mpp``
` `-v Verbose``
` `-f function f = forward, b = backwards``
` `-p oride x = XYZ_PCS, l = Lab_PCS, y = Yxy, s = spectral,``
` `-l limit override default ink limit, 1 - N00%``
` `-i illum Choose illuminant for print/transparency spectral data:``
` `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, 2015_2, 2015_10, S&B 1955_2, shaw, J&V 1978_2 or file.cmf``
` `-u Use Fluorescent Whitening Agent compensation``
` `-s Print spectrum for each lookup``
` `-S Plot spectrum for each lookup``
` `-g Create gamut output``
` `-w Create gamut X3DOM as well``
` `-n Don't add X3DOM axes``
` `-a n Gamut transparency level``
` `-d n Gamut surface detail level``
` `-e Create VRML edge plot``
` `-E Create VRML all possible edge plot``
` `-F Create VRML face plot`
`-t num Invoke debugging test code "num" 1..n``
` `1 - check partial derivative for device input``
` `2 - create overlap diagnostic X3DOM gamut surface``
` `profile.mpp Profile to be used`
The colors to be translated should be fed into standard input,
one input color per line, white space separated.
A line starting with a # will be ignored.
A line not starting with a number will terminate the program.

### Usage Details and Discussion

This is an analogous tool to icclu , but applying to MPP profile, rather than ICC profiles. Because MPP profiles can also contain a spectral description of device behavior, there are extra options in mpplu to describe how to convert spectral values into CIE tristimulus values.
Some additional functionality is included in mpplu, analogous to iccgamut, allowing gamut files and images to be generated from MPP profiles.
The -v flag causes extra information about the profile to be printed.
The -f flag is experimental, and should be ignored.
Normally L*a*b* is displayed, but this can be changed using the the -p flag and XYZ, Yxy, or spectral values to be be displayed.
If an illuminant, observer or Fluorescent Whitening Agent compensation is selected, then the CIE tristimulus values will be computed from the spectral information in the MPP profile (if present).
The -l flag overrides any default ink limit (Total Area Coverage) recorded in the profile. The ink limit has an effect on the results of a gamut generated from the profile.
The -i flag allows specifying a standard or custom illumination spectrum, applied to reflective spectral profile data to compute CIE 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 spectrum file.
The -o flag allows specifying a tristimulus observer, and is used to compute PCS (Profile Connection Space) 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.
2015_2 selects the standard CIE 2015 2 degree observer
2015_10 selects the standard CIE 2015 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.
The -u flag enables Fluorescent Whitening Agent compensation, which compensates for the effect a different illuminant will have, on any Fluorescent Whitening Agent present in the reflective media.
The -s flag causes the spectral values for each lookup to be printed, if the profile supports this.
The -S flag causes the spectral values for each lookup to be ploitted, if the profile supports this.
The -g flag causes mpplu to simply generate a gamut surface description from the profile, creating a .gam file with the same base name as the given profile.
The -w flag causes the gamut surface to be generated in X3DOM format as well as .gam format.
The -n flag suppresses the X3DOM axes.
The -a n parameter sets a transparency level in the X3DOM surface.
The -d parameter controls the level of detail displayed in the gamut 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 -e flag creates an X3DOM file named profile_e.x3d.html file containing a plot of the device cube/hyper-cube edges in colorspace. This can be useful in visualizing how the colorants interact.
The -E flag creates an X3DOM file named profile_e.x3d.html file containing a plot of all possible device cube/hyper-cube vertex paths in colorspace. This can be useful in visualizing how the colorants interact.
The -F flag creates an X3DOM file named profile_f.x3d.html file containing a plot of all possible device cube/hyper-cube 2 dimensional faces in colorspace. The faces will be randomly colored. This can be useful in visualizing how the colorants interact.
The -t parameter invokes special MPP test and diagnostic output.