Adobe Photoshop
ACR Calibration Scripts


This article will describe multiple scripts for Adobe Photoshop CS color calibration.   I will assume that the reader is already familiar with the basics of Adobe Camera Raw (ACR) and the controls provided for color calibration.   If you need an introduction, please follow this link: ACR Calibration

My goal was to provide a set of scripts that act together as a calibration system.   There are five scripts that can assist with ACR calibration settings and five scripts that can be used to validate image colors against known target values.   Each has a separate User's Guide in PDF format explaining the operation and options.   These support seven different types of calibration targets.   The scripts are:

ACR_Calibrator_CC24.jsx Adjusts the ACR color sliders using a Gretag Macbeth CC 24 patch target.
ACR_Calibrator_CCDC.jsx Adjusts the ACR color sliders using a Gretag Macbeth CC Digital Camera target.
ACR_Calibrator_CCSG.jsx Adjusts the ACR color sliders using a Gretag Macbeth CC Semi Gloss target.
ACR_Calibrator_IT8Q60.jsx Adjusts the ACR color sliders using an ISO IT8 or Kodak Q60 target.
ACR_Calibrator_QP201.jsx Adjusts the ACR color sliders using a QPcard QP201 30 patch target.
ACR_Calibrator_PP30.jsx Adjusts the ACR color sliders using a Perfect-Pixs 30 patch target.
ACR_Calibrator_DKP.jsx Adjusts the ACR color sliders using a Digital Kolor Pro 18 patch target.
Read_Colors_CC24.jsx Verifies image colors against target values using a Gretag Macbeth CC 24 patch target.
Read_Colors_CCDC.jsx Verifies image colors against target values using a Gretag Macbeth CC Digital Camera target.
Read_Colors_CCSG.jsx Verifies image colors against target values using a Gretag Macbeth CC Semi Gloss target.
Read_Colors_IT8Q60.jsx Verifies image colors against target values using an ISO IT8 or Kodak Q60 target.
Read_Colors_QP201.jsx Verifies image colors against target values using a QPcard QP201 30 patch target.
Read_Colors_PP30.jsx Verifies image colors against target values using a Perfect-Pixs 30 patch target.
Read_Colors_DKP.jsx Verifies image colors against target values using a Digital Kolor Pro 18 patch target.

These allow the user to choose from several popular standard color targets.   If you already have a satisfactory calibration, there is no real need to do it again just because of a software upgrade.   If you are a first time user or have a new camera to calibrate, these are for you.

To use one of these, you will need an appropriate reflective target to capture an image from.   The target can be any of those shown below.   These are available at many professional camera stores or through the web.

The Gretag Macbeth CC24, Perfect-Pixs PP30, DKP, and QPcard QP201 targets are all appropriate for camera calibration.   But the number of target patches is rather small.   They have a non-glare finish and are inexpensive making them very popular.   The QP201 targets are small enough to fit in your camera bag.   The CC24 target also comes in a mini version.

The Gretag Macbeth Color Checker Semi Gloss (CCSG) targets have 140 small target patches.   The CC24 patches are also included within this target.   There are multiple neutral and skin tone patches.   A recent version of this designed specifically for digital cameras is available.

The Gretag Macbeth Color Checker Digital Camera (CCDC) targets have 240 small target patches.   This is primarily a low gloss target, but there are eight high gloss patches (in column S).   Several of the primary colors are repeated in step sequence, but the steps are inconsistent and incomplete.   This target may be discontinued, it is hard to find and expensive.

The ISO IT8 and Kodak Q60 targets have more than 228 small target patches.   The four columns on the right are reserved vendor areas.   They are not included in this calibration because they may include pictures (such as the Kodak Q60).   They also include seven columns of primary color and neutral patches.   The color steps will push the gamut limits of most RGB color spaces.   And many of the reflective targets are high gloss, making it more difficult to capture good camera images.   But due to the incremental step sequence and large number of patches these are very good targets for calibration or ICC profiling tools.   Both the film and reflective targets are suitable for scanner profiling.   These targets are available from several vendors and are generally inexpensive.

The CCSG, CCDC, and QP201 targets have multiple neutral mid point patches near the corners making it easy to check accurately for uniform illumination.

There are several vendors offering very good colorimeters and profiling tools for printers, scanners, and cameras.   Camera profiling is appropriate for static shooting conditions such as a studio setup.   Raw calibration is more appropriate for dynamic shooting conditions.

To use the ACR calibration scripts, you need to shoot a properly exposed daylight image of the target with your camera set for RAW mode.   The target needs to be flat, parallel to the camera image plane, and evenly lighted.   It should be placed on an un-textured, neutral background.   It should almost fill the viewfinder.   It should be shot in full daylight with the sun about 45 degrees high.   Light clouds are ok, but overcast skies should be avoided.   Likewise, reflections from grass, neon lights in the background, and other such color distractions should be avoided.   With a light background behind the target you can check for uniform lighting with the camera preview.   By temporarily overexposing to the edge of highlight clipping the blinking highlights in the preview screen can show uneven lighting.

