ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkFFTWInverseFFTImageFilter.h>
FFTW-based inverse Fast Fourier Transform.
This filter computes the inverse Fourier transform of an image. The implementation is based on the FFTW library.
This filter is multithreaded and supports input images of any size.
This implementation was taken from the Insight Journal paper: http://hdl.handle.net/10380/3154 or http://insight-journal.com/browse/publication/717
Definition at line 49 of file itkFFTWInverseFFTImageFilter.h.
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
virtual void | SetPlanRigor (const int &value) |
virtual const int & | GetPlanRigor () const |
void | SetPlanRigor (const std::string &name) |
Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
const InputImageType * | GetInput (void) const |
const InputImageType * | GetInput (unsigned int idx) const |
virtual void | PopBackInput () |
virtual void | PopFrontInput () |
virtual void | PushBackInput (const InputImageType *image) |
virtual void | PushFrontInput (const InputImageType *image) |
virtual void | SetInput (const InputImageType *image) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
Public Member Functions inherited from itk::ImageSource< TOutputImage > | |
OutputImageType * | GetOutput (unsigned int idx) |
virtual void | GraftNthOutput (unsigned int idx, DataObject *output) |
virtual void | GraftOutput (DataObject *output) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *output) |
OutputImageType * | GetOutput (void) |
const OutputImageType * | GetOutput (void) const |
virtual ProcessObject::DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) ITK_OVERRIDE |
Public Member Functions inherited from itk::ProcessObject | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual const bool & | GetAbortGenerateData () const |
NameArray | GetInputNames () const |
MultiThreader * | GetMultiThreader () const |
DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
DataObjectPointerArraySizeType | GetNumberOfInputs () const |
DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
NameArray | GetOutputNames () const |
virtual const float & | GetProgress () const |
NameArray | GetRequiredInputNames () const |
bool | HasInput (const DataObjectIdentifierType &key) const |
bool | HasOutput (const DataObjectIdentifierType &key) const |
virtual DataObjectPointer | MakeOutput (const DataObjectIdentifierType &) |
virtual void | PrepareOutputs () |
virtual void | PropagateRequestedRegion (DataObject *output) |
virtual void | ResetPipeline () |
virtual void | SetAbortGenerateData (bool _arg) |
virtual void | Update () |
virtual void | UpdateLargestPossibleRegion () |
virtual void | UpdateOutputData (DataObject *output) |
virtual void | UpdateOutputInformation () |
void | UpdateProgress (float progress) |
DataObjectPointerArray | GetInputs () |
DataObjectPointerArray | GetOutputs () |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
void | SetProgress (float progress) |
virtual void | SetReleaseDataFlag (bool flag) |
virtual bool | GetReleaseDataFlag () const |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
virtual void | ReleaseDataBeforeUpdateFlagOn () |
virtual void | ReleaseDataBeforeUpdateFlagOff () |
virtual void | SetNumberOfThreads (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfThreads () const |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary (void) |
const MetaDataDictionary & | GetMetaDataDictionary (void) const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
virtual void | Register () const ITK_OVERRIDE |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) ITK_OVERRIDE |
virtual void | UnRegister () const ITK_OVERRIDE |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::InverseFFTImageFilter< TInputImage, TOutputImage > | |
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 = InputImageType::ImageDimension |
Static Public Attributes inherited from itk::InverseFFTImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | ImageDimension = InputImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Member Functions | |
FFTWInverseFFTImageFilter (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
int | m_PlanRigor |
typedef SmartPointer< const Self > itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 64 of file itkFFTWInverseFFTImageFilter.h.
typedef fftw::Proxy< OutputPixelType > itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::FFTWProxyType |
The proxy type is a wrapper for the FFTW API since the proxy is only defined over 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 71 of file itkFFTWInverseFFTImageFilter.h.
typedef TInputImage itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::InputImageType |
Standard class typedefs.
Definition at line 54 of file itkFFTWInverseFFTImageFilter.h.
typedef InputImageType::PixelType itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::InputPixelType |
Definition at line 55 of file itkFFTWInverseFFTImageFilter.h.
typedef InputImageType::SizeType itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::InputSizeType |
Definition at line 56 of file itkFFTWInverseFFTImageFilter.h.
typedef OutputImageType::RegionType itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Definition at line 73 of file itkFFTWInverseFFTImageFilter.h.
typedef TOutputImage itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 57 of file itkFFTWInverseFFTImageFilter.h.
typedef OutputImageType::PixelType itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Definition at line 58 of file itkFFTWInverseFFTImageFilter.h.
typedef OutputImageType::SizeType itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::OutputSizeType |
Definition at line 59 of file itkFFTWInverseFFTImageFilter.h.
typedef SmartPointer< Self > itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 63 of file itkFFTWInverseFFTImageFilter.h.
typedef FFTWInverseFFTImageFilter itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::Self |
Definition at line 61 of file itkFFTWInverseFFTImageFilter.h.
typedef InverseFFTImageFilter< InputImageType, OutputImageType > itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 62 of file itkFFTWInverseFFTImageFilter.h.
|
protected |
|
inlineprotectedvirtual |
Definition at line 111 of file itkFFTWInverseFFTImageFilter.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< TOutputImage >.
|
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::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. /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< 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. /sa FFTWGlobalConfiguration
Definition at line 92 of file itkFFTWInverseFFTImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigorName(), itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::m_PlanRigor, and itk::Object::Modified().
Referenced by itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::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 103 of file itkFFTWInverseFFTImageFilter.h.
References itk::FFTWGlobalConfiguration::GetPlanRigorValue(), and itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::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< TOutputImage >.
|
static |
Define the image dimension.
Definition at line 83 of file itkFFTWInverseFFTImageFilter.h.
|
private |
Definition at line 123 of file itkFFTWInverseFFTImageFilter.h.
Referenced by itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor().