shapeworks::CorrespondenceFunction
Correspondence term.
#include <CorrespondenceFunction.h>
Inherits from shapeworks::VectorFunction
Public Types
| Name | |
|---|---|
| typedef shapeworks::ShapeMatrix | ShapeDataType |
| typedef shapeworks::ShapeGradientMatrix | ShapeGradientType |
| typedef ShapeDataType::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< CorrespondenceFunction > | New() Factory method for creating instances. |
| 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 | before_iteration() |
| virtual void | after_iteration() |
| 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 std::shared_ptr< VectorFunction > | clone() override |
| CorrespondenceFunction() | |
| ~CorrespondenceFunction() override =default |
Protected Functions
| Name | |
|---|---|
| CorrespondenceFunction(const CorrespondenceFunction & ) =delete | |
| CorrespondenceFunction & | operator=(const CorrespondenceFunction & ) =delete |
| virtual void | ComputeUpdates(const ParticleSystem * c) |
Public Attributes
| Name | |
|---|---|
| constexpr static int | VDimension |
| constexpr static unsigned int | Dimension |
Protected Attributes
| Name | |
|---|---|
| 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
| 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 ShapeDataType
typedef shapeworks::ShapeMatrix shapeworks::CorrespondenceFunction::ShapeDataType;
typedef ShapeGradientType
typedef shapeworks::ShapeGradientMatrix shapeworks::CorrespondenceFunction::ShapeGradientType;
typedef DataType
typedef ShapeDataType::DataType shapeworks::CorrespondenceFunction::DataType;
typedef VectorType
typedef VectorFunction::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 New
static inline std::shared_ptr< CorrespondenceFunction > New()
Factory method for creating instances.
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 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()
Reimplements: shapeworks::VectorFunction::after_iteration
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 std::shared_ptr< VectorFunction > clone() override
Reimplements: shapeworks::VectorFunction::clone
function CorrespondenceFunction
inline CorrespondenceFunction()
function ~CorrespondenceFunction
~CorrespondenceFunction() override =default
Protected Functions Documentation
function CorrespondenceFunction
CorrespondenceFunction(
const CorrespondenceFunction &
) =delete
function operator=
CorrespondenceFunction & operator=(
const CorrespondenceFunction &
) =delete
function ComputeUpdates
virtual void ComputeUpdates(
const ParticleSystem * c
)
Public Attributes Documentation
variable VDimension
static constexpr static int VDimension = 3;
variable Dimension
static constexpr static unsigned int Dimension = VDimension;
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 2025-12-17 at 23:05:25 +0000