IMP logo

IMP::saxs::Score Class Reference


Detailed Description

SAXS scoring class that allows to compute chi score for the fit between the experimental and computational profile. In addition, derivatives with respect to the experimental profile can be computed and further used for optimization.
Inheritance diagram for IMP::saxs::Score:

Inheritance graph
[legend]

Public Member Functions

void compute_chi_derivative (const Profile &model_profile, const Particles &particles1, const Particles &particles2, std::vector< algebra::VectorD< 3 > > &derivatives, bool use_offset=false) const
 compute derivatives for particles1 with respect to particles2
void compute_chi_derivative (const Profile &model_profile, const Particles &particles, std::vector< algebra::VectorD< 3 > > &derivatives, bool use_offset=false) const
 compute derivatives for each Particle in particles
Float compute_chi_score (const Profile &model_profile, bool use_offset=false, const std::string fit_file_name="") const
 compute chi value
Float compute_chi_square_score (const Profile &model_profile, bool use_offset=false, const std::string fit_file_name="") const
 compute squared chi value
Float compute_offset (const Profile &model_profile) const
Float compute_scale_factor (const Profile &model_profile, Float offset=0.0) const
 computes scale factor given offset value
 Score (const Profile &exp_profile)
 Constructor.

Protected Attributes

const Profileexp_profile_

Friends

template<class T >
void IMP::internal::unref (T *)

Constructor & Destructor Documentation

IMP::saxs::Score::Score ( const Profile exp_profile  ) 

Constructor.

Parameters:
[in] exp_profile Experimental profile we want to fit


Member Function Documentation

void IMP::saxs::Score::compute_chi_derivative ( const Profile model_profile,
const Particles particles1,
const Particles particles2,
std::vector< algebra::VectorD< 3 > > &  derivatives,
bool  use_offset = false 
) const

compute derivatives for particles1 with respect to particles2

This method is needed for rigid bodies when particles1 and particles2 are particles of two rigid bodies. In this case the particles of the same rigid body are ignored.

Parameters:
[in] model_profile The current profile of particles
[in] particles1 Derivative will be computed for each particle
[in] particles2 Derivative will be computed relative to this set
[in] derivatives Output vector
[in] use_offset if true, non zero offset for fitting is used
Returns:
chi square score for current particle setup

void IMP::saxs::Score::compute_chi_derivative ( const Profile model_profile,
const Particles particles,
std::vector< algebra::VectorD< 3 > > &  derivatives,
bool  use_offset = false 
) const

compute derivatives for each Particle in particles

Parameters:
[in] model_profile The current profile of particles
[in] particles Derivative will be computed for each particle
[in] derivatives Output vector
[in] use_offset if true, non zero offset for fitting is used
Returns:
chi square score for current particle setup


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

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