From fe59a4c48a746069cec43a4c7bf23ec268e9e048 Mon Sep 17 00:00:00 2001 From: Jordi Inglada <jordi.inglada@orfeo-toolbox.org> Date: Mon, 29 Jun 2009 22:59:41 +0200 Subject: [PATCH] BUG: need for bound checking --- .../itkBSplineScatteredDataPointSetToImageFilter.txx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx b/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx index 9ab890b745..20537b8d1b 100644 --- a/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx +++ b/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx @@ -659,14 +659,20 @@ BSplineScatteredDataPointSetToImageFilter<TInputPointSet, TOutputImage> } RealType wc = this->m_PointWeights->GetElement( It.Index() ); RealType t = Itw.Get(); - omega->SetPixel( idx, omega->GetPixel( idx ) + wc*t*t ); + if(idx[0]>=0 && idx[1]>=0 && idx[0]< omega->GetLargestPossibleRegion().GetSize()[0] && idx[1]< omega->GetLargestPossibleRegion().GetSize()[1]) + omega->SetPixel( idx, omega->GetPixel( idx ) + wc*t*t ); + PointDataType data = It.Value(); data *= ( t / w2_sum ); Itp.Set( data ); data *= ( t * t * wc ); + + if(idx[0]>=0 && idx[1]>=0 && idx[0]< delta->GetLargestPossibleRegion().GetSize()[0] && idx[1]< delta->GetLargestPossibleRegion().GetSize()[1]) + { delta->SetPixel( idx, delta->GetPixel( idx ) + data ); delta->GetPixel( idx ) + data; + } } } -- GitLab