oiiotool original.exr --mulc 0.0 --eraseattrib ".*" -o black.exr But double check the timing -- just in case it is somehow the metadata that is messing with the performance!
> On Nov 10, 2021, at 1:26 PM, Daniel Flehner Heen <flehnerhee...@gmail.com> > wrote: > > I created the black exr and it is indeed small. Still takes a long time > extracting the channels, so it's good for testing. > My only concern is that some of the metadata contains confidential > information. Is there an easy way of wiping the custom metadata with otiotool? > > In parallel with writing this email, I'm checking with my supervisors if I > can send you the image (preferably off list.) > > On Wed, Nov 10, 2021 at 9:55 PM Larry Gritz <l...@larrygritz.com > <mailto:l...@larrygritz.com>> wrote: > Interesting! As long as there's some easily measurable perf difference (like > 2x is fine), I should be able to figure out what's going on. Though it's > weird that your original image is more like 30x. > > Let's try something else. Assuming your original image is not something you > can share, what about this: > > oiiotool original.exr --mulc 0.0 -o black.exr > > That should make the pixels black, but retain all the metadata, channel > names, and data types of the original that had a large performance > difference. It should be a small file (black compresses very well) and will > obviously contain no imagery that is secret. > > In one "part" of an exr file, all channels are either deep or flat, so "deep" > is all or none of the channels in that part/subimage. > > >> On Nov 10, 2021, at 12:30 PM, Daniel Flehner Heen <flehnerhee...@gmail.com >> <mailto:flehnerhee...@gmail.com>> wrote: >> >> Hi, Larry! >> >> Thanks for looking into this. I created an image with IBA.noise() in 70 >> channels and there still is a performance difference. >> Not that big though: 2.3 seconds (python) vs 0.9 (oiiotool) >> >> Not sure if it makes a difference, but the slow image has a mix of float and >> half channels and is tiled 64x64. >> Don't know exactly if any of the channels are deep. Will ImageBuf.deep >> return True if any channel is deep? >> a buf.deep call returns False. >> >> >> On Wed, Nov 10, 2021 at 6:16 PM Larry Gritz <l...@larrygritz.com >> <mailto:l...@larrygritz.com>> wrote: >> Well that sure is weird! Usually, both the python bindings and the oiiotool >> operation are pretty thin wrappers around the corresponding ImageBufAlgo >> function which is doing almost all the work. A big perf difference is not >> expected. >> >> Can I assume that this is reproducible by any 70 channel image? Like I can >> just use oiiotool to generate a black image and see a big speed disparity >> like this? Or is it in any way specific to the particular image? >> >> Wednesdays are pretty packed, but I'l try to take a look at this today if I >> can. >> >> >>> On Nov 10, 2021, at 4:08 AM, Daniel Flehner Heen <flehnerhee...@gmail.com >>> <mailto:flehnerhee...@gmail.com>> wrote: >>> >>> Hi! >>> >>> I'm attempting to extract only the RGBA channels of an EXR with 70+ >>> channels. >>> >>> Using: >>> oiiotool -i:ch=R,G,B,A /path/to/gigantic.exr -o manageable.exr >>> takes about 8 seconds. >>> >>> In python (2.7 !caugh..): >>> buf = oiio.ImageBuf('/path/to/gigantic.exr') >>> obuf = oiio.ImageBufAlgo.channels(buf, ('R', 'G', 'B', 'A')) >>> obuf.write('manageable.exr') >>> takes 4+ minutes >>> >>> I tried only extracting one channel and it took the exact amount of time. I >>> expect a performance hit using python but this seems a bit off. I suspect >>> the python bindings are reading all the channels even though I'm asking for >>> a specific few. >>> I might of course be going about this completely wrong, in which case a >>> pointer in the right direction would be highly appreciated :) >>> >>> Straight read and write of the same file is done quickly. >>> >>> Thanks! >>> >>> -- >>> -Daniel >>> _______________________________________________ >>> Oiio-dev mailing list >>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >> >> -- >> Larry Gritz >> l...@larrygritz.com <mailto:l...@larrygritz.com> >> >> >> >> >> _______________________________________________ >> Oiio-dev mailing list >> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> >> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >> >> >> -- >> -Daniel >> _______________________________________________ >> Oiio-dev mailing list >> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> >> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> > > -- > Larry Gritz > l...@larrygritz.com <mailto:l...@larrygritz.com> > > > > > _______________________________________________ > Oiio-dev mailing list > Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> > > > -- > -Daniel > _______________________________________________ > Oiio-dev mailing list > Oiio-dev@lists.openimageio.org > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz l...@larrygritz.com
_______________________________________________ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org