ANIMA  4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
anima::MCMWeightedAverager Class Reference

Computes a weighted average of input multi-compartment models. The output model is at the same time giving the number and type of output compartments but also its parameters are erased when performing Update to get the result. More...

#include <animaMCMWeightedAverager.h>

+ Inheritance diagram for anima::MCMWeightedAverager:
+ Collaboration diagram for anima::MCMWeightedAverager:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
using EigenAnalysisType = itk::SymmetricEigenAnalysis< vnl_matrix< double >, vnl_diag_matrix< double >, vnl_matrix< double > >
 
using LECalculatorPointer = typename LECalculatorType::Pointer
 
using LECalculatorType = anima::LogEuclideanTensorCalculator< double >
 
using MCMCompartmentPointer = MCMType::BaseCompartmentPointer
 
using MCMPointer = MCMType::Pointer
 
using MCMType = anima::MultiCompartmentModel
 
typedef itk::SmartPointer< SelfPointer
 
typedef MCMWeightedAverager Self
 
using SpectralClusterType = anima::SpectralClusteringFilter< double >
 
typedef itk::LightObject Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
MCMPointerGetOutputModel ()
 
unsigned int GetOutputModelSize ()
 
MCMPointerGetUntouchedOutputModel ()
 
void ResetNumberOfOutputDirectionalCompartments ()
 
void SetInputModels (std::vector< MCMPointer > &models)
 
void SetInputWeights (std::vector< double > &weights)
 
void SetNumberOfOutputDirectionalCompartments (unsigned int val)
 
void SetOutputModel (MCMType *model)
 
void SetUpToDate (bool val)
 
void Update ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

virtual void ComputeNonTensorDistanceMatrix ()
 
virtual void ComputeOutputNonTensorModel ()
 
void ComputeOutputTensorCompatibleModel ()
 
void ComputeTensorDistanceMatrix ()
 
 MCMWeightedAverager ()
 
 ~MCMWeightedAverager ()
 

Protected Attributes

vnl_matrix< double > m_InternalDistanceMatrix
 
EigenAnalysisType m_InternalEigenAnalyzer
 
std::vector< itk::VariableLengthVector< double > > m_InternalLogTensors
 
itk::VariableLengthVector< double > m_InternalOutputVector
 
std::vector< double > m_InternalOutputWeights
 
SpectralClusterType m_InternalSpectralCluster
 
std::vector< std::vector< double > > m_InternalSpectralMemberships
 
vnl_diag_matrix< double > m_InternalWorkEigenValues
 
vnl_diag_matrix< double > m_InternalWorkEigenValuesInputSticks
 
vnl_matrix< double > m_InternalWorkEigenVectors
 
vnl_matrix< double > m_InternalWorkMatrix
 
LECalculatorPointer m_leCalculator
 
std::vector< MCMCompartmentPointerm_WorkCompartmentsVector
 
std::vector< double > m_WorkCompartmentWeights
 

Detailed Description

Computes a weighted average of input multi-compartment models. The output model is at the same time giving the number and type of output compartments but also its parameters are erased when performing Update to get the result.

Definition at line 24 of file animaMCMWeightedAverager.h.

Member Typedef Documentation

◆ ConstPointer

typedef itk::SmartPointer<const Self> anima::MCMWeightedAverager::ConstPointer

Definition at line 30 of file animaMCMWeightedAverager.h.

◆ EigenAnalysisType

using anima::MCMWeightedAverager::EigenAnalysisType = itk::SymmetricEigenAnalysis < vnl_matrix <double>, vnl_diag_matrix<double>, vnl_matrix <double> >

Definition at line 40 of file animaMCMWeightedAverager.h.

◆ LECalculatorPointer

Definition at line 43 of file animaMCMWeightedAverager.h.

◆ LECalculatorType

Definition at line 42 of file animaMCMWeightedAverager.h.

◆ MCMCompartmentPointer

Definition at line 38 of file animaMCMWeightedAverager.h.

◆ MCMPointer

Definition at line 39 of file animaMCMWeightedAverager.h.

◆ MCMType

Definition at line 37 of file animaMCMWeightedAverager.h.

◆ Pointer

typedef itk::SmartPointer<Self> anima::MCMWeightedAverager::Pointer

Definition at line 29 of file animaMCMWeightedAverager.h.

◆ Self

Definition at line 27 of file animaMCMWeightedAverager.h.

◆ SpectralClusterType

Definition at line 41 of file animaMCMWeightedAverager.h.

◆ Superclass

typedef itk::LightObject anima::MCMWeightedAverager::Superclass

Definition at line 28 of file animaMCMWeightedAverager.h.

Constructor & Destructor Documentation

◆ MCMWeightedAverager()

anima::MCMWeightedAverager::MCMWeightedAverager ( )
protected

◆ ~MCMWeightedAverager()

anima::MCMWeightedAverager::~MCMWeightedAverager ( )
inlineprotected

Definition at line 63 of file animaMCMWeightedAverager.h.

Member Function Documentation

◆ ComputeNonTensorDistanceMatrix()

void anima::MCMWeightedAverager::ComputeNonTensorDistanceMatrix ( )
protectedvirtual

Definition at line 202 of file animaMCMWeightedAverager.cxx.

Referenced by Update().

◆ ComputeOutputNonTensorModel()

void anima::MCMWeightedAverager::ComputeOutputNonTensorModel ( )
protectedvirtual

Definition at line 280 of file animaMCMWeightedAverager.cxx.

Referenced by Update().

◆ ComputeOutputTensorCompatibleModel()

void anima::MCMWeightedAverager::ComputeOutputTensorCompatibleModel ( )
protected

