target/targen
    Summary
    Generate a profiling test target values .ti1 file.  targen
    is used to generate the device channel test point values for
    grayscale, RGB, CMY, CMYK or N-color output or display devices. 
    
    [ Note though that colprof will only create RGB, CMY or CMYK
    profiles. ]
    Usage Summary
    targen [options]
        outfile
       -v [level]     
        Verbose mode [optional verbose level, 1..n]
       -d col_comb     choose
        colorant combination from the following:
                          
        0: Print grey
                 
                 1: Video grey
              
                    2: Print RGB
           
             
                 3: Video RGB
            
           
                  4: CMYK
                            
        5: CMY
          
             
                  6: CMYK +
        Light CM
           
 
                     7:
        CMYK + Light CMK
               
 
 
  
   
8:
CMYK
+
Red
        + Blue
          
              
                 9: CMYK +
        Orange + Green
          
              
                10: CMYK + Light CMK
        + Light Light K
          
             
                 11: CMYK +
        Orange + Green + Light CM
           
 
                    12:
        CMYK + Light CM + Medium CM
       -D colorant     Add or
        delete colorant from combination:
             
                    
        0: Additive
           
          
                   
        1: Cyan
          
            
                   2:
        Magenta
          
            
                   3:
        Yellow
                
                  4: Black
               
                   5:
        Orange
              
           
        6: Red
             
            
        7: Green
             
            
        8: Blue
           
              
        9: White
             
            
        10: Light Cyan
            
             
        11: Light Magenta
            
             
        12: Light Yellow
             
                 
           13: Light Black
             
            
        14: Medium Cyan
              
           
        15: Medium Magenta
              
           
        16: Medium Yellow
              
                    17:
        Medium Black
                
                  18: Light
        Light Black
         -G             
        Generate good optimzed points rather than Fast
       -e patches      White
        color test patches (default 4)
     -B patches     
            Black test patches (default 4 Grey/RGB, else 0)
            -s
        steps       
        Single channel steps (default 0)
       -g steps       
Gray
axis
RGB
or
CMY
steps
(default
        0)
       -m steps       
        Multidimensional device space cube steps (default 0)
     -b steps       
            Multidimensional body centered cubic steps (default 0)
            -f
        patches     
        Add iterative & adaptive full spread patches to total
        (default 836)
                            
        Default is Optimised Farthest Point Sampling (OFPS)
        -t            
 
 
Use
incremental
far
point
for
        full spread
        -r            
 
 
Use
device
space
random
for
        full spread
        -R            
 
 
Use
perceptual
space
random
for
        full spread
        -q            
 
 
Use
device
space-filling
quasi-random
for
        full spread
       
      -Q
                   
            Use perceptual space-filling quasi-random for full
        spread
      -i            
 
 
Use
device
space
body
centered
        cubic grid for full spread
        -I            
 
 
Use
perceptual
space
body
centered
        cubic grid for full spread
        -a angle          
Simplex
grid
angle
0.0
-
0.5
for
        B.C.C. grid, default 0.333300
        -A adaptation     
        Degree of adaptation of OFPS 0.0 - 1.0 (default 0.1, 1.0 if -c
        profile provided)
       -t             
Use
incremental
far
point
for
full
spread
        (default iterative)
       -l ilimit      
Total
ink
        limit in %(default = none, or estimated from profile)
       -p power       
