ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkFFTWComplexToComplexFFTImageFilter.h>
Implements an API to enable the Fourier transform or the inverse Fourier transform of images with complex valued voxels to be computed using either FFTW from MIT or the FFTW interface in Intel MKL.
This filter is multithreaded and supports input images with sizes which are not a power of two.
This code was contributed in the Insight Journal paper: "FFT Complex to Complex filters and helper classes" by Warfield S. http://hdl.handle.net/1926/326 http://www.insight-journal.org/browse/publication/128
Definition at line 58 of file itkFFTWComplexToComplexFFTImageFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ComplexToComplexFFTImageFilter< TImage > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = ImageType::ImageDimension |
Static Public Attributes inherited from itk::ComplexToComplexFFTImageFilter< TImage > | |
static const unsigned int | ImageDimension = InputImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TImage, TImage > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TImage > | |
static const unsigned int | OutputImageDimension |
Private Member Functions | |
FFTWComplexToComplexFFTImageFilter (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Private Attributes | |
bool | m_CanUseDestructiveAlgorithm |
int | m_PlanRigor |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TImage, TImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::FFTWComplexToComplexFFTImageFilter< TImage >::ConstPointer |
Definition at line 66 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef fftw::Proxy< typename PixelType::value_type > itk::FFTWComplexToComplexFFTImageFilter< TImage >::FFTWProxyType |
Definition at line 80 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef ImageType::SizeType itk::FFTWComplexToComplexFFTImageFilter< TImage >::ImageSizeType |
Image type typedef support.
Definition at line 93 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef TImage itk::FFTWComplexToComplexFFTImageFilter< TImage >::ImageType |
Definition at line 68 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef Superclass::InputImageType itk::FFTWComplexToComplexFFTImageFilter< TImage >::InputImageType |
Definition at line 70 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef OutputImageType::RegionType itk::FFTWComplexToComplexFFTImageFilter< TImage >::OutputImageRegionType |
Definition at line 72 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef Superclass::OutputImageType itk::FFTWComplexToComplexFFTImageFilter< TImage >::OutputImageType |
Definition at line 71 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef ImageType::PixelType itk::FFTWComplexToComplexFFTImageFilter< TImage >::PixelType |
Definition at line 69 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef SmartPointer< Self > itk::FFTWComplexToComplexFFTImageFilter< TImage >::Pointer |
Definition at line 65 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef FFTWComplexToComplexFFTImageFilter itk::FFTWComplexToComplexFFTImageFilter< TImage >::Self |
Standard class typedefs.
Definition at line 63 of file itkFFTWComplexToComplexFFTImageFilter.h.
typedef ComplexToComplexFFTImageFilter< TImage > itk::FFTWComplexToComplexFFTImageFilter< TImage >::Superclass |
Definition at line 64 of file itkFFTWComplexToComplexFFTImageFilter.h.
|
protected |
|
inlineprotectedvirtual |
Definition at line 122 of file itkFFTWComplexToComplexFFTImageFilter.h.
|
private |
|
overrideprotectedvirtual |
If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.
Reimplemented from itk::ImageSource< TImage >.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ComplexToComplexFFTImageFilter< TImage >.
|
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. /sa FFTWGlobalConfiguration
|
static |
Method for creation through the object factory.
|
private |
|
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< TImage, TImage >.
|
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. /sa FFTWGlobalConfiguration
Definition at line 103 of file itkFFTWComplexToComplexFFTImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigorName(), itk::FFTWComplexToComplexFFTImageFilter< TImage >::m_PlanRigor, and itk::Object::Modified().
Referenced by itk::FFTWComplexToComplexFFTImageFilter< TImage >::SetPlanRigor().
|
inline |
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. /sa FFTWGlobalConfiguration
Definition at line 114 of file itkFFTWComplexToComplexFFTImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigorValue(), and itk::FFTWComplexToComplexFFTImageFilter< TImage >::SetPlanRigor().
|
overrideprotectedvirtual |
If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). This superclass will automatically split the output image into a number of pieces, spawn multiple threads, and call ThreadedGenerateData() in each thread. Prior to spawning threads, the BeforeThreadedGenerateData() method is called. After all the threads have completed, the AfterThreadedGenerateData() method is called. If an image processing filter cannot support threading, that filter should provide an implementation of the GenerateData() method instead of providing an implementation of ThreadedGenerateData(). If a filter provides a GenerateData() method as its implementation, then the filter is responsible for allocating the output data. If a filter provides a ThreadedGenerateData() method as its implementation, then the output memory will allocated automatically by this superclass. The ThreadedGenerateData() method should only produce the output specified by "outputThreadRegion" parameter. ThreadedGenerateData() cannot write to any other portion of the output image (as this is responsibility of a different thread).
Reimplemented from itk::ImageSource< TImage >.
|
overrideprotectedvirtual |
Actually generate new output
Reimplemented from itk::ProcessObject.
|
static |
Definition at line 90 of file itkFFTWComplexToComplexFFTImageFilter.h.
|
private |
Definition at line 137 of file itkFFTWComplexToComplexFFTImageFilter.h.
|
private |
Definition at line 139 of file itkFFTWComplexToComplexFFTImageFilter.h.
Referenced by itk::FFTWComplexToComplexFFTImageFilter< TImage >::SetPlanRigor().