ITK  4.12.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 https://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> >
63 class ITK_TEMPLATE_EXPORT LabelImageGaussianInterpolateImageFunction :
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 
84  typedef typename Superclass::OutputType OutputType;
85 
87  typedef typename Superclass::InputImageType InputImageType;
88 
90  typedef typename Superclass::RealType RealType;
91 
93  typedef typename Superclass::IndexType IndexType;
94 
96  typedef typename Superclass::ContinuousIndexType ContinuousIndexType;
97 
99  typedef typename Superclass::ArrayType ArrayType;
100 
105  const ContinuousIndexType & cindex ) const ITK_OVERRIDE
106  {
107  return this->EvaluateAtContinuousIndex( cindex, ITK_NULLPTR );
108  }
109 
110 protected:
113 
114 private:
115  ITK_DISALLOW_COPY_AND_ASSIGN(LabelImageGaussianInterpolateImageFunction);
116 
120  virtual OutputType EvaluateAtContinuousIndex(
121  const ContinuousIndexType &, OutputType * ) const ITK_OVERRIDE;
122 };
123 
124 } // end namespace itk
125 
126 #ifndef ITK_MANUAL_INSTANTIATION
127 #include "itkLabelImageGaussianInterpolateImageFunction.hxx"
128 #endif
129 
130 #endif
Light weight base class for most itk classes.
virtual OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &cindex) const override
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