[argyllcms] Calculating film LUTs for a film recorder

  • From: Philip Pemberton <philpem@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Wed, 08 Aug 2012 01:42:55 +0100

This probably counts as the weirdest question I've ever asked here, but
I'm going to ask it anyway :)

A while ago I managed to pick up a Polaroid HR-6000 film recorder.
Basically, it's a white CRT, an RGB filter wheel and a 35mm (or Polaroid
packfilm) camera and a controller board with a SCSI port.

Image data is sent from the host (PC, Mac, whatever) as a {x}*{y}*3
array of bytes (usually 4096x2732xRGB for 35mm). This data is fed to an
8:8 translation LUT (which converts a byte to a byte, thus allowing
PseudoColor images to be printed without applying the palette data), and
then on to an 8:11 LUT which converts the final pixel values into an
exposure level value for that colour channel.

The problem is, all the LUTs I have are for ancient and long-obsolete
film stock. I'd like to create some new ones for more modern films (i.e.
stuff I can still buy - Fuji FP100C packfilm is my main target).

I can load a linear LUT into the printer and expose a piece of film to
whatever image I like, then measure the density levels (either with my
Xrite 890 or the flatbed scanner -- colour calibrated with a Wolf-Faust
target). The problem is... how would I go about turning the "exposure
value E produced density D" data (I think this might count as a
Hurter-Driffield curve) and converting it into a LUT?

Can I do this with Argyll? If not, then what algorithms should I be
looking at implementing?

All the curves I've decrypted and dumped seem to follow the same format:
a steep rise at the beginning, a pseudo-linear ramp, and a second steep
rise towards the end. I get the impression this is somehow an inverse of
the H-D curve, but I have no idea how to calculate it... About four
hours of Google searching hasn't revealed anything useful :(


Other related posts: