Hi Max!

I can't answer the cryptomatte question, but I think your pickle issue is
related to shared objects in python's multiprocessing.
Instead of passing the ImageBuf object you should pass the path to the
image and create an ImageBuf in the worker process itself. Multiprocessing
doesn't share memory.

If your goal is to speed up transformation of a lot of images please note
that the ImageBufAlgo.resize() and other functions attempt to use as many
threads as possible by default (nthreads=0). If you spin up a lot of
processes all attempting to use all threads you *might* end up creating a
high load on your machine actually slowing things down.

Also, please take this last statement with a grain of salt as it's been a
while since I battled similar issues.

On Thu, Aug 4, 2022 at 6:42 PM Max Shooster <mshoos...@laika.com> wrote:

> Hi! I wanted to follow-up to see if the cryptomatte resize issue was able
> to be resolved, or if it was an issue on my end?
> Also, I am trying to use multiprocessing in Python but I run into errors.
> I have a group of images as ImageBufs that I pass into the
> oiiio.ImageBufAlgo.resize() function. But, I keep running into errors
> suggesting OpenImageIO.ImageBuf objects cannot be pickled​. Do you have
> any suggestions?
>
> Thanks!
> _______________________________________________
> Oiio-dev mailing list
> Oiio-dev@lists.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

Reply via email to