ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkComplexToComplexFFTImageFilter.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#ifndef itkComplexToComplexFFTImageFilter_h
19#define itkComplexToComplexFFTImageFilter_h
20
22#include "itkMacro.h"
23#include "ITKFFTExport.h"
24#include <complex>
25
26namespace itk
27{
34{
35public:
39 enum class TransformDirection : uint8_t
40 {
43 };
44};
45// Define how to print enumeration
46extern ITKFFT_EXPORT std::ostream &
48
72template <typename TInputImage, typename TOutputImage = TInputImage>
73class ITK_TEMPLATE_EXPORT ComplexToComplexFFTImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
74{
75public:
76 ITK_DISALLOW_COPY_AND_MOVE(ComplexToComplexFFTImageFilter);
77
79 using ImageType = TInputImage;
80 using InputImageType = TInputImage;
81 using OutputImageType = TOutputImage;
82
88
89 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
90
92 itkOverrideGetNameOfClassMacro(ComplexToComplexFFTImageFilter);
93
100
102#if !defined(ITK_LEGACY_REMOVE)
104 static constexpr TransformDirectionEnum FORWARD = TransformDirectionEnum::FORWARD;
105 static constexpr TransformDirectionEnum INVERSE = TransformDirectionEnum::INVERSE;
106#endif
107
109 using ImageSizeType = typename ImageType::SizeType;
110
115 itkSetEnumMacro(TransformDirection, TransformDirectionEnum);
116 itkGetConstMacro(TransformDirection, TransformDirectionEnum);
118
119protected:
121
122 void
124
125private:
126 TransformDirectionEnum m_TransformDirection{ TransformDirectionEnum::FORWARD };
127};
128} // end namespace itk
129
130#ifndef ITK_MANUAL_INSTANTIATION
131# include "itkComplexToComplexFFTImageFilter.hxx"
132#endif
133
134#ifdef ITK_FFTIMAGEFILTERINIT_FACTORY_REGISTER_MANAGER
135# include "itkFFTImageFilterInitFactoryRegisterManager.h"
136#endif
137
138#endif
Contains enum classes used by ComplexToComplexFFTImageFilter class.
ComplexToComplexFFTImageFilterEnums::TransformDirection TransformDirectionEnum
void GenerateInputRequestedRegion() override
ImageToImageFilter< InputImageType, OutputImageType > Superclass
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)