IMP  2.1.0
The Integrative Modeling Platform
DensityDataPoints.h
Go to the documentation of this file.
1 /**
2  * \file IMP/multifit/DensityDataPoints.h
3  * \brief Handling of data for anchor points segmentation
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPMULTIFIT_DENSITY_DATA_POINTS_H
10 #define IMPMULTIFIT_DENSITY_DATA_POINTS_H
11 
12 #include <IMP/base_types.h>
13 #include <IMP/kernel/Particle.h>
15 #include <IMP/statistics/internal/random_generator.h>
16 #include <IMP/statistics/internal/DataPoints.h>
17 #include <IMP/em/converters.h>
18 #include <IMP/em/DensityMap.h>
19 #include <IMP/algebra/Vector3D.h>
20 #include <IMP/algebra/internal/tnt_array2d.h>
21 #include <IMP/algebra/internal/tnt_array2d_utils.h>
22 #include <IMP/atom/Hierarchy.h>
23 #include <boost/scoped_ptr.hpp>
24 #include <IMP/multifit/multifit_config.h>
25 #include <map>
26 
27 IMPMULTIFIT_BEGIN_NAMESPACE
28 typedef IMP::algebra::DenseGrid3D<double> DensGrid;
29 
30 IMPMULTIFITEXPORT
31 em::DensityMap *grid2map(const DensGrid &dg,float spacing);
32 
33 
34 //! Stores density voxels as a vector of Array1D.
35 /**
36 \note This manipulation is needed for matrix operations.
37  */
38 class IMPMULTIFITEXPORT DensityDataPoints
39  : public IMP::statistics::internal::XYZDataPoints
40 {
41  public:
43  float density_threshold);
44  DensityDataPoints(const DensGrid &dens,
45  float density_threshold);
46  IMP::statistics::internal::Array1DD sample() const;
47 
48  // em::DensityMap* get_density_map() const {return dens_;}
49 
51  protected:
52  void populate_data();
53  void set_max_min_density_values();
54  void set_density(em::DensityMap *d);
55  void set_density(const DensGrid &dens);
56  //TODO - change back once DensityMap will be Grid3D
57  //Pointer<DensGrid> dens_; /// TODO - make the class an object
58  boost::scoped_ptr<DensGrid> dens_;
59  // em::DensityMap *dens_;
60  double max_value_,min_value_;
61  double threshold_;
62 };
64 
65 IMPMULTIFIT_END_NAMESPACE
66 
67 #endif /* IMPMULTIFIT_DENSITY_DATA_POINTS_H */
Import IMP/kernel/base_types.h in the namespace.
Converters of density values.
Class for handling density maps.
Decorator for helping deal with a hierarchy of molecules.
Class for handling density maps.
Definition: DensityMap.h:98
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Stores density voxels as a vector of Array1D.
Classes to handle individual model particles.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Simple 3D vector class.
A class to represent a voxel grid.