|
From: | Brendan Bolles |
Subject: | Re: [Openexr-devel] Efficient read of a single image channel, in a multi-channel image |
Date: | Thu, 25 Oct 2007 12:09:15 -0700 |
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 seekoperations, 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
[Prev in Thread] | Current Thread | [Next in Thread] |