On Jan 24, 2007, at 4:30 PM, Florian Kainz wrote:
There is no particularly efficient way to read a single channel.
The channels in the file are interleaved per scan line or per tile.
This allows efficient random access to individual scan lines or tiles,
as well as sequential reading of the entire image with no seek
operations, but it precludes fast extraction of a single image channel.
(saw this older post)
Thanks for clarifying, Florian. I have a feature request for the
distant future then: add the ability for files to be stored with
channels in blocks instead of this interleaved method. That is, if you
think there would in fact be a speed advantage for reading a single
channel this way.
I think for files that have any channels beyond RGBA, it is much more
common to want to read just one channel at a time. In fact, for a 50-
channel file I can't think of anytime I'd want to read all 50 channels
simultaneously. You generally have input nodes with a few channels
requested per node. Each node is getting called independently, so
there's no way to load all the channels at once and then pass them to
the different inputs. At least in the software I'm using.
Brendan