[Insight-users] RecursiveSeparableImageFilter and ReconstructionImageFilter

Richard Beare richard.beare at gmail.com
Wed Sep 3 05:35:19 EDT 2008


It is actually a lot harder than it first seems. Streaming, in its
simplest form, assumes that you can break an image into blocks,
process, and glue back together and get the same result as you would
processing the entire image at once. Reconstruction is one of a family
of filters that rely on some form of connectivity operator, and
therefore, while the result usually won't depend on a pixel on the
other side of the image, it can. The direct, naive, implementation of
reconstruction will repeatedly apply small dilations to the image -
this approach could probably be streamed with care, but the algorithm
is much slower. So if you have a truly massive image and you want a
true reconstruction, then this might be the way to go. Otherwise it is
necessary to figure out some rules that let you fix edge problems when
you glue the image tiles back together - I believe some of the
watershed implementation does that - but I'm not aware of any
equivalent algorithms for morphological reconstruction.

On Wed, Sep 3, 2008 at 7:29 PM, Julien Michel <julien.michel at c-s.cnes.fr> wrote:
> Tom Vercauteren a écrit :
>> Hi Julien,
>> As far as I understand it, RecursiveSeparableImageFilter should be
>> recursive and separable meaning that (for a 2D image) the filter first
>> requires entire lines and then requires entire columns. It can thus
>> not easily benefit from streaming (even though it could be
>> multithreaded).
>> If the filter needs to be run in one direction only, it should however
>> be possible to do streaming with regions split in the other direction.
>> Regards,
>> Tom
> Hi Tom, Hi Gaetan,
> Thanks a lot for your replies. I understand that streaming is not
> straightforward for these implementations. I think I'll have a look at the
> algorithms and publications used to better understand how it is working.
> My naive idea is that to compute a gradient, or the opening by
> reconstruction, for a given pixel, you should not need pixels that are 30
> 000 pixels away from it. So, given a subregion of the input image, there
> must be a minimal region where values of the gradient on the full image and
> on the subregion are equivalent. The question is how to determine this
> minimal region. If we know how to to do it, with a litle overlapping we
> should be able to turn a lot of filter streamable, which would be very
> useful (especially for us).
> Best regards,
> Julien
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Julien MICHEL - Ingénieur d'études - Traitement d'images
> CS Systèmes d'Information - Division ESPACE
> Département Information Géographique & Image
> Téléphone : +33 561 17 64 27
> Email : julien.michel at c-s.fr
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users

More information about the Insight-users mailing list