diff --git a/Modules/Filtering/ImageLabel/include/itkBinaryContourImageFilter.hxx b/Modules/Filtering/ImageLabel/include/itkBinaryContourImageFilter.hxx index 2aaa68eafae..d92baf20979 100644 --- a/Modules/Filtering/ImageLabel/include/itkBinaryContourImageFilter.hxx +++ b/Modules/Filtering/ImageLabel/include/itkBinaryContourImageFilter.hxx @@ -106,10 +106,10 @@ BinaryContourImageFilter::BeforeThreadedGenerateData( OutputImagePointer output = this->GetOutput(); InputImageConstPointer input = this->GetInput(); - RegionType reqRegion = output->GetRequestedRegion(); - SizeValueType pixelcount = reqRegion.GetNumberOfPixels(); - SizeValueType xsize = reqRegion.GetSize()[0]; - SizeValueType linecount = pixelcount / xsize; + const RegionType & reqRegion = output->GetRequestedRegion(); + const SizeValueType pixelcount = reqRegion.GetNumberOfPixels(); + const SizeValueType xsize = reqRegion.GetSize()[0]; + const SizeValueType linecount = (xsize > 0 ? pixelcount / xsize : 0); m_ForegroundLineMap.clear(); m_ForegroundLineMap.resize(linecount); @@ -123,8 +123,8 @@ void BinaryContourImageFilter::DynamicThreadedGenerateData( const RegionType & outputRegionForThread) { - OutputImagePointer output = this->GetOutput(); - InputImageConstPointer input = this->GetInput(); + OutputImageType * output = this->GetOutput(); + const InputImageType * input = this->GetInput(); using InputLineIteratorType = ImageScanlineConstIterator; InputLineIteratorType inLineIt(input, outputRegionForThread);