ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkFFTWGlobalConfiguration.h>
A class to contain all the global configuration options for FFTW.
A simple global lock is included that must be called before calling FFTW unsafe functions. It also handle cleanly the initialization and cleanup of FFTW.
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 254 of file itkFFTWGlobalConfiguration.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SimpleFastMutexLock | MutexType |
typedef SmartPointer< Self > | Pointer |
typedef FFTWGlobalConfiguration | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Public Member Functions | |
virtual const char * | GetNameOfClass () 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 SimpleFastMutexLock & | GetLockMutex () |
static int | GetPlanRigor () |
static std::string | GetPlanRigorName (const int &value) |
static int | GetPlanRigorValue (const std::string &name) |
static bool | GetReadWisdomCache () |
static std::string | GetWisdomCacheBase () |
static std::string | GetWisdomFileDefaultBaseName () |
static bool | GetWriteWisdomCache () |
static void | SetPlanRigor (const std::string &name) |
static void | SetReadWisdomCache (const bool &v) |
static void | SetWisdomCacheBase (const std::string &v) |
static void | SetWisdomFilenameGenerator (WisdomFilenameGeneratorBase *wfg) |
static void | SetWriteWisdomCache (const bool &v) |
static void | SetNewWisdomAvailable (const bool &v) |
static bool | GetNewWisdomAvailable () |
static void | SetPlanRigor (const int &v) |
static bool | ImportWisdomFileDouble (const std::string &fname) |
static bool | ExportWisdomFileDouble (const std::string &fname) |
static bool | ImportWisdomFileFloat (const std::string &fname) |
static bool | ExportWisdomFileFloat (const std::string &fname) |
static bool | ImportDefaultWisdomFileDouble () |
static bool | ExportDefaultWisdomFileDouble () |
static bool | ImportDefaultWisdomFileFloat () |
static bool | ExportDefaultWisdomFileFloat () |
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 () |
Private Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
FFTWGlobalConfiguration () | |
FFTWGlobalConfiguration (const Self &) | |
void | operator= (const Self &) |
~FFTWGlobalConfiguration () | |
Static Private Member Functions | |
static Pointer | GetInstance () |
static Pointer | New (void) |
Private Attributes | |
SimpleFastMutexLock | m_Lock |
bool | m_NewWisdomAvailable |
int | m_PlanRigor |
bool | m_ReadWisdomCache |
std::string | m_WisdomCacheBase |
WisdomFilenameGeneratorBase * | m_WisdomFilenameGenerator |
bool | m_WriteWisdomCache |
Static Private Attributes | |
static SimpleFastMutexLock | m_CreationLock |
static Pointer | m_Instance |
Additional Inherited Members | |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes inherited from itk::LightObject | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
typedef SmartPointer< const Self > itk::FFTWGlobalConfiguration::ConstPointer |
Definition at line 262 of file itkFFTWGlobalConfiguration.h.
Definition at line 263 of file itkFFTWGlobalConfiguration.h.
Definition at line 261 of file itkFFTWGlobalConfiguration.h.
Standard class typedefs.
Definition at line 259 of file itkFFTWGlobalConfiguration.h.
Definition at line 260 of file itkFFTWGlobalConfiguration.h.
|
private |
|
private |
|
private |
|
privatevirtual |
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.
|
static |
Import or export some wisdom for the type double to/from the default file
|
static |
Import or export some wisdom for the type float to/from the default file
|
static |
Import or export some wisdom for the type double to/from a file
|
static |
Import or export some wisdom for the type float to/from a file
|
staticprivate |
Return the singleton instance with no reference counting.
Referenced by GetLockMutex(), GetNewWisdomAvailable(), GetPlanRigor(), GetReadWisdomCache(), GetWisdomCacheBase(), GetWriteWisdomCache(), SetNewWisdomAvailable(), SetPlanRigor(), SetReadWisdomCache(), SetWisdomCacheBase(), and SetWriteWisdomCache().
|
inlinestatic |
Get the mutex that protects calls to FFTW functions.
Definition at line 269 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
Referenced by itk::fftw::Proxy< float >::DestroyPlan(), itk::fftw::Proxy< double >::DestroyPlan(), itk::fftw::Proxy< float >::Plan_dft(), itk::fftw::Proxy< double >::Plan_dft(), itk::fftw::Proxy< float >::Plan_dft_c2r(), itk::fftw::Proxy< double >::Plan_dft_c2r(), itk::fftw::Proxy< float >::Plan_dft_r2c(), and itk::fftw::Proxy< double >::Plan_dft_r2c().
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Object.
|
inlinestatic |
Set/Get wether a new wisdom is available compared to the initial state. If a new wisdom is available, the wisdoms may be written to the cache file
Definition at line 282 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
|
inlinestatic |
Definition at line 304 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
Referenced by itk::FFTWComplexToComplexImageFilter< TImage >::FFTWComplexToComplexImageFilter().
|
static |
Translate plan rigor value to name. An exception is sent if the value is not valid.
Referenced by itk::FFTWHalfHermitianToRealInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWRealToHalfHermitianForwardFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWComplexToComplexImageFilter< TImage >::SetPlanRigor(), and SetPlanRigor().
|
static |
Translate plan rigor name to value. An exception is sent if the name is not valid.
Referenced by itk::FFTWHalfHermitianToRealInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWComplexToComplexImageFilter< TImage >::SetPlanRigor(), and SetPlanRigor().
|
inlinestatic |
Definition at line 331 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
|
inlinestatic |
Definition at line 365 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
|
static |
|
inlinestatic |
Definition at line 348 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
|
static |
Import or export some wisdom for the type double to/from the default file
|
static |
Import or export some wisdom for the type float to/from the default file
|
static |
Import or export some wisdom for the type double to/from a file
|
static |
Import or export some wisdom for the type float to/from a file
|
staticprivate |
This is a singleton pattern New. There will only be ONE reference to a FFTWGlobalConfiguration object per process. The single instance will be unreferenced when the program exits.
|
private |
|
inlinestatic |
Set/Get wether a new wisdom is available compared to the initial state. If a new wisdom is available, the wisdoms may be written to the cache file
Definition at line 278 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
Referenced by itk::fftw::Proxy< float >::Plan_dft(), itk::fftw::Proxy< double >::Plan_dft(), itk::fftw::Proxy< float >::Plan_dft_c2r(), itk::fftw::Proxy< double >::Plan_dft_c2r(), itk::fftw::Proxy< float >::Plan_dft_r2c(), and itk::fftw::Proxy< double >::Plan_dft_r2c().
|
inlinestatic |
Set the behavior of wisdom plan creation.
If the environmental variable "ITK_FFTW_PLAN_RIGOR", is set, then the environmental setting overides default settings.
v | One of the FFTW planner rigor flags FFTW_ESTIMATE, FFTW_MEASURE, FFTW_PATIENT, FFTW_EXHAUSTIVE |
Definition at line 296 of file itkFFTWGlobalConfiguration.h.
References GetInstance(), and GetPlanRigorName().
Referenced by SetPlanRigor().
|
inlinestatic |
Definition at line 308 of file itkFFTWGlobalConfiguration.h.
References GetPlanRigorValue(), and SetPlanRigor().
|
inlinestatic |
Set the behavior of wisdom file caching.
If the environmental variable "ITK_FFTW_WRITE_WISDOM_CACHE", is set, then the environmental setting overides default settings.
v | true will create a wisdom file in the location |
Definition at line 326 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
|
inlinestatic |
Define the directory where the wisdom cache will be placed. The environmental variable ITK_FFTW_WISDOM_CACHE_BASE will override the default behavior.
v | the path to the base directory name |
Definition at line 360 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
|
static |
allows application developers to create arbitrary rules for auto-generating cache file names. A default cache strategy is set to generate separate cache files for each unique operating system and hardware permutation. Alternate respresentative strategies are available to meet common use cases.
|
inlinestatic |
Set the behavior of wisdom file caching.
If the environmental variable "ITK_FFTW_WRITE_WISDOM_CACHE", is set, then the environmental setting overides default settings.
v | true will create a wisdom file in the location |
Definition at line 343 of file itkFFTWGlobalConfiguration.h.
References GetInstance().
|
staticprivate |
Definition at line 436 of file itkFFTWGlobalConfiguration.h.
|
staticprivate |
Definition at line 435 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 438 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 439 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 440 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 442 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 443 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 446 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 441 of file itkFFTWGlobalConfiguration.h.