Statismo  0.10.1
 All Classes Namespaces Functions Typedefs
Public Types | Public Member Functions | Static Public Member Functions | List of all members
statismo::ConditionalModelBuilder< T > Class Template Reference

Creates a StatisticalModel conditioned on some external data. More...

#include <ConditionalModelBuilder.h>

Inheritance diagram for statismo::ConditionalModelBuilder< T >:
Inheritance graph

Public Types

typedef ModelBuilder< T > Superclass
 
typedef
Superclass::StatisticalModelType 
StatisticalModelType
 
typedef std::pair< bool,
statismo::ScalarType
CondVariableValuePair
 
typedef std::vector
< CondVariableValuePair > 
CondVariableValueVectorType
 
typedef
DataManagerWithSurrogates< T > 
DataManagerType
 
typedef
DataManagerType::DataItemListType 
DataItemListType
 
typedef
DataManagerType::DataItemWithSurrogatesType 
DataItemWithSurrogatesType
 
typedef
DataManagerType::SurrogateTypeInfoType 
SurrogateTypeInfoType
 
- Public Types inherited from statismo::ModelBuilder< T >
typedef Representer< T > RepresenterType
 
typedef StatisticalModel< T > StatisticalModelType
 
typedef DataManager< T > DataManagerType
 
typedef
DataManagerType::DataItemListType 
DataItemListType
 

Public Member Functions

void Delete ()
 
StatisticalModelTypeBuildNewModel (const DataItemListType &sampleSet, const SurrogateTypeInfoType &surrogateTypesInfo, const CondVariableValueVectorType &conditioningInfo, float noiseVariance, double modelVarianceRetained=1) const
 

Static Public Member Functions

static ConditionalModelBuilderCreate ()
 

Additional Inherited Members

- Static Public Attributes inherited from statismo::ModelBuilder< T >
static const double TOLERANCE = 1e-5
 
- Protected Member Functions inherited from statismo::ModelBuilder< T >
MatrixType ComputeScores (const MatrixType &X, const StatisticalModelType *model) const
 
ModelInfo CollectModelInfo () const
 

Detailed Description

template<typename T>
class statismo::ConditionalModelBuilder< T >

Creates a StatisticalModel conditioned on some external data.

The principle of this class is to exploit supplementary information (surrogate variables) describing the samples (e.g. the age and gender of the subject) to generate a conditional statistical model. This class assumes a joint multivariate gaussian distribution of the sample vector and the continuous surrogates Categorical surrogates are taken into account by selecting the subset of samples that fit in the requested categories.

For mathematical details and illustrations, see the paper Conditional Variability of Statistical Shape Models Based on Surrogate Variables R. Blanc, M. Reyes, C. Seiler and G. Szekely, In Proc. MICCAI 2009

CAVEATS:

The class does not implement missing data functionalities.

See Also
DataManagerWithSurrogates

Member Function Documentation

template<typename T >
ConditionalModelBuilder< T >::StatisticalModelType * statismo::ConditionalModelBuilder< T >::BuildNewModel ( const DataItemListType &  sampleSet,
const SurrogateTypeInfoType &  surrogateTypesInfo,
const CondVariableValueVectorType &  conditioningInfo,
float  noiseVariance,
double  modelVarianceRetained = 1 
) const

Builds a new model from the provided data and the requested constraints.

Parameters
sampleSetA list training samples with associated surrogate data - typically obtained from a DataManagerWithSurrogates.
surrogateTypesA vector with length corresponding to the number of surrogate variables, indicating whether a variable is continuous or categorical - typically obtained from a DataManagerWithSurrogates.
conditioningInfoA vector (length = number of surrogates) indicating which surrogates are used for conditioning, and the conditioning value.
noiseVarianceThe variance of the noise assumed on our data
Returns
a new statistical model
Warning
The returned model needs to be explicitly deleted by the user of this method.
template<typename T>
static ConditionalModelBuilder* statismo::ConditionalModelBuilder< T >::Create ( )
inlinestatic

Factory method to create a new ConditionalModelBuilder

Parameters
representerThe representer
template<typename T>
void statismo::ConditionalModelBuilder< T >::Delete ( )
inline

Destroy the object. The same effect can be achieved by deleting the object in the usual way using the c++ delete keyword.


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