Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkGibbsEnergyComputer.h
Go to the documentation of this file.
1 #ifndef GIBBSENERGYCOMPUTER_H
2 #define GIBBSENERGYCOMPUTER_H
3 
4 #include <MitkFiberTrackingExports.h>
6 #include <mitkParticleGrid.h>
8 #include <itkMersenneTwisterRandomVariateGenerator.h>
9 
10 #include "mitkEnergyComputer.h"
11 
12 
13 using namespace mitk;
14 
18 class MITKFIBERTRACKING_EXPORT GibbsEnergyComputer : public EnergyComputer
19 {
20  public:
21 
22  typedef itk::Vector<float, QBALL_ODFSIZE> OdfVectorType;
23  typedef itk::Image<OdfVectorType, 3> ItkQBallImgType;
24  typedef itk::Image<float, 3> ItkFloatImageType;
25  typedef itk::Statistics::MersenneTwisterRandomVariateGenerator ItkRandGenType;
26 
27  GibbsEnergyComputer(ItkQBallImgType* qballImage, ItkFloatImageType* mask, ParticleGrid* particleGrid, SphereInterpolator* interpolator, ItkRandGenType* randGen);
28 
29  virtual ~GibbsEnergyComputer();
30 
31  // external energy calculation
32  float ComputeExternalEnergy(vnl_vector_fixed<float, 3>& R, vnl_vector_fixed<float, 3>& N, Particle* dp) override;
33 
34  // internal energy calculation
35  float ComputeInternalEnergyConnection(Particle *p1,int ep1) override;
36  float ComputeInternalEnergyConnection(Particle *p1,int ep1, Particle *p2, int ep2) override;
37  float ComputeInternalEnergy(Particle *dp) override;
38 
39  float EvaluateOdf(vnl_vector_fixed<float, 3>& pos, vnl_vector_fixed<float, 3> dir);
40  protected:
41 
42  ItkQBallImgType* m_Image;
43 
44 };
45 
46 #endif
A particle is the basic element of the Gibbs fiber tractography method.
Definition: mitkParticle.h:30
Contains and manages particles.
Calculates internal and external energy of the new particle configuration proposal.
DataCollection - Class to facilitate loading/accessing structured data.
Lookuptable based trilinear interpolation of spherically arranged scalar values.
itk::Vector< float, QBALL_ODFSIZE > OdfVectorType
itk::Statistics::MersenneTwisterRandomVariateGenerator ItkRandGenType
itk::Image< float, 3 > ItkFloatImageType
itk::Image< OdfVectorType, 3 > ItkQBallImgType
ODF lookuptable based energy computer.