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 (ie. all
    device space values are ignored). Typically the charts would be
    printed on a target system (the one being emulated, say a printing
    press, or created using an ideal target profile such as Rec709), and
    the proofing system (the device 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.
    
    colverify is a useful tool to use on the two
    test charts, to check how well the refinement is proceeding. If a
    white point relative match is being created (refine -R), then use
    veryify -N.
    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)
         -R           
Aim
        for white point relative match rather than absolute
         -f
            [illum]    Use Fluorescent Whitening Agent
            compensation [opt. simulated inst. illum.:
                           
            M0, M1, M2, A, C, D50 (def.), D50M2, D65, F5, F8, F10 or
            file.sp]
             -i illum      Choose
            illuminant for computation of CIE XYZ from spectral data
            & FWA:
                           
            A, C, D50 (def.), D50M2, 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.)
         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.
    
    If the -R flag is used,
    then refine creates an abstract profile for improving the match of
    the patch values when  interpreted in a white point relative
    (ie. Relative Colorimetric) intent. If used to create a corrected
    device link profile using collink,
    remember to create a Relative colorimetric intent device link
    profile.
    
    The -f flag enables Fluorescent Whitening Agent (FWA)
    compensation. This only works if spectral data is available and, the
    instrument is not UV filtered.  FWA compensation adjusts the
    spectral samples so that they appear to have been measured using an
    illuminant that has a different level of Ultra Violet to the one the
    instrument actually used in the measurement. The optional
    illumination parameter allows specifying a standard or custom
    illumination spectrum to be used as the similated instrument
    illuminant, overriding the default D50 or CIE computation
    illuminant used for FWA (see -i below). See colprof -f for
    a fuller explanation. The same value should be used as was used
    during the creation of the profile.
    
    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, D50M2,
      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. If FWA compensation is used during measurement, this
    illuminant will be used by default as the simulated instrument
    illuminant. The same value should be used as was used during the
    creation of the profile.
    
    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
    
    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
      colverify:
      
          colverify  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 colverify:
      
          colverify  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 colverify:
      
          colverify  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.