ANIMA
4.0
|
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>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
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< Self > | Pointer |
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 |
MCMPointer & | GetOutputModel () |
unsigned int | GetOutputModelSize () |
MCMPointer & | GetUntouchedOutputModel () |
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< MCMCompartmentPointer > | m_WorkCompartmentsVector |
std::vector< double > | m_WorkCompartmentWeights |
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.
typedef itk::SmartPointer<const Self> anima::MCMWeightedAverager::ConstPointer |
Definition at line 30 of file animaMCMWeightedAverager.h.
using anima::MCMWeightedAverager::EigenAnalysisType = itk::SymmetricEigenAnalysis < vnl_matrix <double>, vnl_diag_matrix<double>, vnl_matrix <double> > |
Definition at line 40 of file animaMCMWeightedAverager.h.
using anima::MCMWeightedAverager::LECalculatorPointer = typename LECalculatorType::Pointer |
Definition at line 43 of file animaMCMWeightedAverager.h.
Definition at line 42 of file animaMCMWeightedAverager.h.
Definition at line 38 of file animaMCMWeightedAverager.h.
Definition at line 39 of file animaMCMWeightedAverager.h.
Definition at line 37 of file animaMCMWeightedAverager.h.
typedef itk::SmartPointer<Self> anima::MCMWeightedAverager::Pointer |
Definition at line 29 of file animaMCMWeightedAverager.h.
Definition at line 27 of file animaMCMWeightedAverager.h.
Definition at line 41 of file animaMCMWeightedAverager.h.
typedef itk::LightObject anima::MCMWeightedAverager::Superclass |
Definition at line 28 of file animaMCMWeightedAverager.h.
|
protected |
Definition at line 6 of file animaMCMWeightedAverager.cxx.
References anima::FuzzyCMeansFilter< double >::Euclidean, m_InternalEigenAnalyzer, m_InternalSpectralCluster, m_leCalculator, anima::LogEuclideanTensorCalculator< TScalarType >::New(), anima::SpectralClusteringFilter< ScalarType >::SetCMeansAverageType(), anima::SpectralClusteringFilter< ScalarType >::SetMaxIterations(), and anima::SpectralClusteringFilter< ScalarType >::SetVerbose().
|
inlineprotected |
Definition at line 63 of file animaMCMWeightedAverager.h.
|
protectedvirtual |
Definition at line 202 of file animaMCMWeightedAverager.cxx.
Referenced by Update().
|
protectedvirtual |
Definition at line 280 of file animaMCMWeightedAverager.cxx.
Referenced by Update().
|
protected |
Definition at line 207 of file animaMCMWeightedAverager.cxx.
References anima::GetTensorFromVectorRepresentation(), anima::GetVectorRepresentation(), m_InternalEigenAnalyzer, m_InternalLogTensors, m_InternalOutputVector, m_InternalOutputWeights, m_InternalSpectralMemberships, m_InternalWorkEigenValues, m_InternalWorkEigenValuesInputSticks, m_InternalWorkEigenVectors, m_InternalWorkMatrix, m_leCalculator, m_WorkCompartmentsVector, m_WorkCompartmentWeights, anima::RecomposeTensor(), anima::BaseCompartment::SetCompartmentVector(), anima::Stick, anima::Tensor, and anima::Zeppelin.
Referenced by Update().
|
protected |
Definition at line 175 of file animaMCMWeightedAverager.cxx.
References anima::GetVectorRepresentation(), m_InternalDistanceMatrix, m_InternalLogTensors, m_InternalWorkMatrix, m_leCalculator, and m_WorkCompartmentsVector.
Referenced by Update().
virtual::itk::LightObject::Pointer anima::MCMWeightedAverager::CreateAnother | ( | void | ) | const |
|
virtual |
Run-time type information (and related methods)
MCMWeightedAverager::MCMPointer & anima::MCMWeightedAverager::GetOutputModel | ( | ) |
Definition at line 38 of file animaMCMWeightedAverager.cxx.
References Update().
unsigned int anima::MCMWeightedAverager::GetOutputModelSize | ( | ) |
Definition at line 51 of file animaMCMWeightedAverager.cxx.
MCMWeightedAverager::MCMPointer & anima::MCMWeightedAverager::GetUntouchedOutputModel | ( | ) |
Definition at line 46 of file animaMCMWeightedAverager.cxx.
|
static |
void anima::MCMWeightedAverager::ResetNumberOfOutputDirectionalCompartments | ( | ) |
Definition at line 32 of file animaMCMWeightedAverager.cxx.
Referenced by SetOutputModel().
|
inline |
Definition at line 45 of file animaMCMWeightedAverager.h.
|
inline |
Definition at line 46 of file animaMCMWeightedAverager.h.
void anima::MCMWeightedAverager::SetNumberOfOutputDirectionalCompartments | ( | unsigned int | val | ) |
Definition at line 26 of file animaMCMWeightedAverager.cxx.
void anima::MCMWeightedAverager::SetOutputModel | ( | MCMType * | model | ) |
Definition at line 20 of file animaMCMWeightedAverager.cxx.
References ResetNumberOfOutputDirectionalCompartments().
|
inline |
Definition at line 57 of file animaMCMWeightedAverager.h.
void anima::MCMWeightedAverager::Update | ( | ) |
Definition at line 59 of file animaMCMWeightedAverager.cxx.
References ComputeNonTensorDistanceMatrix(), ComputeOutputNonTensorModel(), ComputeOutputTensorCompatibleModel(), ComputeTensorDistanceMatrix(), anima::SpectralClusteringFilter< ScalarType >::GetClassesMembership(), anima::SpectralClusteringFilter< ScalarType >::InitializeSigmaFromDistances(), m_InternalDistanceMatrix, m_InternalOutputWeights, m_InternalSpectralCluster, m_InternalSpectralMemberships, m_WorkCompartmentsVector, m_WorkCompartmentWeights, anima::SpectralClusteringFilter< ScalarType >::SetDataWeights(), anima::SpectralClusteringFilter< ScalarType >::SetInputData(), anima::SpectralClusteringFilter< ScalarType >::SetNbClass(), and anima::SpectralClusteringFilter< ScalarType >::Update().
Referenced by GetOutputModel().
|
protected |
Definition at line 87 of file animaMCMWeightedAverager.h.
Referenced by ComputeTensorDistanceMatrix(), and Update().
|
protected |
Definition at line 94 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), and MCMWeightedAverager().
|
protected |
Definition at line 82 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), and ComputeTensorDistanceMatrix().
|
protected |
Definition at line 92 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel().
|
protected |
Definition at line 84 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), and Update().
|
protected |
Definition at line 96 of file animaMCMWeightedAverager.h.
Referenced by MCMWeightedAverager(), and Update().
|
protected |
Definition at line 88 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), and Update().
|
protected |
Definition at line 91 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel().
|
protected |
Definition at line 91 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel().
|
protected |
Definition at line 90 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel().
|
protected |
Definition at line 90 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), and ComputeTensorDistanceMatrix().
|
protected |
Definition at line 95 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), ComputeTensorDistanceMatrix(), and MCMWeightedAverager().
|
protected |
Definition at line 85 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), ComputeTensorDistanceMatrix(), and Update().
|
protected |
Definition at line 86 of file animaMCMWeightedAverager.h.
Referenced by ComputeOutputTensorCompatibleModel(), and Update().