Como se describe en las secciones anteriores, el resultado final de la máscara de un módulo (el efecto combinado de cualquier máscara dibujada y paramétrica) es una imagen de mapa de bits en escala de grises que representa la medida en que el efecto del módulo debe aplicarse a cada píxel. Esta imagen de mapa de bits se almacena internamente para los módulos activos y puede ser reutilizada posteriormente por otros módulos en el pixelpipe.

Al igual que con cualquier máscara, si el valor de opacidad de un píxel en una máscara de mapa de bits es cero, la entrada del módulo pasó a través del módulo sin cambios. Si la opacidad es 1.0, el módulo tiene su efecto completo. Para cada valor entre 0 y 1.0, el efecto del módulo se aplica proporcionalmente en esa ubicación.

Enable the raster mask from its tab and choose a source from the combobox. Raster masks can be identified by the name of the module against which they were originally generated.

Combining with drawn and parametric masks

In Ansel, a raster mask is no longer a mutually-exclusive mode: it can be combined with a drawn and/or parametric mask on top. When you do, the raster mask serves as the base, and the drawn and parametric masks refine it — their opacities are multiplied together pixel-by-pixel. Because masks combine multiplicatively, adding a drawn or parametric mask on top of a raster mask can only restrict its area further, never extend it.

This lets you reuse a mask computed elsewhere in the pipeline (for instance a luminance or edge mask produced by another module) and then trim it to a region with a drawn shape, or restrict it by color with a parametric mask, without having to rebuild it from scratch. In Darktable, selecting a raster mask disabled the other mask types entirely.


Note: Raster masks are generated as part of a module’s internal processing. Once a module’s processing is complete its mask then becomes available to subsequent modules in the pixelpipe.

Esto tiene dos implicaciones:

  1. Raster masks cannot be generated by disabled modules since they do not participate in pixelpipe processing. As soon as you disable a module, its mask is no longer available for use.

  2. Raster masks are passed up the pixelpipe after module processing – they can only be used by modules that come later in the pipe than the generating module.