IMP
2.1.0
The Integrative Modeling Platform
|
The class repersents a molecule as shells of distance from the surface.
#include <IMP/em/SurfaceShellDensityMap.h>
Public Member Functions | |
SurfaceShellDensityMap () | |
Creates a new density map. More... | |
SurfaceShellDensityMap (const DensityHeader &header) | |
SurfaceShellDensityMap (const kernel::ParticlesTemp &ps, float voxel_size, IMP::FloatKey mass_key=IMP::atom::Mass::get_mass_key(), int num_shells=5) | |
Generatea a surface shell density map from the input particles. More... | |
void | binaries (float scene_val) |
Set the value of the map voxels as either scene or background. More... | |
bool | has_background_neighbor (long voxel_ind) const |
Checks if the one of the nieghbors of the voxel is a background voxel. More... | |
void | resample () |
Resample the grid to consist of density shells of a model. More... | |
Public Member Functions inherited from IMP::em::SampledDensityMap | |
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 kernel::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 kernel::Particles & | get_sampled_particles () const |
FloatKey | get_weight_key () const |
const core::XYZRs & | get_xyzr_particles () const |
void | project (const kernel::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... | |
void | set_particles (const kernel::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 |
virtual std::string | get_type_name () 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... | |
virtual ::IMP::base::VersionInfo | get_version_info () const |
Get information about the module and version of the object. | |
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 void | do_destroy () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
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 | |
void | set_kernel () |
void | set_neighbor_mask () |
void | set_surface_shell (std::vector< long > *shell) |
Protected Member Functions inherited from IMP::em::SampledDensityMap | |
IMP::algebra::BoundingBoxD< 3 > | calculate_particles_bounding_box (const kernel::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... | |
Object () | |
Protected Attributes | |
std::vector< emreal > | neighbor_dist_ |
std::vector< long > | neighbor_shift_ |
int | num_shells_ |
float | surface_val_ |
Protected Attributes inherited from IMP::em::SampledDensityMap | |
KernelParameters | kernel_params_ |
kernel handling | |
KernelType | kt_ |
kernel::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_ |
Definition at line 27 of file SurfaceShellDensityMap.h.
IMP::em::SurfaceShellDensityMap::SurfaceShellDensityMap | ( | ) |
The header of the map is not determined and no data is being allocated
IMP::em::SurfaceShellDensityMap::SurfaceShellDensityMap | ( | const DensityHeader & | header | ) |
Creates a new density map. The size of the map is determined by the header and the data is allocated.
IMP::em::SurfaceShellDensityMap::SurfaceShellDensityMap | ( | const kernel::ParticlesTemp & | ps, |
float | voxel_size, | ||
IMP::FloatKey | mass_key = IMP::atom::Mass::get_mass_key() , |
||
int | num_shells = 5 |
||
) |
/param[in] ps particles with XYZ, radius and weight attributes /param[in] voxel_size the voxel size. /note the voxel size and the number of shells determines the resolution/accuracy of the surface rasterization._
void IMP::em::SurfaceShellDensityMap::binaries | ( | float | scene_val | ) |
/param[in] scene_val all voxels corredponsing to particles will be set to this value
bool IMP::em::SurfaceShellDensityMap::has_background_neighbor | ( | long | voxel_ind | ) | const |
/param[in] voxel_ind the index of the voxel /return true is the at least of the nieghbors of the voxel is in the background
|
virtual |
All voxels that are outside of the model defined by the particles will be set to zero. Voxels on the surface between the model and the background will be set of 1. The interior voxels will be assign value according to their corresponding shell ( the value increases as the voxel is farthrer away from the surface).
Reimplemented from IMP::em::SampledDensityMap.
|
protected |
Finds all of the voxels that are part of the surface (i.e, seperate background from scene) /param[in] shell indexes of all of the surface particles will be stored here.