IMP  2.3.0
The Integrative Modeling Platform
IMP::em::CoarseCCatIntervals Class Reference

Cross correlation coefficient calculator. More...

#include <IMP/em/CoarseCCatIntervals.h>

+ Inheritance diagram for IMP::em::CoarseCCatIntervals:

Detailed Description

Cross correlation coefficient calculator.

Store CCC and derivative values and recompute then every X steps.

Definition at line 21 of file 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. More...
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
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...
 
virtual void do_destroy ()
 

Protected Attributes

int calls_counter_
 Number of times the evaluation has been called. More...
 
bool dv_memory_allocated_
 
float stored_cc_
 Stored correlation value. More...
 
double * stored_dvx_
 Stored derivative terms. More...
 
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. More...
 

Member Function Documentation

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 
)

Evaluate the cross-correlation value only every X calls to the function.

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.

Parameters
[in]em_mapexp EM map
Note
correct RMSD and mean MUST be in the header!
Parameters
[in]model_mapan empty map that will contain the sampled particles in the access_p
[in]scalefacscale factor to apply to the value of the cross correlation term
[in]derivinput derivatives (only the size is used)
[in]lderivif true, the derivatives of the term are computed
[in]eval_intervalthe number of times the function is going to return the same value before computing the values again
Returns
the value of the cross correlation term: scalefac * (1-CCC) and a vector of derivatives
virtual ::IMP::base::VersionInfo IMP::em::CoarseCCatIntervals::get_version_info ( ) const
virtual

Get information about the module and version of the object.

Reimplemented from IMP::em::CoarseCC.

Definition at line 59 of file CoarseCCatIntervals.h.

Member Data Documentation

int IMP::em::CoarseCCatIntervals::calls_counter_
protected

Number of times the evaluation has been called.

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.

float IMP::em::CoarseCCatIntervals::stored_cc_
protected

Stored correlation value.

Definition at line 68 of file CoarseCCatIntervals.h.

double* IMP::em::CoarseCCatIntervals::stored_dvx_
protected

Stored derivative terms.

Definition at line 70 of file CoarseCCatIntervals.h.


The documentation for this class was generated from the following file: