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/Posterize
Colors/Threshold
Colors/Levels Gamma slider operations
Colors/Levels Red, Green, and Blue Input/Output sliders
Colors/Levels "Auto Pick" (used for white balancing images)
Filters/Artistic/Cartoon
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
--
http://ninedegreesbelow.com
Color management and free/libre photography
_______________________________________________
gegl-developer-list mailing list
List address: gegl-developer-list@xxxxxxxxx
List membership: https://mail.gnome.org/mailman/listinfo/gegl-developer-list