Correcting the Lee Big Stopper Colour Cast

A little more than a year ago I wrote a rather popular blog post on how to correct the colour cast caused by the Lee Big Stopper. If you’re not a regular reader but clicked through to this post, odds are that you are familiar with the blue cast caused by the filter and are looking for a way to correct it. If not, I suggest you start by going through my earlier post.


In my earlier method, I had taken two correctly exposed photos of the same scene, with and without the Lee Big Stopper. From these I created a custom curves layer with three additional control points, each correcting for readings from white, gray and black cards in the scene. This worked well enough, certainly much better than the alternatives advocated elsewhere (such as auto white balance, or a high-temperature manual white balance). However, it could not be applied in the first stage of the workflow (i.e. during RAW conversion). I tried creating the same curves layer in DxO Optics Pro by using the same control points in the tone curve tool. Unfortunately, using the same control points does not guarantee the same overall curve, as anything between the control points is at the discretion of the software.

I also thought a more precise curve can be obtained by having more control points, ideally across the whole range of tonalities. The logical way to obtain this is to shoot a colour calibration target, a flat sheet with a number of patches of different colours. With so many control points it’s also easier to automate the process, so this project was born.


As a first step, I took photos of my scanner colour calibration target, with and without the Lee Big Stopper. Ideally I wanted the exposures to be in the same range as what I would normally use in practice, which usually start at 1/30s without the filter, and 30s with the filter. I used natural light, but since the photos were taken indoors, I had to increase my camera ISO setting to 800 to avoid excessively long exposures.

I processed these with DxO Optics Pro, using my usual settings but without any exposure compensation or ‘smart lighting’. As you can see, with the Lee Big Stopper, the output has a distinctly cooler white balance.

Next, I wrote some software to determine an optimal curves transform. The topic of image restoration was always a personal favourite, so it was nice to apply my skills to a problem of direct interest. I will spare you the technical details involved in aligning the images and selecting corresponding pixels from the two images, to use as control points. Once I had these (millions of) control points, I fit a polynomial curve that best approximates these control points. You can see the result below.

Actually, to make sure I had enough coverage throughout the tonal range, I used two pairs of photos – the ones shown earlier, at ideal exposure, and another pair underexposed by one stop. Finally, I built 256-point tables for each channel’s curves. I saved these in two formats, one for DxO Optics Pro and one for Photoshop and similar tools, which you can download further down.


Applying the correction curves in DxO Optics Pro to the photo taken with the Lee Big Stopper brings it very close to the photo taken without the filter. You can compare the two below.

There are slight differences, particularly visible in the light blue range. These cannot really be fixed without a 3D look-up table. I may look into this in the future if I find the difference to be worth pursuing.

Comparison with 3-point method

For completeness, you can see the curves for the new LUT below (dashed lines). On the same axes I also plot the curves from the older method with three control points (solid lines). I assume that Photoshop creates the curves with a polynomial fit of the required order (4 in this case). The older control points themselves are also shown as circles.

Comparison of the new LUT (dashed) with the older curves layer with three control points (solid). (Click on the figure for added detail.)


You can download the newly created LUT in one of two formats, below.

  • IRIDAS / Adobe CUBE format, with one-dimensional tables [cube, 11k]. This file can be added as a 3D LUT layer in Photoshop CS6 or later, and other software (including video compositors, editors, and colour graders).
  • DxO Optics Pro preset [preset, 24k]. This file can be applied to a photo in DxO, changing only the ‘tone curve’ tool settings. You may need to activate the tone curve manually.

The correction curves assume:

  • White balance is manually set to daylight (either in the camera or in the raw conversion).
  • Colour space is Adobe RGB (both in the raw conversion step and as subsequent working space).

