[Insight-developers] periodic boundary condition

Joshua Cates cates@sci.utah.edu
Tue, 11 Feb 2003 17:35:25 -0700 (MST)


Hi Hans,

Yes, I agree you will want LargestPossibleRegion = BufferedRegion.  This
can be handled automatically at the filter level by providing an
implementation of GenerateInputRequestedRegion() which sets
RequestedRegion = LargestPossibleRegion (see
itkNeighborhoodOperatorImageFilter.txx, for example).

I believe wrapping around the BufferedRegion will be correct in this case. 

In general, it seems that any algorithm which uses a periodic boundary
condition should require that RequestedRegion = LargestPossibleRegion.

Josh.

______________________________
 Josh Cates			
 School of Computer Science	
 University of Utah
 Email: cates@sci.utah.edu
 Phone: (801) 587-7697
 URL:   http://www.sci.utah.edu/~cates


On Tue, 11 Feb 2003, Hans Johnson wrote:

> Josh,
> 
> The need for periodic boundaries is most often needed to reconcile 
> differences between spatial and frequency domain representations of an 
> image.  I don't think it makes sense to wrap boundaries on the buffered 
> region, you must wrap the boundaries on the entire image.
> 
> In particular, I am thinking of the case where the periodic boundaries 
> are used on the output of a frequency domain (FFT) filter applied to an 
> image.
> 
> Perhaps it is upto the application programmer to ensure that the 
> BufferedRegion=LargestPossible region.
> 
> Regards,
> Hans J. Johnson
> hans-johnson@uiowa.edu
> 
> 
> Joshua Cates wrote:
> > Sorry, here is the complete message:
> > 
> > Hi,
> > 
> > I am writing a periodic boundary condition object for the neighborhood
> > iterators.  This is class which returns out-of-bounds values
> > by "wrapping around" the image.
> > 
> > I'm looking for opinions on the following issue.  A neighborhood iterator
> > will only invoke the boundary condition if it finds itself touching an
> > edge of the Image::BufferedRegion.  My inclination is to wrap around the 
> > buffered region, regardless of the region over which the iterator was 
> > initialized.  Is there any reason to wrap over the intialized region 
> > instead?  Would it be useful to have the option to do both?
> > 
> > Josh.
> > 
> > 
> > ______________________________
> >  Josh Cates			
> >  School of Computer Science	
> >  University of Utah
> >  Email: cates@sci.utah.edu
> >  Phone: (801) 587-7697
> >  URL:   http://www.sci.utah.edu/~cates
> > 
> > 
> > _______________________________________________
> > Insight-developers mailing list
> > Insight-developers@public.kitware.com
> > http://public.kitware.com/mailman/listinfo/insight-developers
> 
> 
> -- 
> ===================================================================
> Hans J. Johnson                              W294 GH
> hans-johnson@uiowa.edu                       Dept. of Psychiatry
> http://www.psychiatry.uiowa.edu/~hjohnson    The University of Iowa
> (319) 353-8587                               Iowa City, IA 52242
> ===================================================================
>