Creates a StatisticalModel conditioned on some external data. More...
#include <ConditionalModelBuilder.h>
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 |
![]() | |
typedef Representer< T > | RepresenterType |
typedef StatisticalModel< T > | StatisticalModelType |
typedef DataManager< T > | DataManagerType |
typedef DataManagerType::DataItemListType | DataItemListType |
Public Member Functions | |
void | Delete () |
StatisticalModelType * | BuildNewModel (const DataItemListType &sampleSet, const SurrogateTypeInfoType &surrogateTypesInfo, const CondVariableValueVectorType &conditioningInfo, float noiseVariance, double modelVarianceRetained=1) const |
Static Public Member Functions | |
static ConditionalModelBuilder * | Create () |
Additional Inherited Members | |
![]() | |
static const double | TOLERANCE = 1e-5 |
![]() | |
MatrixType | ComputeScores (const MatrixType &X, const StatisticalModelType *model) const |
ModelInfo | CollectModelInfo () const |
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.
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.
sampleSet | A list training samples with associated surrogate data - typically obtained from a DataManagerWithSurrogates. |
surrogateTypes | A vector with length corresponding to the number of surrogate variables, indicating whether a variable is continuous or categorical - typically obtained from a DataManagerWithSurrogates. |
conditioningInfo | A vector (length = number of surrogates) indicating which surrogates are used for conditioning, and the conditioning value. |
noiseVariance | The variance of the noise assumed on our data |
|
inlinestatic |
Factory method to create a new ConditionalModelBuilder
representer | The representer |
|
inline |
Destroy the object. The same effect can be achieved by deleting the object in the usual way using the c++ delete keyword.