33 #ifndef xmmGaussianDistribution_h 34 #define xmmGaussianDistribution_h 36 #include "../common/xmmAttribute.hpp" 37 #include "../common/xmmJson.hpp" 105 unsigned int dimension_input = 0,
135 double likelihood(
const float* observation)
const;
145 double likelihood_input(
const float* observation_input)
const;
155 double likelihood_bimodal(
const float* observation_input,
156 const float* observation_output)
const;
166 void regression(std::vector<float>
const& observation_input,
167 std::vector<float>& predicted_output)
const;
178 void regularize(std::vector<double> regularization);
184 void updateInverseCovariance();
194 Ellipse toEllipse(
unsigned int dimension1,
unsigned int dimension2);
205 void fromEllipse(
Ellipse const& gaussian_ellipse,
unsigned int dimension1,
206 unsigned int dimension2);
217 Json::Value toJson()
const;
224 void fromJson(Json::Value
const& root);
335 void updateOutputCovariance();
366 void checkLimits<GaussianDistribution::CovarianceMode>(
float x
x center position
Definition: xmmGaussianDistribution.hpp:52
float height
height: major axis length
Definition: xmmGaussianDistribution.hpp:67
std::vector< double > covariance
Covariance Matrix of the Gaussian Distribution.
Definition: xmmGaussianDistribution.hpp:311
Ellipse covariance2ellipse(double c_xx, double c_xy, double c_yy)
Definition: xmmGaussianDistribution.cpp:680
float angle
angle (radians)
Definition: xmmGaussianDistribution.hpp:72
float y
y center position
Definition: xmmGaussianDistribution.hpp:57
double covariance_determinant_
Determinant of the covariance matrix.
Definition: xmmGaussianDistribution.hpp:345
float width
width: minor axis length
Definition: xmmGaussianDistribution.hpp:62
Base Class for Generic Attributes.
Definition: xmmAttribute.hpp:105
std::vector< double > output_covariance
Conditional Output Variance (updated when covariances matrices are inverted)
Definition: xmmGaussianDistribution.hpp:317
Attribute< unsigned int > dimension_input
Input Dimension of the multivariate normal.
Definition: xmmGaussianDistribution.hpp:296
CovarianceMode
Covariance Mode.
Definition: xmmGaussianDistribution.hpp:85
Attribute< CovarianceMode > covariance_mode
Covariance Mode.
Definition: xmmGaussianDistribution.hpp:306
bool bimodal_
Defines if regression parameters need to be computed.
Definition: xmmGaussianDistribution.hpp:340
Abstract class for handling JSON + File I/O.
Definition: xmmJson.hpp:50
std::vector< double > inverse_covariance_input_
Inverse covariance matrix of the input modality.
Definition: xmmGaussianDistribution.hpp:360
std::vector< double > mean
Mean of the Gaussian Distribution.
Definition: xmmGaussianDistribution.hpp:301
Multivariate Gaussian Distribution.
Definition: xmmGaussianDistribution.hpp:80
Structure for storing Ellipse parameters.
Definition: xmmGaussianDistribution.hpp:48
std::vector< double > inverse_covariance_
Inverse covariance matrix.
Definition: xmmGaussianDistribution.hpp:350
Definition: xmmAttribute.hpp:42
double covariance_determinant_input_
Determinant of the covariance matrix of the input modality.
Definition: xmmGaussianDistribution.hpp:355
static T defaultLimitMax()
Attribute default maximum value.
Definition: xmmAttribute.hpp:241
Attribute< unsigned int > dimension
Convert to bimodal distribution in place.
Definition: xmmGaussianDistribution.hpp:291