Dividing a large image into smaller overlapping blocks for parallel processing

Johannes Schönberger jsch at demuc.de
Sat Aug 31 14:17:25 EDT 2013


Some hints:

 - 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

Am 31.08.2013 um 20:05 schrieb Riaan van den Dool <riaanvddool at gmail.com>:

> The blockproc function's signature provides a useful starting point, thanks. 
> http://www.mathworks.com/help/images/ref/blockproc.html
> 
> I will have to think about how to do the parallel execution from the function.
> 
> Blockproc provides two 'padding' methods: replicate and symmetric. I guess what I need could be called margin, or overlap perhaps. 
> 
> For the margin case it might make sense that such a function merely returns an array of block definitions, rather than blocks of pixel data. But this would not be so applicable for the replicate and symmetric cases I think.
> 
> R
> 
>  
> 
> On Saturday, August 31, 2013 6:49:31 PM UTC+2, Johannes Schönberger wrote:
> Hi Riaan, 
> 
> Unfortunately we do not have (at least I do not know of) a function similar to Matlab's `blockproc`. Such feature would be a great addition to skimage! 
> 
> Regards, Johannes 
> 
> Am 31.08.2013 um 16:04 schrieb Riaan van den Dool <riaan... at gmail.com>: 
> 
> > Hi guys 
> > 
> > I would like to use scikit-image to process large images, for example (5696, 13500). 
> > 
> > In the interest of speed I need to divide the image into smaller sub-images with the possibility of processing these in parallel. 
> > 
> > If I define the sub-images so that neighbouring sub-images overlap then edge effects should not be a problem for the algorithm operating on each sub-image. 
> > 
> > This is probably a specific case of the more general border/edge-effect handling issue as addressed by the mode parameter here: 
> > http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.filters.convolve.html 
> > 
> > My questions: 
> >         • Is there already a image-division function/strategy implemented in scikit-image? 
> >         • Is this something that might be included in future if an implementation is available? 
> >         • Please share any references to articles or code that deals with this. 
> > Riaan 
> > 
> > 
> >   
> > 
> > -- 
> > 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+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.




More information about the scikit-image mailing list