Skip to content

shapeworks::DisentangledCorrespondenceFunction

More...

#include <DisentangledCorrespondenceFunction.h>

Inherits from shapeworks::VectorFunction, itk::LightObject

Public Types

Name
typedef DisentangledCorrespondenceFunction Self
typedef itk::SmartPointer< Self > Pointer
typedef itk::SmartPointer< const Self > ConstPointer
typedef VectorFunction Superclass
typedef LegacyShapeMatrix ShapeMatrixType
typedef ShapeMatrixType::DataType DataType
typedef Superclass::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
itkTypeMacro(DisentangledCorrespondenceFunction , VectorFunction )
itkNewMacro(Self )
itkStaticConstMacro(Dimension , unsigned int , VDimension )
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 BeforeIteration()
virtual void AfterIteration()
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 VectorFunction::Pointer Clone()

Protected Functions

Name
DisentangledCorrespondenceFunction()
virtual ~DisentangledCorrespondenceFunction()
void operator=(const DisentangledCorrespondenceFunction & )
DisentangledCorrespondenceFunction(const DisentangledCorrespondenceFunction & )
virtual void ComputeCovarianceMatrices()
void Initialize()

Public Attributes

Name
constexpr static unsigned int VDimension

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 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

Name
VectorFunction()
virtual ~VectorFunction()
VectorFunction(const VectorFunction & )

Protected Attributes inherited from shapeworks::VectorFunction

Name
ParticleSystem * m_ParticleSystem
unsigned int m_DomainNumber

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 Self

typedef DisentangledCorrespondenceFunction shapeworks::DisentangledCorrespondenceFunction::Self;

Standard class typedefs.

typedef Pointer

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

typedef ConstPointer

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

typedef Superclass

typedef VectorFunction shapeworks::DisentangledCorrespondenceFunction::Superclass;

typedef ShapeMatrixType

typedef LegacyShapeMatrix shapeworks::DisentangledCorrespondenceFunction::ShapeMatrixType;

typedef DataType

typedef ShapeMatrixType::DataType shapeworks::DisentangledCorrespondenceFunction::DataType;

typedef VectorType

typedef Superclass::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 itkTypeMacro

itkTypeMacro(
    DisentangledCorrespondenceFunction ,
    VectorFunction 
)

function itkNewMacro

itkNewMacro(
    Self 
)

Method for creation through the object factory.

function itkStaticConstMacro

itkStaticConstMacro(
    Dimension ,
    unsigned int ,
    VDimension 
)

Dimensionality of the domain of the particle system.

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 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 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 VectorFunction::Pointer Clone()

Reimplements: shapeworks::VectorFunction::Clone

Protected Functions Documentation

function DisentangledCorrespondenceFunction

inline DisentangledCorrespondenceFunction()

function ~DisentangledCorrespondenceFunction

inline virtual ~DisentangledCorrespondenceFunction()

function operator=

void operator=(
    const DisentangledCorrespondenceFunction & 
)

function DisentangledCorrespondenceFunction

DisentangledCorrespondenceFunction(
    const DisentangledCorrespondenceFunction & 
)

function ComputeCovarianceMatrices

virtual void ComputeCovarianceMatrices()

function Initialize

inline void Initialize()

Public Attributes Documentation

variable VDimension

static constexpr static unsigned int VDimension = 3;

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 2024-03-17 at 12:58:44 -0600