Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Calculates internal and external energy of the new particle configuration proposal. More...
#include <mitkEnergyComputer.h>
Public Types | |
typedef itk::Image< float, 3 > | ItkFloatImageType |
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator | ItkRandGenType |
Public Member Functions | |
EnergyComputer (ItkFloatImageType *mask, ParticleGrid *particleGrid, SphereInterpolator *interpolator, ItkRandGenType *randGen) | |
void | SetParameters (float particleWeight, float particleWidth, float connectionPotential, float curvThres, float inexBalance, float particlePotential) |
void | DrawRandomPosition (vnl_vector_fixed< float, 3 > &R) |
virtual float | ComputeExternalEnergy (vnl_vector_fixed< float, 3 > &R, vnl_vector_fixed< float, 3 > &N, Particle *dp)=0 |
virtual float | ComputeInternalEnergyConnection (Particle *p1, int ep1)=0 |
virtual float | ComputeInternalEnergyConnection (Particle *p1, int ep1, Particle *p2, int ep2)=0 |
virtual float | ComputeInternalEnergy (Particle *dp)=0 |
int | GetNumActiveVoxels () |
Protected Member Functions | |
float | SpatProb (vnl_vector_fixed< float, 3 > pos) |
float | EvaluateOdf (vnl_vector_fixed< float, 3 > &pos, vnl_vector_fixed< float, 3 > dir) |
float | mbesseli0 (float x) |
float | mexp (float x) |
Protected Attributes | |
vnl_matrix_fixed< float, 3, 3 > | m_RotationMatrix |
SphereInterpolator * | m_SphereInterpolator |
ParticleGrid * | m_ParticleGrid |
ItkRandGenType * | m_RandGen |
ItkFloatImageType * | m_Mask |
vnl_vector_fixed< int, 3 > | m_Size |
vnl_vector_fixed< float, 3 > | m_Spacing |
std::vector< float > | m_CumulatedSpatialProbability |
std::vector< int > | m_ActiveIndices |
bool | m_UseTrilinearInterpolation |
int | m_NumActiveVoxels |
float | m_ConnectionPotential |
float | m_ParticleChemicalPotential |
float | gamma_s |
float | gamma_reg_s |
float | m_ParticleWeight |
float | m_ExtStrength |
float | m_IntStrength |
float | m_ParticleLength |
float | m_SquaredParticleLength |
float | m_CurvatureThreshold |
Calculates internal and external energy of the new particle configuration proposal.
Definition at line 31 of file mitkEnergyComputer.h.
typedef itk::Image<float, 3> EnergyComputer::ItkFloatImageType |
Definition at line 38 of file mitkEnergyComputer.h.
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator EnergyComputer::ItkRandGenType |
Definition at line 39 of file mitkEnergyComputer.h.
EnergyComputer::EnergyComputer | ( | ItkFloatImageType * | mask, |
ParticleGrid * | particleGrid, | ||
SphereInterpolator * | interpolator, | ||
ItkRandGenType * | randGen | ||
) |
Definition at line 23 of file mitkEnergyComputer.cpp.
References m_ActiveIndices, m_CumulatedSpatialProbability, m_Mask, m_NumActiveVoxels, m_ParticleGrid, mitk::ParticleGrid::m_ParticleLength, m_ParticleLength, m_RandGen, m_RotationMatrix, m_Size, m_Spacing, m_SphereInterpolator, m_SquaredParticleLength, m_UseTrilinearInterpolation, SphereInterpolator::nverts, and QBALL_ODFSIZE.
|
pure virtual |
Implemented in GibbsEnergyComputer.
Referenced by mitk::MetropolisHastingsSampler::MakeProposal().
|
pure virtual |
Implemented in GibbsEnergyComputer.
Referenced by mitk::MetropolisHastingsSampler::MakeProposal().
|
pure virtual |
|
pure virtual |
Implemented in GibbsEnergyComputer.
void EnergyComputer::DrawRandomPosition | ( | vnl_vector_fixed< float, 3 > & | R | ) |
Definition at line 109 of file mitkEnergyComputer.cpp.
References m_ActiveIndices, m_CumulatedSpatialProbability, m_NumActiveVoxels, m_RandGen, m_Size, and m_Spacing.
Referenced by mitk::MetropolisHastingsSampler::MakeProposal().
|
protected |
int EnergyComputer::GetNumActiveVoxels | ( | ) |
Definition at line 169 of file mitkEnergyComputer.cpp.
References m_NumActiveVoxels.
|
protected |
Definition at line 149 of file mitkEnergyComputer.cpp.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy().
|
protected |
Definition at line 163 of file mitkEnergyComputer.cpp.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy().
void EnergyComputer::SetParameters | ( | float | particleWeight, |
float | particleWidth, | ||
float | connectionPotential, | ||
float | curvThres, | ||
float | inexBalance, | ||
float | particlePotential | ||
) |
Definition at line 91 of file mitkEnergyComputer.cpp.
References gamma_reg_s, gamma_s, m_ConnectionPotential, m_CurvatureThreshold, m_ExtStrength, m_IntStrength, m_ParticleChemicalPotential, m_ParticleWeight, and m_SquaredParticleLength.
Referenced by itk::GibbsTrackingFilter< ItkQBallImageType >::EstimateParticleWeight(), and itk::GibbsTrackingFilter< ItkQBallImageType >::GenerateData().
|
protected |
Definition at line 136 of file mitkEnergyComputer.cpp.
References m_Mask, and m_Spacing.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy(), and GibbsEnergyComputer::ComputeInternalEnergyConnection().
|
protected |
Definition at line 74 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy(), and SetParameters().
|
protected |
Definition at line 73 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy(), and SetParameters().
|
protected |
Definition at line 67 of file mitkEnergyComputer.h.
Referenced by DrawRandomPosition(), and EnergyComputer().
|
protected |
Definition at line 71 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeInternalEnergyConnection(), and SetParameters().
|
protected |
Definition at line 66 of file mitkEnergyComputer.h.
Referenced by DrawRandomPosition(), and EnergyComputer().
|
protected |
Definition at line 80 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeInternalEnergyConnection(), and SetParameters().
|
protected |
Definition at line 76 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy(), and SetParameters().
|
protected |
Definition at line 77 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeInternalEnergyConnection(), and SetParameters().
|
protected |
Definition at line 63 of file mitkEnergyComputer.h.
Referenced by EnergyComputer(), and SpatProb().
|
protected |
Definition at line 70 of file mitkEnergyComputer.h.
Referenced by DrawRandomPosition(), EnergyComputer(), and GetNumActiveVoxels().
|
protected |
Definition at line 72 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy(), and SetParameters().
|
protected |
Definition at line 61 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy(), GibbsEnergyComputer::ComputeInternalEnergyConnection(), and EnergyComputer().
|
protected |
Definition at line 78 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeInternalEnergyConnection(), EnergyComputer(), and GibbsEnergyComputer::EvaluateOdf().
|
protected |
Definition at line 75 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeExternalEnergy(), and SetParameters().
|
protected |
Definition at line 62 of file mitkEnergyComputer.h.
Referenced by DrawRandomPosition(), and EnergyComputer().
|
protected |
Definition at line 59 of file mitkEnergyComputer.h.
Referenced by EnergyComputer(), and GibbsEnergyComputer::EvaluateOdf().
|
protected |
Definition at line 64 of file mitkEnergyComputer.h.
Referenced by DrawRandomPosition(), EnergyComputer(), and GibbsEnergyComputer::EvaluateOdf().
|
protected |
Definition at line 65 of file mitkEnergyComputer.h.
Referenced by DrawRandomPosition(), EnergyComputer(), GibbsEnergyComputer::EvaluateOdf(), and SpatProb().
|
protected |
Definition at line 60 of file mitkEnergyComputer.h.
Referenced by EnergyComputer(), and GibbsEnergyComputer::EvaluateOdf().
|
protected |
Definition at line 79 of file mitkEnergyComputer.h.
Referenced by GibbsEnergyComputer::ComputeInternalEnergyConnection(), EnergyComputer(), and SetParameters().
|
protected |
Definition at line 69 of file mitkEnergyComputer.h.
Referenced by EnergyComputer(), and GibbsEnergyComputer::EvaluateOdf().