Skip to content


Correspondence term.

#include <CorrespondenceFunction.h>

Inherits from shapeworks::VectorFunction, itk::LightObject

Public Types

typedef CorrespondenceFunction Self
typedef itk::SmartPointer< Self > Pointer
typedef itk::SmartPointer< const Self > ConstPointer
typedef VectorFunction Superclass
typedef ShapeDataType::DataType DataType
typedef Superclass::VectorType VectorType
typedef ParticleSystem::PointType PointType
typedef vnl_vector< DataType > vnl_vector_type
typedef vnl_matrix< DataType > vnl_matrix_type

Public Functions

itkNewMacro(Self )
itkStaticConstMacro(Dimension , unsigned int , VDimension )
void SetShapeData(ShapeDataType * s)
Access the shape matrix.
ShapeDataType * GetShapeData()
const ShapeDataType * GetShapeData() const
void SetShapeGradient(ShapeGradientType * s)
Access the shape gradient matrix.
ShapeGradientType * GetShapeGradient()
const ShapeGradientType * GetShapeGradient() const
virtual VectorType Evaluate(unsigned int , unsigned int , const ParticleSystem * , double & , double & ) const
virtual VectorType Evaluate(unsigned int , unsigned int , const ParticleSystem * , double & maxtimestep) const
virtual double Energy(unsigned int a, unsigned int b, const ParticleSystem * c) const
virtual void BeforeIteration()
virtual void AfterIteration()
void SetMinimumVarianceDecay(double initial_value, double final_value, double time_period)
void SetMinimumVariance(double d)
double GetMinimumVariance() const
bool GetHoldMinimumVariance() const
void SetHoldMinimumVariance(bool b)
void SetRecomputeCovarianceInterval(int i)
int GetRecomputeCovarianceInterval() const
void SetAttributeScales(const std::vector< double > & s)
void SetDomainsPerShape(int i)
int GetDomainsPerShape() const
void SetAttributesPerDomain(const std::vector< int > & i)
void UseMeanEnergy()
void UseEntropy()
void SetXYZ(int i, bool val)
void SetNormals(int i, bool val)
bool CheckForNans(vnl_matrix_type mat)
virtual VectorFunction::Pointer Clone()

Protected Functions

virtual ~CorrespondenceFunction()
void operator=(const CorrespondenceFunction & )
CorrespondenceFunction(const CorrespondenceFunction & )
virtual void ComputeUpdates(const ParticleSystem * c)

Public Attributes

itkTypeMacro(CorrespondenceFunction, VectorFunction) typedef shapeworks typedef shapeworks::ShapeGradientMatrix ShapeGradientType
constexpr static int VDimension

Protected Attributes

ShapeDataType::Pointer m_ShapeData
ShapeGradientType::Pointer m_ShapeGradient
std::shared_ptr< vnl_matrix_type > m_PointsUpdate
double m_MinimumVariance
double m_MinimumEigenValue
bool m_HoldMinimumVariance
int m_RecomputeCovarianceInterval
double m_MinimumVarianceDecayConstant
int m_Counter
std::vector< double > m_AttributeScales
int m_DomainsPerShape
std::vector< int > m_AttributesPerDomain
double m_CurrentEnergy
bool m_UseMeanEnergy
std::vector< bool > m_UseXYZ
std::vector< bool > m_UseNormals
std::shared_ptr< vnl_matrix_type > m_points_mean
std::shared_ptr< Eigen::MatrixXd > m_InverseCovMatrix
int num_dims
int num_samples

Additional inherited members

Public Functions inherited from shapeworks::VectorFunction

itkTypeMacro(VectorFunction , LightObject )
virtual void ResetBuffers()
virtual void BeforeEvaluate(unsigned int , unsigned int , const ParticleSystem * )
virtual void SetParticleSystem(ParticleSystem * p)
virtual ParticleSystem * GetParticleSystem() const
virtual void SetDomainNumber(unsigned int i)
virtual int GetDomainNumber() const
virtual double GetRelativeEnergyScaling() const
virtual void SetRelativeEnergyScaling(double r)

Protected Functions inherited from shapeworks::VectorFunction

virtual ~VectorFunction()
VectorFunction(const VectorFunction & )

Protected Attributes inherited from shapeworks::VectorFunction

ParticleSystem * m_ParticleSystem
unsigned int m_DomainNumber

Public Types Documentation

typedef Self

typedef CorrespondenceFunction shapeworks::CorrespondenceFunction::Self;

Standard class typedefs.

typedef Pointer

typedef itk::SmartPointer<Self> shapeworks::CorrespondenceFunction::Pointer;

typedef ConstPointer

typedef itk::SmartPointer<const Self> shapeworks::CorrespondenceFunction::ConstPointer;

typedef Superclass

typedef VectorFunction shapeworks::CorrespondenceFunction::Superclass;

typedef DataType

typedef ShapeDataType::DataType shapeworks::CorrespondenceFunction::DataType;

typedef VectorType

typedef Superclass::VectorType shapeworks::CorrespondenceFunction::VectorType;

Vector & Point types.

typedef PointType

typedef ParticleSystem::PointType shapeworks::CorrespondenceFunction::PointType;

typedef vnl_vector_type

typedef vnl_vector<DataType> shapeworks::CorrespondenceFunction::vnl_vector_type;

typedef vnl_matrix_type

typedef vnl_matrix<DataType> shapeworks::CorrespondenceFunction::vnl_matrix_type;

Public Functions Documentation

function itkNewMacro


Method for creation through the object factory.

