18 #ifndef itkVariationalRegistrationCurvatureRegularizer_h
19 #define itkVariationalRegistrationCurvatureRegularizer_h
24 #if defined( ITK_USE_FFTWD ) || defined( ITK_USE_FFTWF )
61 template<
typename TDisplacementField >
81 static constexpr
unsigned int ImageDimension = TDisplacementField::ImageDimension;
94 #if defined( ITK_USE_FFTWD )
98 #if defined( ITK_USE_FFTWF )
100 #warning "Using single precision for FFT computations!"
188 #ifndef ITK_MANUAL_INSTANTIATION
189 # include "itkVariationalRegistrationCurvatureRegularizer.hxx"
virtual bool InitializeCurvatureDiagonalMatrix()
Light weight base class for most itk classes.
void PrintSelf(std::ostream &os, Indent indent) const override
DisplacementFieldType::SizeType::SizeValueType OffsetValueType
unsigned long SizeValueType
typename DisplacementFieldType::ConstPointer DisplacementFieldConstPointer
typename fftw::Proxy< RealTypeFFT > FFTWProxyType
typename Superclass::ValueType ValueType
OffsetValueType totalSize
Base class for regularization component in the variational registration framework.
RealTypeFFT * m_DiagonalMatrix[ImageDimension]
static constexpr unsigned int ImageDimension
void Initialize() override
DisplacementFieldType::SpacingType m_Spacing
virtual void SolveCurvatureLES(unsigned int currentDimension)
~VariationalRegistrationCurvatureRegularizer() override
void GenerateData() override
OffsetValueType m_OffsetTable[ImageDimension]
virtual void Regularize()
void ITK_THREAD_RETURN_TYPE
typename Superclass::DisplacementFieldType DisplacementFieldType
typename Superclass::DisplacementFieldPointer DisplacementFieldPointer
OffsetValueType m_TotalSize
typename Superclass::DisplacementFieldConstPointer DisplacementFieldConstPointer
typename Superclass::PixelType PixelType
ImageBaseType::SizeType SizeType
ImageBaseType::IndexType IndexType
VariationalRegistrationCurvatureRegularizer * Filter
virtual bool InitializeCurvatureFFTPlans()
VariationalRegistrationCurvatureRegularizer()
virtual void ThreadedSolveCurvatureLES(unsigned int currentDimension, OffsetValueType from, OffsetValueType to)
typename NumericTraits< PixelType >::ValueType ValueType
unsigned int currentDimension
typename DisplacementFieldType::Pointer DisplacementFieldPointer
Control indentation during Print() invocation.
DisplacementFieldType::SizeType m_Size
TDisplacementField DisplacementFieldType
static ITK_THREAD_RETURN_TYPE SolveCurvatureLESThreaderCallback(void *vargs)
typename DisplacementFieldType::PixelType PixelType
This class performs linear elastic regularization of a vector field.
DisplacementFieldType::IndexType CalculateImageIndex(OffsetValueType offset)