IMP
2.0.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 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 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... | |
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 | |
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. 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 | |
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_ |
Related Functions | |
(Note that these are not member functions.) | |
typedef IMP::base::Vector < IMP::base::WeakPointer < SurfaceShellDensityMap > > | SurfaceShellDensityMapsTemp |
Related Functions inherited from IMP::em::SampledDensityMap | |
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 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 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.
|
related |
Pass a set of objects.
Definition at line 96 of file SurfaceShellDensityMap.h.