What Makes a Good Print? Contrast & Tonal Relationships

One of the reasons that images can look great on screen, but flat and lifeless in print, is the limited tonal range that can be produced. A print cannot have a brighter white than the paper (zero ink coverage), and the paper can only take so much ink before the receiving layer in the paper becomes saturated (more ink does not result in a darker tone. Instead, it results in a ruined print).

Since we have an inherent contrast limitation, we certainly want to make use of the contrast that we have available to us. As a general rule, a good print contains tones covering the full range between the darkest black that can be printed on the paper and the whitest white that can be achieved.

You’ve edited your image, and it looks pretty good. It contains (a very small amount of) black, white (specular highlights, maybe), and the full range of tones in between. Maybe you’ve also applied a curves adjustment or used the contrast slider to expand your mid-tones, resulting in more apparent contrast too.

The trouble is, some areas of your image my still appear a little flat. If you increase the contrast further, it may have a negative affect on other areas of your image.

The solution? Local adjustments!

Adding a local contrast boost to parts of your image can give your image an overall appearance of having more contrast. This is because the eye focuses on small parts of a scene at a time, and our brain builds up an overall impression of our field of view.

Using curves and levels adjustment layers in Photoshop to perform local adjustments of contrast and tonal relationships allows us to give the impression of greater overall contrast, and also to draw attention to areas of our image that we want the viewer to notice. It will also result in a print with more visual impact!

An Example:

The image below is a nice portrait of a beautiful subject, shot in great light. Basic edits and a black and white conversion have been performed in Lightroom, and it’s looking pretty good. If it were printed as-is, it would make a fairly nice print.

Melanie Colwell of Shamata Pilates – http://www.shamatapilates.com.au/ Copyright, Tait Photography 2013

What if we were to use a levels adjustment layer to adjust the skin-tones and give more contrast to the hair?

Local Adjustment

The Result is an image which will have more impact when printed (and also has far more impact on screen):

Local Adjustments - Master
Melanie Colwell of Shamata Pilates – http://www.shamatapilates.com.au/ Copyright, Tait Photography 2013
A Warning:

Don’t overdo it!

While your image should contain a small amount of pure black and pure white, that doesn’t mean that each and every part of your image should. The goal is to edit for a print that has impact and is engaging, not for one that draws attention to itself for the wrong reasons. Also, while you’re busily performing local tonal adjustments, be mindful of the overall tonal relationships in your image.


Working Spaces

This time we’ll take a look at working spaces, and provide some insight into which working space is a good choice for your image under different circumstances.

What are they?

A working space is Adobe’s term for a standardised device-independent colour space. It is an intermediate space, that can be used to work in, and transfer files. It provides a way of communicating colour information from device to device without relying on knowing how each particular device behaves with respect to colour.

Common colour spaces include sRGB, AdobeRGB and ProPhotoRGB.

Why do we need them?

On their own, RGB colour values mean nothing. A pixel’s RGB values need a colour space to give them meaning. For a given pixel, image editing software will either give a % for the saturation of each colour channel (how much red, green, blue) (Lightroom), or discrete levels (for example, with a bit-depth of 8, possible values for each colour channel are 0-255).

Relating these values to a known colour space gives them meaning. Using standardised colour spaces, and embedding information that describes which colour space is being used, means that when I save or export a file, the meaning of the colour values travels with the file.

What do these colour spaces look like?

sRGB is a small colour space, relative to AdobeRGB, and the larger again (massive) ProPhotoRGB.

In the graph below, the white outline represents the range of colours that can be seen by a ‘Standard Observer’ (average human), with the coloured area representing the colours contained within the sRGB space. The yellow triangle represents the range of colours that can be contained within the AdobeRGB colour space.

AdobeRGB and sRGB

The most saturated green that can exist in the AdobeRGB space is substantially more saturated than the most saturated green that can exist in sRGB. If you were working on a file in the sRGB space that contained ‘100%’ green, and I opened the file assuming that you had been working in AdobeRGB, I would see the value corresponding to 100% green and undertand that colour to be significantly more green than you intended. That is why it is important to be mindful of the working space when transferring files.

Choosing a Working Space

We have a choice to make. There are a number of working spaces that you can choose to work in, but which is the most sensible? Well, that depends…

To a large extent, Lightroom makes the choice for you. (We’re digressing here – feel free to skip the next couple of paragraphs!) Lightroom uses two device-independent colour spaces that have the same range of colours, but different gammas. What is gamma? A post coming to you in the near future will explain!

In the Develop Module, the values that are used to build the histogram, and give R, G and B values when hovering the mouse over a pixel, are in MelissaRGB. MelissaRBG is named after Melissa Gaul, a long-term developer on the Lightroom team. MelissaRGB covers the same range of colours that are present in ProPhotoRGB, but with a gamma of approximately 2.2 (although it gets more linear near the shadows). MelissaRGB is the colour space that is used to inspect our files.

