itk::ParticleVectorFunction
#include <itkParticleVectorFunction.h>
Inherits from LightObject
Inherited by itk::ParticleDualVectorFunction< VDimension >, itk::ParticleEnsembleEntropyFunction< VDimension >, itk::ParticleEntropyGradientFunction< TGradientNumericType, VDimension >, itk::ParticleMeshBasedGeneralEntropyGradientFunction< VDimension >, itk::ParticleDualVectorFunction< Dimension >, itk::ParticleEnsembleEntropyFunction< Dimension >, itk::ParticleEntropyGradientFunction< ImageType::PixelType, Dimension >, itk::ParticleEntropyGradientFunction< ImageType::PixelType, VDimension >, itk::ParticleMeshBasedGeneralEntropyGradientFunction< Dimension >
Public Types
Name | |
---|---|
typedef ParticleVectorFunction | Self |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef LightObject | Superclass |
typedef ParticleSystem | ParticleSystemType |
typedef vnl_vector_fixed< double, VDimension > | VectorType |
Public Functions
Name | |
---|---|
itkTypeMacro(ParticleVectorFunction , LightObject ) | |
itkStaticConstMacro(Dimension , unsigned int , VDimension ) | |
virtual VectorType | Evaluate(unsigned int , unsigned int , const ParticleSystemType * , double & maxtimestep) const =0 |
virtual VectorType | Evaluate(unsigned int , unsigned int , const ParticleSystemType * , double & maxtimestep, double & energy) const =0 |
virtual double | Energy(unsigned int , unsigned int , const ParticleSystemType * ) const =0 |
virtual void | ResetBuffers() |
virtual void | AfterIteration() |
virtual void | BeforeIteration() |
virtual void | BeforeEvaluate(unsigned int , unsigned int , const ParticleSystemType * ) |
virtual void | SetParticleSystem(ParticleSystemType * p) |
virtual ParticleSystemType * | GetParticleSystem() const |
virtual void | SetDomainNumber(unsigned int i) |
virtual int | GetDomainNumber() const |
virtual ParticleVectorFunction< VDimension >::Pointer | Clone() |
Protected Functions
Name | |
---|---|
ParticleVectorFunction() | |
virtual | ~ParticleVectorFunction() |
void | operator=(const ParticleVectorFunction & ) |
ParticleVectorFunction(const ParticleVectorFunction & ) |
Protected Attributes
Name | |
---|---|
ParticleSystemType * | m_ParticleSystem |
unsigned int | m_DomainNumber |
Detailed Description
template <unsigned int VDimension>
class itk::ParticleVectorFunction;
This is the base class defining the API for a function that takes a particle system, domain, and location index as arguments and returns a vector-valued result.
Public Types Documentation
typedef Self
typedef ParticleVectorFunction itk::ParticleVectorFunction< VDimension >::Self;
Standard class typedefs.
typedef Pointer
typedef SmartPointer<Self> itk::ParticleVectorFunction< VDimension >::Pointer;
typedef ConstPointer
typedef SmartPointer<const Self> itk::ParticleVectorFunction< VDimension >::ConstPointer;
typedef Superclass
typedef LightObject itk::ParticleVectorFunction< VDimension >::Superclass;
typedef ParticleSystemType
typedef ParticleSystem itk::ParticleVectorFunction< VDimension >::ParticleSystemType;
Type of particle system.
typedef VectorType
typedef vnl_vector_fixed<double, VDimension> itk::ParticleVectorFunction< VDimension >::VectorType;
Type of vectors.
Public Functions Documentation
function itkTypeMacro
itkTypeMacro(
ParticleVectorFunction ,
LightObject
)
function itkStaticConstMacro
itkStaticConstMacro(
Dimension ,
unsigned int ,
VDimension
)
Method for object allocation through the factory. Dimensionality of the domain of the particle system.
function Evaluate
virtual VectorType Evaluate(
unsigned int ,
unsigned int ,
const ParticleSystemType * ,
double & maxtimestep
) const =0
Reimplemented by: itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::Evaluate, itk::ParticleCurvatureEntropyGradientFunction::Evaluate, itk::ParticleCurvatureEntropyGradientFunction::Evaluate, itk::ParticleEnsembleEntropyFunction::Evaluate, itk::ParticleEnsembleEntropyFunction::Evaluate, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Evaluate, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Evaluate, itk::ParticleModifiedCotangentEntropyGradientFunction::Evaluate, itk::ParticleModifiedCotangentEntropyGradientFunction::Evaluate, itk::ParticleOmegaGradientFunction::Evaluate, itk::ParticleOmegaGradientFunction::Evaluate, itk::ParticleDualVectorFunction::Evaluate, itk::ParticleDualVectorFunction::Evaluate, itk::ParticleEntropyGradientFunction::Evaluate, itk::ParticleEntropyGradientFunction::Evaluate, 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 & maxtimestep,
double & energy
) const =0
Reimplemented by: itk::ParticleDualVectorFunction::Evaluate, itk::ParticleDualVectorFunction::Evaluate, itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::Evaluate, itk::ParticleCurvatureEntropyGradientFunction::Evaluate, itk::ParticleCurvatureEntropyGradientFunction::Evaluate, itk::ParticleEnsembleEntropyFunction::Evaluate, itk::ParticleEnsembleEntropyFunction::Evaluate, itk::ParticleEntropyGradientFunction::Evaluate, itk::ParticleEntropyGradientFunction::Evaluate, itk::ParticleEntropyGradientFunction::Evaluate, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Evaluate, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Evaluate, itk::ParticleModifiedCotangentEntropyGradientFunction::Evaluate, itk::ParticleModifiedCotangentEntropyGradientFunction::Evaluate, itk::ParticleOmegaGradientFunction::Evaluate, itk::ParticleOmegaGradientFunction::Evaluate
function Energy
virtual double Energy(
unsigned int ,
unsigned int ,
const ParticleSystemType *
) const =0
Reimplemented by: itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::Energy, itk::ParticleCurvatureEntropyGradientFunction::Energy, itk::ParticleCurvatureEntropyGradientFunction::Energy, itk::ParticleEnsembleEntropyFunction::Energy, itk::ParticleEnsembleEntropyFunction::Energy, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Energy, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Energy, itk::ParticleModifiedCotangentEntropyGradientFunction::Energy, itk::ParticleModifiedCotangentEntropyGradientFunction::Energy, itk::ParticleOmegaGradientFunction::Energy, itk::ParticleOmegaGradientFunction::Energy, itk::ParticleDualVectorFunction::Energy, itk::ParticleDualVectorFunction::Energy, itk::ParticleEntropyGradientFunction::Energy, itk::ParticleEntropyGradientFunction::Energy, itk::ParticleEntropyGradientFunction::Energy
function ResetBuffers
inline virtual void ResetBuffers()
Reimplemented by: itk::ParticleEntropyGradientFunction::ResetBuffers, itk::ParticleEntropyGradientFunction::ResetBuffers, itk::ParticleEntropyGradientFunction::ResetBuffers
May be called by the solver class.
function AfterIteration
inline virtual void AfterIteration()
Reimplemented by: itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::AfterIteration, itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::AfterIteration, itk::ParticleCurvatureEntropyGradientFunction::AfterIteration, itk::ParticleCurvatureEntropyGradientFunction::AfterIteration, itk::ParticleCurvatureEntropyGradientFunction::AfterIteration, itk::ParticleCurvatureEntropyGradientFunction::AfterIteration, itk::ParticleDualVectorFunction::AfterIteration, itk::ParticleDualVectorFunction::AfterIteration, itk::ParticleEnsembleEntropyFunction::AfterIteration, itk::ParticleEnsembleEntropyFunction::AfterIteration, itk::ParticleMeshBasedGeneralEntropyGradientFunction::AfterIteration, itk::ParticleMeshBasedGeneralEntropyGradientFunction::AfterIteration, itk::ParticleModifiedCotangentEntropyGradientFunction::AfterIteration, itk::ParticleModifiedCotangentEntropyGradientFunction::AfterIteration, itk::ParticleOmegaGradientFunction::AfterIteration, itk::ParticleOmegaGradientFunction::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()
Reimplemented by: itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::BeforeIteration, itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::BeforeIteration, itk::ParticleCurvatureEntropyGradientFunction::BeforeIteration, itk::ParticleCurvatureEntropyGradientFunction::BeforeIteration, itk::ParticleCurvatureEntropyGradientFunction::BeforeIteration, itk::ParticleCurvatureEntropyGradientFunction::BeforeIteration, itk::ParticleDualVectorFunction::BeforeIteration, itk::ParticleDualVectorFunction::BeforeIteration, itk::ParticleEnsembleEntropyFunction::BeforeIteration, itk::ParticleEnsembleEntropyFunction::BeforeIteration, itk::ParticleMeshBasedGeneralEntropyGradientFunction::BeforeIteration, itk::ParticleMeshBasedGeneralEntropyGradientFunction::BeforeIteration, itk::ParticleModifiedCotangentEntropyGradientFunction::BeforeIteration, itk::ParticleModifiedCotangentEntropyGradientFunction::BeforeIteration, itk::ParticleOmegaGradientFunction::BeforeIteration, itk::ParticleOmegaGradientFunction::BeforeIteration
This method is called by a solver before each iteration. Subclasses may or may not implement this method.
function BeforeEvaluate
inline virtual void BeforeEvaluate(
unsigned int ,
unsigned int ,
const ParticleSystemType *
)
Reimplemented by: itk::ParticleDualVectorFunction::BeforeEvaluate, itk::ParticleDualVectorFunction::BeforeEvaluate, itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::BeforeEvaluate, itk::ParticleCurvatureEntropyGradientFunction::BeforeEvaluate, itk::ParticleCurvatureEntropyGradientFunction::BeforeEvaluate, itk::ParticleModifiedCotangentEntropyGradientFunction::BeforeEvaluate, itk::ParticleModifiedCotangentEntropyGradientFunction::BeforeEvaluate, itk::ParticleOmegaGradientFunction::BeforeEvaluate, itk::ParticleOmegaGradientFunction::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 SetParticleSystem
inline virtual void SetParticleSystem(
ParticleSystemType * p
)
Reimplemented by: itk::ParticleDualVectorFunction::SetParticleSystem, itk::ParticleDualVectorFunction::SetParticleSystem
Some subclasses may require a pointer to the particle system and its domain number. These methods set/get those values.
function GetParticleSystem
inline virtual ParticleSystemType * GetParticleSystem() const
function SetDomainNumber
inline virtual void SetDomainNumber(
unsigned int i
)
Reimplemented by: itk::ParticleDualVectorFunction::SetDomainNumber, itk::ParticleDualVectorFunction::SetDomainNumber
function GetDomainNumber
inline virtual int GetDomainNumber() const
function Clone
inline virtual ParticleVectorFunction< VDimension >::Pointer Clone()
Reimplemented by: itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::Clone, itk::ParticleConstrainedModifiedCotangentEntropyGradientFunction::Clone, itk::ParticleCurvatureEntropyGradientFunction::Clone, itk::ParticleCurvatureEntropyGradientFunction::Clone, itk::ParticleDualVectorFunction::Clone, itk::ParticleDualVectorFunction::Clone, itk::ParticleEnsembleEntropyFunction::Clone, itk::ParticleEnsembleEntropyFunction::Clone, itk::ParticleEntropyGradientFunction::Clone, itk::ParticleEntropyGradientFunction::Clone, itk::ParticleEntropyGradientFunction::Clone, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Clone, itk::ParticleMeshBasedGeneralEntropyGradientFunction::Clone, itk::ParticleModifiedCotangentEntropyGradientFunction::Clone, itk::ParticleModifiedCotangentEntropyGradientFunction::Clone, itk::ParticleOmegaGradientFunction::Clone, itk::ParticleOmegaGradientFunction::Clone
Protected Functions Documentation
function ParticleVectorFunction
inline ParticleVectorFunction()
function ~ParticleVectorFunction
inline virtual ~ParticleVectorFunction()
function operator=
void operator=(
const ParticleVectorFunction &
)
function ParticleVectorFunction
ParticleVectorFunction(
const ParticleVectorFunction &
)
Protected Attributes Documentation
variable m_ParticleSystem
ParticleSystemType * m_ParticleSystem;
variable m_DomainNumber
unsigned int m_DomainNumber;
Updated on 2022-07-23 at 16:40:06 -0600