Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkSobelOperator.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Insight Segmentation & Registration Toolkit
00004   Module:    $RCSfile: itkSobelOperator.h,v $
00005   Language:  C++
00006   Date:      $Date: 2003/09/10 14:29:26 $
00007   Version:   $Revision: 1.8 $
00008 
00009   Copyright (c) Insight Software Consortium. All rights reserved.
00010   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00011 
00012      This software is distributed WITHOUT ANY WARRANTY; without even 
00013      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00014      PURPOSE.  See the above copyright notices for more information.
00015 
00016 =========================================================================*/
00017 
00018 #ifndef __itkSobelOperator_h
00019 #define __itkSobelOperator_h
00020 
00021 #include "itkExceptionObject.h"
00022 #include "itkNeighborhoodOperator.h"
00023 
00024 namespace itk {
00025 
00084 template<class TPixel, unsigned int VDimension=2,
00085   class TAllocator = NeighborhoodAllocator<TPixel> >
00086 class ITK_EXPORT SobelOperator
00087   : public NeighborhoodOperator<TPixel, VDimension, TAllocator>
00088 {
00089 public:
00091   typedef SobelOperator Self;
00092   typedef NeighborhoodOperator<TPixel, VDimension, TAllocator>  Superclass;
00093 
00094   itkTypeMacro(SobelOperator, NeighborhoodOperator);
00095   
00096   SobelOperator() {}
00097   SobelOperator(const Self& other)
00098     : NeighborhoodOperator<TPixel, VDimension, TAllocator>(other) 
00099   {  }
00100 
00106   virtual void CreateDirectional()
00107   {
00108     this->CreateToRadius(1);
00109   }
00110   
00115   // virtual void CreateToRadius(const unsigned long);
00119   Self &operator=(const Self& other)
00120   {
00121     Superclass::operator=(other);
00122     return *this;
00123   }
00127   virtual void PrintSelf(std::ostream &os, Indent i) const  
00128   { 
00129     os << i << "SobelOperator { this=" << this  << "}" << std::endl;
00130     Superclass::PrintSelf(os, i.GetNextIndent());
00131   }
00132 
00133 protected:
00138   typedef typename Superclass::CoefficientVector CoefficientVector;
00139   typedef typename Superclass::PixelType PixelType;
00140 
00144   CoefficientVector GenerateCoefficients();
00145 
00149   void Fill(const CoefficientVector &c);
00150 
00151 };
00152 
00153 } // namespace itk
00154 
00155 #ifndef ITK_MANUAL_INSTANTIATION
00156 #include "itkSobelOperator.txx"
00157 #endif
00158 
00159 #endif
00160 
00161 

Generated at Thu May 25 00:05:02 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000