[Insight-users] fast binary dilate image filter

Miller, James V (Research) millerjv at crd.ge.com
Thu Sep 15 08:37:03 EDT 2005


Gaetan, 

I saw the two implementations had different GenerateInputRequestedRegion
methods when I was reconciling them.  However, I do not see why they need
different versions.

What the current code does is pad by the larger of the m_Radius (1 pixel) and
the size of the kernel.  The m_Radius pad is needed for the determining the object
boundary points and the kernel pad is needed for the actual dilation/erosion. I
think this should be the appropriate pad for both dilation/erosion.  Do you
think otherwise?

So I think the problem is somewherelse.  None of our current tests picked up this
issue.  Can you send me the image that you are performing the binary closing on?
I can then put in a regression test using your "right.png" as the baseline.  This will
help me track down the problem.

It could be a boundary condition problem, where the wrong boundary value is used for
the erosion.

Jim


-----Original Message-----
From: Gaetan Lehmann [mailto:gaetan.lehmann at jouy.inra.fr]
Sent: Thursday, September 15, 2005 7:50 AM
To: Miller, James V (Research)
Cc: insight-users at itk.org
Subject: Re: [Insight-users] fast binary dilate image filter



Hi Jim,

I see you have replaced binary dilate/erode filters with the fast  
incremental version. Great !
However, the replacement of my classes by yours break my test. It seems  
that the border problems are back.
I think it's because the GenerateInputRequestedRegion method should not be  
shared between the 2 classes (erode filter need the output region padded  
by the kernel radius), but I haven't investigated it more.
I attach the right and the wrong result of a binary closing, just to show  
what I call border problems. We shouldn't see the deformations on the  
bottom and on the right.
To avoid border problems during the closing, I add a border to the image  
with a ConstantPadImageFilter, do the closing, and remove the border with  
a CropImageFilter. CropImageFilter requires a smaller input image than the  
output image from the BinaryErodeImageFilter , which make the border  
problems appear where they shouldn't.

Regards,

Gaetan


On Tue, 06 Sep 2005 16:32:07 +0200, Miller, James V (Research)  
<millerjv at crd.ge.com> wrote:

> Ahh, this sounds like my bad.  I thought I had put in the most recent  
> version of the
> filter.  I guess I missed the threaded version.
>
> I'll try to take a look at the threaded portions.  The merge will be a  
> bit tricky since we made
> changes to support cross platform builds (mostly the use of typename).   
> But at first glance,
> it looks as though the section of the algorithm to prepare the output  
> has been moved into
> the BeforeThreadedGenerate method.  In your message from last September  
> you mentioned something
> about the multithreaded version may run a bit slower than the previous  
> version when on a single
> processor machine.  Something about some code redundancy.  Can you point  
> to me that section
> of the code?
>
> As Gaetan noted, he submitted an erosion version of the algorithm.  I am  
> poised to add that
> filter to ITK as well.  My current thinking is to have  
> FastIncrementBinaryDilate/Erode
> become BinaryDilate/Erode and make the current  
> FastIncrementalBinaryDilate an empty subclass
> of BinaryDilate to maintain backward compatibility.
>
> I did not look to see how much of the code could be shared between the  
> FastIncrementalDilate and
> FastIncrementalErode.  I suspected a good bit of the code could be  
> shared but I haven't the time
> to investigate.
>
> I may do the following (no timeline on when):
>
> 1. Supplant the current BinaryDilate/Erode with the Incremental versions.
> 2. Add the threading changes to the dilate code.
> 3. Propagate the threading changes to the erode code.
> 4. Refactor to take shared code from the dilate/erode to some superclass.
>
> Thanks.
> Jim
>
>
> -----Original Message-----
> From: insight-users-bounces+millerjv=crd.ge.com at itk.org
> [mailto:insight-users-bounces+millerjv=crd.ge.com at itk.org]On Behalf Of
> SCHMID, Jerome
> Sent: Friday, September 02, 2005 12:28 AM
> To: insight-users at itk.org
> Subject: [Insight-users] fast binary dilate image filter
>
>
> Hi,
>
> After a long time I am back to the itk list as I find a job elsewhere.  
> Anyway this is not the topic of the mail...
>
> It concerns a filter I wrote on fast binary dilation for itk. At that  
> time ( about 1 year ago... ) I was speaking with James Miller about  
> this. Before I quit my previous job the filter hadn't been fully  
> reviewed or validated, I thought that it was lost :-)
>
> Anyway I found a thread about this filter in last April (yeah sorry to  
> talk about old things),
>
> http://public.kitware.com/pipermail/insight-users/2005-April/012583.html
>
> and I discover with pleasure that the filter has been integrated by  
> James. However James wonder if I made some modifications to it since.  
> The answer is no as I haven't access now to my previous work.
>
> However I wonder if James tried to test the threadable aspect of the  
> filter that I implemented at that time. The last version of the filter I  
> submited should be in the old following thread:
>
> http://public.kitware.com/pipermail/insight-users/2004-September/010538.html
>
> Our concern was the safety of some operations. At that time I tested it  
> and it seemed to work. The current implementation  
> itk::FastIncrementalBinaryDilateImageFilter hasn't the threadable aspect  
> available.
>
> I hope I can find the time one day to have a deeper look on it.
>
> Best Regards,
>
> Jerome Schmid
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users



-- 
Gaetan Lehmann <gaetan.lehmann at jouy.inra.fr>
Tel: +33 1 34 65 29 66
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
Web: http://voxel.jouy.inra.fr


More information about the Insight-users mailing list