IMP  2.1.0
The Integrative Modeling Platform
density_map_volumetrics.h
Go to the documentation of this file.
1 /**
2  * \file IMP/em/density_map_volumetrics.h
3  * \brief Classes and functions to handle
4  * volumetric properties in Density maps
5  *
6  */
7 
8 #ifndef IMPEM_DENSITY_MAP_VOLUMETRICS_H
9 #define IMPEM_DENSITY_MAP_VOLUMETRICS_H
10 
11 #include <IMP/em/em_config.h>
12 #include <IMP/em/DensityMap.h>
13 #include <IMP/base_types.h> // Float
14 #include <IMP/em/em_config.h>
15 #include <IMP/atom/estimates.h>
16 
17 IMPEM_BEGIN_NAMESPACE
18 //! Compute an approximate volume
19 /** Compute an approximate volume for the set of voxels with intensity
20  under a given threshold
21 \param[in] m a density map
22 \param[in] threshold consider volume of only voxels above this threshold
23 \return a volume for the set of voxels with intensity
24 under the provided threshold
25  */
26 IMPEMEXPORT Float get_volume_at_threshold(DensityMap* m, Float threshold);
27 
28 //! Compute an approximate molecular mass
29 /** Compute an approximate molecular mass for the set of voxels with intensity
30  under a given threshold
31 \param[in] m a density map
32 \param[in] threshold only voxels above this threshold will be considered
33 \param[in] ref the protein density reference to use in the computation.
34 The default protein density for this computation is HARPAZ
35 \return an approximate molecular mass for the set of voxels with intensity
36 under the provided threshold (mass in Da)
37  */
39  DensityMap* m,
40  Float threshold,
41  atom::ProteinDensityReference ref=atom::HARPAZ
42  );
43 
44 //! Computes the threshold consider in an EM map to get a desired volume
45 /** Computes the threshold consider in an EM map to get a desired volume
46  * (i.e, the set of voxels with intensity greater than the threshold
47  * occupies that volume)
48 \param[in] m a density map
49 \param[in] desired_volume (in A^3)
50  */
52  DensityMap* m,
53  Float desired_volume);
54 
55 
56 //! Computes the threshold to consider in an EM map to get a desired mass
57 /** Computes the threshold to consider in an EM map to get a desired mass
58  * (only voxels with intensity greater than the threshold are considered)
59 \param[in] m a density map
60 \param[in] desired_mass (in Da)
61 \param[in] ref the protein density reference to use in the computation.
62 The default protein density for this computation is HARPAZ
63  */
65  DensityMap* m,
66  Float desired_mass,
67  atom::ProteinDensityReference ref=atom::HARPAZ
68  );
69 
70 IMPEM_END_NAMESPACE
71 
72 #endif /* IMPEM_DENSITY_MAP_VOLUMETRICS_H */
Float get_threshold_for_approximate_mass(DensityMap *m, Float desired_mass, atom::ProteinDensityReference ref=atom::HARPAZ)
Computes the threshold to consider in an EM map to get a desired mass.
Import IMP/kernel/base_types.h in the namespace.
ProteinDensityReference
Definition: estimates.h:33
Class for handling density maps.
double Float
Basic floating-point value (could be float, double...)
Definition: base/types.h:20
Float get_molecular_mass_at_threshold(DensityMap *m, Float threshold, atom::ProteinDensityReference ref=atom::HARPAZ)
Compute an approximate molecular mass.
Estimates of various physical quantities.
Float get_threshold_for_approximate_volume(DensityMap *m, Float desired_volume)
Computes the threshold consider in an EM map to get a desired volume.
Float get_volume_at_threshold(DensityMap *m, Float threshold)
Compute an approximate volume.