Kinky curves – the linearization game, part 1

It’s starting to become a series of blogs, this color carbon project of mine. Not that I expected it to be easy, of course. Note the title of the first installment. I knew what I was heading into. And here we are, right in the middle of it all. Frankly, this is my least favorite part of a hybrid process: the struggle to get something that displays as e.g. 10% tone value on a computer screen to print as a 10% tone value on paper. In other words: linearization. Let me share my woes with you for a minute, while also briefly touching upon the topic of layer order and assembly of the color image.

Preface: a brief note on the necessity of digital/analog hybrid

If you just sit there in that chair, then I will recline on this chaise longue so I can ramble erratically while you periodically nod, hum empathetically and ask questions like “how does this relate to your relationship with your siblings?” Alright, you’re no shrink, but really, the whole messy business with digital negatives, inkjet printers and software like GIMP does make me feel like I need one sometimes. Really, this is part of the reason why I prefer pure analog photography. It cuts out the middle-mouse, so to speak. Still, for color carbon, doing it the hybrid way is more or less a given.

Trying to make color separations work on sheet film is kind of expensive and rather daunting, especially if you realize that I don’t shoot any color slide film anymore, so I’d have to start with color negatives in a variety of formats no less and somehow invert those, separate them, enlarge them, color balance them and print them. I’ve given this some thought over the weeks, and I really see no realistic way to get that done within a reasonable timeframe. There was a recent thread on this on Photrio by someone who apparently is just about as crazy as I am and intends to do color carbon – but in a purely film-based approach, starting with 8×10″ color positives. While that removes some of the complexity, it still is way beyond my paygrade. Well, it did yield some useful links, such as this one to a Kodak manual on making color separations the hard way. It almost sounds simple if you read that one. It doesn’t fool me, though!

Illustrating the problem: a color checker print

Alright, back to reality. Earlier I showed some initial tests with color, including a rather brazen color carbon rendition of the color checker torture test I designed:

Since then, I made a few more, and while they do show some improvements, there was one pretty significant catch to them. All these color prints I was making as tests were pretty darn in-your-face saturated and lacking any subtlety. The main issue with them is that I had spent little to no time actually linearizing the output. Sure, I did do a half-assed attempt at establishing some kind of GIMP curve to achieve some form of linearity. But there’s no half-assing it in color carbon. You’ve got to do it properly. Well, at least a bit properly. So that’s what I’ve been working on over the past week or so. See, I wasn’t slacking off – I’ve just been busy!

Let me start by giving a clear illustration of the problem. Below is another one of those color checkers, but this one doesn’t have the black/K layer, so it’s just C, M and Y. It’s also as curly as a 1980s Hollywood movie haircut, so ignore the waviness and density differences on the paper white; I was too lazy to properly flatten it before scanning. It’s beside the point, as well. Just like the black spots all over; this is actually black inkjet ink that transferred from one of the negatives onto the carbon tissue. Ignore this too, and then have a look at the damn picture already.

Color checker without key/black layer

Color layer assembly

If you look closely, there’s also a transfer problem on the yellow tissue. If you look at the bar with the random green patches, to the right of a similar blue-patched bar, you’ll notice a couple of patches 1/3 from the top being sort of oddly shaped. Yeah, that was a bit of the yellow image not transferring to the final support. So far, I’ve been making these color composites by transferring each individual color layer to a separate transparency sheet. I then assemble them onto the final support by transferring one layer at a time to the final support: so soak the color image and the final support, squeegee together and hang to dry until the temporary transparency support peels off. While this sort of works, it’s not fool proof evidently and there are significant problems with the relief that builds on the final support as the transfers are being made, which result in transfer problems as evidenced here.

My current color assembly process: print each color layer individually onto a transparency, then transfer those one by one onto the final paper support.

So I’ll really have to work out some kind of pin registration system that allows me to use a single transparency for the temporary support. I.e. instead of doing the assembly / layer stacking at the end of the process, do it as the printing process proceeds. I haven’t done it this way before because (1) I didn’t (and still don’t) have worked out a good pin registration system and (2) by working with separate transparencies, I could experiment a bit with layer ordering.

