/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile: itkBasicDilateImageFilter.txx,v $ Language: C++ Date: $Date: 2004/04/30 21:02:03 $ Version: $Revision: 1.14 $ Copyright (c) Insight Software Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef __itkBasicDilateImageFilter_txx #define __itkBasicDilateImageFilter_txx #include "itkBasicDilateImageFilter.h" namespace itk { template BasicDilateImageFilter ::BasicDilateImageFilter() { m_DilateBoundaryCondition.SetConstant( NumericTraits::NonpositiveMin() ); this->OverrideBoundaryCondition( &m_DilateBoundaryCondition ); } template typename BasicDilateImageFilter::PixelType BasicDilateImageFilter ::Evaluate(const NeighborhoodIteratorType &nit, const KernelIteratorType kernelBegin, const KernelIteratorType kernelEnd) { unsigned int i; PixelType max = NumericTraits::NonpositiveMin(); PixelType temp; KernelIteratorType kernel_it; for (i=0, kernel_it=kernelBegin; kernel_it 0) { // note we use GetPixel() on the SmartNeighborhoodIterator to // respect boundary conditions temp = nit.GetPixel(i); if (temp > max) max = temp ; } } return max ; } }// end namespace itk #endif