ANIMA
4.0
|
#include <animaODFProbabilisticTractographyImageFilter.h>
Classes | |
struct | XYZ |
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::SmartPointer< Self > | Pointer |
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 Self > | ConstPointer |
typedef InterpolatorType::ContinuousIndexType | ContinuousIndexType |
typedef std::vector< Vector3DType > | DirectionVectorType |
typedef std::vector< FiberType > | FiberProcessVectorType |
typedef std::vector< PointType > | FiberType |
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< InputModelImageType > | InterpolatorType |
typedef std::vector< ScalarType > | ListType |
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< Self > | Pointer |
typedef MaskImageType::PointType | PointType |
typedef ScalarImageType::Pointer | ScalarImagePointer |
typedef itk::Image< ScalarType, 3 > | ScalarImageType |
typedef ScalarInterpolatorType::Pointer | ScalarInterpolatorPointer |
typedef itk::LinearInterpolateImageFunction< ScalarImageType > | ScalarInterpolatorType |
typedef double | ScalarType |
typedef BaseProbabilisticTractographyImageFilter | Self |
typedef itk::ProcessObject | Superclass |
typedef itk::Vector< ScalarType, 3 > | Vector3DType |
typedef itk::VariableLengthVector< ScalarType > | VectorType |
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 () |
InputModelImageType * | GetInputModelImage () |
virtual double | GetKappaOfPriorDistribution () |
virtual unsigned int | GetModelDimension () |
virtual InterpolatorType * | GetModelInterpolator () |
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... | |
Definition at line 12 of file animaODFProbabilisticTractographyImageFilter.h.
typedef itk::SmartPointer<const Self> anima::ODFProbabilisticTractographyImageFilter::ConstPointer |
Definition at line 20 of file animaODFProbabilisticTractographyImageFilter.h.
typedef itk::SmartPointer<Self> anima::ODFProbabilisticTractographyImageFilter::Pointer |
Definition at line 19 of file animaODFProbabilisticTractographyImageFilter.h.
typedef ODFProbabilisticTractographyImageFilter anima::ODFProbabilisticTractographyImageFilter::Self |
SmartPointer typedef support
Definition at line 16 of file animaODFProbabilisticTractographyImageFilter.h.
typedef BaseProbabilisticTractographyImageFilter< itk::VectorImage <double, 3> > anima::ODFProbabilisticTractographyImageFilter::Superclass |
Definition at line 17 of file animaODFProbabilisticTractographyImageFilter.h.
|
protected |
Definition at line 17 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::SetModelDimension().
|
protectedvirtual |
Definition at line 31 of file animaODFProbabilisticTractographyImageFilter.cxx.
|
protectedvirtual |
Definition at line 199 of file animaODFProbabilisticTractographyImageFilter.cxx.
References GetGeneralizedFractionalAnisotropy(), and anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetModelDimension().
|
protectedvirtual |
Definition at line 224 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::EvaluateWatsonPDF(), FindODFMaxima(), and anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage().
|
protectedvirtual |
Definition at line 400 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetModelDimension().
virtual::itk::LightObject::Pointer anima::ODFProbabilisticTractographyImageFilter::CreateAnother | ( | void | ) | const |
|
protected |
Returns ODF maxima ordered by probability of diffusion, only those with probability superior to minVal are given.
Definition at line 248 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::ComputeOrientationAngle(), anima::TransformCartesianToSphericalCoordinates(), anima::TransformSphericalToCartesianCoordinates(), anima::ODFProbabilisticTractographyImageFilter::XYZ::x, anima::ODFProbabilisticTractographyImageFilter::XYZ::y, and anima::ODFProbabilisticTractographyImageFilter::XYZ::z.
Referenced by ComputeLogWeightUpdate(), InitializeFirstIterationFromModel(), and ProposeNewDirection().
|
protected |
Definition at line 410 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetModelDimension().
Referenced by CheckModelProperties().
|
virtual |
Reimplemented from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >.
|
protectedvirtual |
Definition at line 141 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::Colinear, anima::ComputeScalarProduct(), FindODFMaxima(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInitialDirectionMode(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage(), and anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::Weight.
|
static |
|
protectedvirtual |
Generate seed points.
Reimplemented from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >.
Definition at line 37 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage(), anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::PrepareTractography(), and anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::SetModelDimension().
|
protectedvirtual |
Definition at line 53 of file animaODFProbabilisticTractographyImageFilter.cxx.
References anima::ComputeScalarProduct(), anima::EvaluateWatsonPDF(), FindODFMaxima(), anima::ODFSphericalHarmonicBasis::getCurvatureAtPosition(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetKappaOfPriorDistribution(), anima::ODFSphericalHarmonicBasis::getValueAtPosition(), anima::safe_log(), anima::SampleFromWatsonDistribution(), and anima::TransformCartesianToSphericalCoordinates().
|
virtual |
|
virtual |
|
virtual |
void anima::ODFProbabilisticTractographyImageFilter::SetODFSHOrder | ( | unsigned int | num | ) |