10 #ifndef IMPEM_BAYES_EM3D_H
11 #define IMPEM_BAYES_EM3D_H
17 #include <IMP/em/em_config.h>
34 IMPEMEXPORT std::map<double, double>
39 const Floats &y_data,
double x,
48 double wx,
double wy);
59 long number_of_voxels);
75 double resolution,
const double window_size = 1.0);
79 const DensityMap *em2);
105 IMPEMEXPORT std::pair<double, algebra::Vector3Ds>
108 double sigma,
const double window_size = 1.0);
double bayesem3d_linear_interpolate(const Floats &x_data, const Floats &y_data, double x, bool extrapolate)
Basic linear interpolation given vectors of values.
DensityMap * bayesem3d_get_density_from_particle(DensityMap *em, const IMP::ParticlesTemp &ps, double resolution, const double window_size=1.0)
double bayesem3d_get_logsumexp(double x, double y)
Numerically stable logsumexp.
Calculates and stores Gaussian kernel parameters.
std::vector< double > bayesem3d_get_value(Particle *p, const algebra::Vector3D &pt, double mass_ii, const IMP::em::KernelParameters &kps)
Compute the score and derivatives for a particle at a given voxel.
IMP::Vector< Float > Floats
Standard way to pass a bunch of Float values.
std::pair< double, double > FloatPair
A generic pair of floats.
Calculates and stores Gaussian kernel parameters.
FloatPair bayesem3d_get_logabssumexp(double x, double y, double sx, double sy)
Numerically stable logabssumexp.
std::pair< double, algebra::Vector3Ds > bayesem3d_get_score_and_derivative(DensityMap *em, const IMP::ParticlesTemp &ps, double resolution, double sigma, const double window_size=1.0)
The function returns the negative log of the Normal distributed difference between a normalized EM de...
void bayesem3d_get_normalized_intensities(DensityMap *em, const IMP::ParticlesTemp &ps, double resolution)
Class for handling density maps.
FloatPair bayesem3d_get_em_density_squared(DensityMap *em, long number_of_voxels)
Compute the sum of the density and the sum of the squares of the density.
Refine a particle into a list of particles.
std::map< double, int > bayesem3d_get_distinct_and_counts(DensityMap *em)
Get histogram of density in EM map.
functionality for defining rigid bodies
double bayesem3d_get_cross_correlation_coefficient(const DensityMap *em1, const DensityMap *em2)
Compute a normalized cross-correlation coefficient.
Floats bayesem3d_get_cumulative_sum(DensityMap *em)
Compute the cumulative sum of the histogram computed from EM map.
double bayesem3d_get_logsumprodexp(double x, double y, double wx, double wy)
Numerically stable logsumexpprod.
std::vector< double > bayesem3d_get_value_no_deriv(Particle *p, const algebra::Vector3D &pt, double mass_ii, const IMP::em::KernelParameters &kps)
Compute the score without its derivative.
Classes to read or write MRC files.
std::map< double, double > bayesem3d_get_cumulative_sum_with_reference(DensityMap *em)
Compute the cumulative sum of the histogram given a reference.
FloatPair bayesem3d_get_logabssumprodexp(double x, double y, double wx, double wy)
Numerically stable logabssumprodexp.