20 #ifndef ECL_STATISTICS_COVARIANCE_ELLIPSOID_HPP_ 21 #define ECL_STATISTICS_COVARIANCE_ELLIPSOID_HPP_ 47 template<
typename T,
int N>
131 void compute(
const ecl::linear_algebra::Matrix2f& M);
140 const ecl::linear_algebra::Vector2f&
lengths() {
return ellipse_lengths; }
148 const ecl::linear_algebra::Matrix2f&
axes() {
return ellipse_axes; }
174 ecl::linear_algebra::Vector2f intercepts();
176 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
254 void compute(
const ecl::linear_algebra::Matrix3f& M,
const bool sort =
true);
263 const ecl::linear_algebra::Vector3f&
lengths() {
return ellipse_lengths; }
272 const ecl::linear_algebra::Matrix3f&
axes() {
return ellipse_axes; }
274 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
352 void compute(
const ecl::linear_algebra::Matrix2d& M);
361 const ecl::linear_algebra::Vector2d&
lengths() {
return ellipse_lengths; }
369 const ecl::linear_algebra::Matrix2d&
axes() {
return ellipse_axes; }
395 ecl::linear_algebra::Vector2d intercepts();
397 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
475 void compute(
const ecl::linear_algebra::Matrix3d& M,
const bool sort =
true);
484 const ecl::linear_algebra::Vector3d&
lengths() {
return ellipse_lengths; }
493 const ecl::linear_algebra::Matrix3d&
axes() {
return ellipse_axes; }
495 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Specialisation of covariance ellipsoids in three dimensions.
ecl::linear_algebra::Matrix2d ellipse_axes
const ecl::linear_algebra::Matrix3f & axes()
Returns the ellipse axes/covariance eigen vectors.
Specialisation of covariance ellipsoids in three dimensions.
const ecl::linear_algebra::Vector3d & lengths()
Returns the precomputed ellipsoid minor/major axis lengths.
CovarianceEllipsoid< float, 3 > CovarianceEllipsoid3f
Convenience typedef for 3f covariance ellipsoids.
ecl::linear_algebra::Vector2d ellipse_lengths
Specialisation of covariance ellipsoids in two dimensions.
ecl::linear_algebra::Vector3d ellipse_lengths
const ecl::linear_algebra::Matrix2f & axes()
Returns the ellipse axes/covariance eigen vectors.
virtual ~CovarianceEllipsoid()
CovarianceEllipsoid< float, 2 > CovarianceEllipsoid2f
Convenience typedef for 2f covariance ellipsoids.
ecl::linear_algebra::Matrix3d ellipse_axes
CovarianceEllipsoid< double, 2 > CovarianceEllipsoid2d
Convenience typedef for 2d covariance ellipsoids.
const ecl::linear_algebra::Vector3f & lengths()
Returns the precomputed ellipsoid minor/major axis lengths.
const ecl::linear_algebra::Matrix2d & axes()
Returns the ellipse axes/covariance eigen vectors.
virtual ~CovarianceEllipsoid()
Parent template for covariance ellipsoids.
const ecl::linear_algebra::Vector2f & lengths()
Returns the precomputed ellipsoid minor/major axis lengths.
const ecl::linear_algebra::Vector2d & lengths()
Returns the precomputed ellipsoid minor/major axis lengths.
const ecl::linear_algebra::Matrix3d & axes()
Returns the ellipse axes/covariance eigen vectors.
ecl::linear_algebra::Vector2f ellipse_lengths
ecl::linear_algebra::Vector3f ellipse_lengths
CovarianceEllipsoid()
Prevents usage of this template class directly.
virtual ~CovarianceEllipsoid()
virtual ~CovarianceEllipsoid()
CovarianceEllipsoid< double, 3 > CovarianceEllipsoid3d
Convenience typedef for 3d covariance ellipsoids.
ecl::linear_algebra::Matrix2f ellipse_axes
Specialisation of covariance ellipsoids in two dimensions.
ecl::linear_algebra::Matrix3f ellipse_axes
virtual ~CovarianceEllipsoid()