ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkComplexToComplex1DFFTImageFilter.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 itkComplexToComplex1DFFTImageFilter_h
19#define itkComplexToComplex1DFFTImageFilter_h
20
21#include <complex>
22
23#include "itkImage.h"
25#include "itkMacro.h"
26
27namespace itk
28{
42template <typename TInputImage, typename TOutputImage = TInputImage>
43class ITK_TEMPLATE_EXPORT ComplexToComplex1DFFTImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
44{
45public:
46 ITK_DISALLOW_COPY_AND_MOVE(ComplexToComplex1DFFTImageFilter);
47
49 using InputImageType = TInputImage;
50 using OutputImageType = TOutputImage;
51 using OutputImageRegionType = typename OutputImageType::RegionType;
52
57
59 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
60
61 itkOverrideGetNameOfClassMacro(ComplexToComplex1DFFTImageFilter);
62
69
76
82 itkSetMacro(TransformDirection, TransformDirectionType);
83 itkGetConstMacro(TransformDirection, TransformDirectionType);
85
87 itkGetConstMacro(Direction, unsigned int);
88
90 itkSetClampMacro(Direction, unsigned int, 0, InputImageType::ImageDimension - 1);
91
93 virtual SizeValueType
95 {
96 return 2;
97 }
98
99protected:
102
103 void
104 PrintSelf(std::ostream & os, Indent indent) const override;
105
106 void
108 void
110
113 unsigned int m_Direction{ 0 };
114
117
118private:
119};
120
121} // namespace itk
122
123#ifndef ITK_MANUAL_INSTANTIATION
124# include "itkComplexToComplex1DFFTImageFilter.hxx"
125#endif
126
127#ifdef ITK_FFTIMAGEFILTERINIT_FACTORY_REGISTER_MANAGER
128# include "itkFFTImageFilterInitFactoryRegisterManager.h"
129#endif
130
131#endif // itkComplexToComplex1DFFTImageFilter_h
ImageToImageFilter< InputImageType, OutputImageType > Superclass
void PrintSelf(std::ostream &os, Indent indent) const override
typename OutputImageType::RegionType OutputImageRegionType
void EnlargeOutputRequestedRegion(DataObject *output) override
~ComplexToComplex1DFFTImageFilter() override=default
Base class for all data objects in ITK.
Control indentation during Print() invocation.
Definition itkIndent.h:50
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
Definition itkIntTypes.h:86