18#ifndef itkFFTConvolutionImageFilter_h
19#define itkFFTConvolutionImageFilter_h
53template <
typename TInputImage,
54 typename TKernelImage = TInputImage,
55 typename TOutputImage = TInputImage,
56 typename TInternalPrecision =
double>
143 float progressWeight);
151 float progressWeight);
158 float progressWeight);
165 float progressWeight);
174 float progressWeight);
212#ifndef ITK_MANUAL_INSTANTIATION
213# include "itkFFTConvolutionImageFilter.hxx"
ConvolutionImageFilterBase()
ImageBoundaryCondition< TInputImage > BoundaryConditionType
void CropOutput(InternalImageType *paddedOutput, ProgressAccumulator *progress, float progressWeight)
typename OutputImageType::IndexType OutputIndexType
KernelSizeType GetKernelRadius() const
typename InternalImageType::SizeType InternalSizeType
void TransformPaddedInput(const InternalImageType *paddedInput, InternalComplexImagePointerType &transformedInput, ProgressAccumulator *progress, float progressWeight)
static constexpr unsigned int ImageDimension
void PrintSelf(std::ostream &os, Indent indent) const override
void PrepareInput(const InputImageType *input, InternalComplexImagePointerType &preparedInput, ProgressAccumulator *progress, float progressWeight)
typename KernelImageType::SizeType KernelSizeType
typename InternalImageType::IndexType InternalIndexType
typename OutputImageType::PixelType OutputPixelType
typename OutputImageType::RegionType OutputRegionType
bool GetXDimensionIsOdd() const
void PrepareInputs(const InputImageType *input, const KernelImageType *kernel, InternalComplexImagePointerType &preparedInput, InternalComplexImagePointerType &preparedKernel, ProgressAccumulator *progress, float progressWeight)
void PadInput(const InputImageType *input, InternalImagePointerType &paddedInput, ProgressAccumulator *progress, float progressWeight)
typename InputImageType::IndexType InputIndexType
HalfHermitianToRealInverseFFTImageFilter< InternalComplexImageType, InternalImageType > IFFTFilterType
void ProduceOutput(InternalComplexImageType *paddedOutput, ProgressAccumulator *progress, float progressWeight)
typename InputImageType::PixelType InputPixelType
FFTConvolutionImageFilter Self
TOutputImage OutputImageType
Image< TInternalPrecision, TInputImage::ImageDimension > InternalImageType
void GenerateInputRequestedRegion() override
RealToHalfHermitianForwardFFTImageFilter< InternalImageType, InternalComplexImageType > FFTFilterType
std::complex< TInternalPrecision > InternalComplexType
Image< InternalComplexType, TInputImage::ImageDimension > InternalComplexImageType
void GenerateData() override
InternalRegionType m_PaddedInputRegion
SizeValueType m_SizeGreatestPrimeFactor
~FFTConvolutionImageFilter() override=default
SmartPointer< Self > Pointer
InternalSizeType GetFFTPadSize() const
SmartPointer< const Self > ConstPointer
typename KernelImageType::IndexType KernelIndexType
FFTConvolutionImageFilter()
typename OutputImageType::SizeType OutputSizeType
typename InputImageType::RegionType InputRegionType
TInputImage InputImageType
typename InternalComplexImageType::Pointer InternalComplexImagePointerType
typename KernelImageType::RegionType KernelRegionType
void PrepareKernel(const KernelImageType *kernel, InternalComplexImagePointerType &preparedKernel, ProgressAccumulator *progress, float progressWeight)
typename KernelImageType::PixelType KernelPixelType
InternalSizeType m_FFTPadSize
typename InputSizeType::SizeValueType SizeValueType
TKernelImage KernelImageType
typename InternalImageType::RegionType InternalRegionType
ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage > Superclass
typename InternalImageType::Pointer InternalImagePointerType
typename InputImageType::SizeType InputSizeType
Base class for specialized complex-to-real inverse Fast Fourier Transform.
Templated n-dimensional image class.
Size< VImageDimension > SizeType
ImageRegion< VImageDimension > RegionType
SmartPointer< Self > Pointer
Index< VImageDimension > IndexType
Control indentation during Print() invocation.
Facilitates progress reporting for filters that wrap around multiple other filters.
Base class for specialized real-to-complex forward Fast Fourier Transform.
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....