itk::ParticleModifiedCotangentEntropyGradientFunction
#include <itkParticleModifiedCotangentEntropyGradientFunction.h>
Inherits from itk::ParticleEntropyGradientFunction< TGradientNumericType, VDimension >, itk::ParticleVectorFunction< VDimension >, LightObject
Public Types
Name | |
---|---|
typedef ParticleModifiedCotangentEntropyGradientFunction | Self |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef ParticleEntropyGradientFunction< TGradientNumericType, VDimension > | Superclass |
typedef Superclass::GradientNumericType | GradientNumericType |
typedef Superclass::ParticleSystemType | ParticleSystemType |
typedef Superclass::VectorType | VectorType |
typedef Superclass::PointType | PointType |
typedef Superclass::GradientVectorType | GradientVectorType |
typedef shapeworks::ParticleImageDomainWithCurvature< TGradientNumericType >::VnlMatrixType | VnlMatrixType |
Public Functions
Name | |
---|---|
itkTypeMacro(ParticleModifiedCotangentEntropyGradientFunction , ParticleEntropyGradientFunction ) | |
itkNewMacro(Self ) | |
itkStaticConstMacro(Dimension , unsigned int , VDimension ) | |
virtual VectorType | Evaluate(unsigned int a, unsigned int b, const ParticleSystemType * c, double & d) const |
virtual VectorType | Evaluate(unsigned int , unsigned int , const ParticleSystemType * , double & , double & ) const |
virtual void | BeforeEvaluate(unsigned int , unsigned int , const ParticleSystemType * ) |
virtual double | Energy(unsigned int a, unsigned int b, const ParticleSystemType * c) const |
virtual void | AfterIteration() |
virtual void | BeforeIteration() |
double | ComputeModifiedCotangent(double rij, unsigned int d) const |
double | ComputeModifiedCotangentDerivative(double rij, unsigned int d) const |
void | ClearGlobalSigma() |
void | SetGlobalSigma(std::vector< double > i) |
void | SetGlobalSigma(double i) |
virtual ParticleVectorFunction< VDimension >::Pointer | Clone() |
Protected Functions
Protected Attributes
Name | |
---|---|
std::vector< double > | m_GlobalSigma |
Additional inherited members
Public Types inherited from itk::ParticleEntropyGradientFunction< TGradientNumericType, VDimension >
Name | |
---|---|
typedef ParticleContainerArrayAttribute< double, VDimension > | SigmaCacheType |
Public Functions inherited from itk::ParticleEntropyGradientFunction< TGradientNumericType, VDimension >
Name | |
---|---|
virtual void | ResetBuffers() |
virtual double | EstimateSigma(unsigned int idx, const typename ParticleSystemType::PointVectorType & neighborhood, const shapeworks::ParticleDomain * domain, const std::vector< double > & weights, const PointType & pos, double initial_sigma, double precision, int & err) const |
TGradientNumericType | AngleCoefficient(const GradientVectorType & , const GradientVectorType & ) const |
void | SetMinimumNeighborhoodRadius(double s) |
double | GetMinimumNeighborhoodRadius() const |
void | SetMaximumNeighborhoodRadius(double s) |
double | GetMaximumNeighborhoodRadius() const |
void | SetFlatCutoff(double s) |
double | GetFlatCutoff() const |
void | SetNeighborhoodToSigmaRatio(double s) |
double | GetNeighborhoodToSigmaRatio() const |
void | SetSpatialSigmaCache(SigmaCacheType * s) |
SigmaCacheType * | GetSpatialSigmaCache() |
const SigmaCacheType * | GetSpatialSigmaCache() const |
void | ComputeAngularWeights(const PointType & , int , const typename ParticleSystemType::PointVectorType & , const shapeworks::ParticleDomain * , std::vector< double > & ) const |
Protected Functions inherited from itk::ParticleEntropyGradientFunction< TGradientNumericType, VDimension >
Name | |
---|---|
ParticleEntropyGradientFunction() | |
virtual | ~ParticleEntropyGradientFunction() |
ParticleEntropyGradientFunction(const ParticleEntropyGradientFunction & ) |
Protected Attributes inherited from itk::ParticleEntropyGradientFunction< TGradientNumericType, VDimension >
Name | |
---|---|
double | m_MinimumNeighborhoodRadius |
double | m_MaximumNeighborhoodRadius |
double | m_FlatCutoff |
double | m_NeighborhoodToSigmaRatio |
SigmaCacheType::Pointer | m_SpatialSigmaCache |
Public Functions inherited from itk::ParticleVectorFunction< VDimension >
Name | |
---|---|
virtual void | ResetBuffers() |
virtual void | SetParticleSystem(ParticleSystemType * p) |
virtual ParticleSystemType * | GetParticleSystem() const |
virtual void | SetDomainNumber(unsigned int i) |
virtual int | GetDomainNumber() const |
Protected Functions inherited from itk::ParticleVectorFunction< VDimension >
Name | |
---|---|
ParticleVectorFunction() | |
virtual | ~ParticleVectorFunction() |
ParticleVectorFunction(const ParticleVectorFunction & ) |
Protected Attributes inherited from itk::ParticleVectorFunction< VDimension >
Name | |
---|---|
ParticleSystemType * | m_ParticleSystem |
unsigned int | m_DomainNumber |
Detailed Description
template <class TGradientNumericType ,
unsigned int VDimension>
class itk::ParticleModifiedCotangentEntropyGradientFunction;
This function returns an estimate of the gradient of the entropy of a particle distribution with respect to change in position of a specific particle in that distribution. The change in normals associated with the position is also taken into account, providing an adaptive sampling of the surface with respect to both position and extrinsic surface curvature.
This function depend on modified cotangent potential as defined in Meyer's thesis rather than Gaussian potential (Cates's thesis).
Modified potential only depend on a global sigma based on target number of particles in the domain
Public Types Documentation
typedef Self
typedef ParticleModifiedCotangentEntropyGradientFunction itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::Self;
Standard class typedefs.
typedef Pointer
typedef SmartPointer<Self> itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::Pointer;
typedef ConstPointer
typedef SmartPointer<const Self> itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::ConstPointer;
typedef Superclass
typedef ParticleEntropyGradientFunction<TGradientNumericType, VDimension> itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::Superclass;
typedef GradientNumericType
typedef Superclass::GradientNumericType itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::GradientNumericType;
Inherit some parent typedefs.
typedef ParticleSystemType
typedef Superclass::ParticleSystemType itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::ParticleSystemType;
typedef VectorType
typedef Superclass::VectorType itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::VectorType;
typedef PointType
typedef Superclass::PointType itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::PointType;
typedef GradientVectorType
typedef Superclass::GradientVectorType itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::GradientVectorType;
typedef VnlMatrixType
typedef shapeworks::ParticleImageDomainWithCurvature<TGradientNumericType>::VnlMatrixType itk::ParticleModifiedCotangentEntropyGradientFunction< TGradientNumericType, VDimension >::VnlMatrixType;
Public Functions Documentation
function itkTypeMacro
itkTypeMacro(
ParticleModifiedCotangentEntropyGradientFunction ,
ParticleEntropyGradientFunction
)
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
inline virtual VectorType Evaluate(
unsigned int a,
unsigned int b,
const ParticleSystemType * c,
double & d
) const
Reimplements: itk::ParticleEntropyGradientFunction::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
virtual VectorType Evaluate(
unsigned int ,
unsigned int ,
const ParticleSystemType * ,
double & ,
double &
) const
Reimplements: itk::ParticleEntropyGradientFunction::Evaluate
function BeforeEvaluate
inline virtual void BeforeEvaluate(
unsigned int ,
unsigned int ,
const ParticleSystemType *
)
Reimplements: itk::ParticleVectorFunction::BeforeEvaluate
This method may be called to set up the state of the function object before a call to Evaluate. It is necessary in order to initialize certain constants and variables that may be used for calculating the Energy as well as the Gradients. Typically this is only necessary for the adaptive gradient descent algorithm.
function Energy
inline virtual double Energy(
unsigned int a,
unsigned int b,
const ParticleSystemType * c
) const
Reimplements: itk::ParticleEntropyGradientFunction::Energy
function AfterIteration
inline virtual void AfterIteration()
Reimplements: itk::ParticleVectorFunction::AfterIteration
This method is called by a solver after each iteration. Subclasses may or may not implement this method.
function BeforeIteration
inline virtual void BeforeIteration()
Reimplements: itk::ParticleVectorFunction::BeforeIteration
This method is called by a solver before each iteration. Subclasses may or may not implement this method.
function ComputeModifiedCotangent
inline double ComputeModifiedCotangent(
double rij,
unsigned int d
) const
function ComputeModifiedCotangentDerivative
inline double ComputeModifiedCotangentDerivative(
double rij,
unsigned int d
) const
function ClearGlobalSigma
inline void ClearGlobalSigma()
function SetGlobalSigma
inline void SetGlobalSigma(
std::vector< double > i
)
function SetGlobalSigma
inline void SetGlobalSigma(
double i
)
function Clone
inline virtual ParticleVectorFunction< VDimension >::Pointer Clone()
Reimplements: itk::ParticleEntropyGradientFunction::Clone
Protected Functions Documentation
function ParticleModifiedCotangentEntropyGradientFunction
inline ParticleModifiedCotangentEntropyGradientFunction()
function ~ParticleModifiedCotangentEntropyGradientFunction
inline virtual ~ParticleModifiedCotangentEntropyGradientFunction()
function operator=
void operator=(
const ParticleModifiedCotangentEntropyGradientFunction &
)
function ParticleModifiedCotangentEntropyGradientFunction
ParticleModifiedCotangentEntropyGradientFunction(
const ParticleModifiedCotangentEntropyGradientFunction &
)
Protected Attributes Documentation
variable m_GlobalSigma
std::vector< double > m_GlobalSigma;
Updated on 2022-07-23 at 16:40:05 -0600