◆ ComputeTensorDistanceMatrix()

void anima::MCMWeightedAverager::ComputeTensorDistanceMatrix ( )
protected

◆ CreateAnother()

virtual::itk::LightObject::Pointer anima::MCMWeightedAverager::CreateAnother ( void  ) const

◆ GetNameOfClass()

virtual const char* anima::MCMWeightedAverager::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods)

◆ GetOutputModel()

MCMWeightedAverager::MCMPointer & anima::MCMWeightedAverager::GetOutputModel ( )

Definition at line 38 of file animaMCMWeightedAverager.cxx.

References Update().

◆ GetOutputModelSize()

unsigned int anima::MCMWeightedAverager::GetOutputModelSize ( )

Definition at line 51 of file animaMCMWeightedAverager.cxx.

◆ GetUntouchedOutputModel()

MCMWeightedAverager::MCMPointer & anima::MCMWeightedAverager::GetUntouchedOutputModel ( )

Definition at line 46 of file animaMCMWeightedAverager.cxx.

◆ New()

static Pointer anima::MCMWeightedAverager::New ( )
static

◆ ResetNumberOfOutputDirectionalCompartments()

void anima::MCMWeightedAverager::ResetNumberOfOutputDirectionalCompartments ( )

Definition at line 32 of file animaMCMWeightedAverager.cxx.

Referenced by SetOutputModel().

◆ SetInputModels()

void anima::MCMWeightedAverager::SetInputModels ( std::vector< MCMPointer > &  models)
inline

Definition at line 45 of file animaMCMWeightedAverager.h.

◆ SetInputWeights()

void anima::MCMWeightedAverager::SetInputWeights ( std::vector< double > &  weights)
inline

Definition at line 46 of file animaMCMWeightedAverager.h.

◆ SetNumberOfOutputDirectionalCompartments()

void anima::MCMWeightedAverager::SetNumberOfOutputDirectionalCompartments ( unsigned int  val)

Definition at line 26 of file animaMCMWeightedAverager.cxx.

◆ SetOutputModel()

void anima::MCMWeightedAverager::SetOutputModel ( MCMType model)

◆ SetUpToDate()

void anima::MCMWeightedAverager::SetUpToDate ( bool  val)
inline

Definition at line 57 of file animaMCMWeightedAverager.h.

◆ Update()

void anima::MCMWeightedAverager::Update ( )

Member Data Documentation

◆ m_InternalDistanceMatrix

vnl_matrix<double> anima::MCMWeightedAverager::m_InternalDistanceMatrix
protected

Definition at line 87 of file animaMCMWeightedAverager.h.

Referenced by ComputeTensorDistanceMatrix(), and Update().

◆ m_InternalEigenAnalyzer

EigenAnalysisType anima::MCMWeightedAverager::m_InternalEigenAnalyzer
protected

◆ m_InternalLogTensors

std::vector< itk::VariableLengthVector <double> > anima::MCMWeightedAverager::m_InternalLogTensors
protected

◆ m_InternalOutputVector

itk::VariableLengthVector<double> anima::MCMWeightedAverager::m_InternalOutputVector
protected

Definition at line 92 of file animaMCMWeightedAverager.h.

Referenced by ComputeOutputTensorCompatibleModel().

◆ m_InternalOutputWeights

std::vector<double> anima::MCMWeightedAverager::m_InternalOutputWeights
protected

Definition at line 84 of file animaMCMWeightedAverager.h.

Referenced by ComputeOutputTensorCompatibleModel(), and Update().

◆ m_InternalSpectralCluster

SpectralClusterType anima::MCMWeightedAverager::m_InternalSpectralCluster
protected

Definition at line 96 of file animaMCMWeightedAverager.h.

Referenced by MCMWeightedAverager(), and Update().

◆ m_InternalSpectralMemberships

std::vector< std::vector <double> > anima::MCMWeightedAverager::m_InternalSpectralMemberships
protected

Definition at line 88 of file animaMCMWeightedAverager.h.

Referenced by ComputeOutputTensorCompatibleModel(), and Update().

◆ m_InternalWorkEigenValues

vnl_diag_matrix<double> anima::MCMWeightedAverager::m_InternalWorkEigenValues
protected

Definition at line 91 of file animaMCMWeightedAverager.h.

Referenced by ComputeOutputTensorCompatibleModel().

◆ m_InternalWorkEigenValuesInputSticks

vnl_diag_matrix<double> anima::MCMWeightedAverager::m_InternalWorkEigenValuesInputSticks
protected

Definition at line 91 of file animaMCMWeightedAverager.h.

Referenced by ComputeOutputTensorCompatibleModel().

◆ m_InternalWorkEigenVectors

vnl_matrix<double> anima::MCMWeightedAverager::m_InternalWorkEigenVectors
protected

Definition at line 90 of file animaMCMWeightedAverager.h.

Referenced by ComputeOutputTensorCompatibleModel().

◆ m_InternalWorkMatrix

vnl_matrix<double> anima::MCMWeightedAverager::m_InternalWorkMatrix
protected

◆ m_leCalculator

LECalculatorPointer anima::MCMWeightedAverager::m_leCalculator
protected

◆ m_WorkCompartmentsVector

std::vector<MCMCompartmentPointer> anima::MCMWeightedAverager::m_WorkCompartmentsVector
protected

◆ m_WorkCompartmentWeights

std::vector<double> anima::MCMWeightedAverager::m_WorkCompartmentWeights
protected

Definition at line 86 of file animaMCMWeightedAverager.h.

Referenced by ComputeOutputTensorCompatibleModel(), and Update().


The documentation for this class was generated from the following files: