ANIMA  4.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
anima::ODFProbabilisticTractographyImageFilter Class Reference

#include <animaODFProbabilisticTractographyImageFilter.h>

+ Inheritance diagram for anima::ODFProbabilisticTractographyImageFilter:
+ Collaboration diagram for anima::ODFProbabilisticTractographyImageFilter:

Classes

struct  XYZ
 

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::SmartPointer< SelfPointer
 
typedef ODFProbabilisticTractographyImageFilter Self
 
typedef BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > > Superclass
 
- Public Types inherited from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >
enum  ColinearityDirectionType
 Which direction should the very first direction point to? (used in conjunction with InitialDirectionMode) Center: towards gravity center Outward: outward from gravity center Top: Image top (z axis) Bottom: Image bottom (reverse z axis) ... More...
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef InterpolatorType::ContinuousIndexType ContinuousIndexType
 
typedef std::vector< Vector3DTypeDirectionVectorType
 
typedef std::vector< FiberTypeFiberProcessVectorType
 
typedef std::vector< PointTypeFiberType
 
typedef MaskImageType::IndexType IndexType
 
enum  InitialDirectionModeType
 Tells how to choose the very first direction of each particle Colinear: Most colinear to colinear direction specified (ColinearityDirectionType) Weight: Model direction with the highest weight. More...
 
typedef InputModelImageType::Pointer InputModelImagePointer
 
typedef itk::VectorImage< double, 3 > InputModelImageType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef itk::InterpolateImageFunction< InputModelImageTypeInterpolatorType
 
typedef std::vector< ScalarTypeListType
 
typedef MaskImageType::Pointer MaskImagePointer
 
typedef itk::Image< unsigned short, 3 > MaskImageType
 
typedef itk::Matrix< ScalarType, 3, 3 > Matrix3DType
 
typedef std::vector< unsigned int > MembershipType
 
typedef itk::SmartPointer< SelfPointer
 
typedef MaskImageType::PointType PointType
 
typedef ScalarImageType::Pointer ScalarImagePointer
 
typedef itk::Image< ScalarType, 3 > ScalarImageType
 
typedef ScalarInterpolatorType::Pointer ScalarInterpolatorPointer
 
typedef itk::LinearInterpolateImageFunction< ScalarImageTypeScalarInterpolatorType
 
typedef double ScalarType
 
typedef BaseProbabilisticTractographyImageFilter Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::Vector< ScalarType, 3 > Vector3DType
 
typedef itk::VariableLengthVector< ScalarTypeVectorType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual void SetCurvatureScale (double _arg)
 
virtual void SetGFAThreshold (double _arg)
 
virtual void SetMinimalDiffusionProbability (double _arg)
 
void SetODFSHOrder (unsigned int num)
 
- Public Member Functions inherited from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >
void createVTKOutput (FiberProcessVectorType &filteredFibers, ListType &filteredWeights)
 
virtual InitialDirectionModeType GetInitialDirectionMode ()
 
InputModelImageTypeGetInputModelImage ()
 
virtual double GetKappaOfPriorDistribution ()
 
virtual unsigned int GetModelDimension ()
 
virtual InterpolatorTypeGetModelInterpolator ()
 
vtkPolyData * GetOutput ()
 
virtual void SetB0Image (ScalarImageType *_arg)
 
virtual void SetClusterDistance (unsigned int _arg)
 
virtual void SetComputeLocalColors (bool _arg)
 
virtual void SetCutMask (MaskImageType *_arg)
 
virtual void SetFiberTrashThreshold (double _arg)
 
virtual void SetFilterMask (MaskImageType *_arg)
 
virtual void SetForbiddenMask (MaskImageType *_arg)
 
void SetInitialColinearityDirection (const ColinearityDirectionType &colDir)
 
void SetInitialDirectionMode (const InitialDirectionModeType &dir)
 
virtual void SetInputModelImage (InputModelImageType *inImage)
 
virtual void SetKappaOfPriorDistribution (double _arg)
 
virtual void SetKappaSplitThreshold (double _arg)
 
virtual void SetMAPMergeFibers (bool _arg)
 
virtual void SetMaxLengthFiber (double _arg)
 
virtual void SetMinimalNumberOfParticlesPerClass (unsigned int _arg)
 
virtual void SetMinLengthFiber (double _arg)
 
virtual void SetModelDimension (unsigned int _arg)
 
virtual void SetNoiseImage (ScalarImageType *_arg)
 
virtual void SetNumberOfFibersPerPixel (unsigned int _arg)
 
virtual void SetNumberOfParticles (unsigned int _arg)
 
virtual void SetPositionDistanceFuseThreshold (double _arg)
 
virtual void SetResamplingThreshold (double _arg)
 
virtual void SetSeedMask (MaskImageType *_arg)
 
virtual void SetStepProgression (double _arg)
 
void Update () ITK_OVERRIDE
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

virtual bool CheckModelProperties (double estimatedB0Value, double estimatedNoiseValue, VectorType &modelValue, unsigned int threadId) ITK_OVERRIDE
 
virtual double ComputeLogWeightUpdate (double b0Value, double noiseValue, Vector3DType &newDirection, VectorType &modelValue, double &log_prior, double &log_proposal, unsigned int threadId) ITK_OVERRIDE
 
virtual void ComputeModelValue (InterpolatorPointer &modelInterpolator, ContinuousIndexType &index, VectorType &modelValue) ITK_OVERRIDE
 
unsigned int FindODFMaxima (const VectorType &modelValue, DirectionVectorType &maxima, double minVal, bool is2d)
 Returns ODF maxima ordered by probability of diffusion, only those with probability superior to minVal are given. More...
 
double GetGeneralizedFractionalAnisotropy (VectorType &modelValue)
 
virtual Vector3DType InitializeFirstIterationFromModel (Vector3DType &colinearDir, VectorType &modelValue, unsigned int threadId) ITK_OVERRIDE
 
 ODFProbabilisticTractographyImageFilter ()
 
void PrepareTractography () ITK_OVERRIDE
 Generate seed points. More...
 
virtual Vector3DType ProposeNewDirection (Vector3DType &oldDirection, VectorType &modelValue, Vector3DType &sampling_direction, double &log_prior, double &log_proposal, std::mt19937 &random_generator, unsigned int threadId) ITK_OVERRIDE
 
virtual ~ODFProbabilisticTractographyImageFilter ()
 
- Protected Member Functions inherited from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >
 BaseProbabilisticTractographyImageFilter ()
 
virtual bool CheckModelProperties (double estimatedB0Value, double estimatedNoiseValue, VectorType &modelValue, unsigned int threadId)=0
 Check stopping criterions to stop a particle (model dependent, not implemented here) More...
 
virtual void ComputeAdditionalScalarMaps ()
 Computes additional scalar maps that are model dependent to add to the output. More...
 
FiberProcessVectorType ComputeFiber (FiberType &fiber, InterpolatorPointer &modelInterpolator, unsigned int numThread, ListType &resultWeights)
 This little guy is the one handling probabilistic tracking. More...
 
virtual double ComputeLogWeightUpdate (double b0Value, double noiseValue, Vector3DType &newDirection, VectorType &modelValue, double &log_prior, double &log_proposal, unsigned int threadId)=0
 Update particle weight based on an underlying model and the chosen direction (model dependent, not implemented here) More...
 
virtual void ComputeModelValue (InterpolatorPointer &modelInterpolator, ContinuousIndexType &index, VectorType &modelValue)=0
 Estimate model from raw diffusion data (model dependent, not implemented here) More...
 
FiberProcessVectorType FilterOutputFibers (FiberProcessVectorType &fibers, ListType &weights)
 Filter output fibers by ROIs and compute local colors. More...
 
virtual Vector3DType InitializeFirstIterationFromModel (Vector3DType &colinearDir, VectorType &modelValue, unsigned int threadId)=0
 Initialize first direction from user input (model dependent, not implemented here) More...
 
bool MergeParticleClassFibers (FiberWorkType &fiberData, FiberProcessVectorType &outputMerged, unsigned int classNumber)
 This guy takes the result of computefiber and merges the classes, each one becomes one fiber. More...
 
virtual Vector3DType ProposeNewDirection (Vector3DType &oldDirection, VectorType &modelValue, Vector3DType &sampling_direction, double &log_prior, double &log_proposal, std::mt19937 &random_generator, unsigned int threadId)=0
 Propose new direction for a particle, given the old direction, and a model (model dependent, not implemented here) More...
 
void ThreadedTrackComputer (unsigned int numThread, FiberProcessVectorType &resultFibers, ListType &resultWeights, unsigned int startSeedIndex, unsigned int endSeedIndex)
 Doing the real tracking by calling ComputeFiber and merging its results. More...
 
