IMP  2.1.1
The Integrative Modeling Platform
domino_filters.h
Go to the documentation of this file.
1 /**
2  * \file em2d/domino_filters.h
3  * \brief SubsetFilter for checking overlap between projections and images
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPEM2D_DOMINO_FILTERS_H
10 #define IMPEM2D_DOMINO_FILTERS_H
11 
14 #include "IMP/algebra/Vector3D.h"
16 #include "IMP/domino/Assignment.h"
17 #include "IMP/base/Pointer.h"
18 #include "IMP/base_types.h"
19 #include "IMP/base/log.h"
20 #include <iostream>
21 
22 IMPEM2D_BEGIN_NAMESPACE
23 
24 //! SubsetFilter for checking overlap between projections and images
25 class IMPEM2DEXPORT DistanceFilter: public domino::SubsetFilter {
26 
27 protected:
28  domino::Subset subset_acting_on_;
29  domino::Subset subset_restrained_;
31  double max_distance_;
32 
33 public:
34 
35  /*! Filter action on the distance between two particles. To be used with
36  DOMINO
37  \param[in] subset_to_act_on A subset that is going to be filtered.
38  \param[in] subset_to_restrain A subset of 2 particles that need to be
39  within a given distance
40  \param[in] ps_table table containing the states for subset_to_act_on and
41  subset_to_restraint
42  \param[in] max_distance The maximum distance between the particles in
43  subset_to_restrain
44  */
45  DistanceFilter(const domino::Subset &subset_to_act_on,
46  const domino::Subset &subset_to_restrain,
48  double max_distance) : subset_acting_on_(subset_to_act_on),
49  subset_restrained_(subset_to_restrain),
50  ps_table_(ps_table),
51  max_distance_(max_distance) {
52  IMP_LOG_TERSE( "DistanceFilter created" << std::endl);
53  }
54  void show(std::ostream &out = std::cout) const {
55  out << "DistanceFilter" << std::endl;
56  }
58 };
59 
61 
62 IMPEM2D_END_NAMESPACE
63 
64 
65 #endif /* IMPEM2D_DOMINO_FILTERS_H */
Image processing functions.
Import IMP/kernel/base_types.h in the namespace.
A nullptr-initialized pointer to an IMP Object.
A beyesian infererence-based sampler.
A beyesian infererence-based sampler.
Represent a subset of the particles being optimized.
Definition: Subset.h:33
kernel::Particles states for a rigid body that is going to be projected
#define IMP_LOG_TERSE(expr)
#define IMP_SUBSET_FILTER(Name)
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
SubsetFilter for checking overlap between projections and images.
void show(Hierarchy h, std::ostream &out=std::cout)
Print out a molecular hierarchy.
Logging and error reporting support.
Simple 3D vector class.
DistanceFilter(const domino::Subset &subset_to_act_on, const domino::Subset &subset_to_restrain, domino::ParticleStatesTable *ps_table, double max_distance)