ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkInterpolateImagePointsFilter.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 *
20 * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21 *
22 * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23 *
24 * For complete copyright, license and disclaimer of warranty information
25 * please refer to the NOTICE file at the top of the ITK source tree.
26 *
27 *=========================================================================*/
28#ifndef itkInterpolateImagePointsFilter_h
29#define itkInterpolateImagePointsFilter_h
30
34
35namespace itk
36{
75
76template <typename TInputImage,
77 typename TOutputImage,
78 typename TCoordinate = typename TInputImage::PixelType,
80class ITK_TEMPLATE_EXPORT InterpolateImagePointsFilter : public ImageToImageFilter<TInputImage, TOutputImage>
81{
82public:
83 ITK_DISALLOW_COPY_AND_MOVE(InterpolateImagePointsFilter);
84
90
92 itkOverrideGetNameOfClassMacro(InterpolateImagePointsFilter);
93
95 itkNewMacro(Self);
96
98 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
99
101 using typename Superclass::InputImageType;
102 using typename Superclass::OutputImageType;
103 using typename Superclass::InputImagePointer;
104
106 using OutputImagePointer = typename TOutputImage::Pointer;
108 using OutputImageRegionType = typename OutputImageType::RegionType;
109
111 using PixelType = typename TOutputImage::PixelType;
112
114 using InterpolatorPointer = typename InterpolatorType::Pointer;
115 using ContinuousIndexType = typename InterpolatorType::ContinuousIndexType;
116
119
122
127 void
128 SetInputImage(const TInputImage * inputImage);
129
132 void
133 SetInterpolationCoordinate(const CoordImageType * coordinate, unsigned int setDimension);
134
136 itkSetMacro(DefaultPixelValue, PixelType);
137
139 itkGetConstMacro(DefaultPixelValue, PixelType);
140
144 {
145 return m_Interpolator;
146 }
147
150 void
152
154 void
156
158
159protected:
161 // ~InterpolateImagePointsFilter(){} default implementation ok
162
163 void
164 PrintSelf(std::ostream & os, Indent indent) const override;
165
168 void
169 DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
170
171
177 void
178 VerifyInputInformation() const override
179 {}
180
181private:
186
188 PixelType m_DefaultPixelValue{}; // default pixel value if the
189 // point is outside the image
190};
191} // namespace itk
192
193#ifndef ITK_MANUAL_INSTANTIATION
194# include "itkInterpolateImagePointsFilter.hxx"
195#endif
196
197#endif
Evaluates the B-Spline interpolation of an image. Spline order may be from 0 to 5.
A multi-dimensional iterator templated over image type that walks a region of pixels.
A multi-dimensional iterator templated over image type that walks a region of pixels.
TOutputImage OutputImageType
A Function object used to dispatching to a routine to copy a region (start index and size).
typename InputImageType::Pointer InputImagePointer
Templated n-dimensional image class.
Definition itkImage.h:89
ImageRegion< VImageDimension > RegionType
Control indentation during Print() invocation.
Definition itkIndent.h:50
typename OutputImageType::RegionType OutputImageRegionType
ImageRegionConstIterator< CoordImageType > CoordImageIterator
ImageToImageFilterDetail::ImageRegionCopier< Self::ImageDimension, Self::ImageDimension > RegionCopierType
typename TOutputImage::Pointer OutputImagePointer
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
typename CoordImageType::Pointer CoordImageTypePointer
void PrintSelf(std::ostream &os, Indent indent) const override
void SetInterpolationCoordinate(const CoordImageType *coordinate, unsigned int setDimension)
Image< TCoordinate, Self::ImageDimension > CoordImageType
void GenerateOutputInformation() override
ImageToImageFilter< TInputImage, TOutputImage > Superclass
void GenerateInputRequestedRegion() override
typename InterpolatorType::ContinuousIndexType ContinuousIndexType
typename CoordImageType::RegionType CoordImageRegionType
ImageRegionIterator< InputImageType > OutputImageIterator
typename InterpolatorType::Pointer InterpolatorPointer
void SetInputImage(const TInputImage *inputImage)
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....