[Insight-users] Bug in itkImageRegion

Luis Ibanez luis . ibanez at kitware . com
Wed, 04 Sep 2002 08:56:11 -0400


Hi Koen,

The ImageRegion is probably doing the right thing.

The Region created in your example is starting at
index 0 and have size 100.  This means that indices
inside the region are in the range [0,99] (inclusive).

The continuous index 99.9 is actually outside the region.

The continous index 98.9 will be inside...

Please let us know if you find that this makes sense.

Thanks

Luis

===========================


Koen Van Leemput wrote:
> Hi all, 
> 
> I think there is a bug in itkImageRegion::IsInside(const 
> ContinuousIndex<TCoordRepType,ImageDimension> &): indices outside a region 
> are actually reported to fall inside. Here is some example code reproducing 
> the error:
> 
>   typedef itk::ImageRegion<1>        RegionType;
>   RegionType::IndexType    index = {0};
>   RegionType::SizeType     size = {100};
>   RegionType region(index, size);
>   itk::ContinuousIndex<double, 1>  continuousIndex;
>   continuousIndex[0] = 99.9;
>   std::cout << region.IsInside( continuousIndex ) << std::endl;
> 
> In itkImageRegion::IsInside(const 
> ContinuousIndex<TCoordRepType,ImageDimension> &), the test "if( index[i] >= 
> bound )" should probably be replaced with "if ( index[i] > bound-1 )"
> 
> Cheers,
> 
> Koen
> 
> 
>