home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.14.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
multifit
version 2.14.0
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-2020 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/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
Basic types used by IMP.
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::Vector
A more IMP-like version of the std::vector.
Definition:
Vector.h:39
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:93
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 is in int...
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition:
object_macros.h:44
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