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
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-2014 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
>
14
#include <
IMP/algebra/standard_grids.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
//! Stores density voxels as a vector of Array1D.
34
/**
35
\note This manipulation is needed for matrix operations.
36
*/
37
class
IMPMULTIFITEXPORT
DensityDataPoints
38
:
public
IMP::statistics::internal::XYZDataPoints {
39
public
:
40
DensityDataPoints
(
em::DensityMap
*dens,
float
density_threshold);
41
DensityDataPoints
(
const
DensGrid
&dens,
float
density_threshold);
42
IMP::statistics::internal::Array1DD sample()
const
;
43
44
// em::DensityMap* get_density_map() const {return dens_;}
45
46
IMP_OBJECT_METHODS
(
DensityDataPoints
);
47
48
protected
:
49
void
populate_data();
50
void
set_max_min_density_values();
51
void
set_density(
em::DensityMap
*d);
52
void
set_density(
const
DensGrid
&dens);
53
// TODO - change back once DensityMap will be Grid3D
54
// Pointer<DensGrid> dens_; /// TODO - make the class an object
55
boost::scoped_ptr<DensGrid> dens_;
56
// em::DensityMap *dens_;
57
double
max_value_, min_value_;
58
double
threshold_;
59
};
60
IMP_OBJECTS
(
DensityDataPoints
,
DensityDataPointsList
);
61
62
IMPMULTIFIT_END_NAMESPACE
63
64
#endif
/* IMPMULTIFIT_DENSITY_DATA_POINTS_H */
base_types.h
Import IMP/kernel/base_types.h in the namespace.
IMP::base::Vector
Definition:
base/Vector.h:37
converters.h
Converters of density values.
DensityMap.h
Class for handling density maps.
Hierarchy.h
Decorator for helping deal with a hierarchy of molecules.
IMP::em::DensityMap
Class for handling density maps.
Definition:
DensityMap.h:94
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
base/object_macros.h:25
IMP::multifit::DensityDataPoints
Stores density voxels as a vector of Array1D.
Definition:
DensityDataPoints.h:37
Particle.h
Classes to handle individual model particles.
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Definition:
base/object_macros.h:52
Vector3D.h
Simple 3D vector class.
standard_grids.h
All grids that are in the python API should be defined here.
IMP::algebra::DenseGrid3D
Definition:
standard_grids.h:53