How to Make 16-bit Luminosity Masks
In 2006 I released the Luminosity Masks tutorial. It described a process for creating selections and masks in Photoshop based on the brightness values of the image. Instead of a spatial selection where the marching ants enclose a specific area or element in an image, luminosity selections are tone-based. They look at the brightness each pixel and then group together similar tones across the image.
Because they are created directly from brightness values of individual pixels, luminosity masks and selections are completely self-feathering. Selections automatically adjust to match pixel brightness as brightness varies across the image. The continuous-tone property of photographs becomes the perfect-blending property of luminosity masks.
The method described in that original tutorial successively intersected luminosity selections to make the Lights-series and Darks-series of masks anchored in either the lightest or darkest tones in the image. Midtone selections were created by first selecting the entire image and then subtracting off a Lights-series mask and a Darks-series mask. This method for creating luminosity has been widely adopted and reproduced by other photographers wanting to use and promote these techniques.
Last year I started to receive email questions about whether luminosity selections change the bit depth of selected pixels from 16-bit to 8-bit. The answer to this is “No.” It would take something like the Image > Mode command to do that. A little research, though, showed where this misconception was coming from. It turns out that regardless of the bit depth of the image, selections are always 8-bit. Even on a 16-bit image, selections are still 8-bit. The bit-depth of the selection, though, is only referring to the degree of selection possible within the selection (up to 256 for 8-bit). The bit-depth of the image, on the other hand, is describing the amount of color information each pixel can display (65,536 levels for each color channel in RGB). They’re not the same thing. The 8-bit degree of selection is only determining how adjustments get passed to the pixels below. It is not changing the 16-bit precision of the color data in those pixels.
Unlike selections, the bit depth of masks always matches the bit depth of the image. Layer masks and channel masks on a 16-bit image are themselves 16-bit. This information got me thinking about alternate ways to make luminosity masks. While luminosity selections would always be 8-bit, could pure 16-bit luminosity masks be made for a 16-bit image? In other words, instead of intersecting and subtracting 8-bit luminosity selections to make luminosity masks, could these masks be made without the intervening 8-bit steps?
The answer is “Yes!” Photoshop’s Calculations dialog (Image > Calculations…) provides the key. This dialog can be a bit confusing and is not often used by most photographers. But it’s quite powerful. It can take the 16-bit data from an image or individual channel and, after doing the calculations, output it as a 16-bit channel mask. So it’s 16-bit in and 16-bit out with no 8-bit in between.
If you’re familiar with the series of masks described in the Luminosity Masks tutorial, a few screen shots should be enough to illustrate how the traditional process described there can be converted to Calculations.
The starting point is the same − make the “Lights” mask (which I’m now calling “Lights-1” to make this process easier to follow). Below is a screen shot of the Calculations parameters used to create the “Lights-1” mask.
The output of this Calculations dialog is a new channel on the Channels panel. Looking at the channel by clicking on it will show that it is a grayscale version of the original image. This new channel IS the 16-bit “Lights-1” luminosity mask, so it’s helpful to double-click the name of the channel and give it the proper descriptive name (“Lights-1”) which will be used in the next calculation.
The next mask in the progressive Lights-series was originally made by intersecting the first “Lights-1” selection with itself. In the 16-bit workflow, “Multiply” blending mode in the Calculations dialog accomplishes the same thing as “intersection.” So the parameters for making the “Lights-2” mask would be as shown below.
The resulting 16-bit mask is again output to the Channels panel where it can be given the name “Lights-2.”
Successive masks in the Lights-series are created in the same manner by using the previous mask as the “Channel:” in the Calculations dialog and setting the “Blending:” to “Multiply.” After repeating this procedure a few times the Lights-series of 16-bit luminosity masks is available on the Channels panel.
The Darks-series just requires one change at the start. The “Invert” checkboxes need to be checked to make the initial “Darks-1” mask the negative of the original image. The Calculations dialog is shown below.
Once the “Darks-1” mask has been created, the remainder of the Darks-series is made the same way as the Lights-series − the previous mask becomes the “Channel:” and “Blending:” is set to “Multiply.” (NOTE: The “Invert” boxes are only checked when making the “Darks-1” mask. They remain unchecked for rest of the Darks-series.)
Finally the midtones. The traditional way to make them was to select the entire image and then subtract off one Lights-series mask and one Darks-series mask. The equivalent set-up for Calculations is shown below. One “Channel:” is a Light-series mask and the other is a Darks-series mask. Both are inverted and the “Blending:” is set to “Multiply.”
When any of these 16-bit luminosity masks are loaded as a selection, the selection is still 8-bit. That’s hardwired into Photoshop and cannot be changed. So exact pixel-for-pixel bit-depth-matching between the mask’s 16-bit data and the selection’s 8-bit degrees of selection is not possible. The selection will always be less precise than the image or mask when working in 16-bit mode. But the starting point for these 8-bit selections is now always a “first-generation” 16-bit mask. So while there will be slight variations between the pixels in the mask and the degree of selection in the selection, there is no cumulative variation from successively intersecting masks. I hope to take a closer look at what this means in a future post.
For those who want a purely 16-bit workflow, it is possible to skip selections entirely. Photoshop’s Apply Image command (Image > Apply Image…) can be used to move a 16-bit channel mask to the Layers panel to serve as layer mask for an adjustment layer. Apply Image is also 16-bit in/16-bit out.
While slightly less intuitive than the traditional method for making luminosity masks, the number of steps in the Calculations method is about the same. That means that it’s still cumbersome to work through the process of creating all these masks. To help speed it up, a free set of actions is available for download here. The actions make all the 16-bit Lights, Darks, and Midtones luminosity masks on the Channels panel. A PDF on how to install play actions is included for those not familiar with the process. Additional tutorials on luminosity masks are available on my website.