IMP
2.2.0
The Integrative Modeling Platform
IMP Mainpage
All IMP Modules
Related Pages
Modules
Namespaces
Classes
Files
Examples
Indexes
File List
File Members
domino_filters.h
Go to the documentation of this file.
1
/**
2
* \file IMP/em2d/domino_filters.h
3
* \brief SubsetFilter for checking overlap between projections and images
4
*
5
* Copyright 2007-2014 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPEM2D_DOMINO_FILTERS_H
10
#define IMPEM2D_DOMINO_FILTERS_H
11
12
#include "
IMP/em2d/image_processing.h
"
13
#include "
IMP/em2d/domino_particle_states.h
"
14
#include "
IMP/algebra/Vector3D.h
"
15
#include "
IMP/domino/subset_filters.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_;
30
base::Pointer<domino::ParticleStatesTable>
ps_table_;
31
double
max_distance_;
32
33
public
:
34
/*! Filter action on the distance between two particles. To be used with
35
DOMINO
36
\param[in] subset_to_act_on A subset that is going to be filtered.
37
\param[in] subset_to_restrain A subset of 2 particles that need to be
38
within a given distance
39
\param[in] ps_table table containing the states for subset_to_act_on and
40
subset_to_restraint
41
\param[in] max_distance The maximum distance between the particles in
42
subset_to_restrain
43
*/
44
DistanceFilter
(
const
domino::Subset
&subset_to_act_on,
45
const
domino::Subset
&subset_to_restrain,
46
domino::ParticleStatesTable
*ps_table,
double
max_distance)
47
: subset_acting_on_(subset_to_act_on),
48
subset_restrained_(subset_to_restrain),
49
ps_table_(ps_table),
50
max_distance_(max_distance) {
51
IMP_LOG_TERSE
(
"DistanceFilter created"
<< std::endl);
52
}
53
void
show
(std::ostream &out = std::cout)
const
{
54
out <<
"DistanceFilter"
<< std::endl;
55
}
56
57
virtual
bool
get_is_ok
(
const
IMP::domino::Assignment
&assignment)
const
58
IMP_OVERRIDE;
59
60
IMP_OBJECT_NO_WARNING
(
DistanceFilter
);
61
};
62
63
IMP_OBJECTS
(
DistanceFilter
,
DistanceFilters
);
64
65
IMPEM2D_END_NAMESPACE
66
67
#endif
/* IMPEM2D_DOMINO_FILTERS_H */
image_processing.h
Image processing functions.
base_types.h
Import IMP/kernel/base_types.h in the namespace.
Pointer.h
A nullptr-initialized pointer to an IMP Object.
Assignment.h
A beyesian infererence-based sampler.
IMP_OBJECT_NO_WARNING
#define IMP_OBJECT_NO_WARNING(Name)
Only to work around a gcc bug.
Definition:
base/object_macros.h:38
IMP::base::Pointer< domino::ParticleStatesTable >
subset_filters.h
A beyesian infererence-based sampler.
IMP::domino::Subset
Represent a subset of the particles being optimized.
Definition:
Subset.h:33
IMP::domino::SubsetFilter::get_is_ok
virtual bool get_is_ok(const Assignment &state) const =0
domino_particle_states.h
kernel::Particles states for a rigid body that is going to be projected
IMP::base::Vector
Definition:
base/Vector.h:37
IMP_LOG_TERSE
#define IMP_LOG_TERSE(expr)
Definition:
base/log_macros.h:83
IMP::domino::ParticleStatesTable
Definition:
particle_states.h:73
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Definition:
base/object_macros.h:52
IMP::em2d::DistanceFilter
SubsetFilter for checking overlap between projections and images.
Definition:
domino_filters.h:25
IMP::domino::Assignment
Store a configuration of a subset.
Definition:
Assignment.h:32
IMP::atom::show
void show(Hierarchy h, std::ostream &out=std::cout)
Print out a molecular hierarchy.
Definition:
atom/Hierarchy.h:443
log.h
Logging and error reporting support.
Vector3D.h
Simple 3D vector class.
IMP::domino::SubsetFilter
Definition:
subset_filters.h:44
IMP::em2d::DistanceFilter::DistanceFilter
DistanceFilter(const domino::Subset &subset_to_act_on, const domino::Subset &subset_to_restrain, domino::ParticleStatesTable *ps_table, double max_distance)
Definition:
domino_filters.h:44