18 #ifndef itkVariationalRegistrationElasticRegularizer_h
19 #define itkVariationalRegistrationElasticRegularizer_h
24 #if defined( ITK_USE_FFTWD ) || defined( ITK_USE_FFTWF )
57 template<
class TDisplacementField >
76 itkStaticConstMacro(
ImageDimension,
unsigned int, TDisplacementField::ImageDimension);
89 #if defined( ITK_USE_FFTWD )
93 #if defined( ITK_USE_FFTWF )
95 #warning "Using single precision for FFT computations!"
205 #ifndef ITK_MANUAL_INSTANTIATION
206 # include "itkVariationalRegistrationElasticRegularizer.hxx"
SmartPointer< const Self > ConstPointer
Light weight base class for most itk classes.
signed long OffsetValueType
NumericTraits< PixelType >::ValueType ValueType
SmartPointer< Self > Pointer
~VariationalRegistrationElasticRegularizer()
This class performs linear elastic regularization of a vector field.
VariationalRegistrationElasticRegularizer * Filter
Base class for regularization component in the variational registration framework.
DisplacementFieldType::SpacingType m_Spacing
double * m_MatrixSin[ImageDimension]
virtual void GenerateData()
virtual void SolveElasticLES()
Superclass::DisplacementFieldType DisplacementFieldType
unsigned long SizeValueType
DisplacementFieldType::SizeType::SizeValueType OffsetValueType
#define ITK_THREAD_RETURN_TYPE
virtual void Initialize()
DisplacementFieldType::ConstPointer DisplacementFieldConstPointer
double * m_MatrixCos[ImageDimension]
DisplacementFieldType::SizeType m_Size
VariationalRegistrationElasticRegularizer Self
static ITK_THREAD_RETURN_TYPE SolveElasticLESThreaderCallback(void *vargs)
VariationalRegistrationElasticRegularizer()
virtual void ThreadedSolveElasticLES(OffsetValueType from, OffsetValueType to)
Superclass::DisplacementFieldConstPointer DisplacementFieldConstPointer
fftw::Proxy< RealTypeFFT > FFTWProxyType
DisplacementFieldType::Pointer DisplacementFieldPointer
virtual bool InitializeElasticMatrix()
virtual void PrintSelf(std::ostream &os, Indent indent) const
Superclass::PixelType PixelType
Superclass::DisplacementFieldPointer DisplacementFieldPointer
virtual bool InitializeElasticFFTPlans()
VariationalRegistrationRegularizer< TDisplacementField > Superclass
Superclass::ValueType ValueType
DisplacementFieldType::SizeType m_ComplexSize
Control indentation during Print() invocation.
OffsetValueType m_TotalSize
OffsetValueType totalComplexSize
OffsetValueType m_ComplexOffsetTable[ImageDimension]
ImageBaseType::SizeType SizeType
OffsetValueType m_TotalComplexSize
void operator=(const Self &)
TDisplacementField DisplacementFieldType
virtual void Regularize()
static const unsigned int ImageDimension
DisplacementFieldType::PixelType PixelType
DisplacementFieldType::IndexType CalculateComplexImageIndex(OffsetValueType offset)
ImageBaseType::IndexType IndexType