Re: [Gimp-developer] babl roadmap

The "sRGB as PCS" architecture outline in babl/docs/roadmap.txt will likely collapse under its own weight. The roadmap should be amended to reflect a more accurate assessment of the amount of work the planned architecture will entail.

The babl roadmap says:

"Babl currently only supports formats using the sRGB primaries, quite a few editing operations including gamma adjustments and multiply compositing relies on the chromaticities of the space used, permitting at least linear formats with other chromaticities is highly desirable"

As the purpose of the roadmap seems to be guiding future development, the list of editing operations that rely on the chromaticities of the RGB working space needs to be expanded. The following list is not complete, but it's a start:

Channel data used as a blending layer
Channel data used for making selections

Colors/Alien Map HSL
Colors/Alien Map RGB
Colors/Auto stretch contrast
Colors/Auto stretch contrast HSV
Colors/Channel Mixer (try Margulis' "enhance green" formula)
Colors/Desaturate average
Colors/Desaturate lightness
Colors/Mono Mixer (except Luminosity-based B&W conversions)
Colors/Levels Gamma slider operations
Colors/Levels Red, Green, and Blue Input/Output sliders
Colors/Levels "Auto Pick" (used for white balancing images)

Filters/Edge Detect/Sobel
Filters/Enhance/Red Eye Removal
Filters/Noise/HSV Noise
Filters/Noise/RGB Noise
Filters/Artistic/Soft glow
Filters/Artistic/Vignette (any color except gray, white, black)

Layer blend Mode/Burn
Layer blend Mode/Color
Layer blend Mode/Darken only
Layer blend Mode/Difference
Layer blend Mode/Divide
Layer blend Mode/Dodge
Layer blend Mode/Hard light
Layer blend Mode/Hue
Layer blend Mode/Lighten only
Layer blend Mode/Multiply
Layer blend Mode/Overlay
Layer blend Mode/Screen
Layer blend Mode/Saturation
Layer blend Mode/Value

In addition, Paint tools depend on the working space chromaticities when using the following blend Modes: Burn, Color, Darken only, Difference, Divide, Dodge, Hard light, Hue, Lighten only, Multiply, Overlay, Saturation, Screen, Soft light, Value.

The babl roadmap should be amended to include all of the above-listed operations as requiring special-casing in the "sRGB as PCS" architecture.

More than half of the approximately 85 operations that I did check are chromaticity-dependent when performed on linear RGB data. Someone should check all editing operations. You can skip all strictly ADD/SUBTRACT-based operations, including scaling and gaussian blurs.

The roadmap says "permitting at least linear formats with other chromaticities is highly desirable". It is unclear why "permitting" should be limited to "linear formats". All of the operations listed above depend on the working space chromaticities, regardless of whether the RGB values are linear or perceptually uniform.

Indeed, some (and probably many) operations, that work just fine on linear unbounded sRGB values, are *very* dependent on the chromaticities when performed on perceptually uniform RGB values (for example drawing a gradient).

Someone should check all editing operations for perceptually encoded RGB to figure out which operations depend on the chromaticities, and then add these operations to the list of operations that need to be special-cased in the planned "sRGB as PCS" architecture.

With respect,
Elle Stone
Color management and free/libre photography

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]