ITK
6.0.0
Insight Toolkit
|
#include <itkFFTWForwardFFTImageFilter.h>
FFTW-based forward Fast Fourier Transform.
This filter computes the forward Fourier transform of an image. The implementation is based on the FFTW library.
This filter is multithreaded and supports input images of any size.
In order to use this class, ITK_USE_FFTWF must be set to ON in the CMake configuration to support float images, and ITK_USE_FFTWD must set to ON to support double images.
This implementation was taken from the Insight Journal paper: https://doi.org/10.54294/0iky0u
Definition at line 57 of file itkFFTWForwardFFTImageFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = InputImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Attributes | |
bool | m_CanUseDestructiveAlgorithm {} |
int | m_PlanRigor {} |
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 73 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::FFTWProxyType = typename fftw::Proxy<InputPixelType> |
The proxy type is a wrapper for the FFTW API. Because the proxy is defined only for double and float, trying to use any other pixel type is unsupported, as is trying to use double if only the float FFTW version is configured in, or float if only double is configured.
Definition at line 80 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage |
Standard class type aliases.
Definition at line 63 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::InputPixelType = typename InputImageType::PixelType |
Definition at line 64 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::InputSizeType = typename InputImageType::SizeType |
Definition at line 65 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 66 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::OutputPixelType = typename OutputImageType::PixelType |
Definition at line 67 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::OutputSizeType = typename OutputImageType::SizeType |
Definition at line 68 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer<Self> |
Definition at line 72 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::Self = FFTWForwardFFTImageFilter |
Definition at line 70 of file itkFFTWForwardFFTImageFilter.h.
using itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::Superclass = ForwardFFTImageFilter<TInputImage, TOutputImage> |
Definition at line 71 of file itkFFTWForwardFFTImageFilter.h.
|
protected |
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling DynamicThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter can be threaded, it should NOT provide a GenerateData() method but should provide a DynamicThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TOutputImage >.
|
overridevirtual |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Set/Get the behavior of wisdom plan creation. The default is provided by FFTWGlobalConfiguration::GetPlanRigor().
The parameter is one of the FFTW planner rigor flags FFTW_ESTIMATE, FFTW_MEASURE, FFTW_PATIENT, FFTW_EXHAUSTIVE provided by FFTWGlobalConfiguration.
This has no effect with ITK_USE_CUFFTW enabled.
|
overridevirtual |
Reimplemented from itk::ForwardFFTImageFilter< TInputImage, TOutputImage >.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
inlinevirtual |
Set/Get the behavior of wisdom plan creation. The default is provided by FFTWGlobalConfiguration::GetPlanRigor().
The parameter is one of the FFTW planner rigor flags FFTW_ESTIMATE, FFTW_MEASURE, FFTW_PATIENT, FFTW_EXHAUSTIVE provided by FFTWGlobalConfiguration.
This has no effect with ITK_USE_CUFFTW enabled.
Definition at line 102 of file itkFFTWForwardFFTImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigorName().
|
overrideprotectedvirtual |
Actually generate new output
Reimplemented from itk::ProcessObject.
|
staticconstexpr |
Define the image dimension.
Definition at line 89 of file itkFFTWForwardFFTImageFilter.h.
|
private |
Definition at line 134 of file itkFFTWForwardFFTImageFilter.h.
|
private |
Definition at line 136 of file itkFFTWForwardFFTImageFilter.h.