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