Merging Multi Channel Layers

Aaron Carlisle <[email protected]> Tue, 8 Dec 2015 16:34:05 -0600
Newsgroups gmane.comp.video.openexr.devel
Message-ID <[email protected]>
Hi!

Not sure if this is the right place to reach out, but I'm trying to take 
an EXR image and merge the channels in each layer down to one. Currently 
there are multiple channels for one layer (test.alpha, test.red, 
test.green, test.blue) but the EXR's that are being rendered out are 
black and white and all the pixel data is being stored in the RGB 
channels. In nuke there are channel limits and we're trying not to reach 
that (we have ran into that issue in the past).

I was able to accomplish this in Python, so that when the script is ran 
it takes the EXR and basically sums up all the pixel data for each of 
the RGB channels in the layer into one, then writes it back out with a 
custom name (matte.whateverTheLayerWasCalled). This works great accept 
it's incredibly slow. So, I'm porting it to C++ but I'm struggling a 
little bit on the best way to handle this.

I was wondering if anyone could help provide a generic example solution 
or maybe some tips.

All the best!
-Aaron

If you'd like to see the Python/C++ code just let me know.