ITK  6.0.0
Insight Toolkit
itkFFTPadImageFilter.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 itkFFTPadImageFilter_h
20#define itkFFTPadImageFilter_h
21
23#include "itkConceptChecking.h"
25
26namespace itk
27{
28
51template <typename TInputImage, typename TOutputImage = TInputImage>
52class ITK_TEMPLATE_EXPORT FFTPadImageFilter : public PadImageFilterBase<TInputImage, TOutputImage>
53{
54public:
55 ITK_DISALLOW_COPY_AND_MOVE(FFTPadImageFilter);
56
62
64 using InputImageType = TInputImage;
65 using OutputImageType = TOutputImage;
66 using InputImagePixelType = typename InputImageType::PixelType;
67 using OutputImagePixelType = typename OutputImageType::PixelType;
71
73 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
74 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
75 static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
76
78 itkNewMacro(Self);
79
81 itkOverrideGetNameOfClassMacro(FFTPadImageFilter);
82
95 itkGetConstMacro(SizeGreatestPrimeFactor, SizeValueType);
96 itkSetMacro(SizeGreatestPrimeFactor, SizeValueType);
102
103protected:
105 ~FFTPadImageFilter() override = default;
106 void
107 PrintSelf(std::ostream & os, Indent indent) const override;
108
109 void
111
112
113private:
114 SizeValueType m_SizeGreatestPrimeFactor{};
115
116 DefaultBoundaryConditionType m_DefaultBoundaryCondition{};
117
118}; // end of class
119
120} // end namespace itk
121
122#ifndef ITK_MANUAL_INSTANTIATION
123# include "itkFFTPadImageFilter.hxx"
124#endif
125
126#endif
Pad an image to make it suitable for an FFT transformation.
typename InputImageType::RegionType RegionType
~FFTPadImageFilter() override=default
typename InputImageType::IndexType IndexType
void PrintSelf(std::ostream &os, Indent indent) const override
void GenerateOutputInformation() override
typename OutputImageType::PixelType OutputImagePixelType
typename InputImageType::SizeType SizeType
typename InputImageType::PixelType InputImagePixelType
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
Increase the image size by padding. Superclass for filters that fill in extra pixels.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....