ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkFFTWComplexToComplexImageFilter.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 56 of file itkFFTWComplexToComplexImageFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::FFTComplexToComplexImageFilter< TImage > | |
static Pointer | New (void) |
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::FFTComplexToComplexImageFilter< 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 | |
FFTWComplexToComplexImageFilter (const Self &) | |
void | operator= (const Self &) |
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 |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
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 | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
typedef SmartPointer< const Self > itk::FFTWComplexToComplexImageFilter< TImage >::ConstPointer |
Definition at line 63 of file itkFFTWComplexToComplexImageFilter.h.
typedef fftw::Proxy< typename PixelType::value_type > itk::FFTWComplexToComplexImageFilter< TImage >::FFTWProxyType |
Definition at line 79 of file itkFFTWComplexToComplexImageFilter.h.
typedef ImageType::SizeType itk::FFTWComplexToComplexImageFilter< TImage >::ImageSizeType |
Image type typedef support.
Definition at line 92 of file itkFFTWComplexToComplexImageFilter.h.
typedef TImage itk::FFTWComplexToComplexImageFilter< TImage >::ImageType |
Standard class typedefs.
Definition at line 66 of file itkFFTWComplexToComplexImageFilter.h.
typedef Superclass::InputImageType itk::FFTWComplexToComplexImageFilter< TImage >::InputImageType |
Definition at line 68 of file itkFFTWComplexToComplexImageFilter.h.
typedef OutputImageType::RegionType itk::FFTWComplexToComplexImageFilter< TImage >::OutputImageRegionType |
Definition at line 70 of file itkFFTWComplexToComplexImageFilter.h.
typedef Superclass::OutputImageType itk::FFTWComplexToComplexImageFilter< TImage >::OutputImageType |
Definition at line 69 of file itkFFTWComplexToComplexImageFilter.h.
typedef ImageType::PixelType itk::FFTWComplexToComplexImageFilter< TImage >::PixelType |
Definition at line 67 of file itkFFTWComplexToComplexImageFilter.h.
typedef SmartPointer< Self > itk::FFTWComplexToComplexImageFilter< TImage >::Pointer |
Definition at line 62 of file itkFFTWComplexToComplexImageFilter.h.
typedef FFTWComplexToComplexImageFilter itk::FFTWComplexToComplexImageFilter< TImage >::Self |
Definition at line 60 of file itkFFTWComplexToComplexImageFilter.h.
typedef FFTComplexToComplexImageFilter< TImage > itk::FFTWComplexToComplexImageFilter< TImage >::Superclass |
Definition at line 61 of file itkFFTWComplexToComplexImageFilter.h.
|
inlineprotected |
Definition at line 124 of file itkFFTWComplexToComplexImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigor(), and itk::FFTWComplexToComplexImageFilter< TImage >::m_PlanRigor.
|
inlineprotectedvirtual |
Definition at line 128 of file itkFFTWComplexToComplexImageFilter.h.
|
private |
|
protectedvirtual |
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 |
Implements itk::FFTComplexToComplexImageFilter< TImage >.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::FFTComplexToComplexImageFilter< 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 |
|
protectedvirtual |
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 106 of file itkFFTWComplexToComplexImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigorName(), itk::FFTWComplexToComplexImageFilter< TImage >::m_PlanRigor, and itk::Object::Modified().
Referenced by itk::FFTWComplexToComplexImageFilter< 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 117 of file itkFFTWComplexToComplexImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigorValue(), and itk::FFTWComplexToComplexImageFilter< TImage >::SetPlanRigor().
|
protectedvirtual |
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 >.
|
protectedvirtual |
Actually generate new output
Reimplemented from itk::ProcessObject.
|
static |
Definition at line 89 of file itkFFTWComplexToComplexImageFilter.h.
|
private |
Definition at line 143 of file itkFFTWComplexToComplexImageFilter.h.
|
private |
Definition at line 145 of file itkFFTWComplexToComplexImageFilter.h.
Referenced by itk::FFTWComplexToComplexImageFilter< TImage >::FFTWComplexToComplexImageFilter(), and itk::FFTWComplexToComplexImageFilter< TImage >::SetPlanRigor().