ChartThrob: A Tool for Printing Digital NegativesA few months back at a PHIG meeting, I met Thomas Howard, and saw how he was using charts to hand-profile his process for making digital negatives for platinum-process contact printing. I figured this could be automated, so: I automated it, and made a program called ChartThrob. I let a few folks on APUG and now HybridPhoto try it out, and after a few unexpected glitches (who knew Photoshop could have fractional pixels?), it's ready for public abuse.
ChartThrob is a a JSX-format javascript for Adobe Photoshop. It runs under Photoshop CS2 and later versions, but won't run under Photoshop 7 or Photoshop CS (Sorry, that's the price of progress). It works for both Windows and Mac versions of Photoshop. It's free.
ChartThrob creates profiles for your process, for your printer, and lets you create consistently-beautiful digital negatives from your pictures every single time.
ChartThrob is currently at version 1.07 (14 Nov 2006). There have been no functional changes that would affect chart output or analysis since version 1.03 only UI refinements and some localization tweaks. I'll be regularly adding updates to this Botzilla entry for changes to the code or changes to the FAQ..
Right-Mouse-Click and Select "Save Link As..." Here for the Current Version of ChartThrob.
Typically, "Save As..." this: C:\Program Files\Adobe\Adobe Photoshop CS3\Preset\Scripts\ChartThrob.jsx
To be notified whenever new updates appear, keep an eye on the PhotoRant RSS feed.
(Click here for more.)
To install it, click "Save As..." on this link. Save the file as "ChartThrob.jsx" in your Photoshop scripts directory, which will typically be something like "Adobe Photoshop CS2/Presets/Scripts" (the location within the Photoshop directory is the same for both Windows and Macintosh)
That's it! The next time you start Photoshop, ChartThrob will appear as an option under Photoshop's "File—>Scripts" menu.
ChartThrob is really two scripts in one. First, it's a script for creating grayscale calibration charts. Second, it's a tool for automatically evaluating scanned prints of those charts and setting up appropriate profiles depending on the nature of your printing process.
The ChartThrob workflow has a few basic steps:
So let's begin! From any Photoshop session, you can start-up ChartThrob by selecting "File—>Scripts—>ChartThrob."

If you have no documents open and call ChartThrob, you should see a dialog box similar to the one above (if you have documents open, the dialog will be more complex, but will still contain this info) (The illustrations in this doc page show both Windows and Mac examples). Pressing "Help" will provide you with step-by-step instructions, or pressing "Build New Chart Now" will do exactly that it will create a new document and start filling it with profiling information. Photoshop draws very quickly, but this will typically take several seconds especially if you have the 'Numbers' option checked. The result will look like the picture below (with or without the numeric labels).

This is a positive chart that is, you'll either have to invert it when you print it to a negative, or before (depending on your printer). The text at the bottom reads: "THIS IS A POSITIVE IMAGE WITH DARK TEXT ON WHITE." Keep that in mind, because ChartThrob creates and analyzes positive images.
You may want to resize the chart when printing, by default it's pretty large. You should be able to resize it according to your own printing habits. Then print to a (typically transparent) negative, and contact-print that negative according to whatever process suits your fancy: silver-gelative, old xerox, woodburytype, cyanotype, whatever, so that once again you have a positive print that looks like the original chart. Be sure that you have a solid, dependable printing process so that you can repeat your results later. The chart print doesn't need to be huge, just big enough to see the individual patches (platinum printers will probably be happy to hear that, considering they pay by the droplet...).
If you have a good grasp of your printing already, try to print so that the midtones are as properly-exposed as you think you can get them. The blacks and pure whites will work themselves out.
Also, be sure that your printing is uniform across the entire size of the chart if the exposure varies from one side to the other, or from the center of your prints to the edges, there won't be any way for the calibrator to second-guess that. You'll just get junk.
Okay, so now you've made a positive print from the chart. Let it dry, and then scan it, amking sure you have a linear (gamma 1.0) scan with the full grayscale range (see the FAQ below on how to do this). Crop the scan back to the boundaries of the chart, and you'll have something perhaps like the image here.

With this new scanned print loaded, call ChartThrob again. The dialog box will still let you create a new chart if you want one, but now it also contains options for analysing a scanned printed chart.
If we hit <return> or press "Analyze," that's exactly what ChartThrob will do: analyze the scanned chart, adjusting for paper tone and process color and evaluating every patch. When done, it will display a brief report telling you everything's okay, and will add a new curves layer to your scanned chart document, called "Print Curve."
If we double-click the "Print Curve" in the Photoshop layers palette to view the resultant curve, it would look like the one shown here (we're just showing the curve rather than the whole dialog, to save web-page space).
The new curve layer is hidden, because the curve isn't meant for adjusting the scan itself instead, it's for adjusting other B&W images so that they can be printed using the same process that you used to create the scan.
When a ChartThrob curve is applied to a B&W image, the image's original gray values will be remapped so that they will print to match the grayscale range of the target printing medium, as long as you're consistent in the print exposure and processing. So if you expose a silver-gelatin contact print for 30 seconds, then as long as you expose and process all subsequent prints the same amount, they should print consistently and the curves will adjust them perfectly to that tonal range.
You can apply the curve to other images either by saving & loading it as a Photoshop .csv file, or just drag the curves layer from the layers palette onto another picture if it's opened in Photoshop.

With the curve applied, the original image may look dull and washed out on the monitor, but those tones are what's needed to hit the darkest blacks and whitest whites that the particular printing process can handle at least the tones that were in the printed chart. If the chart is strongly over or under exposed, ChartThrob will still make a curve, though it will tell you if the midtones seem to be strongly skewed.
Checking Your Results: If things have gone well, you can take your original chart (as created by ChartThrob), apply that correction curve to it, print again and you should get a full range of grays from the new corrected print.

Very nice, Kevin. I don't do printing in that way, but in the back of my mind I've wanted to write something like this, minus the chart (ie, working on an arbitrary image) in order to calibrate the printing of photos in Lulu books. I've printed more than one of the same in different batches and they seem to be consistent enough.
Posted by: Juan Buhler at October 24, 2006 02:43 PMI'm using an Epson R1800 with cheap second party inks which are very hard to curve. Until ChartThrob I had do make do with some hand made curves. ChartThrob gave me beautiful curves for both Van Dyke Brown and Cyanotype--the images the new curves give me are WAY better than those with my own curves. This script is fantastic.
Charles Portland OR