IMP
2.2.1
The Integrative Modeling Platform
|
Cross correlation coefficient calculator. More...
#include <IMP/em/CoarseCCatIntervals.h>
Public Member Functions | |
CoarseCCatIntervals (const int &ncd) | |
std::pair< double, algebra::Vector3Ds > | evaluate (DensityMap *em_map, SampledDensityMap *model_map, const algebra::Vector3Ds &deriv, float scalefac, bool lderiv, unsigned long eval_interval) |
Evaluate the cross-correlation value only every X calls to the function. More... | |
virtual std::string | get_type_name () const |
virtual ::IMP::base::VersionInfo | get_version_info () const |
Get information about the module and version of the object. | |
Public Member Functions inherited from IMP::base::Object | |
virtual void | clear_caches () |
virtual void | do_destroy () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Protected Member Functions | |
void | allocate_derivatives_array (int ncd) |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
Protected Attributes | |
int | calls_counter_ |
Number of times the evaluation has been called. More... | |
bool | dv_memory_allocated_ |
float | stored_cc_ |
Stored correlation value. | |
double * | stored_dvx_ |
Stored derivative terms. | |
double * | stored_dvy_ |
double * | stored_dvz_ |
Additional Inherited Members | |
Static Public Member Functions inherited from IMP::em::CoarseCC | |
static float | calc_score (DensityMap *data, SampledDensityMap *model_map, float scalefactor, bool recalc_rms=true, bool resample=true, FloatPair norm_factors=FloatPair(0., 0.)) |
Calculates the value of the EM fitting term. More... | |
static double | cross_correlation_coefficient (const DensityMap *grid1, const DensityMap *grid2, float grid2_voxel_data_threshold, bool allow_padding=false, FloatPair norm_factors=FloatPair(0., 0.)) |
Calculates the cross correlation coefficient between two maps. More... | |
static float | local_cross_correlation_coefficient (const DensityMap *em_map, DensityMap *model_map, float voxel_data_threshold) |
Local cross correlation function. | |
Store CCC and derivative values and recompute then every X steps.
Definition at line 21 of file CoarseCCatIntervals.h.
std::pair<double, algebra::Vector3Ds> IMP::em::CoarseCCatIntervals::evaluate | ( | DensityMap * | em_map, |
SampledDensityMap * | model_map, | ||
const algebra::Vector3Ds & | deriv, | ||
float | scalefac, | ||
bool | lderiv, | ||
unsigned long | eval_interval | ||
) |
Evaluates the value of the cross correlation term but only at given intervals to save computation time. Otherwise, the same value is returned. This function has an special behavior, as it does not return the true cross correlation coefficient ccc, but the value: scalefac*(1-ccc)
The reason why is to use this term as part of an scoring function that is better the lower the term. If you want the cross correlation coefficient, use cross_correlation_coefficient() instead.
[in] | em_map | exp EM map |
[in] | model_map | an empty map that will contain the sampled particles in the access_p |
[in] | scalefac | scale factor to apply to the value of the cross correlation term |
[in] | deriv | input derivatives (only the size is used) |
[in] | lderiv | if true, the derivatives of the term are computed |
[in] | eval_interval | the number of times the function is going to return the same value before computing the values again |
|
protected |
The evaluation is only performed the first time and when calls_counter reaches eval_interval. Otherwise the stored_cc_ value is returned
Definition at line 66 of file CoarseCCatIntervals.h.