IMP logo
IMP Reference Guide  develop.27926d84dc,2024/04/19
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  */
38 IMPEMEXPORT Float
39  get_molecular_mass_at_threshold(DensityMap* m, Float threshold,
41  atom::HARPAZ);
42 
43 //! Computes the threshold consider in an EM map to get a desired volume
44 /** Computes the threshold consider in an EM map to get a desired volume
45  * (i.e, the set of voxels with intensity greater than the threshold
46  * occupies that volume)
47 \param[in] m a density map
48 \param[in] desired_volume (in A^3)
49  */
50 IMPEMEXPORT Float
51  get_threshold_for_approximate_volume(DensityMap* m, Float desired_volume);
52 
53 //! Computes the threshold to consider in an EM map to get a desired mass
54 /** Computes the threshold to consider in an EM map to get a desired mass
55  * (only voxels with intensity greater than the threshold are considered)
56 \param[in] m a density map
57 \param[in] desired_mass (in Da)
58 \param[in] ref the protein density reference to use in the computation.
59 The default protein density for this computation is HARPAZ
60  */
61 IMPEMEXPORT Float
62  get_threshold_for_approximate_mass(DensityMap* m, Float desired_mass,
64  atom::HARPAZ);
65 
66 IMPEM_END_NAMESPACE
67 
68 #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.
Basic types used by IMP.
ProteinDensityReference
Definition: estimates.h:33
Class for handling density maps.
double Float
Basic floating-point value (could be float, double...)
Definition: types.h:19
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.