Luminosity masks: immutable or not?

Rather philosophical question…

In Gimp, several scripts create all the possible luminosity masks at once, following the canonical tutorial by Patdavid.

However, these sort of freeze the luminosity masks on the initial picture. If I use a midtones mask and increase the luminosity, the lightest part of the midtones will enter (or go deeper) in the range covered by the Lights masks.

Then, if I use a Lights masks for some other processing, these lightened pixels won’t be taken in account on the same level as pixels of equivalent lightness in the original image.

Is this:

  1. intended to be that way for “correct” processing (but why?)
  2. done that way because it would be slow (or was slow) to compute a mask on the fly, since some masks require to compute a bunch of other masks first
  3. just a plain oversight

Side question:

Pat’s tutorial explains how the masks are created and this make sense for educational purpose, but the same masks can be created directly by applying a Curves preset, so all the masks can be created individually and directly. In light of this (if you pardon the pun) what would change in the possible answers above?

1 Like

I think you should make as many masks as you need.

You can always flatten all layers into one and regenerate the masks.

I found this post (and thread) illuminating.


So did I, forgot about it. Interesting remark about the sigmoid masks, too.

So I wrote my own generator of luminosity masks for Gimp. Highlights:

  • Generates a mask from the current layer contents (no clutter in Channels, unless you want to)
  • You can define how to generate your own masks (
    mask are really Curves settings)
  • The action to generate a given mask (even custom ones) can be assigned to a shortcut

See ofn-luminosity-masks in my sourceforge collection.

Comments, suggestions, bug reports welcome.