[Insight-developers] BasicFilters/itkRecursiveSeparableImageFilter possible bug

Jisung Kim bahrahm@yahoo.com
Wed, 8 May 2002 13:16:37 -0700 (PDT)


Thanks Luis.

I was just trying to run the example with my image
data in a quick and dirty way. By the way, The example
seems to work with the data except for the seq faults.


--- Luis Ibanez <luis.ibanez@kitware.com> wrote:
> Jisung,
> 
> Your are right,
> 
> The RecursiveSeparable filter assumes that every
> dimension
> is at least of size four.  There is a theoretical
> reason behind that.
> 
> This 4 number comes from the fact that the IIR
> recursive filter
> that is applied for approximating the Gaussian (in
> the derived class)
>  requires four values (four neighbors).
> 
> We could force the filter to run on  less than four
> but the output
> will not have  much use.  It will be like applying a
> cubic BSpline
> in a single value.
> 
> I'm affraid that in this case it is better to manage
> the data as
> a 2D image.  You may not want to do a 3D
> registration on it
> anyways since as soon as is it tilted on X or Y, it
> will go of the
> plane and only one line of pixels will be
> contributing to the
> image metric. (if you are registering it to a
> similar image).
> 
> If the other image you are registering against, is
> an actual
> volume. You can get around of the problem by
> exchanging
> the role of the images on the registration process. 
> The Gaussian
> is applied only to one of the images during the
> computation of the
> Metric derivative.  So if you exchange the images
> the one-slice
> image will not be subject to the effect of the
> recursive filter.
> 
> Also, in general, if one image is much bigger that
> the other, you
> are better using the small image as the Fixed image
> because
> points are mapped from the fixed one to the moving
> one.
> 
> 
> We should probably add the 4 pixel limitation to
> Doxygen doc
> as a warning and in the actual code throw an
> exception whenever
> the number of pixels is less than four.
> 
> 
> 
>     Luis
> 
> 
> 
> =====================
> 
> Jisung Kim wrote:
> 
> >Hello.
> >
> >I encountered a seg fault error while I was running
> >the MultiResMIRegistration example with an image
> that
> >has only one slice. I traced down the source of
> error
> >to the itkRecursiveSeparableImageFilter in the
> >BasicFilters directory. In that filter, the
> >FilterDataArray method seems to assume that the
> size
> >of each dimension is larger  than four. 
> >
> >Adding if conditions to initializations of borders
> and
> >changing the type of the for loop indexes from
> >unsigned to signed, the seg fault error is gone.
> >However, I don't know this modification is
> >theorectically correct.
> >
> >I hope somebody can tell me if I am doing right.
> >
> >Thanks,
> >
> >Jisung.
> >
> >=====
> >Jisung Kim
> >bahrahm@yahoo.com
> >106 Mason Farm Rd.
> >129 Radiology Research Lab., CB# 7515
> >Univ. of North Carolina at Chapel Hill
> >Chapel Hill, NC 27599-7515
> >
> >__________________________________________________
> >Do You Yahoo!?
> >Yahoo! Health - your guide to health and wellness
> >http://health.yahoo.com
> >_______________________________________________
> >Insight-developers mailing list
> >Insight-developers@public.kitware.com
>
>http://public.kitware.com/mailman/listinfo/insight-developers
> >
> 
> 
> 
> _______________________________________________
> Insight-developers mailing list
> Insight-developers@public.kitware.com
>
http://public.kitware.com/mailman/listinfo/insight-developers


=====
Jisung Kim
bahrahm@yahoo.com
106 Mason Farm Rd.
129 Radiology Research Lab., CB# 7515
Univ. of North Carolina at Chapel Hill
Chapel Hill, NC 27599-7515

__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com