ANIMA
4.0
|
#include <animaBaseProbabilisticTractographyImageFilter.h>
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().