A custom colour profile for a specific device is necessary to obtain the most accurate reproduction of colours in scanned slides. The requirements for constructing such a profile are:
The two main open source options are LProf and Argyll CMS. These seem to give similar quality results (see the comparison below), and while LProf has a GUI interface which makes it easier to use initially, the command line interface of Argyll CMS allows scripting of more complex operations.
The simplest (and usual) approach is to construct a profile for the film type of one specific IT8.7 slide. The following sh/bash script segments work under Ubuntu 10.04 with package argyll installed; minor changes may be required for a different OS:
# This should be the path to your IT8.7 slide scan scn='filename_of_it8_scan.tif' # This should be the path to the corresponding reference # file (the name is something like f070907.txt for Wolf # Faust targets) ref='filename_of_reference_file.txt' # The scanin tool needs the IT8.7 layout definition cht='/usr/share/color/argyll/ref/it8.cht' # Generate a diagnostic image so that one can check that # scanin correctly identified the IT8.7 patches in the scan dgi='scanin_diag.tif' # Measure the patches in the scan and write results, together # with reference data, into scan.ti3 scanin -v -p -dipo -O measurement.ti3 $scn $cht $ref $dgi > scanin.log
The algorithm used by scanin for auto-aligning the scan to the IT8.7 template does not work reliably for high resolution scans. If the diagnostic image indicates that it has failed, downsampling using Imagemagick usually seems to resolve the problem:
convert scan.tif -geometry 50% scan_lowres.tif
When a meaningful measurement file has been created, one can move on to building the actual device profile:
# Set up profile metadata mnf='Nikon' mdl='Coolscan 9000ED' dsc='Custom profile description here' cpr='Desired copyright notice here' # Using -ax gave lower dE in my experiments, but -al (the # default) is also worth trying. If a small profile is needed, # -qm seems to give only slightly higher dE values than -qh. opt='-ax -bn -nc -qh' # Create the profile colprof -v -A"$mnf" -M"$mdl" -D"$dsc" -C"$cpr" $opt -O profile.icc measurement > colprof.log
Finally, if desired, one can compute dE values for the profile applied to its own measurement data, and also VRML diagrams of the meaurement errors and profile gamut:
profcheck -c -w -e measurement.ti3 profile.icc > profcheck.log iccgamut -w profile.icc
Significantly more information, and Argyll CMS instructions for Windows users, are provided by Marcel Patek.
It is also possible to construct a composite profile for a number of different scans and reference files. Such a profile could be expected, for example, to give better performance for scans of a film type not represented in the available set of IT8.7 slides. Hal Engel has provided detailed instructions on how to create composite profiles using LProf. The procedure for creating composite measurement and reference files is quite tedious, but can be largely automated using the cgatscmpst bash script as follows:
# Arguments are the reference files to be included cgatscmpst ref1.txt ref2.txt ... > cmpstref.txt # Arguments are LProf measurement files which can be located # following the instructions by Hal Engel cgatscmpst msr1.cgt msr2.cgt ... > cmpstmsr.cgt
This script will also generate a valid composite measurement file for Argyll CMS if the arguments provided are a set of .ti3 measurement files. Once the composite reference and measurement files have been constructed, one can apply the relevant part of the single-scan profile construction procedure to generate a composite profile.
In the usage example above, the Argyll CMS profcheck utility is used to check the error in applying a profile to the measurement data used to construct it, but it can also be used to determine the error in applying a profile to a different set of measurement data. The table below displays the results of such a comparison. Each column corresponds to the measurement data for a different IT8.7 scan (a070525, e070508, f070907, and n060527 are Agfa RSX, Kodak Ektachrome, Fuji Provia, and Fuji Velvia 100 IT8.7 slides respectively), and each row corresponds to a different profile constructed using a selection of this measurement data. Profile names either indicate a single IT8.7 scan, or a composite profile (allcmpst was constructed from all four measurement files, agfjcmpst excluded the Ektachrome measurements, and fujicmpst made use of the Fuji Provia and Velvia 100 measurements), and the suffixes indicate the profile construction software and settings (_qh and _qm correspond to Argyll CMS colprof with high and medium quality respectively, and _r33 and _r20 correspond to LProf with resolution 33 and 20 respectively).
Profile | a070525 | e070508 | f070907 | n060527 | Mean | Max |
---|---|---|---|---|---|---|
allcmpst_qh | 0.50 / 2.45 | 0.55 / 2.48 | 0.43 / 3.11 | 0.61 / 2.76 | 0.52 / 2.70 | 0.61 / 3.11 |
allcmpst_qm | 0.95 / 3.51 | 0.94 / 3.89 | 0.90 / 3.00 | 1.07 / 3.15 | 0.96 / 3.39 | 1.07 / 3.89 |
allcmpst_r33 | 0.93 / 2.05 | 0.92 / 2.62 | 1.22 / 2.33 | 1.31 / 3.23 | 1.09 / 2.56 | 1.31 / 3.23 |
allcmpst_r20 | 0.95 / 1.93 | 0.92 / 2.80 | 1.27 / 2.73 | 1.32 / 3.19 | 1.11 / 2.66 | 1.32 / 3.19 |
agfjcmpst_qh | 0.42 / 3.13 | 1.57 / 6.59 | 0.33 / 2.12 | 0.49 / 3.29 | 0.70 / 3.78 | 1.57 / 6.59 |
agfjcmpst_qm | 0.90 / 7.58 | 1.65 / 6.11 | 0.74 / 5.93 | 1.02 / 4.84 | 1.08 / 6.12 | 1.65 / 7.58 |
fujicmpst_qh | 1.80 / 4.06 | 1.66 / 5.73 | 0.23 / 2.33 | 0.26 / 2.54 | 0.99 / 3.67 | 1.80 / 5.73 |
fujicmpst_qm | 1.86 / 6.41 | 1.78 / 6.39 | 0.62 / 5.60 | 0.71 / 5.21 | 1.24 / 5.90 | 1.86 / 6.41 |
n060527_r20 | 1.99 / 4.27 | 1.51 / 6.19 | 2.00 / 4.12 | 0.60 / 5.80 | 1.52 / 5.10 | 2.00 / 6.19 |
e070508_qh | 1.22 / 3.14 | 0.07 / 1.15 | 2.06 / 4.12 | 1.67 / 5.29 | 1.25 / 3.43 | 2.06 / 5.29 |
e070508_qm | 1.26 / 3.22 | 0.28 / 1.85 | 2.09 / 4.29 | 1.72 / 6.84 | 1.34 / 4.05 | 2.09 / 6.84 |
a070525_qm | 0.21 / 1.68 | 1.41 / 4.04 | 1.87 / 5.19 | 2.11 / 7.59 | 1.40 / 4.62 | 2.11 / 7.59 |
a070525_qh | 0.06 / 0.77 | 1.37 / 3.69 | 1.83 / 6.51 | 2.13 / 8.16 | 1.35 / 4.78 | 2.13 / 8.16 |
e070508_r20 | 1.25 / 5.25 | 0.64 / 2.67 | 2.15 / 6.08 | 1.90 /10.72 | 1.48 / 6.18 | 2.15 /10.72 |
n060527_qh | 2.03 / 4.26 | 1.56 / 6.44 | 2.16 / 4.27 | 0.06 / 1.11 | 1.45 / 4.02 | 2.16 / 6.44 |
n060527_qm | 2.03 / 4.77 | 1.58 / 6.18 | 2.17 / 4.36 | 0.18 / 2.42 | 1.49 / 4.43 | 2.17 / 6.18 |
f070907_qh | 1.74 / 4.29 | 2.05 / 4.18 | 0.06 / 0.67 | 2.20 / 6.59 | 1.51 / 3.93 | 2.20 / 6.59 |
f070907_qm | 1.76 / 4.27 | 2.10 / 4.17 | 0.18 / 1.35 | 2.22 / 6.10 | 1.57 / 3.97 | 2.22 / 6.10 |
f070907_r20 | 1.78 / 3.81 | 2.14 / 4.08 | 0.52 / 2.87 | 2.35 / 6.29 | 1.70 / 4.26 | 2.35 / 6.29 |
a070525_r20 | 0.51 / 2.44 | 1.36 / 4.14 | 1.88 / 5.01 | 2.36 / 8.45 | 1.53 / 5.01 | 2.36 / 8.45 |
f070907_r33 | 1.79 / 3.82 | 2.16 / 4.07 | 0.51 / 2.86 | 2.38 / 6.54 | 1.71 / 4.32 | 2.38 / 6.54 |
As might be expected, the composite profile constructed using all four measurements show the best overall performance across the measurement set.
The following table compares colour error measurements, on a Fuji Provia IT8.7 target, for scans made with Nikon CMS both off and on. The scan with Nikon CMS off was compared with the IT8.7 reference data using a custom profile constructed on a different scan of the same target (made more than a year after the test scan), and the scan with Nikon CMS on was compared with the IT8.7 reference data using the profile embedded in the image (extracted using exiftool with the -icc_profile flag). The dE values were computed using the Argyll CMS profcheck utility.
Scan | Profile | dE Mean | dE Max |
---|---|---|---|
Nikon CMS Off | Argyll F070907 | 0.66 | 2.16 |
Nikon CMS On | Nikon AdobeWide RGB | 4.35 | 9.08 |
While colour error measurements only represent one aspect of colour profile quality, these dE results do suggest that Nikon CMS performs relatively poorly compared with custom profiling and colour management external to Nikon Scsan.
The profiles are provided for reference purposes only -- one should not expect them to provide good results on any other Coolscan 9000ED than the one for which they were made.
Profile | CIE94 dE (mean/max) | Colour Error | Gamut |
---|---|---|---|
All Film | 0.39 / 2.98 | VRML | VRML |
Fuji Provia, Astia, and Sensia | 0.05 / 0.66 | VRML | VRML |
Fuji Velvia 100, 100F and Astia 100F | 0.05 / 1.00 | VRML | VRML |
Comments, suggestions, error corrections etc. are welcome.