ITK  4.6.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 
61 template <typename TInputImage, typename TCoordRep = double,
62  typename TPixelCompare = std::less<typename itk::NumericTraits<typename TInputImage::PixelType>::RealType> >
64  public GaussianInterpolateImageFunction<TInputImage, TCoordRep>
65 {
66 public:
72  typedef typename TInputImage::PixelType InputPixelType;
73 
76 
78  itkNewMacro( Self );
79 
81  itkStaticConstMacro( ImageDimension, unsigned int, TInputImage::ImageDimension );
82 
85 
88 
90  typedef typename Superclass::RealType RealType;
91 
93  typedef typename Superclass::IndexType IndexType;
94 
97 
99  typedef typename Superclass::ArrayType ArrayType;
100 
105  const ContinuousIndexType & cindex ) const
106  {
107  return this->EvaluateAtContinuousIndex( cindex, ITK_NULLPTR );
108  }
109 
110 protected:
113 
114 private:
115  LabelImageGaussianInterpolateImageFunction( const Self& ); //purposely not implemented
116  void operator=( const Self& ); //purposely not implemented
117 
122  const ContinuousIndexType &, OutputType * ) const;
123 };
124 
125 } // end namespace itk
126 
127 #ifndef ITK_MANUAL_INSTANTIATION
128 #include "itkLabelImageGaussianInterpolateImageFunction.hxx"
129 #endif
130 
131 #endif
Light weight base class for most itk classes.
Evaluates the Gaussian interpolation of an image.
Interpolation function for multi-label images that implicitly smooths each unique value in the image ...
GaussianInterpolateImageFunction< TInputImage, TCoordRep > Superclass
FixedArray< RealType, ImageDimension > ArrayType
virtual OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &cindex) const