7 #ifndef IMPEM2D_SCORES_2D_H
8 #define IMPEM2D_SCORES_2D_H
10 #include "IMP/em2d/em2d_config.h"
19 IMPEM2D_BEGIN_NAMESPACE
24 const RegistrationResult &rr2);
29 const RegistrationResult &rr2);
31 IMPEM2DEXPORT
double get_average_rotation_error(
35 IMPEM2DEXPORT
double get_average_shift_error(
65 return get_private_score(image, projection);
68 void set_variance_image(
Image *var) {
69 set_variance_image_private(var);
76 unsigned int n_members_;
79 virtual double get_private_score(Image *image, Image *projection)
const = 0;
80 virtual void set_variance_image_private(Image *image) {
IMP_UNUSED(image);};
92 mutable Pointer<Image> variance_;
93 double get_private_score(
Image *,
Image *)
const;
94 void set_variance_imag_private(
Image *var) {variance_ = var;}
105 double get_private_score(
Image *image,
Image *projection)
const {
112 class IMPEM2DEXPORT MeanAbsoluteDifference:
public ScoreFunction {
116 double get_private_score(Image *image, Image *projection)
const;
126 public std::binary_function< T , T ,bool>
130 bool operator()(
const T &a,
const T &b)
const {
131 return a.get_ccc() >= b.get_ccc();
133 void show(std::ostream &)
const {}
142 public std::binary_function< T, T, bool>
146 bool operator()(
const T &a,
const T &b)
const {
147 return a.second < b.second;
149 void show(std::ostream &)
const {}
159 public std::binary_function< T , T ,bool>
163 bool operator()(
const T &a,
const T &b)
const {
164 return a.get_score() < b.get_score();
166 void show(std::ostream &)
const {}
169 IMPEM2D_END_NAMESPACE