9 #ifndef IMPEM_MASKING_H
10 #define IMPEM_MASKING_H
12 #include <IMP/em/em_config.h>
17 class IMPEMEXPORT RadiusDependentDistanceMask {
20 RadiusDependentDistanceMask(
21 float sampling_radius,
const DensityHeader &header);
22 inline const std::vector<double> *get_neighbor_shift()
const {
23 return &neighbor_shift_;}
24 inline const std::vector<double> *get_neighbor_dist()
const {
25 return &neighbor_dist_;}
26 inline const std::vector<double> *get_neighbor_dist_exp()
const {
27 return &neighbor_dist_exp_;}
29 void show(std::ostream& out)
const { out <<
"RadiusDependentDistanceMask"; }
31 std::vector<double> neighbor_shift_;
32 std::vector<double> neighbor_dist_;
33 std::vector<double> neighbor_dist_exp_;
50 void show(std::ostream& out)
const { out <<
"DistanceMask"; }
51 #if !defined(SWIG) && !defined(IMP_DOXYGEN)
53 const RadiusDependentDistanceMask* set_mask(
float radius);
65 const RadiusDependentDistanceMask* get_mask(
66 float radius,
float eps=0.001)
const;
68 bool is_mask_set(
float radius,
float eps=0.001) {
69 return get_mask(radius, eps) !=
nullptr;
73 std::map<float, const RadiusDependentDistanceMask*> MASK_MAP;