16 #ifndef itkGibbsTrackingFilter_h
17 #define itkGibbsTrackingFilter_h
23 #include <itkProcessObject.h>
25 #include <itkDiffusionTensor3D.h>
26 #include <itkMersenneTwisterRandomVariateGenerator.h>
29 #include <vtkSmartPointer.h>
30 #include <vtkPolyData.h>
31 #include <vtkCellArray.h>
32 #include <vtkPoints.h>
33 #include <vtkPolyLine.h>
40 template<
class ItkQBallImageType >
49 itkFactorylessNewMacro(Self)
59 itkSetMacro( StartTemperature,
float )
60 itkSetMacro( EndTemperature,
float )
61 itkSetMacro( Iterations,
double )
62 itkSetMacro( ParticleWeight,
float )
63 itkSetMacro( ParticleWidth,
float )
64 itkSetMacro( ParticleLength,
float )
65 itkSetMacro( ConnectionPotential,
float )
66 itkSetMacro( InexBalance,
float )
67 itkSetMacro( ParticlePotential,
float )
68 itkSetMacro( MinFiberLength,
int )
69 itkSetMacro( AbortTracking,
bool )
70 itkSetMacro( CurvatureThreshold,
float)
71 itkSetMacro( DuplicateImage,
bool )
72 itkSetMacro( RandomSeed,
int )
73 itkSetMacro( LoadParameterFile,
std::
string )
74 itkSetMacro( SaveParameterFile,
std::
string )
75 itkSetMacro( LutPath,
std::
string )
78 itkGetMacro( ParticleWeight,
float )
79 itkGetMacro( ParticleWidth,
float )
80 itkGetMacro( ParticleLength,
float )
81 itkGetMacro( NumParticles,
int )
82 itkGetMacro( NumConnections,
int )
83 itkGetMacro( NumAcceptedFibers,
int )
84 itkGetMacro( ProposalAcceptance,
float )
85 itkGetMacro( CurrentIteration,
double)
86 itkGetMacro( Iterations,
double)
87 itkGetMacro( IsInValidState,
bool)
91 itkSetMacro(
QBallImage, typename ItkQBallImageType::Pointer)
92 itkSetMacro(MaskImage, ItkFloatImageType::Pointer)
149 #ifndef ITK_MANUAL_INSTANTIATION
ItkFloatImageType::Pointer m_MaskImage
itk::SmartPointer< Self > Pointer
Performes global fiber tractography on the input Q-Ball or tensor image (Gibbs tracking, Reisert 2010).
SmartPointer< Self > Pointer
volatile bool m_BuildFibers
set flag to generate fibers from particle grid
ItkTensorImage::Pointer m_TensorImage
FiberPolyDataType GetFiberBundle()
Output fibers.
virtual ~GibbsTrackingFilter()
bool m_AbortTracking
set flag to abort tracking
int m_MinFiberLength
discard all fibers shortan than the specified length in mm
ItkQBallImageType::Pointer ItkQBallImageTypePointer
SmartPointer< const Self > ConstPointer
float m_ParticleWidth
sigma (mm)
int m_NumParticles
current number of particles in grid
float m_ProposalAcceptance
proposal acceptance rate (0-1)
this class encapsulates qball images
double m_Iterations
Total number of iterations.
vtkSmartPointer< vtkPolyData > FiberPolyDataType
int m_RandomSeed
seed value for random generator (-1 for standard seeding)
float m_ConnectionPotential
gross L (chemisches potential, default 10)
float m_InexBalance
gewichtung zwischen den lambdas; -5 ... 5 -> nur intern ... nur extern,default 0
float m_CurvatureThreshold
curvature threshold in radians (1 -> no curvature is accepted, -1 all curvature angles are accepted) ...
Image class for storing images.
float m_ParticlePotential
default 0.2
float m_ParticleWeight
w (unitless)
bool m_DuplicateImage
generates a working copy of the qball image so that the original image won't be changed by the mean s...
float m_StartTemperature
Start temperature.
unsigned long m_CurrentStep
current tracking step
int m_NumConnections
current number of connections between particles in grid
double m_CurrentIteration
Current iteration.
FiberPolyDataType m_FiberPolyData
container for reconstructed fibers
this class encapsulates tensor images
bool m_IsInValidState
Whether the filter is in a valid state, false if error occured.
void EstimateParticleWeight()
float m_ParticleLength
l (mm)
std::string m_LoadParameterFile
filename of parameter file (reader)
std::string m_SaveParameterFile
filename of parameter file (writer)
float m_EndTemperature
End temperature.
int m_NumAcceptedFibers
number of reconstructed fibers generated by the FiberBuilder
virtual void Update() override
ItkQBallImageType::Pointer m_QBallImage
std::string m_LutPath
path to lookuptables used by the sphere interpolator
void GenerateData() override
static const int m_ParticleGridCellCapacity