IMP
2.3.1
The Integrative Modeling Platform
IMP Mainpage
Modules
Applications
Related Pages
Groups
Classes
Files
Examples
Indexes
File List
File Members
IMP
Modules
Applications
All IMP Applications
Argument Index
Class Examples
Factory Index
Function Examples
Design example
Developer Guide
Installation
Introduction
Publications
ChangeLog
Tools
Dependencies
PMI changelog
Deprecated List
Groups
Classes
Files
File List
File Members
Examples
Indexes
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_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