shapeworks::DisentangledCorrespondenceFunction
#include <DisentangledCorrespondenceFunction.h>
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 |
| typedef std::shared_ptr< std::vector< vnl_matrix_type > > | shared_vnl_matrix_array_type |
Public Functions
| Name | |
|---|---|
| std::shared_ptr< DisentangledCorrespondenceFunction > | 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 |
| DisentangledCorrespondenceFunction() | |
| ~DisentangledCorrespondenceFunction() override =default |
Protected Functions
| Name | |
|---|---|
| DisentangledCorrespondenceFunction(const DisentangledCorrespondenceFunction & ) =delete | |
| DisentangledCorrespondenceFunction & | operator=(const DisentangledCorrespondenceFunction & ) =delete |
| virtual void | ComputeCovarianceMatrices() |
| void | Initialize() |
Public Attributes
| Name | |
|---|---|
| constexpr static unsigned int | VDimension |
| constexpr static unsigned int | Dimension |
Protected Attributes
| Name | |
|---|---|
| ShapeMatrixType::Pointer | m_ShapeMatrix |
| double | m_MinimumVariance |
| double | m_MinimumEigenValue |
| std::vector< double > | m_MinimumEigenValue_time_cohort |
| std::vector< double > | m_MinimumEigenValue_shape_cohort |
| double | m_CurrentEnergy |
| bool | m_HoldMinimumVariance |
| double | m_MinimumVarianceDecayConstant |
| int | m_RecomputeCovarianceInterval |
| int | m_Counter |
| bool | m_UseMeanEnergy |
| std::shared_ptr< std::vector< Eigen::MatrixXd > > | m_InverseCovMatrices_time_cohort |
| std::shared_ptr< std::vector< Eigen::MatrixXd > > | m_InverseCovMatrices_shape_cohort |
| shared_vnl_matrix_array_type | m_points_mean_time_cohort |
| shared_vnl_matrix_array_type | m_points_mean_shape_cohort |
| shared_vnl_matrix_array_type | m_Time_PointsUpdate |
| shared_vnl_matrix_array_type | m_Shape_PointsUpdate |
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_ |
Detailed Description
class shapeworks::DisentangledCorrespondenceFunction;
This class implements the Correspondence Term where the entropy computation is disentangled across time and shape domain, and builds a Sapatiotemporal SSM.
Public Types Documentation
typedef ShapeMatrixType
typedef LegacyShapeMatrix shapeworks::DisentangledCorrespondenceFunction::ShapeMatrixType;
typedef DataType
typedef ShapeMatrixType::DataType shapeworks::DisentangledCorrespondenceFunction::DataType;
typedef VectorType
typedef VectorFunction::VectorType shapeworks::DisentangledCorrespondenceFunction::VectorType;
Vector & Point types.
typedef PointType
typedef ParticleSystem::PointType shapeworks::DisentangledCorrespondenceFunction::PointType;
typedef vnl_vector_type
typedef vnl_vector<DataType> shapeworks::DisentangledCorrespondenceFunction::vnl_vector_type;
typedef vnl_matrix_type
typedef vnl_matrix<DataType> shapeworks::DisentangledCorrespondenceFunction::vnl_matrix_type;
typedef shared_vnl_matrix_array_type
typedef std::shared_ptr<std::vector<vnl_matrix_type> > shapeworks::DisentangledCorrespondenceFunction::shared_vnl_matrix_array_type;
Public Functions Documentation
function New
static inline std::shared_ptr< DisentangledCorrespondenceFunction > 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 DisentangledCorrespondenceFunction
inline DisentangledCorrespondenceFunction()
function ~DisentangledCorrespondenceFunction
~DisentangledCorrespondenceFunction() override =default
Protected Functions Documentation
function DisentangledCorrespondenceFunction
DisentangledCorrespondenceFunction(
const DisentangledCorrespondenceFunction &
) =delete
function operator=
DisentangledCorrespondenceFunction & operator=(
const DisentangledCorrespondenceFunction &
) =delete
function ComputeCovarianceMatrices
virtual void ComputeCovarianceMatrices()
function Initialize
inline void Initialize()
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_MinimumVariance
double m_MinimumVariance;
variable m_MinimumEigenValue
double m_MinimumEigenValue;
variable m_MinimumEigenValue_time_cohort
std::vector< double > m_MinimumEigenValue_time_cohort;
variable m_MinimumEigenValue_shape_cohort
std::vector< double > m_MinimumEigenValue_shape_cohort;
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_InverseCovMatrices_time_cohort
std::shared_ptr< std::vector< Eigen::MatrixXd > > m_InverseCovMatrices_time_cohort;
variable m_InverseCovMatrices_shape_cohort
std::shared_ptr< std::vector< Eigen::MatrixXd > > m_InverseCovMatrices_shape_cohort;
variable m_points_mean_time_cohort
shared_vnl_matrix_array_type m_points_mean_time_cohort;
variable m_points_mean_shape_cohort
shared_vnl_matrix_array_type m_points_mean_shape_cohort;
variable m_Time_PointsUpdate
shared_vnl_matrix_array_type m_Time_PointsUpdate;
variable m_Shape_PointsUpdate
shared_vnl_matrix_array_type m_Shape_PointsUpdate;
Updated on 2025-12-17 at 23:05:25 +0000