tweak/refine
Summary
Refine creates an abstract
profile, by comparing CIE measurement values from two
test charts. The charts will usually be in .ti3
format, but only XYZ, Lab or spectral values will be used. Typically
the charts would be printed on a target system (the one being emulated,
say a printing press), and the proofing system (the one that is being
profiled). The abstract profile that refine
produces will be a correction that makes the proofing system behave
more
like the target. This can then be used to recreate the proofing systems
ICC profile, or device link. By feeding a previous abstract correction
profile in as well, iterative improvement can be made to the proofing
reproduction.
verify is a useful utility to use on the two
test charts, to check how well the refinement is proceeding.
Usage Summary
usage: refine [-options]
cietarget ciecurrent [outdevicc] [inabs] outabs
-v
Verbose
-c
Create initial abstract correction profile
-g
Don't impose output device gamut limit
-r
res Set
abstract profile clut resolution (default 33)
-d
factor Override default
damping factor (default 0.950000)
-i
illum Choose illuminant for spectral data:
A, D50 (def.), D65, F5, F8, F10 or file.sp
-o
observ Choose CIE Observer
for spectral data:
1931_2, 1964_10, S&B 1955_2, J&V 1978_2 (def.)
-f
Use Fluorescent Whitening Agent compensation on spectral data
cietarget Target CIE or
spectral values, CGATS file (e.g. .ti3)
ciecurrent Actual CIE or
spectral values, CGATS file (e.g. .ti3)
[outdevicc] Output device ICC
profile to set gamut limit (not used if -g)
[inabs]
Previous abstract correction ICC profile (not used if -c)
outabs
Created/refined abstract correction ICC profile
Usage Details
refine provides a way of improving the profile accuracy of a
proofing system.
The -v flag prints out extra information during the checking,
and prints each patch value, rather than just a summary.
The -c option is used when refine is being used for the first
time, and there is no previous abstract profile to continue refining.
If -c is used, then the name
of the previous abstract correction profile should not be supplied.
If the -g flag indicates that an output device profile is not
being supplied, and that corrections should be attempted, even if the
colors are outside the devices gamut. Normally an output device profile
is supplied, and corrections aren't applied to colors outside the
devices gamut, since this will not achieve anything useful, and can
distort the results.
If the -r parameter overrides the resolution of the CLUT grid
used in the abstract profile. By default the value is 33, but other
values can be chosen. An odd number is recommended.
If the -d parameter sets how aggressively refine should try
and
correct errors. Normally it will try and exactly compensate for the
color errors revealed in comparing the two measurement files, but if
the device behaviour is unusual, or not very repeatable, this may
result in successive applications of refine making things worse, rather
than better. If this is the case, try using a smaller number, such as
0.8, or 0.5.
The -i flag allows specifying a standard or custom illumination
spectrum, applied to the spectral test point values, 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 CIE tristimulus values. The following choices are available:
1931_2 selects the standard CIE 1931 2 degree observer.
1964_10 selects the standard CIE 1964 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
The -f 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.
Spectral patch information is needed for this to function.
If both CIE and spectral values are present in the input files, the CIE
values will be used by default. Using the -i, -o
or -f flag will force spectral
values to be used. The the -i,
-o or -f flags will apply to both the
target and measured input files.
cietarget
Is the filename of the target CIE or spectral values. This is a CGATS file (e.g. a .ti3 made using chartread). These are the color values
wanted for each patch in the test chart, typically the product of the
target print system.
ciecurrent
Is the filename of the
actual, current measured CIE or spectral values. This is a CGATS file (e.g. a .ti3 made using chartread). The errors between these patches
and the patches in the cietarget file
will be used to create a correction profile.
[outdevicc]
If the -g flag is not used,
then the output device ICC profile should be supplied here, to allow refine to limit its corrections to
colors that are within the gamut of the device.
[inabs]
After the first correction has been created, subsequent corrections
need to improve upon previous ones, so the previous correction profile
should be provided here. For the first correction, the -c flag should be used, and this
argument is omitted.
outabs
The name of the created or refined abstract correction ICC profile
Discussion
Refine is typically used in a
proofing situation, in which a verification chart is being used to
check the accuracy of a proofing system. (It might also be used for
more
arbitrary color alterations by created two test chart files by hand.)
By
using the errors between the target chart and the measured values,
refine attempts to improve the match between the proofing system and
its target.
There is facility in collink, colprof and revfix
to incorporate an abstract profile.
For systems using two device profiles or a device
link to convert between the target space printing files and the
proofing device space, the following would be a typical scenario:
We have a reference set of test chart
values, read from the target system reference.ti3.
The ICC profile for the target system is target.icm. The ICC profile for the
proofing system is proofer.icm.
If using a device link, the device link used to print proofer test
charts is currently target_proofer.icm:
First we print the test chart out on the proofing system and read it
in, resulting in a chart1.ti3
file.
Lets check how well the proofing system current matches using verify:
verify reference.ti3 chart1.ti3
We then create our initial abstract correction fix profile fix1.icm using refine:
refine -v -c reference.ti3 chart1.ti3
proofer.icm fix1.icm
Applying this to your process for creating the proofer device profile
or
target to proofing device link (choose one of the three options below,
depending whether you are using the proofer profile and just want to
alter its colorimetric B2A table using revfix,
whether you are going to recreate the proofer file from the original
measurement data using colprof,
or whether you are using a device link profile created using collink):
revfix -v -1 -ke -p fix1.icm proofer.icm
proofer_fix1.icm
or
copy proofer.ti3 proofer_fix1.ti3
colprof -v -p fix1.icm proofer_fix1
or
collink -v -s -ia -oa -p fix1.icm target.icm
proofer.icm target_proofer_fix1.icm
Note that the above example is a simple one - you should use all the
same options as you used to create your initial proofer.icm
or target_proofer.icm,
with the addition of the "-p fix1.icm" option to specify the abstract
correction profile be applied.
Use the proofer_fix1.icm or target_proofer_fix1.icm to
print out the test chart again, and read it in, resulting in chart2.ti3 file.
Lets check how well the proofing system matches after this first round
of refinement using verify:
verify reference.ti3 chart2.ti3
>>>
We
can then start another round of improvement:
We refine our previous abstract correction fix profile using refine:
refine -v reference.ti3 chart2.ti3 proofer.icm
fix1.icm fix2.icm
Applying this new abstract profile to our process for creating the
proofing device profile or link again:
revfix -v -1 -ke -p fix2.icm proofer.icm
proofer_fix2.icm
or
copy proofer.ti3 proofer_fix2.ti3
colprof -v -p fix2.icm proofer_fix2
or
collink -v -s -ia -oa -p fix2.icm target.icm
proofer.icm target_proofer_fix2.icm
Use the proofer_fix2.icm or target_proofer_fix2.icm to
print out the test chart again, and read it in, resulting in chart3.ti3 file.
Check again how well the proofing system matches after this first round
of refinement using verify:
verify reference.ti3 chart3.ti3
Rounds of improvements can be continues by looping back to >>>, being careful to
increment the
names of the fixN.icm, proofer_fixN.icm or target_proofer_fixN.icm and chartN.ti3files. Stop when
exhausted,
or if it looks like things are getting worse, rather than better. If
the latter happens, it might be good to revert to the results from a
previous round.