home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.20.2
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
saxs
version 2.20.2
ChiFreeScore.h
Go to the documentation of this file.
1
/**
2
* \file IMP/saxs/ChiFreeScore.h \brief Chi free score implementation
3
*
4
* Copyright 2007-2022 IMP Inventors. All rights reserved.
5
* TODO: add reference
6
*/
7
8
#ifndef IMPSAXS_CHI_FREE_SCORE_H
9
#define IMPSAXS_CHI_FREE_SCORE_H
10
11
#include <IMP/saxs/saxs_config.h>
12
#include "
Profile.h
"
13
14
IMPSAXS_BEGIN_NAMESPACE
15
/**
16
Implementation of chi free score
17
Accurate assessment of mass, models and resolution by small-angle scattering.
18
Rambo RP, Tainer JA. Nature. 2013
19
*/
20
class
IMPSAXSEXPORT
ChiFreeScore
:
public
IMP::Object
{
21
public
:
22
ChiFreeScore
(
unsigned
int
ns,
unsigned
int
k) :
23
IMP::Object
(
"ChiFreeScore%1%"
), ns_(ns), K_(k) {
24
if
(K_ % 2 == 0) K_++;
// make sure it is odd for median
25
last_scale_updated_ =
false
;
26
}
27
28
double
compute_score(
const
Profile
* exp_profile,
const
Profile
* model_profile,
29
bool
use_offset =
false
)
const
;
30
31
double
compute_scale_factor(
const
Profile
* exp_profile,
32
const
Profile
* model_profile,
33
double
offset = 0.0)
const
;
34
35
double
compute_offset(
const
Profile
* exp_profile,
36
const
Profile
* model_profile)
const
;
37
38
private
:
39
unsigned
int
ns_;
// number of Shannon channels
40
unsigned
int
K_;
41
double
last_scale_;
42
bool
last_scale_updated_;
43
};
44
45
IMPSAXS_END_NAMESPACE
46
47
#endif
/* IMPSAXS_CHI_FREE_SCORE_H */
IMP::saxs::Profile
Definition:
Profile.h:34
IMP::saxs::ChiFreeScore
Definition:
ChiFreeScore.h:20
IMP::Object
Common base class for heavy weight IMP objects.
Definition:
Object.h:111
Profile.h
A class for profile storing and computation.