9 #ifndef IMPALGEBRA_GAUSSIAN3D_H 
   10 #define IMPALGEBRA_GAUSSIAN3D_H 
   12 #include <IMP/algebra/algebra_config.h> 
   17 #include <cereal/access.hpp> 
   18 #include <Eigen/Dense> 
   20 IMPALGEBRA_BEGIN_NAMESPACE
 
   29   friend class cereal::access;
 
   31   template<
class Archive> 
void serialize(Archive &ar) {
 
   41       : tr_(tr), variances_(variances) {}
 
   44   const Vector3D &get_variances()
 const { 
return variances_; }
 
   72                     double cell_width, 
const BoundingBox3D &bb, 
double factor=2.5);
 
   74 IMPALGEBRA_END_NAMESPACE
 
#define IMP_SHOWABLE_INLINE(Name, how_to_show)
Declare the methods needed by an object that can be printed. 
 
DenseGrid3D< double > get_rasterized(const Gaussian3Ds &gmm, const Floats &weights, double cell_width, const BoundingBox3D &bb)
Rasterize the Gaussians to a grid. 
 
Gaussian3D get_gaussian_from_covariance(const Eigen::Matrix3d &covariance, const Vector3D ¢er)
Return a Gaussian centered at the origin from a covariance matrix. 
 
A more IMP-like version of the std::vector. 
 
A Gaussian distribution in 3D. 
 
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values. 
 
Base class for geometric types. 
 
const Transformation3D & get_transformation_to() const 
Return transformation from local to global coordinates. 
 
Eigen::Matrix3d get_covariance(const Gaussian3D &g)
 
All grids that are in the Python API should be defined here. 
 
DenseGrid3D< double > get_rasterized_fast(const Gaussian3Ds &gmm, const Floats &weights, double cell_width, const BoundingBox3D &bb, double factor=2.5)
Rasterize the Gaussians to a grid.