There’s a story to layer ordering as well. I mean, there’s a story, and a complicated one at that, to every aspect of (color) carbon transfer, so what did you expect? Paraphrasing Calvin Grier in his gum printing manual: you generally put the least transparent layers at the bottom and the most transparent ones on top, and you also put the lowest reflectance (highest optical density) layers on the bottom and the lightest layers on top. He also notes that these rules tend to conflict. Yellow is a good example: the kind of yellow pigments we’re using (PY150 for instance, which I used here) tend to be low in optical density (if you measure in LAB space, L/’lightness’ is generally high). Based on this, yellow should go on top. However, yellow pigment also tends to be at best moderately transparent. Based on this, yellow should end up more towards the bottom of the layer stack.

Because of these kinds of tradeoffs, I liked the ability to experiment. I ended up concluding that the transparency argument tends to prevail over density, so I generally put yellow at the bottom, followed by magenta, cyan and then key/black. By the way: while stacking transparencies does give some indication of the final result, it’s really not the same thing as actually assembling the image on the same final support, which makes the colors blend much more effectively. In the end, a transfer process where the color image is assembled onto the same temporary support and then transferred in one go to the final support should work better. Indeed, it’s as far as I know the way the other color carbon printers do it (?) and it’s the way I’m going to try out in the near future.

Envisioned color assembly process: print each tissue onto the same intermediate transparency support, and then transfer that one containing the full color image onto the final paper support.

The kinky curves problem

After this interlude, let’s get back to the color checker print. Yeah, I know – the black actually looks quite decent if you realize that there’s no black pigment on there anyway. Don’t let your eyes fool you though; I adjusted the levels a bit during scanning so that the dark purple that poses as black here is all the way at the bottom of the curve. Again, it’s inconsequential. What I really want you to notice is the (1) massive degree of saturation in most of the hue patches – and they’re also kind of dark, and (2) the gradient bars to the right. Those bars just aren’t right. At all. They should go from 100% tone in each respective color channel to 0% tone. They actually go from 100% to…well, 100% still halfway up the column, and only then start tapering off to paper white. In other words: the curve is pretty much slumped to the horizontal axis half the time and only then starts to lift off. Not good.

C, M and Y gradient curves as plotted from the color checker above

As always, a picture says more than my verbal diarrhea. I plotted the curves of the cyan, magenta and yellow gradient bars of the color checker in a regular curve plot above. The axes go from lowest reflectance or highest density on the left and bottom to high reflectance and low density at the right and top. Furthermore, I normalized the curves so that they all start at the origin of the chart and end at the same spot top right. Hence, the curve plot only allows comparison to be made of curve shapes, but not of absolute density values. We’ll get to that in a later stage and a later blog, so forget about absolute values for a bit.

Let’s have a closer look at those curves. If I’m being optimistic, I’d say they are pretty kinky. The downside is of course that color reproduction curves in general aren’t supposed to be kinky. In fact, all three curves above should have been a straight diagonal from bottom left to top right, or at least something very close to this. Specifically, observe a couple of things in the curve plots above:

  • All three channels start at zero and stay there for a while. They should of course take off immediately.
  • Note how they have a distinct toe: when they take off, they do so rather slowly to then accelerate to a steep middle section.
  • They also have a distinct shoulder: they curves hit more or less pure white a little earlier than they should. The shape is very different from the toe, however: it’s not very gradual (which wouldn’t be good), but very abrupt (also not good, unfortunately).
  • While the curve shapes aren’t very good if you evaluate them separately, they do track sort of nicely together. In other words: they are more or less parallel. That’s hopeful, but sadly also kind of irrelevant as the curve shapes are all wrong. Still, celebrate small successes, however meaningless!
  • While they are parallel, the curves do start rising at different spots, so while parallel, they don’t exactly overlap, which they really should have. So much for our tiny success we just celebrated. Hey, could you manage to push that cork back into the neck of the champagne bottle?
  • The magenta curve has an oddly stepped appearance to it: it rises a bit, stabilizes, rises again, etc.

Let’s start with the final item: the stepped magenta curve. Actually, this is probably a digital artefact that in turn has to do with something in the image chain ignoring 16-bit color information and downscaling it to 8 bit, resulting in gross posterization. For now I’m going to assume I can evade this as long as I keep a close eye on the 16-bit capabilities of the software I use.

Where non-linearity comes from

