Dividing a large image into smaller overlapping blocks for parallel processing
Riaan van den Dool
riaanvddool at gmail.com
Tue Sep 3 15:27:51 EDT 2013
I have created a gist with my thoughts of what such a function could look
like.
https://gist.github.com/riaanvddool/6428299
The examples shown are a bit contrived, with border_size=(0,0) and
non-overlapping 'rolling' windows, but the idea should be clear I think.
The proc_func function can either process and return a value synchronously,
or create a separate job/process for each window, depending on
implementation. By keeping this logic separate from the windowing function
any multiprocessing-type solution can be used according to preference. In
the case of asynchronous processing the results tuple will either be filled
with None, or any other value returned by proc_func, ie it will not be the
asynchronous result itself and the proc_func will have to implement a way
for the asynchronous results to be returned when available (callback
function as an example).
Your thoughts?
Riaan
On Sunday, September 1, 2013 7:25:46 PM UTC+2, Johannes Schönberger wrote:
>
> Great!
>
> Am 01.09.2013 um 17:53 schrieb Colin Lea <coli... at gmail.com <javascript:>>:
>
>
> > I just made a function blocproc to do this. I'll add a pull request
> later today. It works in a similar way as the matlab feature.
> >
> >
> >
> > On Sunday, September 1, 2013 5:37:22 AM UTC-4, Johannes Schönberger
> wrote:
> > Yes that should be very useful. Nevertheless, I think a function like
> Matlab's blockproc would be a really good addition.
> >
> > Am 01.09.2013 um 11:34 schrieb Stéfan van der Walt <ste... at sun.ac.za>:
> >
> > > On Sat, Aug 31, 2013 at 8:17 PM, Johannes Schönberger <js... at demuc.de>
> wrote:
> > >> - pad image with skimage.util.pad, which allows a large number of
> padding methods
> > >> - spawn a pool of processes using Python's multiprocessing package in
> the standard library
> > >> - use shared memory to provide read access to complete image
> > >> - define slices of image blocks and add them to a processing queue
> > >
> > > How about we add an `overlap` parameter to
> > > `skimage.utill.view_as_windows`? That should solve this problem.
> > >
> > > Stéfan
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups "scikit-image" group.
> > > To unsubscribe from this group and stop receiving emails from it, send
> an email to scikit-image... at googlegroups.com.
> > > For more options, visit https://groups.google.com/groups/opt_out.
> > >
> >
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "scikit-image" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to scikit-image... at googlegroups.com <javascript:>.
> > For more options, visit https://groups.google.com/groups/opt_out.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20130903/d4fe4f84/attachment.html>
More information about the scikit-image
mailing list