ITK  4.2.0
Insight Segmentation and Registration Toolkit
itkLabelImageGaussianInterpolateImageFunction.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkLabelImageGaussianInterpolateImageFunction.h,v $
5  Language: C++
6  Date: $Date: $
7  Version: $Revision: $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkLabelImageGaussianInterpolateImageFunction_h
18 #define __itkLabelImageGaussianInterpolateImageFunction_h
19 
21 
22 namespace itk
23 {
24 
56 template <class TInputImage, class TCoordRep = double,
57  class TPixelCompare = std::less<typename itk::NumericTraits<typename TInputImage::PixelType>::RealType> >
59  public GaussianInterpolateImageFunction<TInputImage, TCoordRep>
60 {
61 public:
67 
70 
72  itkNewMacro( Self );
73 
75  itkStaticConstMacro( ImageDimension, unsigned int, TInputImage::ImageDimension );
76 
78  typedef typename Superclass::OutputType OutputType;
79 
81  typedef typename Superclass::InputImageType InputImageType;
82 
84  typedef typename Superclass::RealType RealType;
85 
87  typedef typename Superclass::IndexType IndexType;
88 
90  typedef typename Superclass::ContinuousIndexType ContinuousIndexType;
91 
93  typedef typename Superclass::ArrayType ArrayType;
94 
98  virtual OutputType EvaluateAtContinuousIndex(
99  const ContinuousIndexType & cindex ) const
100  {
101  return this->EvaluateAtContinuousIndex( cindex, NULL );
102  }
103 
104 protected:
107 
108 private:
109  LabelImageGaussianInterpolateImageFunction( const Self& ); //purposely not implemented
110  void operator=( const Self& ); //purposely not implemented
111 
115  virtual OutputType EvaluateAtContinuousIndex(
116  const ContinuousIndexType &, OutputType * ) const;
117 };
118 
119 } // end namespace itk
120 
121 #ifndef ITK_MANUAL_INSTANTIATION
122 #include "itkLabelImageGaussianInterpolateImageFunction.hxx"
123 #endif
124 
125 #endif
126