ITK  6.0.0
Insight Toolkit
itkFullToHalfHermitianImageFilter.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 itkFullToHalfHermitianImageFilter_h
19#define itkFullToHalfHermitianImageFilter_h
20
23
24namespace itk
25{
45template <typename TInputImage>
46class ITK_TEMPLATE_EXPORT FullToHalfHermitianImageFilter : public ImageToImageFilter<TInputImage, TInputImage>
47{
48public:
49 ITK_DISALLOW_COPY_AND_MOVE(FullToHalfHermitianImageFilter);
50
52 using InputImageType = TInputImage;
53 using InputImagePixelType = typename InputImageType::PixelType;
59 using OutputImageType = TInputImage;
60 using OutputImagePixelType = typename OutputImageType::PixelType;
66
71
73 itkNewMacro(Self);
74
76 itkOverrideGetNameOfClassMacro(FullToHalfHermitianImageFilter);
77
79 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
80
83 itkGetDecoratedOutputMacro(ActualXDimensionIsOdd, bool);
84
85protected:
87 ~FullToHalfHermitianImageFilter() override = default;
88
89 void
90 DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
91
92
94 void
96
98 void
100
101 itkSetDecoratedOutputMacro(ActualXDimensionIsOdd, bool);
102};
103} // end namespace itk
104
105#ifndef ITK_MANUAL_INSTANTIATION
106# include "itkFullToHalfHermitianImageFilter.hxx"
107#endif
108
109#endif // itkFullToHalfHermitianImageFilter_h
Reduces the size of a full complex image produced from a forward discrete Fourier transform of a real...
typename InputImageType::IndexType InputImageIndexType
~FullToHalfHermitianImageFilter() override=default
typename InputImageType::SizeValueType InputImageSizeValueType
typename OutputImageType::RegionType OutputImageRegionType
typename InputImageType::SizeType InputImageSizeType
void GenerateInputRequestedRegion() override
typename OutputImageType::SizeType OutputImageSizeType
typename InputImageType::IndexValueType InputImageIndexValueType
typename InputImageType::PixelType InputImagePixelType
typename OutputImageType::IndexType OutputImageIndexType
typename OutputImageType::SizeValueType OutputImageSizeValueType
typename OutputImageType::PixelType OutputImagePixelType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
typename OutputImageType::IndexValueType OutputImageIndexValueType
typename InputImageType::RegionType InputImageRegionType
Base class for filters that take an image as input and produce an image as output.
Light weight base class for most itk classes.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
long IndexValueType
Definition: itkIntTypes.h:93
unsigned long SizeValueType
Definition: itkIntTypes.h:86