ITK
5.2.0
Insight Toolkit
|
#include <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 |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) 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 noexcept override |
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 | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static std::mutex & | GetLockMutex () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
static FFTWGlobalConfigurationGlobals * | m_PimplGlobals |
std::mutex | m_Lock |
bool | m_NewWisdomAvailable { false } |
int | m_PlanRigor { 0 } |
bool | m_WriteWisdomCache { false } |
bool | m_ReadWisdomCache { true } |
std::string | m_WisdomCacheBase |
WisdomFilenameGeneratorBase * | m_WisdomFilenameGenerator |
static void | SetNewWisdomAvailable (const bool &v) |
static bool | GetNewWisdomAvailable () |
static void | SetPlanRigor (const int &v) |
static int | GetPlanRigor () |
static void | SetPlanRigor (const std::string &name) |
static int | GetPlanRigorValue (const std::string &name) |
static std::string | GetPlanRigorName (const int &value) |
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 void | SetWisdomFilenameGenerator (WisdomFilenameGeneratorBase *wfg) |
static std::string | GetWisdomFileDefaultBaseName () |
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 () |
FFTWGlobalConfiguration () | |
~FFTWGlobalConfiguration () override | |
itkGetGlobalDeclarationMacro (FFTWGlobalConfigurationGlobals, PimplGlobals) | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
static Pointer | GetInstance () |
static Pointer | New () |
Additional Inherited Members | |
Protected Member Functions inherited from itk::Object | |
Object () | |
~Object () override | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
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 |
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://www.insight-journal.org/browse/publication/717
Definition at line 203 of file itkFFTWGlobalConfiguration.h.
using itk::FFTWGlobalConfiguration::ConstPointer = SmartPointer<const Self> |
Definition at line 212 of file itkFFTWGlobalConfiguration.h.
using itk::FFTWGlobalConfiguration::MutexType = std::mutex |
Definition at line 213 of file itkFFTWGlobalConfiguration.h.
Definition at line 211 of file itkFFTWGlobalConfiguration.h.
Standard class type aliases.
Definition at line 209 of file itkFFTWGlobalConfiguration.h.
Definition at line 210 of file itkFFTWGlobalConfiguration.h.
|
private |
Set/Get whether 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
|
overrideprivate |
Set/Get whether 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
|
privatevirtual |
Set/Get whether 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
Reimplemented from itk::Object.
|
static |
Set/Get whether 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 |
Set/Get whether 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 |
Set/Get whether 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 |
Set/Get whether 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 |
Set/Get whether 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
|
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 whether 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 |
Set/Get whether 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 |
Translate plan rigor value to name. An exception is sent if the value is not valid.
Referenced by itk::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWHalfHermitianToRealInverseFFTImageFilter< 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::FFTWInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), itk::FFTWHalfHermitianToRealInverseFFTImageFilter< TInputImage, TOutputImage >::SetPlanRigor(), and itk::FFTWComplexToComplexFFTImageFilter< TImage >::SetPlanRigor().
|
static |
Set/Get whether 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 |
Set/Get whether 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 |
Set/Get whether 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 |
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 |
Set/Get whether 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
|
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 whether 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 overrides default settings.
v | One of the FFTW planner rigor flags FFTW_ESTIMATE, FFTW_MEASURE, FFTW_PATIENT, FFTW_EXHAUSTIVE |
|
static |
Set/Get whether 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 |
Set/Get the behavior of wisdom file caching.
If the environmental variable "ITK_FFTW_WRITE_WISDOM_CACHE", is set, then the environmental setting overrides 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 representative 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 overrides default settings. If true, will create a wisdom file in the location
|
private |
Set/Get whether 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 379 of file itkFFTWGlobalConfiguration.h.
|
private |
Set/Get whether 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 380 of file itkFFTWGlobalConfiguration.h.
|
staticprivate |
Set/Get whether 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 375 of file itkFFTWGlobalConfiguration.h.
|
private |
Set/Get whether 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 381 of file itkFFTWGlobalConfiguration.h.
|
private |
Set/Get whether 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 383 of file itkFFTWGlobalConfiguration.h.
|
private |
Set/Get whether 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 384 of file itkFFTWGlobalConfiguration.h.
|
private |
Set/Get whether 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 387 of file itkFFTWGlobalConfiguration.h.
|
private |
Set/Get whether 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 382 of file itkFFTWGlobalConfiguration.h.