Optional
power-like
value
applied
to
all
device
        values.
     -c profile     
        Optional device ICC or MPP pre-conditioning profile filename
         -N nemphasis    Degree of
        neutral axis patch concentration 0-1. (default 0.50)
     -V
              demphasis    dark region patch
            concentration 1.0-4.0 (default 1.0 = none)
        -F
        L,a,b,rad   
        Filter out samples outside Lab sphere.
         -O             
        Don't re-order display RGB patches for minimum delay
     -U
                        
            Don't filter out duplicate patches
           -w             
        Dump diagnostic outfile.x3d.html file (Lab locations)
       -W
                    
        Dump diagnostic outfile.x3d.html file (Device locations)
     outfile        
        Base name for output(.ti1) 
    Usage Details and Discussion
    
    The number of target patches needs to be chosen, depending on the
    media size, the type of device, and the quality of profile required.
    For an inkjet device, something like 3000 test points or more is
    desirable for high quality profiles, while 500-1000 will probably
    suffice for a medium quality profile. A few hundred may be
    sufficient for a preliminary profile. Well behaved printing devices
    (such as a chemical proof, or a high quality printing press) may
    produce good profiles with 1000 to 2000 test points. Well behaved
    RGB devices such as CRT monitors may need only a few hundred points,
    if a shaper/matrix type profile is to be produced, while pseudo RGB
    printers, or other RGB devices that a CLUT type profile may be used
    with, should probably choose somewhere between 500 and 3000 patches.
    For 'N' color profile creation, 3000 or more test points should
    probably be used.
    
     The -v flag turns on extra verbosity when
    generating patch values. Extra diagnostics and verbosity may be
    available if a parameter is provided with a value greater than 1.
    
     The -d parameter sets the colorspace the
    test values will be generated in. Video gray space is assumed to be
    an additive space, where a zero device value will be black, and a
    maximum device value will be white. A print gray space is assumed to
    be a subtractive space, in which a zero device value will be white,
    and a maximum device value will be black. If no colorspace is
    specified, subtractive CMYK is assumed as a default.
    
     The -D parameter modifies the colorspace
    set by -d by allowing
    individual colorants to be added or subtracted from the colorspace.
    
     The -G flag changes the Incremental Far
    Point Distribution algorithm from fast to good mode. Fast mode uses
    a limited number of iterations to optimize the patch locations,
    while good mode strives for a more even patch distribution by using
    more iterations.
    
    The composition of the test patches is controlled by the following
    flags and parameters:
    
     The -e parameter sets the number of white
    colored test patches, defaulting to 4 if the -e flag isn't used. The
    white patches are usually very important in establishing white point
    that the ICC data is made relative to, so it improves robustness to
    use more than a single point.
    
     The -B parameter sets the number of black
    colored test patches, defaulting to 4 if the -B flag isn't used and
    the colorspace is grey or RGB. The black point can be very important
    for characterizing additive color spaces, so measuring more than one
    black patch improves robustness over measuring just a single point.
    
     The -s parameter sets the number of patches
    in a set of per colorant wedges. The steps are evenly spaced in
    device space by default, and the total number of test patches will
    be the number of colorants times the value specified with the -s
    flag. If the -p parameter
    is provided, then, then the steps will be distributed according to
    the power value. e.g. the option -s
      5 will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while
    the option -s 5 -p 2.0 will
    generate steps at 0.0 0.0625 0.25 0.5625 and 1.0. By default, no per
    colorant test wedge values are generated. When creating a test chart
    for a device that will be used as a source colorspace, it is often
    useful to generated some per colorant wedge values.
    
     The -g parameter sets the number of patches
    in a set of combined (nominally gray) wedges. This will typically be
    equal RGB or CMY values, and by default will be equally spaced steps
    in device space. If the -p
    parameter is provided, then, then the steps will be distributed
    according to the power value. e.g. the option -g 5 will generate steps at 0.0
    0.25 0.5 0.75 and 1.0, while the option -g 5 -p 2.0 will generate steps at 0.0 0.0625 0.25
    0.5625 and 1.0. By default, no gray combination values are
    generated. When creating a test chart for a device that will be used
    as a source colorspace, it is often useful to generated some per
    colorant wedge values.
    
     The -m parameter sets the edge size of the
    multidimensional grid of test values. The total number of patches of
    this type will be the -m parameter value to the power of the number
    of colorants. The grid steps are evenly spaced in device space by
    default, but if the -p
    parameter is provided, then, then the steps will be distributed
    according to the power value. e.g. the option -m 5 will generate steps at 0.0
    0.25 0.5 0.75 and 1.0, while the option -m 5 -p 2.0 will generate steps at 0.0 0.0625 0.25
    0.5625 and 1.0. By default, all the device primary color
    combinations that fall within the ink limit are generated..
    
     The -b parameter sets the outer edge size
    of the multidimensional body centered grid of test values. The total
    number of patches of this type will be the -b parameter value to the
    power of the number of colorants plus the (number-1) to the power of
    the number of colorants. The grid steps are evenly spaced in device
    space by default, but if the -p
    parameter is provided, then, then the steps will be distributed
    according to the power value. A body centered grid is a regular grid
    (see -m) with another smaller regular grid within it, at the
    centers of the outer grid. This grid arrangement is more space
    efficient than a regular grid (ie. for a given number of test
    points, it fills the space better.)
    
    The behavior of the -e, -s, -g -m and
    -b flags, is not to duplicate test values already created by
    a previous type.
    
     The -f parameter sets the number of full
    spread test patches. Full spread patches are distributed according
    to the default or chosen algorithm. The default algorithm will
    optimize the point locations to minimize the distance from any point
    in device space, to the nearest sample point. This is called
    Optimized Farthest Point Sampling (OFPS) . This can be overridden by
    specifying the -t. -r, -R, -q, -i or -I flags. If the
    default OFPS algorithm is used, then adaptive test point
    distribution can be fully enabled by supplying a previous or typical
    profile with the -c option.
    The total number patches specified will include any patches
    generated using the -e, -s, -g -m
    and -b flags (i.e. full spread patches will be added to
    bring the total number of patches including those generated using
    the -e, -s, -g -m and -b
    flags up to the specified number). When there are more than four
    device channels, the full spread distribution algorithm can't deal
    with so many dimensions, and targen falls back on an
    incremental far point distribution algorithm by default, that
    doesn't generate such evenly spread points. This behaviour can be
    forced using the -t flag. A table of
    useful total patch counts for different paper sizes is shown below.
    Note that it's occasionally the case that the OFPS algorithm will
    fail to complete, or make very slow progress if the -c profile is poor, non-smooth,
    or has unusual behaviour. In these cases a different algorithm
    should be chosen (ie. -Q or
    -I), or perhaps a smoother
    or lower resolution ("quality") previous profile may overcome the
    problem. 
    
     The -t flag overrides the default full
    spread test patch algorithm, and makes use of the Incremental Far
    Point Distribution algorithm, which incrementally searches for test
    points that are as far away as possible from any existing points.
    This is used as the default for dimensions higher than 4.
    
     The -r flag overrides the default full
    spread test patch algorithm, and chooses test points with an even
    random distribution in device space.
    
     The -R flag overrides the default full
    spread test patch algorithm, and chooses test points with an even
    random distribution in perceptual space.
    
     The -q flag overrides the default full
    spread test patch algorithm, and chooses test points with a
    quasi-random, space filling distribution in device space.
    
     The -Q flag overrides the default full
    spread test patch algorithm, and chooses test points with a
    quasi-random, space filling distribution in perceptual space.
    
     The -i flag overrides the default full
    spread test patch algorithm, and chooses test points with body
    centered cubic distribution in device space.
    
     The -I flag overrides the default full
    spread test patch algorithm, and chooses test points with body
    centered cubic distribution in perceptual space.
    
     The -a angle parameter sets the
    overall angle that the body centered grid distribution has.
    
     The -A adaptation parameter sets
    the degree of adaptation to the known device characteristics, used
    by the default full spread OFPS algorithm. A profile should be
    provided using the -c
    parameter if adaptation
    is set above a low level. By default the adaptation is 0.1 (low),
    and 1.0 (maximum) if -c profile
    is provided, but these defaults can be overridden using this option.
    For instance, if the -c profile
    doesn't represent the device behavior very well, a lower adaption
    than 1.0 might be appropriate.
    
     The -l flag and parameter sets a total ink
    limit (Total Area Coverage or TAC), which is adhered to for all the
    generated points. It is generally good practice to set a test chart
    ink limit at least 10% higher than the ink limit that will be
    applied when making the resulting profile. In the case of device
    cube points, this can generate extra test values that lie at the ink
    limit boundary. For gray wedge values, any that exceed the ink limit
    are omitted. Full spread test values are all generated to lie within
    the ink limit. Although it doesn't make much sense, this parameter
    has an affect on additive device spaces (such as RGB), but should
    not normally be used with such devices. The total ink limit value
    will be written to the .ti1 file, and carried through automatically
    to the .ti3 file, so that it can be used during profile creation. If
    a profile is provided using the -c
    flag, then this will be used to estimate an ink limit, if none is
    provided with the -l flag.
    Ink limits are, as far as possible, always in final calibrated
    device values, and the calibration curves from the profile provided
    to the -c flag will be used
    to estimate the equivalent limit in the underlying pre-calibration
    device space values that targen creates.
    
     The -p flag and parameter sets a power-like
    value applied to all of the device values after they are generated,
    the spacer colors. This can be useful in creating
    calibration charts for very non-linearly behaved devices. A value
    greater than 1.0 will cause a tighter spacing of test values near
    device value 0.0, while a value less than 1.0 will cause a tighter
    spacing near device value 1.0. printcal
    will recommend a power-like value if the verbose option is used. [ Note that for Print RGB space
    this is reversed, since internally a Print RGB space is treated as a
    CMY space. ]. Note that the
    device model used to create the expected patch values will not take
    into account the applied power, nor will the more complex full
    spread algorithms correctly take into account the power in
    generating values up to the ink limits. (A power-like function is
    used, to avoid the excessive compression that a real power function
    would apply).
    
     The -c flag and parameter is used to
    specify an ICC or MPP pre-conditioning profile, for
    estimating perceptual distances and colorspace curvature, used in
    optimizing the full spread test point placement,or in creating
    perceptualy spaced distributions. Normally a previous profile for
    this or a similar device will be used, or a simpler, preliminary
    profile will be created and used. If no such profile is specified, a
    default device space model is used. Note that this will only have an
    effect if an algorithm that uses perceptual placement (such as -R, -Q, -I or the default OFPS
    with an -A value > 0.0)
    is being used.
    
     The -N nemphasis parameter allows changing
    the degree to which the patch distribution should emphasise the
    neutral axis. Since the neutral axis is regarded as the most
    visually critical are of the color space, it can help maximize the
    quality of the resulting profile to place more measurement patches
    in this region. This emphasis is only effective for perceptual patch
    distributions, and for the default OFPS distribution if the adaptation parameter is set to a high value. It is
    also most effective when a pre-conditioning
    profile is provided, since this is the only way that neutral can be
    determined. The default value of 0.5 provides an affect about twice
    the emphasis of the CIE94 Delta E formula.
    
     The -V demphasis parameter allows changing
    the degree to which the patch distribution should emphasis dark
    region of the device response. Display devices used for video or
    film reproduction are typically viewed in dark viewing environments
    with no strong white reference, and typically employ a range of
    brightness levels in different scenes. This often means that the
    devices dark region response is of particular importance, so
    increasing the relative number of sample points in the dark region
    may improved the balance of accuracy of the resulting profile for
    video or film reproduction. This emphasis is only effective for
    perceptual patch distributions where a pre-conditioning
    profile is provided. The default value of 1.0 provides no emphasis
    of the dark regions. A value somewhere around 1.5 - 2.0 is a
    good place to start for video profile use. A scaled down version of
    the -V parameter will be passed on through the .ti3 file to colprof
    where it will set a default value for the corresponding colprof -V parameter.  Note that
    increasing the proportion of dark patches will typically lengthen
    the time that an instrument takes to read the whole chart.
    Emphasizing the dark region characterization will reduce the
    accuracy of measuring and modelling the lighter regions, given a
    fixed number of test points and profile quality/grid resolution. The
    parameter will also be used in an analogous way to the -p power value in changing the
      distribution of -s steps,
    -g steps, -m steps and -b steps patches.
    
     The -F flag and parameters is used to
    define an L*a*b* sphere to filter the test points through. Only test
    points within the sphere (defined by it's center and radius) will be
    written to the .ti1 file. This can be good for targeting
    supplemental test points at a troublesome area of a device. The
    accuracy of the L*a*b* target will be best when the -c option is used to specify a
    reasonably accurate profile for the device. Note that the actual
    number of points generated can be hard to predict, and will depend
    on the type of generation used. All means of generating points
    except the -f N & -r, -R and -q will generate a smaller number
    of test points than expected. If the -f N & -r, -R and -q
    methods are used, then the target number of points will be achieved.
    For this reason, the -f N -q method is probably the easiest to use.
    
     The -O flag disables the normal patch
    re-ordering used for display RGB sets. Displays are assumed to have
    a "settling time", and the delay needed for this settling time can
    be minimzed by sort the patches so that they are in an order which
    minimizes the change in levels between patches. -O disables
    this re-ordering, leaving the patches in whatever order they were
    generated.
    
     The -U flag disables the normal filtering
    out of duplicate patches.
    
     The -w flag causes a diagnostic X3DOM .x3d.html file to be
    created, in which the test points are plotted as small spheres in
    L*a*b* colorspace. Note that for a CMYK device, the point spacing
    may seem strange, since the extra K dimension is compressed into the
    3 dimensional L*a*b* space. If the -W flag is given, the plot will
    be in device space, with only the first 3 dimensions of each point
    being plotted.
    
     The final parameter on the command line is the
    base filename for the .ti1
    output file. targen will add the .ti1 extension
    automatically.
    
    Some typical total patch number/paper size combinations are shown
    below. These "magic" numbers are found by using printtarg to compute the row length and
    number of rows, and then adjusting the total number of patches to
    fill the last row or paper size, in a trial and error fashion.
    
    Note that some people create charts with larger numbers of patches
    for the ColorMunki by altering an Eye-One Pro chart, and making
    scanning jigs to guide the instrument more accurately. This may
    reduce patch reading accuracy unless suitable care is taken.
    
          Size (mm/Standard Name),
      No. Patches
    
    DTP20:
    
          1 x A4        540
          2 x A4       1080
          3 x A4       1620
          4 x A4       2160
    
          1 x Letter    570
          2 x Letter   1140
          3 x Letter   1710
          4 x Letter   2280
    
    DTP 22:
    
          1 x A4        782
          2 x A4       1564
    
          1 x Letter    736
          2 x Letter   1472
    
      DTP41:
    
          1 x A4          
            375
          2 x A4        
              750
          3 x A4        
             1125
          4 x A4        
             1500
    
          1 x Letter          
        345
          2 x Letter          
        690
          3 x Letter          
       1035
          4 x Letter          
       1380
    
          1 x A3     
                 836
          2 x A3     
                1672
    
          1 x 11x17          
       780
          2 x 11x17          
      1560
    
    
      DTP51:
    
          1 x A4          
            266
          2 x A4        
              532
          3 x A4        
              798
          4 x A4        
             1064
    
          1 x Letter          
       252
          2 x Letter          
       504
          3 x Letter          
       756
          4 x Letter          
      1008
    
          1 x A3     
                580
          2 x A3     
               1160
    
          1 x 11x17          
      570
          2 x 11x17        
       1140
    
      SpectroScan with square patches:
    
          1 x A4R       1014
          2 x A4R       2028
          3 x A4R      
    3042
          4 x A4R      
    4056
    
          1 x LetterR    999
          2 x LetterR   1998
          3 x LetterR   2997
          4 x LetterR   3996
    
      SpectroScan with hexagonal patches:
    
          1 x A4R       1170
          2 x A4R       2340
          3 x A4R      
    3510
          4 x A4R      
    4680
    
          1 x LetterR   1092
          2 x LetterR   2184
          3 x LetterR   3276
          4 x LetterR   4368
    
      Eye-One Pro:
    
          1 x A4        441
          2 x A4        882
          3 x A4       1323
          4 x A4       1764
    
          1 x Letter    462
          2 x Letter    924
          3 x Letter   1386
          4 x Letter   1848
    
      ColorMunki:
    
          1 x A4    
         90
          2 x A4         180
          3 x A4    
        270
          4 x A4   
         360
    
          1 x Letter      98
          2 x Letter     196
          3 x Letter     294
          4 x Letter     392
    
      ColorMunki -h:
    
          1 x A4        210
          2 x A4        420
          3 x A4    
       630
          4 x A4   
        840
    
          1 x Letter    196
          2 x Letter    392
          3 x Letter    588
          4 x Letter    784
    
      Scanner (printtarg with -iSS -s options):
    
           1 x A4R      1014
           2 x A4R      2028
           3 x A4R      3042
           4 x A4R      4056
    
           1 x LetterR   962
           2 x LetterR  1924
           3 x LetterR  2886
           4 x LetterR  3848