/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile: itkBasicErodeImageFilter.txx,v $ Language: C++ Date: $Date: 2004/04/30 21:02:03 $ Version: $Revision: 1.13 $ 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 __itkBasicErodeImageFilter_txx #define __itkBasicErodeImageFilter_txx #include "itkBasicErodeImageFilter.h" namespace itk { template BasicErodeImageFilter ::BasicErodeImageFilter() { m_ErodeBoundaryCondition.SetConstant( NumericTraits::max() ); this->OverrideBoundaryCondition( &m_ErodeBoundaryCondition ); } template typename BasicErodeImageFilter::PixelType BasicErodeImageFilter ::Evaluate(const NeighborhoodIteratorType &nit, const KernelIteratorType kernelBegin, const KernelIteratorType kernelEnd) { unsigned int i; PixelType min = NumericTraits::max() ; PixelType temp; KernelIteratorType kernel_it; for (i=0, kernel_it=kernelBegin; kernel_it 0) { // note we use GetPixel() on the NeighborhoodIterator in order // to respect boundary conditions. temp = nit.GetPixel(i); if (temp < min) min = temp ; } } return min ; } }// end namespace itk #endif