|
ANIMA
4.0
|
#include <animaBaseProbabilisticTractographyImageFilter.h>
Inheritance diagram for anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >:
Collaboration diagram for anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >:Classes | |
| struct | FiberWorkType |
| struct | pair_comparator |
| struct | trackerArguments |
Public Types | |
| enum | ColinearityDirectionType { Center = 0, Outward, Top, Bottom, Left, Right, Front, Back } |
| 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 { Colinear = 0, Weight } |
| 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 TInputModelImageType | 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 | |
| void | createVTKOutput (FiberProcessVectorType &filteredFibers, ListType &filteredWeights) |
| virtual InitialDirectionModeType | GetInitialDirectionMode () |
| InputModelImageType * | GetInputModelImage () |
| virtual double | GetKappaOfPriorDistribution () |
| virtual unsigned int | GetModelDimension () |
| virtual InterpolatorType * | GetModelInterpolator () |
| virtual const char * | GetNameOfClass () const |
| 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 |
Protected Member Functions | |
| 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 void | PrepareTractography () |
| Generate seed points (can be re-implemented but this one has to be called) 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 () |
Static Protected Member Functions | |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreadTracker (void *arg) |
| Multithread util function. More... | |
Definition at line 20 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::SmartPointer<const Self> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ConstPointer |
Definition at line 28 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef InterpolatorType::ContinuousIndexType anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ContinuousIndexType |
Definition at line 61 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef std::vector<Vector3DType> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::DirectionVectorType |
Definition at line 56 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef std::vector<FiberType> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::FiberProcessVectorType |
Definition at line 65 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef std::vector<PointType> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::FiberType |
Definition at line 64 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef MaskImageType::IndexType anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::IndexType |
Definition at line 49 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef InputModelImageType::Pointer anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::InputModelImagePointer |
Definition at line 37 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef TInputModelImageType anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::InputModelImageType |
Definition at line 36 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef InterpolatorType::Pointer anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::InterpolatorPointer |
Definition at line 60 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::InterpolateImageFunction<InputModelImageType> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::InterpolatorType |
Definition at line 59 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef std::vector<ScalarType> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ListType |
Definition at line 55 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef MaskImageType::Pointer anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::MaskImagePointer |
Definition at line 47 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::Image<unsigned short, 3> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::MaskImageType |
Definition at line 46 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::Matrix<ScalarType,3,3> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::Matrix3DType |
Definition at line 52 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef std::vector<unsigned int> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::MembershipType |
Definition at line 66 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::SmartPointer<Self> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::Pointer |
Definition at line 27 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef MaskImageType::PointType anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::PointType |
Definition at line 48 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef ScalarImageType::Pointer anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ScalarImagePointer |
Definition at line 41 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::Image<ScalarType, 3> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ScalarImageType |
Definition at line 40 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef ScalarInterpolatorType::Pointer anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ScalarInterpolatorPointer |
Definition at line 43 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::LinearInterpolateImageFunction<ScalarImageType> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ScalarInterpolatorType |
Definition at line 42 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef double anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::ScalarType |
Definition at line 33 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef BaseProbabilisticTractographyImageFilter anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::Self |
SmartPointer typedef support
Definition at line 24 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::ProcessObject anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::Superclass |
Definition at line 25 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::Vector<ScalarType,3> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::Vector3DType |
Definition at line 53 of file animaBaseProbabilisticTractographyImageFilter.h.
| typedef itk::VariableLengthVector<ScalarType> anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::VectorType |
Definition at line 54 of file animaBaseProbabilisticTractographyImageFilter.h.
| enum anima::BaseProbabilisticTractographyImageFilter::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) ...
| Enumerator | |
|---|---|
| Center | |
| Outward | |
| Top | |
| Bottom | |
| Left | |
| Right | |
| Front | |
| Back | |
Definition at line 88 of file animaBaseProbabilisticTractographyImageFilter.h.
| enum anima::BaseProbabilisticTractographyImageFilter::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.
| Enumerator | |
|---|---|
| Colinear | |
| Weight | |
Definition at line 105 of file animaBaseProbabilisticTractographyImageFilter.h.
|
protected |
Definition at line 29 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
protectedvirtual |
Definition at line 65 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
protectedpure virtual |
Check stopping criterions to stop a particle (model dependent, not implemented here)
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
inlineprotectedvirtual |
Computes additional scalar maps that are model dependent to add to the output.
Reimplemented in anima::DTIProbabilisticTractographyImageFilter.
Definition at line 222 of file animaBaseProbabilisticTractographyImageFilter.h.
|
protected |
This little guy is the one handling probabilistic tracking.
Definition at line 468 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
protectedpure virtual |
Update particle weight based on an underlying model and the chosen direction (model dependent, not implemented here)
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
protectedpure virtual |
Estimate model from raw diffusion data (model dependent, not implemented here)
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
| void anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::createVTKOutput | ( | FiberProcessVectorType & | filteredFibers, |
| ListType & | filteredWeights | ||
| ) |
Definition at line 431 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage().
|
protected |
Filter output fibers by ROIs and compute local colors.
Definition at line 355 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
virtual |
|
inline |
Definition at line 127 of file animaBaseProbabilisticTractographyImageFilter.h.
|
virtual |
|
virtual |
|
virtual |
Definition at line 255 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage().
|
virtual |
Reimplemented in anima::DTIProbabilisticTractographyImageFilter, and anima::ODFProbabilisticTractographyImageFilter.
|
inline |
Definition at line 168 of file animaBaseProbabilisticTractographyImageFilter.h.
|
protectedpure virtual |
Initialize first direction from user input (model dependent, not implemented here)
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
protected |
This guy takes the result of computefiber and merges the classes, each one becomes one fiber.
Definition at line 1214 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
protectedvirtual |
Generate seed points (can be re-implemented but this one has to be called)
Reimplemented in anima::ODFProbabilisticTractographyImageFilter.
Definition at line 123 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput(), and anima::ODFProbabilisticTractographyImageFilter::PrepareTractography().
|
protectedpure virtual |
Propose new direction for a particle, given the old direction, and a model (model dependent, not implemented here)
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inline |
Definition at line 122 of file animaBaseProbabilisticTractographyImageFilter.h.
|
inline |
Definition at line 123 of file animaBaseProbabilisticTractographyImageFilter.h.
|
inlinevirtual |
Definition at line 126 of file animaBaseProbabilisticTractographyImageFilter.h.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protected |
Doing the real tracking by calling ComputeFiber and merging its results.
Definition at line 324 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
|
protected |
Doing the thread work dispatch.
Definition at line 283 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput(), and anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::ThreadTracker().
|
staticprotected |
Multithread util function.
Definition at line 269 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
| void anima::BaseProbabilisticTractographyImageFilter< TInputModelImageType >::Update | ( | ) |
Definition at line 74 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage().
|
protected |
This ugly guy is the heart of multi-modal probabilistic tractography, making decisions on split and merges of particles.
Definition at line 845 of file animaBaseProbabilisticTractographyImageFilter.hxx.
Referenced by anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput().
1.8.13