I strongly recommend spot metering on an 18% Kodak gray card using your camera's meter and manual exposure settings.   I can't overemphasize how important a proper exposure and clean backgrounds are.   That said, generally, a small overexposure is tolerated easier than underexposure.

Even with a good camera and a good exposure do not expect calibration perfection.   Also, do not confuse color matching with image aesthetics.   These targets have a low overall dynamic range and no highly saturated colors.   They are designed for calibration, not artistic merit.   This enables a good calibration with significant improvement in color accuracy over the ACR defaults.

Calibration is the basic objective of the scripts provided here.   Details are provided in the User's Guides available in the download package.

ACR Calibration

These scripts have lots of options.   Simply start with the defaults.   Open the image in ACR.   You can use any ACR supported color space.   Pro Photo RGB has the largest gamut so it is a good choice for calibration.   Adobe RGB is also a good choice but sRGB and Color Match RGB have very small gamuts.   You can use any reasonable image size and bit depth desired.   16-bit mode is more accurate, but 8-bit mode is frequently sufficient.   Cropping, rotating, and aligning the image in ACR is also possible.

Once the image is open in Photoshop, you will need to define a pen path (with the pen tool) consisting of only four points.   This is fully described in the User's Guides.   It will identify the patch sample points for the scripts.

Next, you run the calibration script with this raw image opened in Photoshop.   Progress will be shown in a status window.   The final status display will also show some basic statistics.   These can help evaluate the success (or lack thereof) of the calibration effort.

When the script finishes, it will present another dialog asking if you want to open the image in ACR again.   There are several objectives for this.   First, this will allow ACR to update the XMP image settings automatically.   Second, the pen path has been discarded.   This dialog will rebuild it for you.   Third, this will create a visual layer showing the target colors.

With the pen path restored, the detailed numeric errors and the visual difference can be displayed by running Read_Macbeth_Patches.   You can also rerun the calibration script with different options if desired.

When you are satisfied with the results, you can save the settings or a subset of them from the ACR Settings fly out menu.   And you can set the ACR defaults for this camera.

Read_Colors Validation

These scripts produce text reports showing the variance between the target and image colors.   The reports show the details for each patch followed by summaries and statistics by category.   Other analysis includes an evaluation of the image color noise, lighting uniformity, and potential gamut problems.   Complete information about the script options and the reports is available in the respective User's Guides.

The numerical evaluation is useful and can provide clues for further manual refinement.   But sometimes a visual assessment is desirable.   Sometimes a large numeric error is next to impossible to see in a visual comparison while a smaller numeric error results in an obvious visual miss-match.   The target layer option accommodates the visual review.   This will build a new layer with the color values from the target, based on the current image profile.   These patches are about half size and centered in the image patches (from the pen path you defined earlier).   A before and after calibration example follows.

ACR Defaults Calibration Results


All scripts described in this article can be downloaded in a ZIP file from here:   Simply extract and copy or move the scripts to your Adobe Photoshop CS installation folder then under ../Presets/Scripts.   Then restart Photoshop to make them available from the File: Scripts menu.   You do not need to copy the scripts for targets you do not intend to use.   Note that all the scripts will use the include file: ColorFunctionsLib.jsxinc, so this must always be copied.   Each script also has a corresponding PDF User's Guide.   The PDF documents can be placed anywhere you desire. The ZIP file contains all, so it is about 3.5MB.

These scripts will not run under Adobe Photoshop Elements or Adobe Lightroom.   But if you can arrange to perform the calibration on an Adobe Photoshop Creative Suite system, the ACR settings can be transferred to ACR for use under either Elements or Lightroom.

Recent Updates

These scripts were last updated on May 27, 2010.   These are Version 8.   Version 8 has been tested with Adobe Photoshop CS5.   It is a major restructure where all the scripts use a common include file (ColorFunctionsLib.jsxinc).   Thus the algorithms and engine are the same for all targets, only the layout and target values are unique. This update includes two new scripts to support the Digital Kolor Pro target.

That legal stuff

These scripts are provided as shareware with no warranty.   You are free to use them and modify them.   If you feel obliged to spend something, make a contribution to your favorite charity.   These have been tested with PS CS1, CS2, CS3, CS4, and CS5.   For CS1 you will need to change the file extensions from .jsx to .js.   And the options dialog menus will not be available under CS1, so the usability is limited.


I hope you also gained some new insight from this article.   If you have any comments, or suggestions, I would welcome your input.   Please send me an  Email.

Rags Gardner
Rags Int., Inc.
204 Trailwood Drive
Euless, TX 76039
(817) 267-2554
Send Email
August 18, 2007
September 29, 2007
November 26, 2007
January 21, 2008
May 27, 2010

This page last updated on: Friday May 28 2010
You are visitor number 146,083 since 10/04/05