If you use these, let me know how it works for you. I am curious to see how much variation exists between different Big Stopper filters. The same method could also be applied for other colour casts, or to characterize specific looks (say from different cameras, etc.). Get in touch if you’re interested.



  1. Hi Johann
    I have been a quite satisfied user of your earlier method (curves) to remove color cast created by lee big stopper, believe LUT method is giving even better results (photo looks really natural now). Meantime I tried different method recently (i.e. using xrite color checker passport I have created several profiles (took photos of the colour checker with bigstopper in bright day light and shade etc, created several profiles (in bright day light/shade and even average one using dual Illuminant DNG, But could not achieve desired results (nowhere near your method) . Any idea why xrite method failed , under normal circumstances I have achieved very good results with xrite color checker passport.

    Thank you immensely for making this methods available to us freely as this is the best method we have come across so far,

    Cheers Rohan

    • Hi Rohan, thanks for stopping by and for your kind words! I’m happy to know that what I shared has been useful, and particularly that you also find the LUT method better. I wanted to take some time to write a proper response to your question about the colorchecker. I think the difference is primarily that my method doesn’t try to profile the camera+filter combination, but only to profile the difference that the filter itself makes. That is, I’m only trying to get the output when using the filter to match the output when not using the filter. This is a much easier problem, assuming the filter doesn’t completely block a particular wavelength or fluoresce (in which case there can really be no recovery). In particular, the latest method I used is also much more robust than the colorchecker, as it correlates values across the full range for each R,G,B channel.

      I have recently (last week, in fact) used a colorchecker to produce a camera profile for a high-speed camera I’m using. This proved to be much more complicated than I expected (I should really write a blog post about this), and I found that the X-Rite software wasn’t very useful for what I needed. In the end I got reasonable results using Argyll, but it did take a lot of trials, and the profiles didn’t even match each other. Eventually I want to repeat the experiment for my Canon with and without the filter. If you want to try this, I’d suggest doing only a profile for direct sunlight. This depends what you shoot of course; for my landscape and outdoor work I have long ago stuck the WB setting at ‘daylight’ and haven’t looked back. If I need to warm up the shadows I just do that in post with a colour filter layer. Shade/Cloudy/etc temperature really depends on too many variables, so they never look quite right. The only other profile I’d recommend doing is a tungsten one, if you ever shoot indoors, and if you actually find tungsten lighting any more. Other types (PL, LED, fluorescent tubes, etc) seem to have their colour all over the place, and they’re mostly not full-spectrum anyway, so it will not be possible to get a decent profile due to colour metamerism.

    • Hi Antonio. The LUT file contains three curves, one each for R, G, B. The curves were created by fitting a 4th degree polynomial to the input/output data as shown on the graphs, and then creating a 256-point look up table based on each polynomial.

  2. Hi. I’ve been reading this with interest, I will admit though after downloading the .cube file for use withing CS6 I am now totally lost as to what to do with it… excuse my ignorance here but what do I do next? – is this kind of like a curves prest ? Thanks in advance, Pete

  3. Hi, I couldn’t find it in the program files, but to be honest it’s pretty easy to just leave the cube file on the desktop and point the colour adjustment layer to it when you need it, really is a huge time saver and will give more consistent results than playing with WB in ACR each time for each image, so thanks!

    • Hi Pete, just looked this up – assuming a default setup, the per-user presets are in: C:\Users\xxx\AppData\Roaming\Adobe\Adobe Photoshop CS6\Presets

      (where ‘xxx’ is the username.) If you just put the .cube file there it should get picked up automatically.

  4. Hi Johann,

    This is amazing and I’m glad your post came up on the first page of Google when I searched, “How to remove color cast from Lee Filters in Photoshop”.

    I recently bought a set of Lee filters, knowing about the colour cast, and went out on a shoot tonight with them for the first time. I knew simply adjusting the colour temperature wasn’t going to do a great job but I don’t have the knowledge nor the skill to create something like you have. I really appreciate the work you put in to create this ‘fix’ for us.

    The colour cast from this evening was particularly horrid but your cube file worked wonders.

    Thanks again,

    • Hi Nick! Glad to know you too found this useful, and nice to see it’s showing up on the first page of search results 😃

  5. Excellent Johann, I was looking for good info about the Big Stopper color cast and your post has helped me decide on my purchase of this Lee filter. It wasn’t as bad as people said and the fix is really easy.

    • Thanks Eduardo! I agree, it’s not a big problem, the cast is uniform and easy to correct, particularly with the look up table method.

Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s