ITK  6.0.0
Insight Toolkit
itkLabelImageGaussianInterpolateImageFunction.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18
19#ifndef itkLabelImageGaussianInterpolateImageFunction_h
20#define itkLabelImageGaussianInterpolateImageFunction_h
21
23
24namespace itk
25{
26
69template <typename TInputImage,
70 typename TCoordRep = double,
71 typename TPixelCompare = std::less<typename itk::NumericTraits<typename TInputImage::PixelType>::RealType>>
73 : public GaussianInterpolateImageFunction<TInputImage, TCoordRep>
74{
75public:
76 ITK_DISALLOW_COPY_AND_MOVE(LabelImageGaussianInterpolateImageFunction);
77
83 using InputPixelType = typename TInputImage::PixelType;
84
86 itkOverrideGetNameOfClassMacro(LabelImageGaussianInterpolateImageFunction);
87
89 itkNewMacro(Self);
90
92 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
93
95 using typename Superclass::OutputType;
96
98 using typename Superclass::InputImageType;
99
101 using typename Superclass::RealType;
102
104 using typename Superclass::IndexType;
105
107 using typename Superclass::ContinuousIndexType;
108
110 using typename Superclass::ArrayType;
111
116 EvaluateAtContinuousIndex(const ContinuousIndexType & cindex) const override
117 {
118 return this->EvaluateAtContinuousIndex(cindex, nullptr);
119 }
120
121protected:
124
125private:
131};
132
133} // end namespace itk
134
135#ifndef ITK_MANUAL_INSTANTIATION
136# include "itkLabelImageGaussianInterpolateImageFunction.hxx"
137#endif
138
139#endif
Evaluates the Gaussian interpolation of an image.
Interpolation function for multi-label images that implicitly smooths each unique value in the image ...
~LabelImageGaussianInterpolateImageFunction() override=default
OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &cindex) const override
OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &, OutputType *) const override
Light weight base class for most itk classes.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....