home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.d97d4ead1f,2024/11/21
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
multifit
version 20241121.develop.d97d4ead1f
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:50
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