ITK  5.4.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
93 itkGetConstMacro(SizeGreatestPrimeFactor, SizeValueType);
94 itkSetMacro(SizeGreatestPrimeFactor, SizeValueType);
100
101protected:
103 ~FFTPadImageFilter() override = default;
104 void
105 PrintSelf(std::ostream & os, Indent indent) const override;
106
107 void
109
110
111private:
112 SizeValueType m_SizeGreatestPrimeFactor{};
113
114 DefaultBoundaryConditionType m_DefaultBoundaryCondition{};
115
116}; // end of class
117
118} // end namespace itk
119
120#ifndef ITK_MANUAL_INSTANTIATION
121# include "itkFFTPadImageFilter.hxx"
122#endif
123
124#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....