IMP logo

IMP::em::CoarseCCatIntervals Class Reference


Detailed Description

Cross correlation coefficient calculator.

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

Inheritance diagram for IMP::em::CoarseCCatIntervals:

Inheritance graph
[legend]

Public Member Functions

 CoarseCCatIntervals (const int &ncd)
float evaluate (DensityMap &em_map, SampledDensityMap &model_map, std::vector< float > &dvx, std::vector< float > &dvy, std::vector< float > &dvz, float scalefac, bool lderiv, unsigned long eval_interval)
 Evaluate the cross-correlation value only every X calls to the function.

Protected Member Functions

void allocate_derivatives_array (int ncd)

Protected Attributes

int calls_counter_
 Number of times the evaluation has been called.
bool dv_memory_allocated_
float stored_cc_
 Stored correlation value.
float * stored_dvx_
 Stored derivative terms.
float * stored_dvy_
float * stored_dvz_

Member Function Documentation

float IMP::em::CoarseCCatIntervals::evaluate ( DensityMap em_map,
SampledDensityMap model_map,
std::vector< float > &  dvx,
std::vector< float > &  dvy,
std::vector< float > &  dvz,
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_map exp EM map
Note:
correct RMSD and mean MUST be in the header!
Parameters:
[in] model_map an empty map that will contain the sampled particles in the access_p
[in] dvx to contain the x partial derivatives
[in] dvy to contain the y partial derivatives
[in] dvz to contain the z partial derivatives
[in] scalefac scale factor to apply to the value of the cross correlation term
[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
Returns:
the value of the cross correlation term: scalefac * (1-CCC)


Field Documentation

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


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

Generated on Mon Mar 8 23:09:01 2010 for IMP by doxygen 1.5.8