IMP  2.2.1
The Integrative Modeling Platform
IMP::saxs::WeightedProfileFitter Class Reference

#include <IMP/saxs/WeightedProfileFitter.h>

+ Inheritance diagram for IMP::saxs::WeightedProfileFitter:

Public Member Functions

 WeightedProfileFitter (const Profile *exp_profile)
 Constructor. More...
 
Float compute_score (const ProfilesTemp &profiles, std::vector< double > &weights, bool NNLS=true) const
 compute a weighted score that minimizes chi More...
 
WeightedFitParameters fit_profile (ProfilesTemp partial_profiles, float min_c1=0.95, float max_c1=1.05, float min_c2=-2.0, float max_c2=4.0) const
 fit profiles by optimization of c1/c2 and weights More...
 
void write_fit_file (ProfilesTemp partial_profiles, const WeightedFitParameters &fp, const std::string fit_file_name) const
 write a fit file
 
- Public Member Functions inherited from IMP::saxs::ProfileFitter< ChiScore >
 ProfileFitter (const Profile *exp_profile)
 Constructor. More...
 
 ProfileFitter (const Profile *exp_profile, ChiScore *sf)
 
Float compute_offset (const Profile *model_profile) const
 computes offset for fitting for fitting the modeled profile More...
 
Float compute_scale_factor (const Profile *model_profile, Float offset=0.0) const
 computes the scaling factor needed for fitting the modeled profile More...
 
Float compute_score (const Profile *model_profile, bool use_offset=false, const std::string fit_file_name="") const
 compute fit score
 
Float compute_score (const Profile *model_profile, Float min_q, Float max_q) const
 compute fit score in the interval
 
FitParameters fit_profile (Profile *partial_profile, float min_c1=0.95, float max_c1=1.05, float min_c2=-2.0, float max_c2=4.0, bool use_offset=false, const std::string fit_file_name="") const
 fit experimental profile through optimization of c1 and c2 parameters More...
 
void resample (const Profile *model_profile, Profile *resampled_profile) const
 resampling of the modeled profile is required to fit the q
 
void write_SAXS_fit_file (const std::string &file_name, const Profile *model_profile, const Float chi_square, const Float c=1, const Float offset=0) const
 
- 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
 
virtual VersionInfo get_version_info () const
 Get information about the module and version of the object.
 
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)
 
virtual std::string get_type_name () const
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
- Protected Attributes inherited from IMP::saxs::ProfileFitter< ChiScore >
base::PointerMember< const
Profile
exp_profile_
 
ChiScorescoring_function_
 

Detailed Description

Fitting of multiple profiles to the experimental one. The weights of the profiles are computed analytically using non-negative least squares fitting (NNLS).

Definition at line 27 of file WeightedProfileFitter.h.

Constructor & Destructor Documentation

IMP::saxs::WeightedProfileFitter::WeightedProfileFitter ( const Profile exp_profile)
Parameters
[in]exp_profileExperimental profile we want to fit

Member Function Documentation

Float IMP::saxs::WeightedProfileFitter::compute_score ( const ProfilesTemp profiles,
std::vector< double > &  weights,
bool  NNLS = true 
) const

it is assumed that the q values of the profiles are the same as the q values of the experimental profile. Use Profile::resample to resample if(NNLS = true, solve non-negative least squares, otherwise solve just least squares, that may return negative weights to be discarded later

WeightedFitParameters IMP::saxs::WeightedProfileFitter::fit_profile ( ProfilesTemp  partial_profiles,
float  min_c1 = 0.95,
float  max_c1 = 1.05,
float  min_c2 = -2.0,
float  max_c2 = 4.0 
) const

it is assumed that the q values of the profiles are the same as the q values of the experimental profile. Use Profile::resample to resample


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