synthread
Author: Graeme Gill

## spectro/synthread

### Summary

Simulate the measurement of a devices response using a synthetic device model. This is intended for testing of profile creation accuracy. A device link separation or color space conversion can be applied before the print/measure simulation.

### Usage

synthread [-v] [separation.icm] inoutfile
-v Verbose mode
-p Use separation profile
-l Output Lab rather than XYZ
-0 pow Apply power to input device chanel 0-9 (after sep.)
-r level Add average random deviation of <level>% to input device values (after sep.)
-R level Add average random deviation of <level>% to output PCS values
-u Make random deviations have uniform distributions rather than normal
-b L,a,b Scale black point to target Lab value
[separation.icm] Device link separation profile
inoutfile Base name for input[.ti1]/output[.ti3] file
Examples
synthread xxxx testvalues
synthread -p xxx separation.icm testvalues

### Comments

The -v flag does nothing at the moment.
The -p flag enables a device to device value conversion before converting to expected PCS values.
The -l flag causes the CIE output values to be L*a*b* rather than the default XYZ values.
The -0, -1, -2 .. -9 parameters are a way of simulating changes in the behaviour of the simulated printing system. The parameter supplied to the flag will be used to modify the device values (after any separation is applied) by raising them to the power of the parameter. This applies a transfer curve to the simulated device response.
The -r parameter is a way of simulating instability in the behaviour of the simulated printing system. The parameter supplied to the flag will be used to scale a random offset added to the device values (after any separation is applied). The offset will be a normally distributed error with an average deviation of level%. A typically value supplied might be 1.0 to simulate 1% randomness.
The -R parameter is a way of simulating instability in the behaviour of the simulated measuring system. The parameter supplied to the flag will be used to scale a random offset added to the PCS values. The offset will be a normally distributed error with an average deviation of level%. A typically value supplied might be 1.0 to simulate 1% randomness.
The -u flag changes the distribution of the random offsets applied using the -r or -R flags, from the default standard deviation, to a uniform deviation distribution. The level is still specified as an average deviation.
The -b parameter is a way of simulating devices that have a different black point to the profile used. This only works if an ICC profile is used, and scales the black point to the parameter value. This will be done in XYZ space by default, and in L*a*b* space if the -l flag is used.
synthread is useful in creating artificial test value for testing colprof, as well as providing one path for turning an MPP profile into an ICC profile.
If a separation device profile is provided (e.g. from CMY -> CMYK, or perhaps CMYK->CMYK, to simulate a color correction step before "printing"), then this will be applied to the .ti1 device values, before converting the the device values into .ti3 PCS values.