4 #include <itkLightObject.h> 5 #include <itkVariableLengthVector.h> 7 #include <vnl/vnl_math.h> 9 #include <AnimaMCMBaseExport.h> 34 void SetLowPassGaussianSigma(
double val) {m_LowPassGaussianSigma = val;}
40 void SetGradientStrengths(
const std::vector <double> &val);
41 void SetSmallDelta(
double val);
42 void SetBigDelta(
double val);
44 void SetGradientDirections(
const std::vector <GradientType> &val);
50 void UpdateSphereWeights();
51 bool CheckTensorCompatibility(
const MCMPointer &firstModel,
const MCMPointer &secondModel)
const;
54 double ComputeApproximateDistance(
const MCMPointer &firstModel,
const MCMPointer &secondModel)
const;
57 double m_LowPassGaussianSigma;
58 bool m_ForceApproximation;
59 bool m_SquaredDistance;
64 std::vector <double> m_GradientStrengths;
65 std::vector <GradientType> m_GradientDirections;
68 std::vector <double> m_SphereWeights;
69 std::vector <unsigned int> m_BValWeightsIndexes;
void SetForceApproximation(bool val)
Computes a L2 distance between two MCM of any type.
MCMType::Vector3DType GradientType
itk::LightObject Superclass
MCML2DistanceComputer Self
MCMType::Pointer MCMPointer
itk::SmartPointer< Self > Pointer
MultiCompartmentModel: holds several diffusion compartments, ordered by type It also handles weights ...
itk::SmartPointer< const Self > ConstPointer
void SetSquaredDistance(bool val)