IMP
2.4.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Classes
Examples
include
IMP
multifit
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-2015 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_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::base::Vector
Definition:
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::multifit::DensityDataPoints
Stores density voxels as a vector of Array1D.
Definition:
DensityDataPoints.h:37
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions in in int...
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Definition:
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
A dense grid of values.
Definition:
standard_grids.h:54