function itkStaticConstMacro

    Dimension ,
    unsigned int ,

Dimensionality of the domain of the particle system.

function SetShapeData

inline void SetShapeData(
    ShapeDataType * s

Access the shape matrix.

function GetShapeData

inline ShapeDataType * GetShapeData()

function GetShapeData

inline const ShapeDataType * GetShapeData() const

function SetShapeGradient

inline void SetShapeGradient(
    ShapeGradientType * s

Access the shape gradient matrix.

function GetShapeGradient

inline ShapeGradientType * GetShapeGradient()

function GetShapeGradient

inline const ShapeGradientType * GetShapeGradient() const

function Evaluate

virtual VectorType Evaluate(
    unsigned int ,
    unsigned int ,
    const ParticleSystem * ,
    double & ,
    double & 
) const

Reimplements: shapeworks::VectorFunction::Evaluate

The first argument is a pointer to the particle system. The second argument is the index of the domain within that particle system. The third argument is the index of the particle location within the given domain.

function Evaluate

inline virtual VectorType Evaluate(
    unsigned int ,
    unsigned int ,
    const ParticleSystem * ,
    double & maxtimestep
) const

Reimplements: shapeworks::VectorFunction::Evaluate

The first argument is a pointer to the particle system. The second argument is the index of the domain within that particle system. The third argument is the index of the particle location within the given domain.

function Energy

inline virtual double Energy(
    unsigned int a,
    unsigned int b,
    const ParticleSystem * c
) const

Reimplements: shapeworks::VectorFunction::Energy

function BeforeIteration

inline virtual void BeforeIteration()

Reimplements: shapeworks::VectorFunction::BeforeIteration

Called before each iteration of a solver.

function AfterIteration

inline virtual void AfterIteration()

Reimplements: shapeworks::VectorFunction::AfterIteration

Called after each iteration of the solver.

function SetMinimumVarianceDecay

inline void SetMinimumVarianceDecay(
    double initial_value,
    double final_value,
    double time_period

function SetMinimumVariance

inline void SetMinimumVariance(
    double d

function GetMinimumVariance

inline double GetMinimumVariance() const

function GetHoldMinimumVariance

inline bool GetHoldMinimumVariance() const

function SetHoldMinimumVariance

inline void SetHoldMinimumVariance(
    bool b

function SetRecomputeCovarianceInterval

inline void SetRecomputeCovarianceInterval(
    int i

function GetRecomputeCovarianceInterval

inline int GetRecomputeCovarianceInterval() const

function SetAttributeScales

inline void SetAttributeScales(
    const std::vector< double > & s

function SetDomainsPerShape

inline void SetDomainsPerShape(
    int i

Set/Get the number of domains per shape.

function GetDomainsPerShape

inline int GetDomainsPerShape() const

function SetAttributesPerDomain

inline void SetAttributesPerDomain(
    const std::vector< int > & i

function UseMeanEnergy

inline void UseMeanEnergy()

function UseEntropy

inline void UseEntropy()

function SetXYZ

inline void SetXYZ(
    int i,
    bool val

function SetNormals

inline void SetNormals(
    int i,
    bool val

function CheckForNans

inline bool CheckForNans(
    vnl_matrix_type mat

function Clone

inline virtual VectorFunction::Pointer Clone()

Reimplements: shapeworks::VectorFunction::Clone

Protected Functions Documentation

function CorrespondenceFunction

inline CorrespondenceFunction()

function ~CorrespondenceFunction

inline virtual ~CorrespondenceFunction()

function operator=

void operator=(
    const CorrespondenceFunction & 

function CorrespondenceFunction

    const CorrespondenceFunction & 

function ComputeUpdates

virtual void ComputeUpdates(
    const ParticleSystem * c

Public Attributes Documentation

variable ShapeGradientType

itkTypeMacro(CorrespondenceFunction, VectorFunction) typedef shapeworks typedef shapeworks::ShapeGradientMatrix ShapeGradientType;

variable VDimension

static constexpr static int VDimension = 3;

Protected Attributes Documentation

variable m_ShapeData

ShapeDataType::Pointer m_ShapeData;

variable m_ShapeGradient

ShapeGradientType::Pointer m_ShapeGradient;

variable m_PointsUpdate

std::shared_ptr< vnl_matrix_type > m_PointsUpdate;

variable m_MinimumVariance

double m_MinimumVariance;

variable m_MinimumEigenValue

double m_MinimumEigenValue;

variable m_HoldMinimumVariance

bool m_HoldMinimumVariance;

variable m_RecomputeCovarianceInterval

int m_RecomputeCovarianceInterval;

variable m_MinimumVarianceDecayConstant

double m_MinimumVarianceDecayConstant;

variable m_Counter

int m_Counter;

variable m_AttributeScales

std::vector< double > m_AttributeScales;

variable m_DomainsPerShape

int m_DomainsPerShape;

variable m_AttributesPerDomain

std::vector< int > m_AttributesPerDomain;

variable m_CurrentEnergy

double m_CurrentEnergy;

variable m_UseMeanEnergy

bool m_UseMeanEnergy;

variable m_UseXYZ

std::vector< bool > m_UseXYZ;

variable m_UseNormals

std::vector< bool > m_UseNormals;

variable m_points_mean

std::shared_ptr< vnl_matrix_type > m_points_mean;

variable m_InverseCovMatrix

std::shared_ptr< Eigen::MatrixXd > m_InverseCovMatrix;

variable num_dims

int num_dims;

variable num_samples

int num_samples;

Updated on 2024-03-17 at 12:58:44 -0600