home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.20.2
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
multifit
version 2.20.2
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-2022 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/atom/Hierarchy.h
>
21
#include <boost/scoped_ptr.hpp>
22
#include <IMP/multifit/multifit_config.h>
23
#include <map>
24
25
IMPMULTIFIT_BEGIN_NAMESPACE
26
typedef
IMP::algebra::DenseGrid3D<double>
DensGrid;
27
28
IMPMULTIFITEXPORT
29
em::DensityMap *grid2map(
const
DensGrid &dg,
float
spacing);
30
31
//! Stores density voxels as a vector of Array1D.
32
/**
33
\note This manipulation is needed for matrix operations.
34
*/
35
class
IMPMULTIFITEXPORT
DensityDataPoints
36
:
public
IMP::statistics::internal::XYZDataPoints {
37
public
:
38
DensityDataPoints
(
em::DensityMap
*dens,
float
density_threshold);
39
DensityDataPoints
(
const
DensGrid
&dens,
float
density_threshold);
40
IMP::statistics::internal::Array1DD sample()
const override
;
41
42
// em::DensityMap* get_density_map() const {return dens_;}
43
44
IMP_OBJECT_METHODS
(
DensityDataPoints
);
45
46
protected
:
47
void
populate_data();
48
void
set_max_min_density_values();
49
void
set_density(
em::DensityMap
*d);
50
void
set_density(
const
DensGrid
&dens);
51
// TODO - change back once DensityMap will be Grid3D
52
// Pointer<DensGrid> dens_; /// TODO - make the class an object
53
boost::scoped_ptr<DensGrid> dens_;
54
// em::DensityMap *dens_;
55
double
max_value_, min_value_;
56
double
threshold_;
57
};
58
IMP_OBJECTS
(
DensityDataPoints
,
DensityDataPointsList
);
59
60
IMPMULTIFIT_END_NAMESPACE
61
62
#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:42
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:95
IMP::multifit::DensityDataPoints
Stores density voxels as a vector of Array1D.
Definition:
DensityDataPoints.h:35
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