itk::ParticleDualVectorFunction
#include <itkParticleDualVectorFunction.h>
Inherits from itk::ParticleVectorFunction< VDimension >, LightObject
Public Types
Name | |
---|---|
typedef ParticleDualVectorFunction | Self |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef ParticleVectorFunction< VDimension > | Superclass |
typedef Superclass::ParticleSystemType | ParticleSystemType |
typedef Superclass::VectorType | VectorType |
Public Functions
Name | |
---|---|
itkTypeMacro(ParticleDualVectorFunction , ParticleVectorFunction ) | |
itkNewMacro(Self ) | |
itkStaticConstMacro(Dimension , unsigned int , VDimension ) | |
virtual VectorType | Evaluate(unsigned int idx, unsigned int d, const ParticleSystemType * system, double & maxmove) const |
virtual double | EnergyA(unsigned int idx, unsigned int d, const ParticleSystemType * system) const |
virtual double | EnergyB(unsigned int idx, unsigned int d, const ParticleSystemType * system) const |
virtual double | Energy(unsigned int idx, unsigned int d, const ParticleSystemType * system) const |
virtual VectorType | Evaluate(unsigned int idx, unsigned int d, const ParticleSystemType * system, double & maxmove, double & energy) const |
virtual void | BeforeEvaluate(unsigned int , unsigned int , const ParticleSystemType * ) |
virtual void | AfterIteration() |
virtual void | BeforeIteration() |
virtual void | SetParticleSystem(ParticleSystemType * p) |
virtual void | SetDomainNumber(unsigned int i) |
void | SetFunctionA(ParticleVectorFunction< VDimension > * o) |
ParticleVectorFunction< VDimension > * | GetFunctionA() |
ParticleVectorFunction< VDimension > * | GetFunctionB() |
void | SetFunctionB(ParticleVectorFunction< VDimension > * o) |
void | SetAOn() |
void | SetAOff() |
void | SetAOn(bool s) |
bool | GetAOn() const |
void | SetBOn() |
void | SetBOff() |
void | SetBOn(bool s) |
bool | GetBOn() const |
void | SetRelativeEnergyScaling(double r) |
double | GetRelativeEnergyScaling() const |
void | SetRelativeGradientScaling(double r) |
double | GetRelativeGradientScaling() const |
double | GetAverageGradMagA() const |
double | GetAverageGradMagB() const |
double | GetAverageEnergyA() const |
double | GetAverageEnergyB() const |
virtual ParticleVectorFunction< VDimension >::Pointer | Clone() |
Protected Functions
Name | |
---|---|
ParticleDualVectorFunction() | |
virtual | ~ParticleDualVectorFunction() |
void | operator=(const ParticleDualVectorFunction & ) |
ParticleDualVectorFunction(const ParticleDualVectorFunction & ) |
Protected Attributes
Name | |
---|---|
bool | m_AOn |
bool | m_BOn |
double | m_RelativeGradientScaling |
double | m_RelativeEnergyScaling |
double | m_AverageGradMagA |
double | m_AverageGradMagB |
double | m_AverageEnergyA |
double | m_AverageEnergyB |
double | m_Counter |
ParticleVectorFunction< VDimension >::Pointer | m_FunctionA |
ParticleVectorFunction< VDimension >::Pointer | m_FunctionB |
Additional inherited members
Public Functions inherited from itk::ParticleVectorFunction< VDimension >
Name | |
---|---|
virtual void | ResetBuffers() |
virtual ParticleSystemType * | GetParticleSystem() const |
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 <unsigned int VDimension>
class itk::ParticleDualVectorFunction;
This class combines the results of evaluating 2 ParticleVector functions and presents the interface of a single function evaluation. Optionally, only the first function can be used by calling SetLinkOff().
Public Types Documentation
typedef Self
typedef ParticleDualVectorFunction itk::ParticleDualVectorFunction< VDimension >::Self;
Standard class typedefs.
typedef Pointer
typedef SmartPointer<Self> itk::ParticleDualVectorFunction< VDimension >::Pointer;
typedef ConstPointer
typedef SmartPointer<const Self> itk::ParticleDualVectorFunction< VDimension >::ConstPointer;
typedef Superclass
typedef ParticleVectorFunction<VDimension> itk::ParticleDualVectorFunction< VDimension >::Superclass;
typedef ParticleSystemType
typedef Superclass::ParticleSystemType itk::ParticleDualVectorFunction< VDimension >::ParticleSystemType;
Type of particle system.
typedef VectorType
typedef Superclass::VectorType itk::ParticleDualVectorFunction< VDimension >::VectorType;
Vector type.
Public Functions Documentation
function itkTypeMacro
itkTypeMacro(
ParticleDualVectorFunction ,
ParticleVectorFunction
)
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 idx,
unsigned int d,
const ParticleSystemType * system,
double & maxmove
) const
Reimplements: itk::ParticleVectorFunction::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 EnergyA
inline virtual double EnergyA(
unsigned int idx,
unsigned int d,
const ParticleSystemType * system
) const
function EnergyB
inline virtual double EnergyB(
unsigned int idx,
unsigned int d,
const ParticleSystemType * system
) const
function Energy
inline virtual double Energy(
unsigned int idx,
unsigned int d,
const ParticleSystemType * system
) const
Reimplements: itk::ParticleVectorFunction::Energy
function Evaluate
inline virtual VectorType Evaluate(
unsigned int idx,
unsigned int d,
const ParticleSystemType * system,
double & maxmove,
double & energy
) const
Reimplements: itk::ParticleVectorFunction::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 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 SetParticleSystem
inline virtual void SetParticleSystem(
ParticleSystemType * p
)
Reimplements: itk::ParticleVectorFunction::SetParticleSystem
Some subclasses may require a pointer to the particle system and its domain number. These methods set/get those values.
function SetDomainNumber
inline virtual void SetDomainNumber(
unsigned int i
)
Reimplements: itk::ParticleVectorFunction::SetDomainNumber
function SetFunctionA
inline void SetFunctionA(
ParticleVectorFunction< VDimension > * o
)
function GetFunctionA
inline ParticleVectorFunction< VDimension > * GetFunctionA()
function GetFunctionB
inline ParticleVectorFunction< VDimension > * GetFunctionB()
function SetFunctionB
inline void SetFunctionB(
ParticleVectorFunction< VDimension > * o
)
function SetAOn
inline void SetAOn()
Turn each term on and off.
function SetAOff
inline void SetAOff()
function SetAOn
inline void SetAOn(
bool s
)
function GetAOn
inline bool GetAOn() const
function SetBOn
inline void SetBOn()
function SetBOff
inline void SetBOff()
function SetBOn
inline void SetBOn(
bool s
)
function GetBOn
inline bool GetBOn() const
function SetRelativeEnergyScaling
inline void SetRelativeEnergyScaling(
double r
)
The relative scaling scales the gradient B relative to A. By default this value is 1.0.
function GetRelativeEnergyScaling
inline double GetRelativeEnergyScaling() const
function SetRelativeGradientScaling
inline void SetRelativeGradientScaling(
double r
)
function GetRelativeGradientScaling
inline double GetRelativeGradientScaling() const
function GetAverageGradMagA
inline double GetAverageGradMagA() const
function GetAverageGradMagB
inline double GetAverageGradMagB() const
function GetAverageEnergyA
inline double GetAverageEnergyA() const
function GetAverageEnergyB
inline double GetAverageEnergyB() const
function Clone
inline virtual ParticleVectorFunction< VDimension >::Pointer Clone()
Reimplements: itk::ParticleVectorFunction::Clone
Protected Functions Documentation
function ParticleDualVectorFunction
inline ParticleDualVectorFunction()
function ~ParticleDualVectorFunction
inline virtual ~ParticleDualVectorFunction()
function operator=
void operator=(
const ParticleDualVectorFunction &
)
function ParticleDualVectorFunction
ParticleDualVectorFunction(
const ParticleDualVectorFunction &
)
Protected Attributes Documentation
variable m_AOn
bool m_AOn;
variable m_BOn
bool m_BOn;
variable m_RelativeGradientScaling
double m_RelativeGradientScaling;
variable m_RelativeEnergyScaling
double m_RelativeEnergyScaling;
variable m_AverageGradMagA
double m_AverageGradMagA;
variable m_AverageGradMagB
double m_AverageGradMagB;
variable m_AverageEnergyA
double m_AverageEnergyA;
variable m_AverageEnergyB
double m_AverageEnergyB;
variable m_Counter
double m_Counter;
variable m_FunctionA
ParticleVectorFunction< VDimension >::Pointer m_FunctionA;
variable m_FunctionB
ParticleVectorFunction< VDimension >::Pointer m_FunctionB;
Updated on 2022-07-23 at 16:40:05 -0600