[FEATURE REQUEST] oiiotool command to split "layers" into subimages or separate images #4546
Labels
difficulty/easy
Hours-to-days for veterans, days for newcomers to the project
feature request
help wanted
A task that is desired, but needs somebody to commit the effort to implement it.
mackerel 🎣
Medium sized project that somebody should take on to dive deeper into being an OIIO developer.
oiiotool
oiiotool
Just like we have oiiotool command
--sisplit
which splits an image's subimages (what exr calls "parts") into separate images on the oiiotool stack, it might be handy to have--layersplit
(split channel-name-based layers into separate images on the stack) and/or--layertosi
(split the layers in an image into an image organized by subimages/parts). In both cases, the layers would need to be deduced by looking at and grouping the channel names.Background:
Modern (>= 2.0) OpenEXR has "multi-part" files that can contain a different raster image in each part (for example, a beauty pass, reflections, isolated lights, mattes, etc). The parts are read separately, efficiently. When dinosaurs were alive and used OpenEXR 1.x, the lack of multi-part led to a convention called "multi-layer" exr, in which a ton of channels were jammed into a (single part of a) single image, and channels were grouped simply according to a naming convention, for example "LAYERNAME.channelname", and all the channels with the same LAYERNAME were considered a "layer" or group that conceptually goes together.
Ideally, nobody would know or care about this for the last several years, because they'd be using parts instead. But there is some software out there still making "multi-layer exr files" where dozens of channels are jammed into a single part. So maybe we need the equivalent of --sisplit for layers? (Note: we can already group separate images into a single image with multiple "layers" by using the existing --chappend plus ensuring that the channels are named according to the layer naming conventions, so we don't need a new command for going in that direction.)
The text was updated successfully, but these errors were encountered: