18 #ifndef __itkFEMFiniteDifferenceFunctionLoad_h
19 #define __itkFEMFiniteDifferenceFunctionLoad_h
34 #include "vnl/vnl_math.h"
66 template <
typename TMoving,
typename TFixed>
78 itkSimpleNewMacro(
Self);
100 MovingImageType::ImageDimension);
169 drfp->SetRadius(m_MetricRadius);
171 drfp->InitializeIteration();
199 m_FixedSize = T->GetLargestPossibleRegion().GetSize();
226 return m_MetricRadius;
338 #ifndef ITK_MANUAL_INSTANTIATION
339 #include "itkFEMFiniteDifferenceFunctionLoad.hxx"
unsigned long ElementIdentifier
FixedImageType::PixelType FixedPixelType
FixedNeighborhoodIteratorType::RadiusType FixedRadiusType
MovingImageType::ConstPointer MovingConstPointer
void SetDescentDirectionMinimize()
Light weight base class for most itk classes.
void SetDisplacementField(DisplacementFieldTypePointer df)
FiniteDifferenceFunctionLoad()
Float EvaluateMetricGivenSolution(ElementContainerType *el, Float step=1.0)
ImageRegionIteratorWithIndex< FixedImageType > FixedRegionIteratorType
double GetCurrentEnergy()
DisplacementFieldType::Pointer DisplacementFieldTypePointer
FiniteDifferenceFunctionType::TimeStepType TimeStepType
FiniteDifferenceFunctionType::Pointer FiniteDifferenceFunctionTypePointer
unsigned int GetNumberOfIntegrationPoints()
VectorContainer< ElementIdentifier, Element::Pointer > ElementContainerType
SmartPointer< Self > Pointer
DisplacementFieldType::Pointer m_DisplacementField
Image< VectorType, itkGetStaticConstMacro(ImageDimension)> DisplacementFieldType
FixedImageType::ConstPointer FixedConstPointer
MovingNeighborhoodIteratorType::RadiusType MovingRadiusType
void PrintCurrentEnergy()
ObjectType * GetPointer() const
static const double e
The base of the natural logarithm or Euler's number
NeighborhoodIterator< DisplacementFieldType > FieldIteratorType
MovingImageType * MovingPointer
FixedPointer GetFixedImage()
void InitializeIteration()
static const unsigned int ImageDimension
void SetNumberOfIntegrationPoints(unsigned int i)
MovingRadiusType GetMetricRadius()
MIRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > MIRegistrationFunctionType
ImageRegionIteratorWithIndex< MovingImageType > MovingRegionIteratorType
virtual void ApplyLoad(Element::ConstPointer element, Element::VectorType &Fe)
FiniteDifferenceFunctionLoad Self
Provides functions to access the values of the solution vector.
General image pair load that uses the itkFiniteDifferenceFunctions.
void SetMetricRadius(MovingRadiusType T)
A templated class holding a n-Dimensional vector.
MovingNeighborhoodIteratorType::IndexType MovingNeighborhoodIndexType
DisplacementFieldTypePointer GetDisplacementField()
FixedNeighborhoodIteratorType::IndexType FixedNeighborhoodIndexType
vnl_vector< Float > FEMVectorType
FixedImageType * FixedPointer
Superclass::IndexType IndexType
Float GetSolution(unsigned int i, unsigned int which=0)
A multi-dimensional iterator templated over image type that walks pixels within a region and is speci...
void SetMovingImage(MovingImageType *R)
unsigned int m_SolutionIndex2
PDEDeformableRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > FiniteDifferenceFunctionType
vnl_vector< Float > VectorType
NeighborhoodIterator< FixedImageType > FixedNeighborhoodIteratorType
Virtual element load base class.
DemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > DemonsRegistrationFunctionType
MovingImageType::SizeType m_MovingSize
Superclass::RadiusType RadiusType
MeanSquareRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > MeanSquareRegistrationFunctionType
FEMVectorType Fe(FEMVectorType)
NCCRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > NCCRegistrationFunctionType
unsigned int m_SolutionIndex
void SetDifferenceFunction(FiniteDifferenceFunctionTypePointer drfp)
NeighborhoodIterator< MovingImageType > MovingNeighborhoodIteratorType
MovingPointer GetMovingImage()
void SetCurrentEnergy(double e=0.0)
MovingNeighborhoodIteratorType::RadiusType RadiusType
MovingImageType::PixelType MovingPixelType
void SetFixedImage(FixedImageType *T)
Solution::ConstPointer GetSolution()
Solution::ConstPointer m_Solution
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
void SetMetric(FiniteDifferenceFunctionTypePointer drfp)
FiniteDifferenceFunctionTypePointer m_DifferenceFunction
unsigned int m_NumberOfIntegrationPoints
itk::Vector< float, itkGetStaticConstMacro(ImageDimension)> VectorType
void SetSolution(Solution::ConstPointer ptr)
Image< PixelType, itkGetStaticConstMacro(ImageDimension)> ImageType
MovingPointer m_MovingImage
SmartPointer< const Self > ConstPointer
FixedPointer m_FixedImage
virtual Float GetSolutionValue(unsigned int i, unsigned int solutionIndex=0) const =0
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
Templated n-dimensional image class.
FixedImageType::SizeType m_FixedSize
virtual ::itk::LightObject::Pointer CreateAnother(void) const
void SetDescentDirectionMaximize()