Adapted from Thomas Fors’ ACR Calibrator beta 3.8 [(c) 2005-2006 Thomas Fors]
With fragments from ACR Calibrator Rags v3.8 [(c) 2005 Rags Gardner]
Original license applies as listed in the source code.
The ACR Calibrator L script for Adobe Photoshop is used to calibrate a camera’s color response in an Adobe Camera Raw / Lightroom workflow. It uses the standardized colors of the GretagMacBeth ColorChecker target to calibrate the camera’s color response. The calibration is based on Thomas Fors’ ACR Calibrator script, which was the first automatic implementation of a calibration procedure suggested by Bruce Fraser.
ACR Calibrator L provides a number of enhancements, the most critical of which is that it performs a 6-dimensional calibration on the calibration sliders using all patches, rather than alternating calibration of red, green, and blue. In some situations, this improves the algorithm’s stability.
Important Note: Version 3.1 is the final release of ACR Calibrator L. Adobe’s DNG profile infrastructure (for ACR 4.5 and newer)provides a better way to deal with profiles going forward. A DNG profile can be created from a ColorChecker image using Adobe’s DNG Profile Editor. Note that the profiles that are created in this way using the most recent version of the Profile Editor are compatible with a scene-referred workflow. Also, ACR Calibrator L will most probably work with newer ACR versions (tested up to ACR 5.1), but will present an error message stating it hasn’t been tested.
Download
Current version: 3.1 (final release – 2 November 2008)
ACR-Calibrator-L-v31.jsx
Usage instructions
For detailed usage instructions of Thomas Fors’ original script (and updated
versions thereof), including instructions on how to photograph the ColorChecker target, visit http://www.fors.net/chromoholics/
To install the script, copy it to the Photoshop scripts directory and restart Photoshop. For use, open a well exposed image of a GretagMacBeth ColorChecker and draw a 4-point pen path in the center of the following patches: (1) dark brown (dark skin), (2) white, (3) black and (4) turquoise. Then, execute the script from the file->scripts menu. Upon starting, the script will present a popup screen with a number of options that are explained below.
Reset all calibration sliders on start (default: enabled)
When enabled, all sliders on the calibration tab and the saturation and vibrance sliders are initialized to zero before starting the calibration procedure. This can be disabled, for example, to calibrate using a non-zero saturation setting or to iteratively improve on a previous calibration.
Target illuminant (default: D50)
Specifies the (approximate) spectral distribution of the light source that was used when photographing the ColorChecker. The options are D50, D65 and illuminant A (tungsten).
Calibration method (default: scene-referred)
Specify which calibration method is used for the tonal response. There are three options:
- use XMP data: Uses the tone curve and brightness, shadows and <emcontrast settings from the initial ACR conversion of the ColorChecker image (before starting the script). Use this option to calibrate to a particular (or ACR standard) tone curve.
- scene-referred: Uses presets for a scene-referred image (linear response; no tonal mapping), as described in the essay The scene-referred workflow – a proposal. This setting is recommended for maximum preservation of color information. However, in most cases it will be necessary to separately apply a tone curve to the image. To apply a tone curve that does not lead to saturation and/or hue side-effects, take a look at the Toneability plug-in (Photoshop Windows 32-bit only).
- fit curve: Uses the ColorChecker grey patches to optimize the brightness, shadows and contrast sliders (the selected tone curve is not modified). This method is used in Thomas Fors’ original ACR Calibrator Script. I do not recommended this option, because too many variables (3 sliders plus exposure) are adjusted based on too few measurements, sometimes leading to large tonal errors. It is included for comparison reasons only.
Calibrate shadow tint (default: disabled)
Specifies whether the shadow tint slider should be calibrated. Because this optimization is only based on the reading of a single patch, I advise against selecting this option, except in cases where the illuminant exactly matches one of the presets, or when the shadows are very noisy, leading to a visible magenta color cast (compact cameras or at extremely high ISO values).
Error calculation method
The script uses the DeltaE2000 (CIEDE2000) method for computing errors in the color patches. Some options are available for fine-tuning this method. First, Ignore brightness differences linearly scales the patch readings to match the luminance of the reference readings before calculating the color error. This is particularly useful when a non-linear tone curve is used in the grey scale calibration (any method other than scene referred).
The constants kL, kC and kH define the (inverse) weights of luminance (L), chroma (C) and hue (H) in the DeltaE2000 calculation. Larger numbers lead to a lower weight. The CIEDE2000 default is (1,1,1), but the script uses a default setting of (2.5, 1.5, 1) to emphasize hue accuracy and deemphasize luminosity accuracy.
Patch weights
This script, unlike the original ACR Calibrator script, uses all patches for calibration. The numbers in this pane can be used to define the linear weights for the individual colour patches. Only the relative magnitude of the numbers is important; the total does not have to add up to a specific number. Setting all weights equal is the most ‘democratic’, and minimizes the total color error. However, for practical purposes it might be better to give a higher weight (say, 3 times as high) to ‘memory colours’ such as skin tones, foliage and sky. Perhaps, a lower weight should be given to colors that are highly metameric and thus difficult to get ‘right’.
Calibration passes (default: 1)
Specifies the number of calibration passes to perform. One is usually enough, but some users have reported modest improvements when using multiple passes.