From 094535c010320967639e8e86f974d878e80baa72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Image dependent gamut
+ mapping using device links
Linking Profiles
+
+ Transforming colorspaces of raster files
Creating Video Calibration 3DLuts
@@ -152,6 +157,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -219,6 +235,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -590,6 +617,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -649,6 +687,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -806,6 +855,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -873,37 +933,6 @@
-
-
-
- HCT :
-
-
-
-
- and Christophe
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -917,6 +946,24 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm
+
+ HCT :
+
+
+
+
+ and Christophe
+ Métairie's Digital TargeT 003 and Christophe
+ Métairie's Digital Target - 4 :
+
+
+
+ and the LaserSoft
@@ -928,9 +975,6 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm
-
- Métairie's Digital TargeT 003 and Christophe
@@ -976,35 +1020,20 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm
- Métairie's Digital Target - 3 :
+ Imaging DCPro Target:
-
+
- and the LaserSoft
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ The Datacolor SpyderCheckr:
+
+
+
+ One of the QPcard's:
+ QPcard
@@ -1027,21 +1056,6 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm
-
- Imaging DCPro Target:
-
-
-
- The Datacolor SpyderCheckr:
-
-
-
- One of the QPcard's:
- QPcard
@@ -1069,6 +1083,9 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm
+
+ 201: QPcard
@@ -1080,9 +1097,6 @@ href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.htm
-
- 201: QPcard
@@ -1234,6 +1248,17 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
+
+
+
+
+
+
+
+
+
+
@@ -1289,8 +1314,8 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
file should be used, and the cie reference files come with the chart.
- For the Christophe Métairie's Digital Target-3 chart with 570
- patches, the ref/CMP_Digital_Target-3.cht
+ For the Christophe Métairie's Digital Target-4 chart with 570
+ patches, the ref/CMP_Digital_Target-4.cht
file should be used, and the cie reference files come with the chart.
@@ -1355,6 +1380,17 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
+
+
+
+
+
+
+
+
+
+
@@ -1797,6 +1833,17 @@ href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.t
+
+
+
+
+
+
+
+
+
+
+
@@ -1935,6 +1982,17 @@ then
+
+
+
+
+
+
+
+
+
+
+
@@ -1972,6 +2030,12 @@ then
If you know what colorspace your originals are in, use that as the
argument to -S.
+ If your viewing environment for the display and print doesn't match
+ the ones implied by the -cmt and -dpp options, leave them out, and
+ evaluate what, if any appearance transformation is appropriate for
+ your environment at a later stage.
+
Make sure you check the delta E report at the end of the profile
creation, to see if the sample data and profile is behaving
reasonably. Depending on the type of device, and the consistency of
@@ -2050,6 +2114,17 @@ then
+
+
+
+
+
+
+
+
+
+
+
@@ -2504,6 +2579,17 @@ chart,
+
+
+
+
+
+
+
+
+
+
+
@@ -2559,6 +2645,17 @@ an
+
+
+
+
+
+
+
+
+
+
+
@@ -2606,6 +2703,17 @@ an
+
+
+
+
+
+
+
+
+
+
+
@@ -2661,6 +2769,17 @@ a
+
+
+
+
+
+
+
+
+
+
+
@@ -2721,16 +2840,22 @@ a
To apply color management and calibration to a raster image:
- cctiff Source2Destination.icm PrinterA_c.cal infile.tif
- outfile.tif
+ cctiff
+ Source.icm PrinterA.icm PrinterA_c.cal
+ infile.tif outfile.tif
+
or
- cctiff Source2Destination.icm PrinterA_c.cal infile.jpg
- outfile.jpg
+ cctiff
+ Source.icm PrinterA_c.icm
+ infile.tif outfile.tif
+
+ [ Note that cctiff will also process JPEG raster images. ]
Another useful tool is synthcal, that
allows creating linear or synthetic calibration files for disabling
@@ -2738,6 +2863,11 @@ a
Similarly, fakeread also supports
applying calibration curves and embedding them in the resulting .ti3
file
+
+ If you want to create a pre-conditioning profile for use with targen -c, then use the PrinterA.icm
+ profile, NOT PrinterA_c.icm that has calibration curves
+ applied.
How profile ink limits are handled when
calibration is being used.
Even though the profiling process is carried out on top of the
@@ -2808,6 +2938,11 @@ a
DestinationProfile.icm Source2Destination.icm
+ [ If your viewing environment for the display and print doesn't
+ match the ones implied by the -cmt and
+ -dpp options, leave them out, and
+ evaluate what, if any appearance transformation is appropriate for
+ your environment at a later stage. ]
In inverse output table gamut mapping mode,
the pre-computed intent mappings inside the profiles are not used,
@@ -2848,6 +2983,53 @@ a
for the type of device the profile represents, and the conditions
under which it will be viewed.
+ Image dependent gamut mapping using device
+ links
+ When images are stored in large gamut colorspaces (such as. L*a*b*
+ or ProPhoto, etc.), then using the colorspace gamut as the source
+ gamut for gamut mapping is generally a bad idea, as it leads to
+ overly compressed and dull images. The correct approach is to use a
+ source gamut that represents the gamut of the images themselves.
+ This can be created using tiffgamut, and an example workflow is as
+ follows:
+
+
+ tiffgamut -f80 -pj -cmt ProPhoto.icm
+ image.tif
+
+ collink -v
+ -qh -G image.gam -ip
+ -cmt -dpp
+ ProPhoto.icm RGBDestinationProfile.icm
+ Source2Destination.icm
+
+ cctiff Source2Destination.icm
+ image.tif printfile.tif
+
+ The printfile.tif is then send to the printer without color
+ management, (i.e. in the same way the printer characterization test
+ chart was printed), since it is in the printers native colorspace.
+
+ You can adjust how conservatively the image gamut is preserved using
+ the tiffgamut -f parameter. Omitting it or using a larger value (up
+ to 100) preserves the color gradations of even the lesser used
+ colors, at the cost of compressing the gamut more.
+ Using a smaller value will preserve the saturation of the most
+ popular colors, at the cost of not preserving the color gradations
+ of less popular colors.
+
+ You can create a gamut that covers a set of source images by
+ providing more than one image file name to tiffgamut. This may be
+ more efficient for a group of related images, and ensures that
+ colors are transformed in exactly the same way for all of the
+ images.
+
+ The arguments to collink should be appropriate for the output device
+ type - see the collink examples in the above section.
Soft Proofing Link
Often it is desirable to get an idea what a particular devices
output will look like using a different device. Typically this might
@@ -2872,6 +3054,11 @@ a
the viewing conditions and assumes adaptation to the differences in
the luminence range, but otherwise not attempting to compress or
change the gamut.
+
+ If your viewing environment for the display and print doesn't match
+ the ones implied by the -cpp and -dmt options, then either leave them out
+ or substitute values that do match your environment.
Transforming colorspaces of raster files
@@ -2938,16 +3125,31 @@ a
Argyll's normal test patch display will be used by default, as long
as any video encoding range considerations are dealt with (see
- Signal encoding below). An alternative when working with MadVR V
- 0.86.9 or latter, is to use the madTPG to display the patches in
- which case the MadVR video encoding range setting will operate. This
- can give some quality benefits due to MadVR's use of dithering. To
- display patches using MadVR rather than Argyll, start madTPG and
- then use the option "-d madvr" in dispcal, dispread and dispwin.
- Leave the MadTPG "VideoLUT" and "3dluts" buttons in their
- default (enabled) state, as the various tools will
- automatically take care of disabling the 3dLut and/or calibration
- curves as needed.
+ Signal encoding below).
+
+ An alternative when working with MadVR V 0.86.9 or latter, is to use
+ the madTPG to display the patches in which case the MadVR video
+ encoding range setting will operate. This can give some quality
+ benefits due to MadVR's use of dithering. To display patches using
+ MadVR rather than Argyll, start madTPG and then use the option "-d
+
+
+
+ madvr" in dispcal, dispread and dispwin. Leave the MadTPG
+ "VideoLUT" and "3dluts" buttons in their default (enabled)
+ state, as the various tools will automatically take care of
+ disabling the 3dLut and/or calibration curves as needed.
+
+ Another option is to use a ChromeCast
+ using the option "-dcc" in dispcal, dispread and dispwin.
+ Note that the ChromeCast as a test patch source is probably the
+ least accurate of your choices, since it up-samples the test
+ patch and transforms from RGB to YCC and back, but should be
+ accurate within ± 1 bit. You may have to modify any firewall to
+ permit port 8081 to be accessed on your machine if it falls back to
+ the Default receiver (see installation
+ instructions for your platform).
2) White point calibration & neutral axis calibration.
A Device Link is capable of embodying all aspects of the
calibration, including correcting the white point and neutral axis
@@ -2982,6 +3184,17 @@ a
package could be used, or ArgyllCMS dispcal's
+
+
+
+
+
+
+
+
+
+
+
interactive adjustment mode can be used to set the white point.
Note that while adjusting the neutral axis for neutrality may
@@ -3004,7 +3217,18 @@ a
and 3dLut will set the final response. If this approach is
taken, then the resulting calibration file should be provided to
dispread as the -k parameter or -K parameter. See also below Choice
+ href="dispcal.html#K">-K parameter. See also below Choice
+
+
+
+
+
+
+
+
+
+
+
of where to apply display per channel calibration curves.
+ this). It may also improve the accuracy of the display profile if
+ you use the dispread -Z option to
+ quantize the test values to the precision of the display
+ system. Don't use the -E options on dispcal and dispread, nor
+ the -Z option on dispread if you are using MadVR to display test
+ patches using the "-d madvr" option.
Once the profile has been created, it is possible to then use the
resulting Device Link/3DLut with signal encoding other than full
@@ -3206,9 +3434,9 @@ a
near black will get clipped to the display black point, loosing
shadow detail. To avoid this, some sort of black point mapping is
usually desirable. There are two mechanisms available in collink:
- a) BT.1886 black point mapping, or b) using one of the smart gamut
- mapping intents that does black point mapping (e.g. la, p, pa, ms
- or s).
+ a) Custom EOTF with input and/or output black point mapping, or b)
+ using one of the smart gamut mapping intents that does black point
+ mapping (e.g. la, p, pa, ms or s).
@@ -3223,30 +3451,56 @@ a practice that much video material is adjusted to look as intended when displayed on a reference monitor having a display gamma of somewhere between 2.2 and 2.4, viewed in a dim viewing - environment. The modern standard covering the display transfer - curve is BT.1886, - which defines a pure power 2.4 curve with a black point offset. So - another means of making the viewing adjustment is to apply the - BT.1886-like response to Rec709 encoded material. Collink supports - this using the -I b, and allows some - control over the degree of viewing conditions adjustment by - overriding the BT.1886 gamma using the -I b:g.g parameter. This is the recommended - approach to start with, since it gives good results with a single - parameter.
The addition of a second optional parameter -I b:p.p:g.g + allows control over the degree of black point offset accounted for + as an output offset, as opposed to input offset Once the effective + gamma value has been chosen to suite the viewing conditions and + set the overall contrast for mid greys, increasing the proportion + of black offset accounted for in the output of the curve is a way + of reducing the deep shadow detail, if it is being overly + emphasized.
An alternate approach to making this adjustment is to take advantage of the viewing conditions adjustment using the CIECAM02 model available in collink. Some control over the degree of viewing conditions adjustment is possible by varying the viewing condition parameters.
A third alternative is to combine the two approaches. The source - is defined as Rec709 rendered to a model BT.1886 display in dim - viewing conditions, and then CIECAM02 is used to adjust for the - actual display viewing conditions. Once again, control over the - degree of viewing conditions adjustment is possible by varying the - viewing condition parameters.
+ is defined as Rec709 primaries with a BT.1886-like EOTF display in + dim viewing conditions, and then CIECAM02 is used to adjust for + the actual display viewing conditions. Once again, control over + the degree of viewing conditions adjustment is possible by varying + the viewing condition parameters
+
9) Correcting for any black point inaccuracy in the display
+ profile
+
Some video display devices have particularly good black points,
+ and any slight raising of the black due to innacuracies in the
+ display profile near black can be objectionable. As well as using
+ the targen -V flag to improve
+ accuracy near black during profiling, if the display is known to
+ be well behaved (ie. that it's darkest black is actually at RGB
+ value 0,0,0), then the collink -b
+ flag can be used, to force the source RGB 0,0,0 to map to the
+ display 0,0,0.
+
targen -v -d3 -e1 -m6 -f0 -W verify
We make sure there is at least one white patch usin g -e1, a 20%
- increment grid using -m6, no full spread patches, and create a
- VRML 3d visualization of the point set using the -W flag. It is
- good to take a look at the verifyd.wrl file using a VRML viewer.
- You may want to create several test sets that look at particular
- aspects, ie. neutral axis response, pure colorant responses, etc.
+ increment grid using -m6, no full spread patches, and create an
+ X3DOM 3d visualization of the point set using the -W flag. It is
+ good to take a look at the verifyd.x3d.html file using a Web
+ browser. You may want to create several test sets that look at
+ particular aspects, ie. neutral axis response, pure colorant
+ responses, etc.
Next we create a reference file by simulating the expected
response of the perfect video display system. Assuming the collink
@@ -3556,12 +3855,12 @@ a
would:
copy verify.ti1 ref.ti1
- fakeread -v -b TV.icm Rec709.icm ref
+ fakeread -v -b -Z8 TV.icm Rec709.icm ref
You should adjust the parameters as necessary, so that the
reference matches the link options. For instance, if your link
- options included "-I b:2.15" then the equivalent fakeread option
- "-b 2.15:TV.icm" should be used, etc.
+ options included "-I b:0.2:2.15" then the equivalent fakeread
+ option "-b 0.2:2.15:TV.icm" should be used, etc.
A sanity check we can make at this point is to see what the
@@ -3569,12 +3868,13 @@ a
simulating the reproduction of this test set:
copy verify.ti1 checkA.ti1
- fakeread -v -et -p HD.icm -Et TV.icm checkA
+ fakeread -v -et -Z8 -p HD.icm -Et TV.icm checkA
If you used collink -a, then the calibration incorporated in the device link needs to be undone to match what the display profile expects:
-fakeread -v -et -p HD.icm -Et -K TV.cal TV.icm checkA
+fakeread -v -et -Z8 -p HD.icm -Et -K TV.cal TV.icm + checkA
and then you can verify:
colverify -v -n -w -x ref.ti3 checkA.ti3
@@ -3590,10 +3890,10 @@ a
verify -v -N -w -x ref.ti3 checkA.ti3
This will give a numerical report of the delta E's, and also - generate a VRML plot of the errors in L*a*b* space. The important - thing is to take a look at the checkA.wrl file, to see if gamut - clipping is occurring - this is the case if the large error - vectors are on the sides or top of the gamut. Note that the + generate an X3DOM plot of the errors in L*a*b* space. The + important thing is to take a look at the checkA.x3d.html file, to + see if gamut clipping is occurring - this is the case if the large + error vectors are on the sides or top of the gamut. Note that the perfect cube device space values become a rather distorted cube like shape in the perceptual L*a*b* space. If the vectors are small in the bulk of the space, then this indicates that the link @@ -3612,22 +3912,23 @@ a
iccgamut -ff -ia Rec709
iccgamut -ff -ia TV.icm
- viewgam -i Rec709.gam TV.gam gamuts.wrl
+ viewgam -i Rec709.gam TV.gam gamuts
and look at the gamuts.wrl file, as well as taking notice of % of - the video volume that the display intersects. The VRML solid +
and look at the gamuts.x3d.html file, as well as taking notice of
+ % of the video volume that the display intersects. The X3DOM solid
volume will be the video gamut, while the wire frame is the
display gamut. If you are not targetting D65 with your display,
you should use iccgamut -ir instead of -ia, so as
to align the white points.
The main check is to actually measure the display response and
- compare it against the reference. Make sure the display is setup
- as you would for video playback and then use dispread:
+
The main verification check is to actually measure the display
+ response and compare it against the reference. Make sure the
+ display is setup as you would for video playback and then use
+ dispread:
copy verify.ti1 checkB.ti1
- dispread -v checkB
+ dispread -v -Z8 checkB
You would add any other options needed (such as -y etc.) to set your instrument up properly. If you are using madTPG, then -- cgit v1.2.3