go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkHardLimiterFunction.h
Go to the documentation of this file.
00001 /*======================================================================
00002 
00003   This file is part of the elastix software.
00004 
00005   Copyright (c) University Medical Center Utrecht. All rights reserved.
00006   See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
00007   details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE. See the above copyright notices for more information.
00012 
00013 ======================================================================*/
00014 
00015 #ifndef __itkHardLimiterFunction_h
00016 #define __itkHardLimiterFunction_h
00017 
00018 #include "itkLimiterFunctionBase.h"
00019 
00020 
00021 namespace itk
00022 {
00023 
00035 template < class TInput, unsigned int NDimension >
00036 class HardLimiterFunction :
00037   public LimiterFunctionBase<TInput, NDimension>
00038 {
00039 public:
00041   typedef HardLimiterFunction                     Self;
00042   typedef LimiterFunctionBase<TInput, NDimension> Superclass;
00043   typedef SmartPointer<Self> Pointer;
00044   typedef SmartPointer<const Self> ConstPointer;
00045 
00047   itkTypeMacro(HardLimiterFunction, LimiterFunctionBase);
00048 
00050   itkNewMacro(Self);
00051 
00053   itkStaticConstMacro( Dimension, unsigned int, Superclass::Dimension );
00054 
00056   typedef typename Superclass::InputType            InputType;
00057   typedef typename Superclass::OutputType           OutputType;
00058   typedef typename Superclass::DerivativeValueType  DerivativeValueType;
00059   typedef typename Superclass::DerivativeType       DerivativeType;
00060 
00062   virtual OutputType Evaluate( const InputType & input ) const;
00063 
00065   virtual OutputType Evaluate( const InputType & input, DerivativeType & derivative) const;
00066 
00067 protected:
00068   HardLimiterFunction(){};
00069   ~HardLimiterFunction(){};
00070 
00071 private:
00072   HardLimiterFunction(const Self& ); //purposely not implemented
00073   void operator=(const Self& ); //purposely not implemented
00074 
00075 };
00076 
00077 } // end namespace itk
00078 
00079 #ifndef ITK_MANUAL_INSTANTIATION
00080 #include "itkHardLimiterFunction.hxx"
00081 #endif
00082 
00083 #endif


Generated on 24-05-2012 for elastix by doxygen 1.7.6.1 elastix logo