void ThreadTrack (unsigned int numThread, FiberProcessVectorType &resultFibers, ListType &resultWeights)
 Doing the thread work dispatch. More...
 
unsigned int UpdateClassesMemberships (FiberWorkType &fiberData, DirectionVectorType &directions, std::mt19937 &random_generator)
 This ugly guy is the heart of multi-modal probabilistic tractography, making decisions on split and merges of particles. More...
 
virtual ~BaseProbabilisticTractographyImageFilter ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreadTracker (void *arg)
 Multithread util function. More...
 

Detailed Description

Definition at line 12 of file animaODFProbabilisticTractographyImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

SmartPointer typedef support

Definition at line 16 of file animaODFProbabilisticTractographyImageFilter.h.

◆ Superclass

Constructor & Destructor Documentation

◆ ODFProbabilisticTractographyImageFilter()

anima::ODFProbabilisticTractographyImageFilter::ODFProbabilisticTractographyImageFilter ( )
protected

◆ ~ODFProbabilisticTractographyImageFilter()

anima::ODFProbabilisticTractographyImageFilter::~ODFProbabilisticTractographyImageFilter ( )
protectedvirtual

Member Function Documentation

◆ CheckModelProperties()

bool anima::ODFProbabilisticTractographyImageFilter::CheckModelProperties ( double  estimatedB0Value,
double  estimatedNoiseValue,
VectorType modelValue,
unsigned int  threadId 
)
protectedvirtual

◆ ComputeLogWeightUpdate()

double anima::ODFProbabilisticTractographyImageFilter::ComputeLogWeightUpdate ( double  b0Value,
double  noiseValue,
Vector3DType newDirection,
VectorType modelValue,
double &  log_prior,
double &  log_proposal,
unsigned int  threadId 
)
protectedvirtual

◆ ComputeModelValue()

void anima::ODFProbabilisticTractographyImageFilter::ComputeModelValue ( InterpolatorPointer modelInterpolator,
ContinuousIndexType index,
VectorType modelValue 
)
protectedvirtual

◆ CreateAnother()

virtual::itk::LightObject::Pointer anima::ODFProbabilisticTractographyImageFilter::CreateAnother ( void  ) const

◆ FindODFMaxima()

unsigned int anima::ODFProbabilisticTractographyImageFilter::FindODFMaxima ( const VectorType modelValue,
DirectionVectorType maxima,
double  minVal,
bool  is2d 
)
protected

◆ GetGeneralizedFractionalAnisotropy()

double anima::ODFProbabilisticTractographyImageFilter::GetGeneralizedFractionalAnisotropy ( VectorType modelValue)
protected

◆ GetNameOfClass()

virtual const char* anima::ODFProbabilisticTractographyImageFilter::GetNameOfClass ( ) const
virtual

◆ InitializeFirstIterationFromModel()

ODFProbabilisticTractographyImageFilter::Vector3DType anima::ODFProbabilisticTractographyImageFilter::InitializeFirstIterationFromModel ( Vector3DType colinearDir,
VectorType modelValue,
unsigned int  threadId 
)
protectedvirtual

◆ New()

static Pointer anima::ODFProbabilisticTractographyImageFilter::New ( )
static

◆ PrepareTractography()

void anima::ODFProbabilisticTractographyImageFilter::PrepareTractography ( )
protectedvirtual

◆ ProposeNewDirection()

ODFProbabilisticTractographyImageFilter::Vector3DType anima::ODFProbabilisticTractographyImageFilter::ProposeNewDirection ( Vector3DType oldDirection,
VectorType modelValue,
Vector3DType sampling_direction,
double &  log_prior,
double &  log_proposal,
std::mt19937 &  random_generator,
unsigned int  threadId 
)
protectedvirtual

◆ SetCurvatureScale()

virtual void anima::ODFProbabilisticTractographyImageFilter::SetCurvatureScale ( double  _arg)
virtual

◆ SetGFAThreshold()

virtual void anima::ODFProbabilisticTractographyImageFilter::SetGFAThreshold ( double  _arg)
virtual

◆ SetMinimalDiffusionProbability()

virtual void anima::ODFProbabilisticTractographyImageFilter::SetMinimalDiffusionProbability ( double  _arg)
virtual

◆ SetODFSHOrder()

void anima::ODFProbabilisticTractographyImageFilter::SetODFSHOrder ( unsigned int  num)

The documentation for this class was generated from the following files: