18#ifndef itkFFTWComplexToComplex1DFFTImageFilter_h
19#define itkFFTWComplexToComplex1DFFTImageFilter_h
39template <
typename TInputImage,
typename TOutputImage = TInputImage>
62 using PlanArrayType =
typename std::vector<typename FFTW1DProxyType::PlanType>;
97 bool m_PlanComputed{
false };
99 unsigned int m_LastImageSize{ 0 };
110 template <
typename TUnderlying>
112 template <
typename TUnderlying>
119#ifndef ITK_MANUAL_INSTANTIATION
120# include "itkFFTWComplexToComplex1DFFTImageFilter.hxx"
Perform the Fast Fourier Transform, complex input to complex output, but only along one dimension.
only do FFT along one dimension using FFTW as a backend.
~FFTWComplexToComplex1DFFTImageFilter() override
void ThreadedGenerateData(const OutputImageRegionType &, ThreadIdType threadID) override
typename OutputImageType::RegionType OutputImageRegionType
FFTWComplexToComplex1DFFTImageFilter()
void BeforeThreadedGenerateData() override
typename std::vector< typename FFTW1DProxyType::PlanType > PlanArrayType
typename fftw::ComplexToComplexProxy< typename TInputImage::PixelType::value_type > FFTW1DProxyType
void operator=(const Self &)
FFTWComplexToComplex1DFFTImageFilter(const Self &)
typename Superclass::InputImageType InputImageType
const ImageRegionSplitterBase * GetImageRegionSplitter() const override
typename std::vector< typename FFTW1DProxyType::ComplexType * > PlanBufferPointerType
typename Superclass::OutputImageType OutputImageType
Divide an image region into several pieces.
Light weight base class for most itk classes.
ImageBaseType::RegionType RegionType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType
std::integer_sequence< unsigned int, 4, 3, 2, 1 > FilterDimensions
std::complex< TUnderlying > InputPixelType
std::complex< TUnderlying > OutputPixelType
Helper defining pixel traits for templated FFT image filters.