18 #ifndef itkFFTConvolutionImageFilter_h
19 #define itkFFTConvolutionImageFilter_h
53 template<
typename TInputImage,
typename TKernelImage = TInputImage,
typename TOutputImage = TInputImage,
typename TInternalPrecision=
double >
75 TInputImage::ImageDimension);
169 float progressWeight);
174 float progressWeight);
190 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
194 void operator=(const
Self &) ITK_DELETE_FUNCTION;
200 #ifndef ITK_MANUAL_INSTANTIATION
201 #include "itkFFTConvolutionImageFilter.hxx"
OutputImageType::RegionType OutputRegionType
InputImageType::RegionType InputRegionType
RealToHalfHermitianForwardFFTImageFilter< InternalImageType, InternalComplexImageType > FFTFilterType
Superclass::BoundaryConditionType BoundaryConditionType
HalfHermitianToRealInverseFFTImageFilter< InternalComplexImageType, InternalImageType > IFFTFilterType
FFTConvolutionImageFilter()
InternalComplexImageType::Pointer InternalComplexImagePointerType
InputSizeType::SizeValueType SizeValueType
void PadInput(const InputImageType *input, InternalImagePointerType &paddedInput, ProgressAccumulator *progress, float progressWeight)
Abstract base class for the convolution image filters.
void TransformPaddedInput(const InternalImageType *paddedInput, InternalComplexImagePointerType &transformedInput, ProgressAccumulator *progress, float progressWeight)
bool GetXDimensionIsOdd() const
OutputImageType::SizeType OutputSizeType
TInputImage InputImageType
InputImageType::SizeType InputSizeType
Superclass::BoundaryConditionPointerType BoundaryConditionPointerType
Base class for all process objects that output image data.
InternalImageType::Pointer InternalImagePointerType
unsigned long SizeValueType
Convolve a given image with an arbitrary image kernel using multiplication in the Fourier domain...
Base class for specialized complex-to-real inverse Fast Fourier Transform.
BoundaryConditionType * BoundaryConditionPointerType
InputImageType::PixelType InputPixelType
void PrepareInput(const InputImageType *input, InternalComplexImagePointerType &preparedInput, ProgressAccumulator *progress, float progressWeight)
FFTConvolutionImageFilter Self
TKernelImage KernelImageType
Image< InternalComplexType, TInputImage::ImageDimension > InternalComplexImageType
KernelImageType::RegionType KernelRegionType
InputSizeType GetPadLowerBound() const
SizeValueType m_SizeGreatestPrimeFactor
TInputImage InputImageType
static const unsigned int ImageDimension
void PrepareKernel(const KernelImageType *kernel, InternalComplexImagePointerType &preparedKernel, ProgressAccumulator *progress, float progressWeight)
SmartPointer< Self > Pointer
Facilitates progress reporting for filters that wrap around multiple other filters.
OutputImageType::PixelType OutputPixelType
void PrepareInputs(const InputImageType *input, const KernelImageType *kernel, InternalComplexImagePointerType &preparedInput, InternalComplexImagePointerType &preparedKernel, ProgressAccumulator *progress, float progressWeight)
ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage > Superclass
InputSizeType GetPadSize() const
OutputImageType::IndexType OutputIndexType
virtual void PrintSelf(std::ostream &os, Indent indent) const override
InputImageType::SizeType InputSizeType
void CropOutput(InternalImageType *paddedOutput, ProgressAccumulator *progress, float progressWeight)
TKernelSource::OutputImageType KernelImageType
KernelImageType::IndexType KernelIndexType
Control indentation during Print() invocation.
Base class for specialized real-to-complex forward Fast Fourier Transform.
KernelImageType::PixelType KernelPixelType
Image< TInternalPrecision, TInputImage::ImageDimension > InternalImageType
void GenerateData() override
TOutputImage OutputImageType
~FFTConvolutionImageFilter()
void GenerateInputRequestedRegion() override
SmartPointer< const Self > ConstPointer
Templated n-dimensional image class.
std::complex< TInternalPrecision > InternalComplexType
ImageBoundaryCondition< TInputImage > BoundaryConditionType
KernelImageType::SizeType KernelSizeType
InputImageType::IndexType InputIndexType
void ProduceOutput(InternalComplexImageType *paddedOutput, ProgressAccumulator *progress, float progressWeight)
InputSizeType::SizeValueType SizeValueType