ANIMA
4.0
|
#include <animaDTIProbabilisticTractographyImageFilter.h>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::SmartPointer< Self > | Pointer |
typedef DTIProbabilisticTractographyImageFilter | 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 | SetFAThreshold (double _arg) |
void | SetKappaPolynomialCoefficients (std::vector< double > &coefs) |
virtual void | SetThresholdForProlateTensor (double _arg) |
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 |
void | ComputeAdditionalScalarMaps () ITK_OVERRIDE |
Computes additional scalar maps that are model dependent to add to the output. More... | |
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 |
DTIProbabilisticTractographyImageFilter () | |
void | GetDTIMinorDirection (VectorType &modelValue, Vector3DType &resVec) |
void | GetDTIPrincipalDirection (const VectorType &modelValue, Vector3DType &resVec, bool is2d) |
void | GetEigenValueCombinations (VectorType &modelValue, double &meanLambda, double &perpLambda) |
double | GetFractionalAnisotropy (VectorType &modelValue) |
double | GetKappaFromFA (double FA) |
double | GetLinearCoefficient (VectorType &modelValue) |
virtual Vector3DType | InitializeFirstIterationFromModel (Vector3DType &colinearDir, VectorType &modelValue, unsigned int threadId) ITK_OVERRIDE |
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 | ~DTIProbabilisticTractographyImageFilter () |
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... | |
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 () |
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 13 of file animaDTIProbabilisticTractographyImageFilter.h.
typedef itk::SmartPointer<const Self> anima::DTIProbabilisticTractographyImageFilter::ConstPointer |
Definition at line 21 of file animaDTIProbabilisticTractographyImageFilter.h.
typedef itk::SmartPointer<Self> anima::DTIProbabilisticTractographyImageFilter::Pointer |
Definition at line 20 of file animaDTIProbabilisticTractographyImageFilter.h.
typedef DTIProbabilisticTractographyImageFilter anima::DTIProbabilisticTractographyImageFilter::Self |
SmartPointer typedef support
Definition at line 17 of file animaDTIProbabilisticTractographyImageFilter.h.
typedef BaseProbabilisticTractographyImageFilter< itk::VectorImage <double, 3> > anima::DTIProbabilisticTractographyImageFilter::Superclass |
Definition at line 18 of file animaDTIProbabilisticTractographyImageFilter.h.
|
protected |
Definition at line 19 of file animaDTIProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::SetModelDimension().
|
protectedvirtual |
Definition at line 28 of file animaDTIProbabilisticTractographyImageFilter.cxx.
|
protectedvirtual |
Definition at line 164 of file animaDTIProbabilisticTractographyImageFilter.cxx.
References GetFractionalAnisotropy(), and anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetModelDimension().
|
protectedvirtual |
Computes additional scalar maps that are model dependent to add to the output.
Reimplemented from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >.
Definition at line 408 of file animaDTIProbabilisticTractographyImageFilter.cxx.
References ComputeModelValue(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetModelInterpolator(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetOutput(), and anima::GetTensorFromVectorRepresentation().
|
protectedvirtual |
Definition at line 189 of file animaDTIProbabilisticTractographyImageFilter.cxx.
References anima::EvaluateWatsonPDF(), GetDTIMinorDirection(), GetDTIPrincipalDirection(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage(), and GetLinearCoefficient().
|
protectedvirtual |
Definition at line 291 of file animaDTIProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetModelDimension(), anima::GetTensorFromVectorRepresentation(), and anima::GetVectorRepresentation().
Referenced by ComputeAdditionalScalarMaps().
virtual::itk::LightObject::Pointer anima::DTIProbabilisticTractographyImageFilter::CreateAnother | ( | void | ) | const |
|
protected |
Definition at line 267 of file animaDTIProbabilisticTractographyImageFilter.cxx.
Referenced by ComputeLogWeightUpdate().
|
protected |
Definition at line 237 of file animaDTIProbabilisticTractographyImageFilter.cxx.
Referenced by ComputeLogWeightUpdate(), and ProposeNewDirection().
|
protected |
Definition at line 376 of file animaDTIProbabilisticTractographyImageFilter.cxx.
|
protected |
Definition at line 338 of file animaDTIProbabilisticTractographyImageFilter.cxx.
Referenced by CheckModelProperties(), and ProposeNewDirection().
|
protected |
Definition at line 228 of file animaDTIProbabilisticTractographyImageFilter.cxx.
Referenced by ProposeNewDirection().
|
protected |
Definition at line 311 of file animaDTIProbabilisticTractographyImageFilter.cxx.
Referenced by ComputeLogWeightUpdate(), and ProposeNewDirection().
|
virtual |
Reimplemented from anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >.
|
protectedvirtual |
Definition at line 92 of file animaDTIProbabilisticTractographyImageFilter.cxx.
References anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::Colinear, anima::ComputeScalarProduct(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInitialDirectionMode(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage(), and anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::Weight.
Referenced by ProposeNewDirection().
|
static |
|
protectedvirtual |
Definition at line 33 of file animaDTIProbabilisticTractographyImageFilter.cxx.
References anima::ComputeScalarProduct(), anima::EvaluateWatsonPDF(), GetDTIPrincipalDirection(), GetFractionalAnisotropy(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetInputModelImage(), GetKappaFromFA(), anima::BaseProbabilisticTractographyImageFilter< itk::VectorImage< double, 3 > >::GetKappaOfPriorDistribution(), GetLinearCoefficient(), InitializeFirstIterationFromModel(), anima::safe_log(), and anima::SampleFromWatsonDistribution().
|
virtual |
void anima::DTIProbabilisticTractographyImageFilter::SetKappaPolynomialCoefficients | ( | std::vector< double > & | coefs | ) |
Definition at line 221 of file animaDTIProbabilisticTractographyImageFilter.cxx.
|
virtual |