12 #ifndef _KernelFactory_h
13 #define _KernelFactory_h
15 #include "itkSimpleFastMutexLock.h"
17 #include "ExactKernel.h"
18 #include "FGTKernel.h"
31 template <
class TScalar,
unsigned int Po
intDim>
70 void UseCUDAExactKernel() { m_Mutex.Lock();
m_WhichKernel = CUDAExact; m_Mutex.Unlock();}
155 static itk::SimpleFastMutexLock m_Mutex;
158 static bool m_IsInstantiated;
167 #ifndef MU_MANUAL_INSTANTIATION
168 #include "KernelFactory.txx"
Superclass::VNLMatrixType VNLMatrixType
Matrix type.
Definition: ExactKernel.h:44
void UseFGTKernel()
Sets the type of the kernel to FGTKernel.
Definition: KernelFactory.h:74
TScalar GetPaddingFactor() const
Returns the padding factor.
Definition: KernelFactory.h:89
TScalar m_PaddingFactor
See P3MKernel::m_PaddingFactor for details.
Definition: KernelFactory.h:144
KernelEnumType GetKernelCode() const
Returns the type of the kernel.
Definition: KernelFactory.h:66
TScalar GetWorkingSpacingRatio() const
Get the spacing of the lattice for grid optimization (p3m).
Definition: KernelFactory.h:84
Definition: KernelFactory.h:43
VNLMatrixType GetDataDomain() const
Returns the data domain.
Definition: KernelFactory.h:79
KernelEnumType
Possible type of kernels.
Definition: KernelFactory.h:41
Definition: KernelFactory.h:47
KernelBaseType::VNLVectorType VNLVectorType
Vector type.
Definition: KernelFactory.h:55
KernelBaseType::VNLMatrixType VNLMatrixType
Matrix type.
Definition: KernelFactory.h:57
Exact kernels.
Definition: ExactKernel.h:30
KernelEnumType m_WhichKernel
Type of the kernel.
Definition: KernelFactory.h:132
void UseExactKernel()
Sets the type of the kernel to ExactKernel.
Definition: KernelFactory.h:68
ExactKernel< TScalar, PointDim > KernelBaseType
Exact kernel type.
Definition: KernelFactory.h:52
TScalar m_WorkingSpacingRatio
See P3MKernel::m_WorkingSpacingRatio for details.
Definition: KernelFactory.h:141
A kernel factory.
Definition: KernelFactory.h:32
void SetWorkingSpacingRatio(TScalar d)
Set the spacing of the lattice for grid optimization (p3m).
Definition: KernelFactory.h:86
Definition: KernelFactory.h:48
Superclass::VNLVectorType VNLVectorType
Vector type.
Definition: ExactKernel.h:42
void SetPaddingFactor(TScalar d)
Sets the padding factor to d.
Definition: KernelFactory.h:91
VNLMatrixType m_DataDomain
See AbstractDeformations::m_DataDomain for details.
Definition: KernelFactory.h:138
KernelBaseType * CreateKernelObject()
Returns the instance of the object, NULL in case of error.
void UseP3MKernel()
Sets the type of the kernel to P3MKernel.
Definition: KernelFactory.h:76
static KernelFactory< TScalar, PointDim > * Instantiate()
Instantiates an object of KernelFactory type with the Singleton strategy.
void SetDataDomain(VNLMatrixType DD)
Sets the data domain to DD.