ITK
4.13.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: https://hdl.handle.net/10380/3154 or http://insight-journal.com/browse/publication/717
Definition at line 166 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 () |
const MetaDataDictionary & | GetMetaDataDictionary () 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 override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) override |
virtual void | UnRegister () const noexceptoverride |
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 std::string | GetWisdomFileDefaultBaseName () |
static void | SetPlanRigor (const int &v) |
static void | SetPlanRigor (const std::string &name) |
static void | SetWisdomFilenameGenerator (WisdomFilenameGeneratorBase *wfg) |
static void | SetNewWisdomAvailable (const bool &v) |
static bool | GetNewWisdomAvailable () |
static void | SetReadWisdomCache (const bool &v) |
static bool | GetReadWisdomCache () |
static void | SetWriteWisdomCache (const bool &v) |
static bool | GetWriteWisdomCache () |
static void | SetWisdomCacheBase (const std::string &v) |
static std::string | GetWisdomCacheBase () |
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 bool | ImportDefaultWisdomFile () |
static bool | ExportDefaultWisdomFile () |
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 () const |
FFTWGlobalConfiguration () | |
~FFTWGlobalConfiguration () | |
Static Private Member Functions | |
static Pointer | GetInstance () |
static Pointer | New () |
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 Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () override |
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 | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::FFTWGlobalConfiguration::ConstPointer |
Definition at line 175 of file itkFFTWGlobalConfiguration.h.
Definition at line 176 of file itkFFTWGlobalConfiguration.h.
Definition at line 174 of file itkFFTWGlobalConfiguration.h.
Standard class typedefs.
Definition at line 172 of file itkFFTWGlobalConfiguration.h.
Definition at line 173 of file itkFFTWGlobalConfiguration.h.
|
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 |
Convenience functions to Import/Export both double and float default wisdom files
|
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.
|
static |
Get the mutex that protects calls to FFTW functions.
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.
|
static |
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
|
static |
|
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::FFTWRealToHalfHermitianForwardFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWForwardFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), and itk::FFTWComplexToComplexFFTImageFilter< TImage >::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(), and itk::FFTWComplexToComplexFFTImageFilter< TImage >::SetPlanRigor().
|
static |
Set/Get the behavior of wisdom file caching.
If the environmental variable "ITK_FFTW_WRITE_WISDOM_CACHE", is set, then the environmental setting overides default settings. If true, will create a wisdom file in the location
|
static |
Define the directory where the wisdom cache will be placed. The environmental variable ITK_FFTW_WISDOM_CACHE_BASE will override the default behavior.
|
static |
|
static |
Set/Get the behavior of wisdom file caching.
If the environmental variable "ITK_FFTW_WRITE_WISDOM_CACHE", is set, then the environmental setting overides default settings. If true, will create a wisdom file in the location
|
static |
Convenience functions to Import/Export both double and float default wisdom files
|
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.
|
static |
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
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().
|
static |
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 |
|
static |
|
static |
Set/Get the behavior of wisdom file caching.
If the environmental variable "ITK_FFTW_WRITE_WISDOM_CACHE", is set, then the environmental setting overides default settings. If true, will create a wisdom file in the location
|
static |
Define the directory where the wisdom cache will be placed. The environmental variable ITK_FFTW_WISDOM_CACHE_BASE will override the default behavior.
|
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.
|
static |
Set/Get the behavior of wisdom file caching.
If the environmental variable "ITK_FFTW_WRITE_WISDOM_CACHE", is set, then the environmental setting overides default settings. If true, will create a wisdom file in the location
|
staticprivate |
Definition at line 313 of file itkFFTWGlobalConfiguration.h.
|
staticprivate |
Definition at line 308 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 315 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 316 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 317 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 319 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 320 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 323 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 318 of file itkFFTWGlobalConfiguration.h.