IMP logo
Public Member Functions | Protected Member Functions | Protected Attributes
IMP::em::SurfaceShellDensityMap Class Reference

Detailed Description

The class repersents a molecule as shells of distance from the surface.

+ Inheritance diagram for IMP::em::SurfaceShellDensityMap:

List of all members.

Public Member Functions

 SurfaceShellDensityMap ()
 Creates a new density map.
 SurfaceShellDensityMap (const DensityHeader &header)
 SurfaceShellDensityMap (const 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.
void binaries (float scene_val)
 Set the value of the map voxels as either scene or background.
bool has_background_neighbor (long voxel_ind) const
 Checks if the one of the nieghbors of the voxel is a background voxel.
void resample ()
 Resample the grid to consist of density shells of a model.
- Public Member Functions inherited from IMP::em::SampledDensityMap
 SampledDensityMap (KernelType kt=GAUSSIAN)
 Creates a new density map for sampled map.
 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)
 Generatea a sampled density map from the particles.
KernelParametersget_kernel_params ()
float get_minimum_resampled_value ()
 Get minimum density value between voxels that correspond to particles.
const Particlesget_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.
void set_particles (const IMP::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.
void copy_map (const DensityMap *other)
 copy map into this map
algebra::Vector3D get_centroid (emreal threshold=0.0) const
DensityMapget_cropped (float threshold)
 Create a new cropped map.
DensityMapget_cropped (const algebra::BoundingBox3D &bb)
 Create a new cropped map with the bounding box extent.
int get_dim_index_by_location (const algebra::Vector3D &v, int ind) const
 Calculate dimension index of a given location.
int get_dim_index_by_location (float loc_val, int ind) const
const DensityHeaderget_header () const
DensityHeaderget_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.
float get_location_in_dim_by_voxel (long index, int dim) const
 Calculate the location of a given voxel in a given dimension.
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.
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)
emreal get_value (const algebra::Vector3D &point) const
emreal get_value (long index) const
 Gets the value of the voxel at a given index.
long get_voxel_by_location (float x, float y, float z) const
 Calculate the voxel of a given location.
long get_voxel_by_location (const algebra::Vector3D &v) const
 Calculate the voxel of a given location.
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.
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.
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)
DensityMappad_margin (int mrg_x, int mrg_y, int mrg_z, float val=0.0)
 Create a new padded map.
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.
bool same_dimensions (const DensityMap *other) const
 Checks if two maps have the same dimensions.
bool same_origin (const DensityMap *other) const
 Checks if two maps have the same origin.
bool same_voxel_size (const DensityMap *other) const
 Checks if two maps have the same voxel size.
void set_origin (float x, float y, float z)
 Sets the origin of the header.
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.
void set_value (float x, float y, float z, emreal value)
 Set the value of the voxel at a given index.
void set_void_map (int nx, int ny, int nz)
 Set the map dimension and reset all voxels to 0.
void std_normalize ()
 Normailze the density voxles according to standard deviation (stdv).
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.
- Public Member Functions inherited from IMP::base::Object
std::size_t __hash__ () const
virtual std::string get_type_name () const =0
 Return a string identifying the type of the object.
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.
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 Particles &ps)
 Calculate the parameters of the particles bounding box.
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)

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_
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_

Additional Inherited Members


Constructor & Destructor Documentation

IMP::em::SurfaceShellDensityMap::SurfaceShellDensityMap ( )

Creates a new density map.

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 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.

/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._


Member Function Documentation

void IMP::em::SurfaceShellDensityMap::binaries ( float  scene_val)

Set the value of the map voxels as either scene or background.

/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

Checks if the one of the nieghbors of the voxel is a background voxel.

/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

void IMP::em::SurfaceShellDensityMap::resample ( )
virtual

Resample the grid to consist of density shells of a model.

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.

void IMP::em::SurfaceShellDensityMap::set_surface_shell ( std::vector< long > *  shell)
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.


The documentation for this class was generated from the following file:

Generated on Tue May 22 2012 23:33:34 for IMP by doxygen 1.8.1