18#ifndef itkFFTWGlobalConfiguration_h
19#define itkFFTWGlobalConfiguration_h
24#if defined(ITK_USE_FFTWF) || defined(ITK_USE_FFTWD)
26# include "ITKFFTExport.h"
29# include "itksys/SystemTools.hxx"
30# include "itksys/SystemInformation.hxx"
31# if defined(ITK_USE_CUFFTW)
39struct FFTWGlobalConfigurationGlobals;
70struct FFTWGlobalConfigurationGlobals;
73# define FFTWPathSep "\\"
75# define FFTWPathSep "/"
static bool ExportWisdomFileDouble(const std::string &fname)
static bool ExportDefaultWisdomFileDouble()
FFTWGlobalConfiguration()
static void SetPlanRigor(const int v)
Set the behavior of wisdom plan creation.
static bool ExportWisdomFileFloat(const std::string &fname)
static int GetPlanRigorValue(const std::string &name)
static FFTWGlobalConfigurationGlobals * m_PimplGlobals
static bool ImportDefaultWisdomFile()
static bool GetReadWisdomCache()
Set/Get the behavior of wisdom file caching.
std::string m_WisdomCacheBase
static std::string GetWisdomCacheBase()
Define the directory where the wisdom cache will be placed. The environmental variable ITK_FFTW_WISDO...
static bool ImportDefaultWisdomFileFloat()
static std::string GetWisdomFileDefaultBaseName()
static bool ImportWisdomFileDouble(const std::string &fname)
static void SetWriteWisdomCache(const bool v)
Set/Get the behavior of wisdom file caching.
~FFTWGlobalConfiguration() override
itkGetGlobalDeclarationMacro(FFTWGlobalConfigurationGlobals, PimplGlobals)
SmartPointer< const Self > ConstPointer
static std::string GetPlanRigorName(const int value)
SmartPointer< Self > Pointer
static bool GetWriteWisdomCache()
Set/Get the behavior of wisdom file caching.
FFTWGlobalConfiguration Self
static Pointer GetInstance()
static bool ImportDefaultWisdomFileDouble()
static std::mutex & GetLockMutex()
static void SetNewWisdomAvailable(const bool v)
static void SetReadWisdomCache(const bool v)
Set/Get the behavior of wisdom file caching.
static int GetPlanRigor()
static bool ExportDefaultWisdomFileFloat()
static bool ImportWisdomFileFloat(const std::string &fname)
static bool ExportDefaultWisdomFile()
static void SetPlanRigor(const std::string &name)
static void SetWisdomCacheBase(const std::string &v)
Define the directory where the wisdom cache will be placed. The environmental variable ITK_FFTW_WISDO...
WisdomFilenameGeneratorBase * m_WisdomFilenameGenerator
bool m_NewWisdomAvailable
static bool GetNewWisdomAvailable()
static void SetWisdomFilenameGenerator(WisdomFilenameGeneratorBase *wfg)
allows application developers to create arbitrary rules for auto-generating cache file names....
bool m_UseNumberOfProcessors
void SetUseFamilyID(const bool flag)
void SetUseOSVersion(const bool flag)
bool GetUseOSRelease() const
void SetUseTypeID(const bool flag)
bool GetUseOSBitSize() const
void SetUseVendorString(const bool flag)
void SetUseModelID(const bool flag)
void SetUseSteppingCode(const bool flag)
void SetUseOSBitSize(const bool flag)
std::string GenerateWisdomFilename(const std::string &baseCacheDirectory) const override
void SetUseOSRelease(const bool flag)
bool GetUseOSPlatform() const
bool GetUseVendorString() const
bool GetUseFamilyID() const
bool GetUseModelID() const
bool GetUseOSVersion() const
bool GetUseSteppingCode() const
bool GetUseTypeID() const
HardwareWisdomFilenameGenerator()
void SetUseOSPlatform(const bool flag)
void SetUseNumberOfProcessors(const bool flag)
bool GetUseOSName() const
bool GetUseNumberOfProcessors() const
void SetUseOSName(const bool flag)
std::string GenerateWisdomFilename(const std::string &baseCacheDirectory) const override
ManualWisdomFilenameGenerator(std::string wfn)
std::string GenerateWisdomFilename(const std::string &baseCacheDirectory) const override
void SetWisdomFilename(const std::string &wfn)
std::string m_WisdomFilename
std::string GenerateWisdomFilename(const std::string &baseCacheDirectory) const override
Implements transparent reference counting.
virtual ~WisdomFilenameGeneratorBase()
virtual std::string GenerateWisdomFilename(const std::string &baseCacheDirectory) const =0
WisdomFilenameGeneratorBase()
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....