All the other items really fall under one umbrella problem: a total lack of proper linearization. Simply put: if a density value is 10% in the digital file, it should print on paper as 10% of the optical density the printing process allows. You might wonder, why doesn’t this happen in the first place? Well, there’s a host of non-linearities. Let’s enumerate a few, and keep in mind this list isn’t complete:

  • Optical and transmission density of an inkjet transparency aren’t necessarily the same. Inkjet printers are evidently optimized to give good linearity when measured for reflectance – they’re designed to make prints, after all, not negatives.
  • Using black and yellow inkjet ink together on the same negative for additional UV blocking power, which is what I and many others do, may introduce non-linearities where the black and yellow curves overlap.
  • The inkjet negatives are assembled of tiny ink dots. Imaging those through a contact printing method can result in dot gain through a variety of mechanisms. Since the mechanisms are so varied and can act differently depending on the nature, size, spacing etc. of the inkjet dots, the degree of dot gain can easily be very dependent on overall density. So despite that we’re working with continuous tone negatives in theory, in practice the nature of inkjet just isn’t continuous and we have to deal with some effects that also play a role in halftone printing. In this sense, inkjet negatives are in fact a rather poor compromise that combine the drawbacks of continuous tone with the disadvantages of halftone screens – but perhaps I’m just being grumpy again. Either way, non-linearities arise also from the physical nature of inkjet dots in combination with properties of the light source and exposure setup used. Think of factors like diffuse vs. collimated light, distance between the negative and the carbon tissue (e.g. I use an thin transparent film between them to prevent the carbon tissue sticking to the negative), distance between exposure unit and contact frame, etc.
  • The pigments in the carbon tissue likely interact with the UV exposure, absorbing some of it and reflecting a bit of it as well. I haven’t thought very deeply about the physics of this, but at least the overall opacity to UV radiation will depend to an extent on the pigment used and on pigment concentration. Furthermore, these effects may not be entirely linear as high pigment densities may respond a bit differently than dispersions with only a few pigment particles here and there.
  • The color tissues I’m using are fairly transparent. This is a deliberate choice, as a color assembly process benefits from as transparent pigments as possible, so I select them specifically for this purpose. As a result, a part of the UV exposure simply goes through the tissue and then bounces back from the white tissue support back into the tissue. This back-scattering will also create non-linearities, in all likelihood.
  • The dichromate sensitizer itself apparently is self-masking to an extent, and this in itself makes for a non-linear response.

If you add all of the above up, you get a very complicated and basically unpredictable non-linear system where if you put in e.g. 50% inkjet ink density, you end up with some seemingly random density in the actual carbon print. You can also tell from the factors above that they make the process, and hence the response curves, dependent on equipment (inkjet printer, exposure unit, contact frame), materials used (inkjet ink, carbon tissue & pigments, sensitizer strength etc.) and the process parameters (printer settings & resolution, exposure distance, method of sensitizer application etc.) Basically everything influences the curve shape of the final print, and several of the factors are color/pigment-dependent, so we face a situation where even if we control just about every process parameter strictly (which is a sheer necessity at the risk of going stark raving mad), we still have to allow for individual compensation curves for each pigment (and pigment concentration) used.

In conclusion

From the title, you can glean that this isn’t the end of it, so all I can offer for now is an intermediate conclusion. It summarizes as follows: linearization is necessary, and is also dependent on a host of factors, so in the very least I’ll need to linearize each color layer separately. I’ll talk in the next blog about how I’ll try to linearize the curves using adjustment curves. The quick-witted among you might yell “just use ChartThrob and Bob’s your uncle”, but it just so happens I’ve never had an uncle called Bob and ChartThrob only runs on Photoshop, which I swore I wouldn’t use unless forced to at gunpoint. So I’m going to do it manually, which is a bit more work, but in the end boils down to pretty much the same thing in essence.

Mind you, when (if) I manage to get the linearization done at least halfway decently, there’s still another hurdle to overcome. I’ve hinted at it before in this blog, but keep in mind that a set of four linear curves (so no longer curves, hah!) still doesn’t guarantee a good match between the color layers in an absolute sense. In a color print, you ideally want the curves of each color to line up in such a way that an equal density of each component results in a neutral grey hue. Even if I linearize the color layers, this still won’t guarantee this mix-to-neutral requirement; color casts and crossover will still be a possibility. Well, actually, it’s highly unlikely that just linearizing things will magically prevent any cast or crossover; the odds that either or both will show up are nearly 100%. But first things first, eh!

Leave a Reply

Your email address will not be published. Required fields are marked *