The colour space that Lightroom actually works in is ThomasRGB, named after Thomas Knoll, the developer who was with Lightroom from the beginning. Like MelissaRGB, ThomasRGB also covers the same range of colours as ProPhotoRGB, but uses a linear gamma. Thomas Knoll created this colour space based on his (I assume, correct) belief that a lot of the image processing is better done with a linear gamma.

What does this mean for you? In practice, nothing. Other than you can be confident that Lightroom’s native working space(s) won’t clip colours in your image. Note that what we see on our display is coded to a gamma of 1.8 or 2.2 (depending on our monitor settings).

When you want to export a file from Lightroom, or work on a file in Photoshop, you need to decide which colour space to translate the colour information in the image into.

There are advantages and disadvantages to using a large colour space. The obvious advantage is that you can define a wider range of colours. One disadvantage is that for a given bit-depth (think of it as the number of bits used to describe colour intensities in each channel), the steps between colours that can be defined are larger.

Andrew Rodney uses the analogy of a balloon to explain this. Imagine you have a half inflated balloon and draw a number of dots on the surface of it. When you fill the balloon, the space between the dots will increase as the volume of the balloon increases.

Having a larger gap between colours that we can define means that colours we want to define can be ‘shifted’ further when assigning R, G and B values. At best, this marginally decreases the accuracy of our colours. At worst, it introduces visible posterisation.

Ok, so why not use a smaller space?

Modern digital cameras can capture a wider range of colours than can be contained within sRGB or AdobeRGB. When you assign a working space, the range of colours in the image may exceed the range of colours that can be contained within the working space. The colours in the file that extend beyond the working space are clipped to the closest colour at the boundary of the working space. This is not done gracefully, and can result in a block of colour in your image, and/or a loss of detail. Once you cut a colour off, you can’t get it back.

From here, you have two solutions:

  1. Use a large working space (such as ProPhotoRGB) that encompasses all of the colours within the image, and use 16 bits per colour channel (this give FAR finer gradations between colours than 8 bits per channel).
  2. Analyse your image file and work out which is the smallest working space that will encompass all of the colours in the image, and use that.

Note that there is no such thing as a free lunch. Increasing the bit depth, will make our files significantly larger, and make editing more computationally intensive. If you are fine with these trade-offs, by all means, work in ProPhotoRGB with a bit depth of 16. I do.

What about output?

If you’re printing, and having your application mange colour (as a general rule, do not let your print driver make decisions about colour!), you will need an ICC profile that is specific to the printer, media settings (which determine how much ink is laid down), pixels per inch, the ink-set and the paper being used. This profile will (hopefully) accurately describe the colour behaviour of the print and allow the Colour Management Module (CMM) and to translate the colours in your image into numbers which, when passed to your printer, will result in colours in your print that accurately reflect those in your file.

See the graph below that shows the gamut of Canson Baryta paper in combination with the Epson 3880 printer (dotted). Note that this combination of printer and paper (and driver settings) can output colours that fall outside of AdobeRGB (the black triangle). This (in itself) is a very good argument for working in ProPhotoRGB.

Canson Baryta Photographique (Epson 3880) vs Adbobe RGB 2D

How about sending my file to someone else (to do more work, or print it)?

If you are confident that the person will handle the file based on the embedded working space information, then ProPhotoRGB is fine. AdobeRGB is also a fair option, particularly if none of the colours in your image fall outside of AdobeRGB.

What about the web?

Currently, colour management on the web is very hit-and-miss. Your best option is to convert the image to sRGB. If an application (such as a browser) can’t interpret the embedded colour space information, it will generally assume sRGB. If your image is already defined in sRGB, no problem! If it isn’t – say it was in AdobeRGB, your image will appear far less saturated when interpreted as an image in the sRGB colour space.


That wraps up our discussion of working spaces. Wondering what I was talking about when I mentioned gamma throughout this post? Check back soon for a (brief) intro to gamma curves!

Colour Management – An Overview

In my previous post on colour, we saw a need for colour management. This post will provide an overview of how colour management works.

Colour Management

Colour management aims to provide a translation between each device so that a particular colour captured by a given device can be accurately displayed or printed by another device.

The are four key parts which make up colour management; the profile connection space (PCS), device profiles, a colour management module, and rendering intents.

Profile Connection Space

Rather than needing a formula or look-up table to translate colour information from each input device that we may use to each output device we use (this would result in MANY possible combinations), a profile connection space (PCS) is used. This means that a profile is used to translate the information provided by the input device in to the PCS.

In most photography workflows, the profile connection space is CIE LAB. In this PCS, L*a*b* represents three axis, where ‘a’ is an axis with green at one end and red at the other, ‘b’ is an axis (perpendicular to ‘a’) with blue at one end and yellow at the other, and L is an axis (perpendicular to ‘a’ and ‘b’), with black at one end and white at the other.

Unlike device profiles, which describe the way a particular device responds to or produces colour, the relationship between colours and numbers in the PCS is arbitrary.

Device Profiles

To devices, colours are just numbers. Because each device has a unique range of colours that it can capture, display, or print, the numbers used to represent particular colours vary from device to device.

