[Insight-developers] MultiScaleHessianBasedMeasureImageFilter in Review...

Bradley Lowekamp blowekamp at mail.nih.gov
Thu Mar 12 09:54:09 EDT 2009


I did not write a test, but it looked to me that the filter would seg  
fault if a streaming sub-region was requested to it. To take care of  
this I implemented the EnlargeOutputRequestedRegion to set the  
requested region to the largest possible region. This will propagate  
to all the outputs and the input, the the buffered regions will also  
be set to this largest possible region. This disables streaming and  
all the inputs and outputs should agree on the regions.

I think that it is best practice to initialize the iterators with the  
buffered region of the output iterator's image. This allows for cases  
when the input image has a buffered regions which doesn't match the  
output's buffered region. In this case the all the regions should be  
equivalent to the largest possible region as set in  
EnlargeOutputRequestedRegion, so it does make little difference.  
However, if the EnlargeOutputRequestedRegion was implemented (as  
before) then these changes should perform the coping correctly and not  
seg fault.

I agree that getting this filter to stream would be challenging,  
especially because the HessianToMeasureFilter can be changed to  
different classes. One would need to query the HessianToMeasureFilter  
and set up the requested region, in an GenerateInputRequestedRegion,  
to match it's needs.

Brad

On Mar 12, 2009, at 6:41 AM, Kevin H. Hobbs wrote:

> Luca Antiga wrote:
>>
>> 2) agreed, feel free to switch to the Buffered region.
>
> It's been a while since I looked at the paper and code,
> the filter did not stream at the time so I played with its  
> constituent parts,
> I used ExtractImageFilter to force piece by piece updates,
> but I believe there are two problems that prevent this filter from  
> streaming.
>
> 1. It uses IIR filters so every pixel in the image has some impact  
> on the output.
>   FIR filters are slow for the large kernels associated with the  
> larger sigmas.
>   This can be overcome with some small error by enlarging streamed  
> pieces by a
>   sigma or two and using the IIR filters.
>
> 2. It normalizes the image for each scale before combining them.
>   When streaming this results in each piece being scaled and the  
> whole image
>   becomes blocks of very different intensities.
>
>

========================================================
Bradley Lowekamp
Lockheed Martin Contractor for
Office of High Performance Computing and Communications
National Library of Medicine
blowekamp at mail.nih.gov


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20090312/6124e0f5/attachment.htm>


More information about the Insight-developers mailing list