|
IMP
2.0.1
The Integrative Modeling Platform
|
Class for sampling a density map from particles.
#include <IMP/em/SampledDensityMap.h>
Inheritance diagram for IMP::em::SampledDensityMap:Public Member Functions | |
| SampledDensityMap (KernelType kt=GAUSSIAN) | |
| Creates a new density map for sampled map. More... | |
| SampledDensityMap (const DensityHeader &header, KernelType kt=GAUSSIAN) | |
| The size of the map is determined by the header and the data is allocated. | |
| SampledDensityMap (const ParticlesTemp &ps, emreal resolution, emreal voxel_size, IMP::FloatKey mass_key=IMP::atom::Mass::get_mass_key(), int sig_cuttoff=3, KernelType kt=GAUSSIAN) | |
| Generate a sampled density map from the particles. More... | |
| KernelParameters * | get_kernel_params () |
| float | get_minimum_resampled_value () |
| Get minimum density value between voxels that correspond to particles. | |
| const Particles & | get_sampled_particles () const |
| FloatKey | get_weight_key () const |
| const core::XYZRs & | get_xyzr_particles () const |
| void | project (const ParticlesTemp &ps, int x_margin, int y_margin, int z_margin, algebra::Vector3D shift=algebra::Vector3D(0., 0., 0.), FloatKey mass_key=atom::Mass::get_mass_key()) |
| Project particles on the grid by their mass value. More... | |
| virtual void | resample () |
| Resample beads on an EM grid. More... | |
| void | set_particles (const ParticlesTemp &ps, IMP::FloatKey mass_key=IMP::atom::Mass::get_mass_key()) |
| setting particles in case they were not set by the constructor | |
Public Member Functions inherited from IMP::em::DensityMap | |
| DensityMap (std::string name="DensityMap%1%") | |
| DensityMap (const DensityHeader &header, std::string name="DensityMap%1%") | |
| Construct a density map as intructed in the input header. | |
| void | add (const DensityMap *other) |
| void | calc_all_voxel2loc () |
| Calculates the coordinates that correspond to all voxels. | |
| emreal | calcRMS () |
| Calculates RMSD and mean of a map values are stored in the header. More... | |
| void | copy_map (const DensityMap *other) |
| copy map into this map | |
| algebra::Vector3D | get_centroid (emreal threshold=0.0) const |
| DensityMap * | get_cropped (float threshold) |
| Create a new cropped map. More... | |
| DensityMap * | get_cropped (const algebra::BoundingBox3D &bb) |
| Create a new cropped map with the bounding box extent. More... | |
| int | get_dim_index_by_location (const algebra::Vector3D &v, int ind) const |
| Calculate dimension index of a given location. More... | |
| int | get_dim_index_by_location (float loc_val, int ind) const |
| const DensityHeader * | get_header () const |
| DensityHeader * | get_header_writable () |
| Returns a pointer to the header of the map in a writable version. | |
| algebra::Vector3D | get_location_by_voxel (long index) const |
| Calculate the location of a given voxel. More... | |
| float | get_location_in_dim_by_voxel (long index, int dim) const |
| Calculate the location of a given voxel in a given dimension. More... | |
| std::string | get_locations_string (float t) |
| emreal | get_max_value () const |
| Returns the the value of the voxel with the highest density. | |
| float | get_maximum_value_in_xy_plane (int z_ind) |
| Get the maximum value in a XY plane indicated by a Z index. | |
| float | get_maximum_value_in_xz_plane (int y_ind) |
| Get the maximum value in a XZ plane indicated by a Y index. | |
| float | get_maximum_value_in_yz_plane (int x_ind) |
| Get the maximum value in a YZ plane indicated by a X index. | |
| emreal | get_min_value () const |
| Returns the the value of the voxel with the lowest density. | |
| long | get_number_of_voxels () const |
| number of map voxels | |
| algebra::Vector3D | get_origin () const |
| bool | get_rms_calculated () const |
| Float | get_spacing () const |
| Updated the voxel size of the map. More... | |
| algebra::Vector3D | get_top () const |
| emreal | get_value (float x, float y, float z) const |
| Gets the value of the voxel located at (x,y,z) More... | |
| emreal | get_value (const algebra::Vector3D &point) const |
| emreal | get_value (long index) const |
| Gets the value of the voxel at a given index. More... | |
| long | get_voxel_by_location (float x, float y, float z) const |
| Calculate the voxel of a given location. More... | |
| long | get_voxel_by_location (const algebra::Vector3D &v) const |
| Calculate the voxel of a given location. More... | |
| bool | is_normalized () const |
| bool | is_part_of_volume (float x, float y, float z) const |
| Checks whether a given point is in the grid the voxel of a given location. More... | |
| bool | is_part_of_volume (const algebra::Vector3D &v) const |
| Checks whether a given point is in the grid the voxel of a given location. More... | |
| bool | is_xyz_ind_part_of_volume (int ix, int iy, int iz) const |
| int | lower_voxel_shift (emreal loc, emreal kdist, emreal orig, int ndim) const |
| void | multiply (float factor) |
| void | pad (int nx, int ny, int nz, float val=0.0) |
| DensityMap * | pad_margin (int mrg_x, int mrg_y, int mrg_z, float val=0.0) |
| Create a new padded map. More... | |
| void | pick_max (const DensityMap *other) |
| void | release () |
| void | reset_data (float value=0.0) |
| Set the density voxels to some calue and reset the managment flags. More... | |
| bool | same_dimensions (const DensityMap *other) const |
| Checks if two maps have the same dimensions. More... | |
| bool | same_origin (const DensityMap *other) const |
| Checks if two maps have the same origin. More... | |
| bool | same_voxel_size (const DensityMap *other) const |
| Checks if two maps have the same voxel size. More... | |
| void | set_origin (float x, float y, float z) |
| Sets the origin of the header. More... | |
| void | set_origin (const IMP::algebra::Vector3D &v) |
| void | set_value (long index, emreal value) |
| Set the value of the voxel at a given index. More... | |
| void | set_value (float x, float y, float z, emreal value) |
| Set the value of the voxel at a given index. More... | |
| void | set_void_map (int nx, int ny, int nz) |
| Set the map dimension and reset all voxels to 0. More... | |
| void | std_normalize () |
| Normailze the density voxles according to standard deviation (stdv). More... | |
| void | update_voxel_size (float new_apix) |
| Updated the voxel size of the map. | |
| int | upper_voxel_shift (emreal loc, emreal kdist, emreal orig, int ndim) const |
| long | xyz_ind2voxel (int x, int y, int z) const |
| Calculate the voxel of a given xyz indexes. More... | |
Public Member Functions inherited from IMP::base::Object | |
| virtual void | clear_caches () |
| virtual IMP::base::VersionInfo | get_version_info () const =0 |
| Get information about the module and version of the object. | |
| void | set_check_level (CheckLevel l) |
| void | set_log_level (LogLevel l) |
| Set the logging level used in this object. More... | |
| void | set_was_used (bool tf) const |
| void | show (std::ostream &out=std::cout) const |
| const std::string & | get_name () const |
| void | set_name (std::string name) |
Protected Member Functions | |
| IMP::algebra::BoundingBoxD< 3 > | calculate_particles_bounding_box (const Particles &ps) |
| Calculate the parameters of the particles bounding box. More... | |
| void | determine_grid_size (emreal resolution, emreal voxel_size, int sig_cutoff) |
| void | set_header (const algebra::Vector3D &lower_bound, const algebra::Vector3D &upper_bound, emreal maxradius, emreal resolution, emreal voxel_size, int sig_offset) |
| void | set_neighbor_mask (float radius) |
Protected Member Functions inherited from IMP::em::DensityMap | |
| void | allocated_data () |
| void | float2real (float *f_data, boost::scoped_array< emreal > &r_data) |
| void | real2float (emreal *r_data, boost::scoped_array< float > &f_data) |
| void | reset_all_voxel2loc () |
| void | update_header () |
| update the header values – still in work | |
Protected Member Functions inherited from IMP::base::Object | |
| Object (std::string name) | |
| Construct an object with the given name. More... | |
Protected Attributes | |
| KernelParameters | kernel_params_ |
| kernel handling | |
| KernelType | kt_ |
| Particles | ps_ |
| FloatKey | weight_key_ |
| FloatKey | x_key_ |
| core::XYZRs | xyzr_ |
| FloatKey | y_key_ |
| FloatKey | z_key_ |
Protected Attributes inherited from IMP::em::DensityMap | |
| boost::scoped_array< emreal > | data_ |
| bool | data_allocated_ |
| DensityHeader | header_ |
| bool | loc_calculated_ |
| true if the locations have already been computed | |
| bool | normalized_ |
| bool | rms_calculated_ |
| boost::scoped_array< float > | x_loc_ |
| boost::scoped_array< float > | y_loc_ |
| boost::scoped_array< float > | z_loc_ |
Related Functions | |
(Note that these are not member functions.) | |
| SampledDensityMap * | particles2binarized_density (const ParticlesTemp &ps, Float resolution, Float apix, int sig_cutoff=3, const FloatKey &weight_key=IMP::atom::Mass::get_mass_key()) |
| SampledDensityMap * | particles2density (const ParticlesTemp &ps, Float resolution, Float apix, int sig_cutoff=3, const FloatKey &weight_key=IMP::atom::Mass::get_mass_key()) |
| Resample a set of particles into a density grid. More... | |
| SurfaceShellDensityMap * | particles2surface (const ParticlesTemp &ps, Float apix, const FloatKey &weight_key=IMP::atom::Mass::get_mass_key()) |
| Resample a set of particles into a density grid. More... | |
| typedef IMP::base::Vector < IMP::base::WeakPointer < SampledDensityMap > > | SampledDensityMapsTemp |
Related Functions inherited from IMP::em::DensityMap | |
| typedef IMP::base::Vector < IMP::base::WeakPointer < DensityMap > > | DensityMapsTemp |
| double | get_density (const DensityMap *m, const algebra::Vector3D &v) |
| DensityMap * | get_resampled (DensityMap *input, double scaling) |
| Get a resampled version of the map. More... | |
| DensityMap * | get_transformed (const DensityMap *input, const algebra::Transformation3D &tr, double threshold) |
| DensityMap * | get_transformed (DensityMap *input, const algebra::Transformation3D &tr) |
| void | get_transformed_into (const DensityMap *source, const algebra::Transformation3D &tr, DensityMap *into, bool calc_rms=true) |
| Rotate a density map into another map. More... | |
| DensityMap * | read_map (std::string filename, MapReaderWriter *reader) |
| DensityMap * | read_map (std::string filename) |
| void | write_map (DensityMap *m, std::string filename, MapReaderWriter *writer) |
| void | write_map (DensityMap *m, std::string filename) |
Related Functions inherited from IMP::base::Object | |
| typedef IMP::base::Vector < IMP::base::WeakPointer < Object > > | ObjectsTemp |
Definition at line 29 of file SampledDensityMap.h.
| IMP::em::SampledDensityMap::SampledDensityMap | ( | KernelType | kt = GAUSSIAN | ) |
The header of the map is not determined and no data is being allocated
Definition at line 38 of file SampledDensityMap.h.
| IMP::em::SampledDensityMap::SampledDensityMap | ( | const ParticlesTemp & | ps, |
| emreal | resolution, | ||
| emreal | voxel_size, | ||
| IMP::FloatKey | mass_key = IMP::atom::Mass::get_mass_key(), |
||
| int | sig_cuttoff = 3, |
||
| KernelType | kt = GAUSSIAN |
||
| ) |
/param[in] ps particles with XYZ, radius and weight attributes /param[in] resolution half width the Gaussian /param[in] voxel_size /param[in] sig_cutoff Choose what should be the sigma cutoff for accurate sampling. It is used in two functions; (i) to determine the size of the grid dimensions (ii) to determine the voxels around the coords participating in the sampling procedure.
|
protected |
| [in] | ps | particles with XYZ, radius and weight attributes |
|
protected |
Determine the size of the grid as a function of the particles and the resolution.
| void IMP::em::SampledDensityMap::project | ( | const ParticlesTemp & | ps, |
| int | x_margin, | ||
| int | y_margin, | ||
| int | z_margin, | ||
| algebra::Vector3D | shift = algebra::Vector3D(0., 0., 0.), |
||
| FloatKey | mass_key = atom::Mass::get_mass_key() |
||
| ) |
| ps | the particles to project | |
| [in] | x_margin | sampling is restricted to [x_margin,nx-x_margin] |
| [in] | y_margin | sampling is restricted to [y_margin,ny-y_margin] |
| [in] | z_margin | sampling is restricted to [z_margin,nz-z_margin] |
| [in] | shift | the positions of all particles are shifted by this value before projection |
| [in] | mass_key | key to obtain particle mass |
|
virtual |
Reimplemented in IMP::em::SurfaceShellDensityMap.
|
related |
Resample a set of particles into a binarized density map 1 for voxels containing particles and 0 otherwise Each such particle should have xyz radius and weight attributes
| [in] | ps | the particles to sample |
| [in] | resolution | the resolution of the new sampled map |
| [in] | apix | the voxel size of the sampled map |
| [in] | sig_cutoff | sigma cutoff used in sampling |
| [in] | weight_key | the weight attribute key of the particles |
Definition at line 82 of file converters.h.
|
related |
Each such particle should have xyz, radius and weight attributes
| [in] | ps | the particles to sample |
| [in] | resolution | the resolution of the new sampled map |
| [in] | apix | the voxel size of the sampled map |
| [in] | sig_cutoff | sigma cutoff used in sampling |
| [in] | weight_key | the weight attribute key of the particles |
|
related |
Each such particle should have xyz radius and weight attributes
| [in] | ps | the particles to sample |
| [in] | apix | the voxel size of the surface map |
| [in] | weight_key | the weight attribute key of the particles |
|
related |
Pass a set of objects.
Definition at line 132 of file SampledDensityMap.h.