Skip to content

shapeworks::LegacyCorrespondenceFunction

Inherits from shapeworks::VectorFunction

Public Types

Name
typedef LegacyShapeMatrix ShapeMatrixType
typedef ShapeMatrixType::DataType DataType
typedef VectorFunction::VectorType VectorType
typedef ParticleSystem::PointType PointType
typedef vnl_vector< DataType > vnl_vector_type
typedef vnl_matrix< DataType > vnl_matrix_type

Public Functions

Name
std::shared_ptr< LegacyCorrespondenceFunction > New()
Factory method for creating instances.
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
void WriteModes(const std::string & , int ) const
void SetShapeMatrix(ShapeMatrixType * s)
ShapeMatrixType * GetShapeMatrix()
const ShapeMatrixType * GetShapeMatrix() const
virtual void before_iteration()
virtual void after_iteration() override
void SetMinimumVariance(double d)
double GetMinimumVariance() const
void SetMinimumVarianceDecay(double initial_value, double final_value, double time_period)
bool GetMinimumVarianceDecayConstant() const
void PrintShapeMatrix()
void UseMeanenergy()
void UseEntropy()
bool GetHoldMinimumVariance() const
void SetHoldMinimumVariance(bool b)
void SetRecomputeCovarianceInterval(int i)
int GetRecomputeCovarianceInterval() const
virtual std::shared_ptr< VectorFunction > clone() override
LegacyCorrespondenceFunction()
~LegacyCorrespondenceFunction() override =default

Protected Functions

Name
LegacyCorrespondenceFunction(const LegacyCorrespondenceFunction & ) =delete
LegacyCorrespondenceFunction & operator=(const LegacyCorrespondenceFunction & ) =delete
virtual void ComputeCovarianceMatrix()

Public Attributes

Name
constexpr static unsigned int VDimension
constexpr static unsigned int Dimension

Protected Attributes

Name
ShapeMatrixType::Pointer m_ShapeMatrix
std::shared_ptr< vnl_matrix_type > m_PointsUpdate
double m_MinimumVariance
double m_MinimumEigenValue
double m_CurrentEnergy
bool m_HoldMinimumVariance
double m_MinimumVarianceDecayConstant
int m_RecomputeCovarianceInterval
int m_Counter
bool m_UseMeanEnergy
std::shared_ptr< vnl_matrix_type > m_points_mean
std::shared_ptr< Eigen::MatrixXd > m_InverseCovMatrix

Additional inherited members

Public Functions inherited from shapeworks::VectorFunction

Name
virtual void reset_buffers()
May be called by the solver class.
virtual void before_evaluate(unsigned int , unsigned int , const ParticleSystem * )
virtual void set_particle_system(ParticleSystem * p)
Some subclasses may require a pointer to the particle system and its domain number.
virtual ParticleSystem * get_particle_system() const
virtual void set_domain_number(unsigned int i)
virtual int get_domain_number() const
virtual double get_relative_energy_scaling() const
virtual void set_relative_energy_scaling(double r)
virtual ~VectorFunction() =default
Virtual destructor for proper cleanup of derived classes.

Protected Functions inherited from shapeworks::VectorFunction

Name
VectorFunction()
VectorFunction(const VectorFunction & ) =delete

Protected Attributes inherited from shapeworks::VectorFunction

Name
ParticleSystem * particle_system_
unsigned int domain_number_

Public Types Documentation

typedef ShapeMatrixType

typedef LegacyShapeMatrix shapeworks::LegacyCorrespondenceFunction::ShapeMatrixType;

typedef DataType

typedef ShapeMatrixType::DataType shapeworks::LegacyCorrespondenceFunction::DataType;

typedef VectorType

typedef VectorFunction::VectorType shapeworks::LegacyCorrespondenceFunction::VectorType;

Vector & Point types.

typedef PointType

typedef ParticleSystem::PointType shapeworks::LegacyCorrespondenceFunction::PointType;

typedef vnl_vector_type

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

typedef vnl_matrix_type

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

Public Functions Documentation

function New

static inline std::shared_ptr< LegacyCorrespondenceFunction > New()

Factory method for creating instances.

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 WriteModes

void WriteModes(
    const std::string & ,
    int 
) const

Write the first n modes to +- 3 std dev and the mean of the model described by the covariance matrix. The string argument is a prefix to the file names.

function SetShapeMatrix

inline void SetShapeMatrix(
    ShapeMatrixType * s
)

Access the shape matrix.

function GetShapeMatrix

inline ShapeMatrixType * GetShapeMatrix()

function GetShapeMatrix

inline const ShapeMatrixType * GetShapeMatrix() const

function before_iteration

inline virtual void before_iteration()

Reimplements: shapeworks::VectorFunction::before_iteration

Called before each iteration of a solver.

function after_iteration

inline virtual void after_iteration() override

Reimplements: shapeworks::VectorFunction::after_iteration

Called after each iteration of the solver.

function SetMinimumVariance

inline void SetMinimumVariance(
    double d
)

function GetMinimumVariance

inline double GetMinimumVariance() const

function SetMinimumVarianceDecay

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

function GetMinimumVarianceDecayConstant

inline bool GetMinimumVarianceDecayConstant() const

function PrintShapeMatrix

inline void PrintShapeMatrix()

function UseMeanenergy

inline void UseMeanenergy()

function UseEntropy

inline void UseEntropy()

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 clone

inline virtual std::shared_ptr< VectorFunction > clone() override

Reimplements: shapeworks::VectorFunction::clone

function LegacyCorrespondenceFunction

inline LegacyCorrespondenceFunction()

function ~LegacyCorrespondenceFunction

~LegacyCorrespondenceFunction() override =default

Protected Functions Documentation

function LegacyCorrespondenceFunction

LegacyCorrespondenceFunction(
    const LegacyCorrespondenceFunction & 
) =delete

function operator=

LegacyCorrespondenceFunction & operator=(
    const LegacyCorrespondenceFunction & 
) =delete

function ComputeCovarianceMatrix

virtual void ComputeCovarianceMatrix()

Public Attributes Documentation

variable VDimension

static constexpr static unsigned int VDimension = 3;

variable Dimension

static constexpr static unsigned int Dimension = VDimension;

Protected Attributes Documentation

variable m_ShapeMatrix

ShapeMatrixType::Pointer m_ShapeMatrix;

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_CurrentEnergy

double m_CurrentEnergy;

variable m_HoldMinimumVariance

bool m_HoldMinimumVariance;

variable m_MinimumVarianceDecayConstant

double m_MinimumVarianceDecayConstant;

variable m_RecomputeCovarianceInterval

int m_RecomputeCovarianceInterval;

variable m_Counter

int m_Counter;

variable m_UseMeanEnergy

bool m_UseMeanEnergy;

variable m_points_mean

std::shared_ptr< vnl_matrix_type > m_points_mean;

variable m_InverseCovMatrix

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

Updated on 2025-12-17 at 23:05:25 +0000