ITK
5.0.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 175 of file itkFFTWGlobalConfiguration.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | MutexType = std::mutex |
using | Pointer = SmartPointer< Self > |
using | Self = FFTWGlobalConfiguration |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
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 |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexceptoverride |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
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 std::mutex & | 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 () | |
itkGetGlobalDeclarationMacro (FFTWGlobalConfigurationGlobals, PimplGlobals) | |
~FFTWGlobalConfiguration () override | |
Static Private Member Functions | |
static Pointer | GetInstance () |
static Pointer | New () |
Private Attributes | |
std::mutex | 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 FFTWGlobalConfigurationGlobals * | m_PimplGlobals |
Additional Inherited Members | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &time) |
~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 | |
std::atomic< int > | m_ReferenceCount |
using itk::FFTWGlobalConfiguration::ConstPointer = SmartPointer< const Self > |
Definition at line 185 of file itkFFTWGlobalConfiguration.h.
using itk::FFTWGlobalConfiguration::MutexType = std::mutex |
Definition at line 186 of file itkFFTWGlobalConfiguration.h.
Definition at line 184 of file itkFFTWGlobalConfiguration.h.
Standard class type aliases.
Definition at line 182 of file itkFFTWGlobalConfiguration.h.
Definition at line 183 of file itkFFTWGlobalConfiguration.h.
|
private |
|
overrideprivate |
|
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
|
private |
|
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
|
private |
Definition at line 325 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 326 of file itkFFTWGlobalConfiguration.h.
|
staticprivate |
Definition at line 321 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 327 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 329 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 330 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 333 of file itkFFTWGlobalConfiguration.h.
|
private |
Definition at line 328 of file itkFFTWGlobalConfiguration.h.