A device profile describes the colour behaviour of a particular device (for a particular light source/illuminant).

Our cameras capture raw red, green and blue values. In order for the colours that were captured by camera to be accurately translated into the PCS, we need understand how the camera behaves with regards to colour.

There are profiles that are provided by camera manufacturers and Adobe, and these do a pretty good job of describing the way that our cameras behave under most circumstances.

A profile is created by having known colours and either capturing them, or attempting to output them. For example, the image at the beginning of this post is of an x-rite colour rendition chart. By photographing this chart, which has known colour values, a profile can be built that describes how far off each known colour the capture was. This profile can be used by the colour management module to translate the raw colour numbers into numbers within the PCS which correspond with the colours on the chart. The result is that the colour described in in the PCS matches the colour in the scene captured by the camera.

Colour Management Module

A colour management module (CMM) is a piece of software that uses device profiles to translate colour values from an input device into the PCS, or from the PCS to an output device.

A CMM is needed, because a device profile doesn’t contain every possible colour value. A CMM takes the values defined in the profile, and interpolates to come up with a suitable translated output for a particular input.

It does the thinking.

Rendering Intent

The namesake of this blog (although the blog is so named because of our aim – having our prints rendered the way we intend them to be)!

Each output device can produce a particular range of colours. This is known as the colour gamut of the device. Take a monitor. Once it is producing the most saturated blue that it can, ‘asking’ it to produce a more saturated blue will not result in a more saturated blue being displayed. The same is true of a printer-paper combination.

When printing, you may have noticed that you can select a rendering intent in software. The rendering intent that you select tells the CMM what to do when it encounters colours that are out of gamut.

For printing photographs, there are two types of rendering intent we should consider. These are perceptual and relative colorimetric.

Perceptual aims to maintain colour relationships – it reduces the saturation of all colours in the in the image so that they fit within the gamut of the output device. Our visual systems are very good at perceiving the relationships between colours, but not very good at perceiving absolute colours. The perceptual rending intent works on this basis. When there are a lot of out of gamut colours, it prevents the out of gamut colours being clipped to the closest colour within the gamut.

Relative colorimetric maps the white value in the source to the white of the output (paper in the case of a print). It accurately reproduces all in gamut colours and clips out of gamut colours to the nearest colour that can be produced by the output device. Unless there are a large number of out of gamut colours, and in situations where accurate colour is critical, it is a good choice, as the colours in the output more accurately reflect original colours.

You can use soft proofing to determine which colours will be out of gamut, and assess the impact of selecting different rendering intents. Soft proofing will be covered in a future post.

Next time, we’ll look at working spaces.

More than Meets the Eye

Colour – A Primer

Colour may initially seem uncomplicated, and we could think of colour being a property of an object. For example: “That bus is red.”

Is the bus really red? What if there was a white bus, illuminated by red light?

We can’t be sure, because we see the light reflected from objects. When we say the bus is red, we assume that it was illuminated by a white light source.

Maybe we need to think of colour as being a property of the light that is reflected by an object – a combination of the spectral quality of the light that illuminates the object, and the spectral reflectance of the object.

Ok, but what if colour is something that happens in the person observing the light?

While it’s helpful to look at it from each point of view, the answer lies somewhere in the middle – colour is the result on the incident light, the reflective properties of the object, anything that filters the light, and the response to the light by the observer.

The eyes have it

The photosensitive part of the human eye is made of rods and cones (photoreceptors). In this post, we’ll focus on cones. There are three types of cones in the retina, and each type is most sensitive to a particular wavelength (420nm – blue, 530nm – green, and 565nm – red), with some overlap.


"Cones SMJ2 E" by Vanessaezekowitz at en.wikipedia. Licensed under CC BY-SA 3.0 via Wikimedia Commons - https://commons.wikimedia.org/wiki/File:Cones_SMJ2_E.svg#/media/File:Cones_SMJ2_E.svg
“Cones SMJ2 E” by Vanessaezekowitz at en.wikipedia. Licensed under CC BY-SA 3.0 via Wikimedia Commons – https://commons.wikimedia.org/wiki/File:Cones_SMJ2_E.svg#/media/File:Cones_SMJ2_E.svg


The names we give to colours, or parts of the visible spectrum, are an abstraction – a way to describe the stimulus resulting from light of certain wavelengths entering our eyes.

Another possible complication is that each observer may experience the same light differently. For example, you might be able to perceive a more saturated red than me. Don’t worry too much about this – if the print (seen under a certain illuminant) results in colours that are consistent with the original (seen under a certain illuminant), my experience of the print will appear authentic, as will yours. For the purposes of colour management, CIE defines a standard observer.

why colour management?

Different devices also ‘experience’ colour differently. Our cameras, scanners, displays and printers all have different ranges of colours, contrast and saturation that they can capture or reproduce.

Our devices do not abstract colour the way we do – to them, colour is simply a number (or a combination of numbers).

The goal of colour management is to provide a means of translation between devices, so that the output can faithfully represent the input.

In my next post, we’ll take a look at how colour management works.