Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
ODF lookuptable based energy computer. More...
#include <mitkGibbsEnergyComputer.h>
Public Types | |
typedef itk::Vector< float, QBALL_ODFSIZE > | OdfVectorType |
typedef itk::Image< OdfVectorType, 3 > | ItkQBallImgType |
typedef itk::Image< float, 3 > | ItkFloatImageType |
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator | ItkRandGenType |
Public Types inherited from EnergyComputer | |
typedef itk::Image< float, 3 > | ItkFloatImageType |
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator | ItkRandGenType |
Public Member Functions | |
GibbsEnergyComputer (ItkQBallImgType *qballImage, ItkFloatImageType *mask, ParticleGrid *particleGrid, SphereInterpolator *interpolator, ItkRandGenType *randGen) | |
virtual | ~GibbsEnergyComputer () |
float | ComputeExternalEnergy (vnl_vector_fixed< float, 3 > &R, vnl_vector_fixed< float, 3 > &N, Particle *dp) override |
float | ComputeInternalEnergyConnection (Particle *p1, int ep1) override |
float | ComputeInternalEnergyConnection (Particle *p1, int ep1, Particle *p2, int ep2) override |
float | ComputeInternalEnergy (Particle *dp) override |
float | EvaluateOdf (vnl_vector_fixed< float, 3 > &pos, vnl_vector_fixed< float, 3 > dir) |
Public Member Functions inherited from EnergyComputer | |
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) |
int | GetNumActiveVoxels () |
Protected Attributes | |
ItkQBallImgType * | m_Image |
Protected Attributes inherited from EnergyComputer | |
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 |
Additional Inherited Members | |
Protected Member Functions inherited from EnergyComputer | |
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) |
ODF lookuptable based energy computer.
Definition at line 18 of file mitkGibbsEnergyComputer.h.
typedef itk::Image<float, 3> GibbsEnergyComputer::ItkFloatImageType |
Definition at line 24 of file mitkGibbsEnergyComputer.h.
Definition at line 23 of file mitkGibbsEnergyComputer.h.
typedef itk::Statistics::MersenneTwisterRandomVariateGenerator GibbsEnergyComputer::ItkRandGenType |
Definition at line 25 of file mitkGibbsEnergyComputer.h.
typedef itk::Vector<float, QBALL_ODFSIZE> GibbsEnergyComputer::OdfVectorType |
Definition at line 22 of file mitkGibbsEnergyComputer.h.
GibbsEnergyComputer::GibbsEnergyComputer | ( | ItkQBallImgType * | qballImage, |
ItkFloatImageType * | mask, | ||
ParticleGrid * | particleGrid, | ||
SphereInterpolator * | interpolator, | ||
ItkRandGenType * | randGen | ||
) |
Definition at line 11 of file mitkGibbsEnergyComputer.cpp.
References m_Image.
|
virtual |
Definition at line 18 of file mitkGibbsEnergyComputer.cpp.
|
overridevirtual |
Implements EnergyComputer.
Definition at line 127 of file mitkGibbsEnergyComputer.cpp.
References mitk::ParticleGrid::ComputeNeighbors(), EvaluateOdf(), EnergyComputer::gamma_reg_s, EnergyComputer::gamma_s, mitk::Particle::GetDir(), mitk::ParticleGrid::GetNextNeighbor(), mitk::Particle::GetPos(), EnergyComputer::m_ExtStrength, EnergyComputer::m_ParticleChemicalPotential, EnergyComputer::m_ParticleGrid, EnergyComputer::m_ParticleWeight, EnergyComputer::mbesseli0(), EnergyComputer::mexp(), and EnergyComputer::SpatProb().
|
overridevirtual |
Implements EnergyComputer.
Definition at line 156 of file mitkGibbsEnergyComputer.cpp.
References ComputeInternalEnergyConnection(), mitk::Particle::mID, and mitk::Particle::pID.
|
overridevirtual |
Implements EnergyComputer.
Definition at line 168 of file mitkGibbsEnergyComputer.cpp.
References mitk::ParticleGrid::GetParticle(), mitk::Particle::ID, EnergyComputer::m_ParticleGrid, mitk::Particle::mID, and mitk::Particle::pID.
Referenced by ComputeInternalEnergy().
|
overridevirtual |
Implements EnergyComputer.
Definition at line 189 of file mitkGibbsEnergyComputer.cpp.
References mitk::Particle::GetDir(), mitk::Particle::GetPos(), EnergyComputer::m_ConnectionPotential, EnergyComputer::m_CurvatureThreshold, EnergyComputer::m_IntStrength, EnergyComputer::m_ParticleLength, EnergyComputer::m_SquaredParticleLength, and EnergyComputer::SpatProb().
float GibbsEnergyComputer::EvaluateOdf | ( | vnl_vector_fixed< float, 3 > & | pos, |
vnl_vector_fixed< float, 3 > | dir | ||
) |
Definition at line 23 of file mitkGibbsEnergyComputer.cpp.
References SphereInterpolator::getInterpolation(), SphereInterpolator::idx, SphereInterpolator::interpw, m_Image, EnergyComputer::m_ParticleLength, EnergyComputer::m_RotationMatrix, EnergyComputer::m_Size, EnergyComputer::m_Spacing, EnergyComputer::m_SphereInterpolator, and EnergyComputer::m_UseTrilinearInterpolation.
Referenced by ComputeExternalEnergy().
|
protected |
Definition at line 42 of file mitkGibbsEnergyComputer.h.
Referenced by EvaluateOdf(), and GibbsEnergyComputer().