#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include "Inform.h"
#include "utilities.h"
#include "AtomSel.h"
#include "VMDApp.h"
#include "MoleculeList.h"
#include "VolumetricData.h"
#include "VolMapCreate.h"
#include "CUDAMDFF.h"
#include "MDFF.h"
#include <math.h>
#include <tcl.h>
#include "TclCommands.h"
#include "Measure.h"
#include "MolFilePlugin.h"
#include <iostream>
#include <string>
#include <sstream>
#include "Voltool.h"
Go to the source code of this file.
Functions | |
void | init_from_intersection (VolumetricData *mapA, const VolumetricData *mapB, VolumetricData *newvol) |
creates axes, bounding box and allocates data based on geometrical intersection of A and B. More... | |
void | init_from_intersection (VolumetricData *mapA, VolumetricData *mapB, VolumetricData *newvol) |
creates axes, bounding box and allocates data based on geometrical intersection of A and B. More... | |
void | init_from_union (VolumetricData *mapA, const VolumetricData *mapB, VolumetricData *newvol) |
creates axes, bounding box and allocates data based on geometrical union of A and B. More... | |
void | init_from_identity (VolumetricData *mapA, VolumetricData *newvol) |
void | init_from_union (VolumetricData *mapA, VolumetricData *mapB, VolumetricData *newvol) |
creates axes, bounding box and allocates data based on geometrical union of A and B. More... | |
VolumetricData * | init_new_volume () |
create a new empty volume. More... | |
int | init_new_volume_molecule (VMDApp *app, VolumetricData *newvol, const char *name) |
create a new VMD molecule with VolumetricData. More... | |
void | vol_com (VolumetricData *vol, float *com) |
calculate the centor of mass of a VolumetricData object. More... | |
void | add (VolumetricData *mapA, VolumetricData *mapB, VolumetricData *newvol, bool interp, bool USE_UNION) |
add voxel values from mapA and mapB together elementwise. More... | |
void | subtract (VolumetricData *mapA, VolumetricData *mapB, VolumetricData *newvol, bool interp, bool USE_UNION) |
subtract voxel values of mapB from mapA. More... | |
void | multiply (VolumetricData *mapA, VolumetricData *mapB, VolumetricData *newvol, bool interp, bool USE_UNION) |
multiplies voxel values of two mapA and mapB together. More... | |
void | average (VolumetricData *mapA, VolumetricData *mapB, VolumetricData *newvol, bool interp, bool USE_UNION) |
create a new VolumetricData object whose values are the average mapA and mapB at each location. More... | |
void | vol_moveto (VolumetricData *vol, float *com, float *pos) |
translate the center of mass of a given VolumetricData object to a specific cartesian coordinate. More... | |
void | vol_move (VolumetricData *vol, float *mat) |
apply a matrix transformation to a volumetricdata. More... | |
void | histogram (VolumetricData *vol, int nbins, long *bins, float *midpts) |
Calculate histogram of map. bins and midpts are return arrays for the counts and midpoints of the bins, respectively and must be the size of nbins. More... | |
int | write_file (VMDApp *app, Molecule *volmol, int volid, const char *filename) |
write volumetric data to a file using MoleFilePlugin. More... |
|
add voxel values from mapA and mapB together elementwise.
Definition at line 249 of file Voltool.C. References VolumetricData::data, VolumetricData::gridsize, init_from_intersection, init_from_union, newvol, VolumetricData::voxel_coord, VolumetricData::voxel_value_from_coord_safe, VolumetricData::voxel_value_interpolate_from_coord_safe, and z. |
|
create a new VolumetricData object whose values are the average mapA and mapB at each location.
Definition at line 352 of file Voltool.C. References VolumetricData::data, VolumetricData::gridsize, init_from_intersection, init_from_union, newvol, VolumetricData::voxel_coord, VolumetricData::voxel_value_from_coord_safe, VolumetricData::voxel_value_interpolate_from_coord_safe, and z. |
|
Calculate histogram of map. bins and midpts are return arrays for the counts and midpoints of the bins, respectively and must be the size of nbins.
Definition at line 443 of file Voltool.C. References VolumetricData::data, VolumetricData::datarange, and VolumetricData::gridsize. |
|
Definition at line 149 of file Voltool.C. References VolumetricData::data, VolumetricData::gridsize, newvol, VolumetricData::origin, vec_copy, VolumetricData::xaxis, VolumetricData::xsize, VolumetricData::yaxis, VolumetricData::ysize, VolumetricData::zaxis, and VolumetricData::zsize. |
|
creates axes, bounding box and allocates data based on geometrical intersection of A and B.
Definition at line 82 of file Voltool.C. References VolumetricData::data, dot_prod, VolumetricData::gridsize, MAX, MIN, newvol, VolumetricData::origin, vec_sub, VolumetricData::xaxis, VolumetricData::xsize, VolumetricData::yaxis, VolumetricData::ysize, VolumetricData::zaxis, and VolumetricData::zsize. |
|
creates axes, bounding box and allocates data based on geometrical intersection of A and B.
Definition at line 51 of file Voltool.C. References VolumetricData::data, dot_prod, VolumetricData::gridsize, MAX, MIN, newvol, VolumetricData::origin, vec_sub, VolumetricData::xaxis, VolumetricData::xsize, VolumetricData::yaxis, VolumetricData::ysize, VolumetricData::zaxis, and VolumetricData::zsize. |
|
creates axes, bounding box and allocates data based on geometrical union of A and B.
Definition at line 167 of file Voltool.C. References VolumetricData::data, dot_prod, VolumetricData::gridsize, MAX, MIN, newvol, VolumetricData::origin, vec_zero, VolumetricData::xaxis, VolumetricData::xsize, VolumetricData::yaxis, VolumetricData::ysize, VolumetricData::zaxis, and VolumetricData::zsize. |
|
creates axes, bounding box and allocates data based on geometrical union of A and B.
Definition at line 114 of file Voltool.C. References VolumetricData::data, dot_prod, VolumetricData::gridsize, MAX, MIN, newvol, VolumetricData::origin, vec_zero, VolumetricData::xaxis, VolumetricData::xsize, VolumetricData::yaxis, VolumetricData::ysize, VolumetricData::zaxis, and VolumetricData::zsize. |
|
create a new empty volume.
Definition at line 202 of file Voltool.C. References data, newvol, and NULL. Referenced by density_add, density_average, density_multiply, density_subtract, and mask. |
|
create a new VMD molecule with VolumetricData.
Definition at line 216 of file Voltool.C. References VolumetricData::data, VMDApp::molecule_add_volumetric, VMDApp::molecule_addrep, VMDApp::molecule_new, VMDApp::molecule_set_style, newvol, VolumetricData::origin, VolumetricData::xaxis, VolumetricData::xsize, VolumetricData::yaxis, VolumetricData::ysize, VolumetricData::zaxis, and VolumetricData::zsize. |
|
multiplies voxel values of two mapA and mapB together.
Definition at line 303 of file Voltool.C. References VolumetricData::data, VolumetricData::gridsize, init_from_intersection, init_from_union, myisnan, newvol, VolumetricData::voxel_coord, VolumetricData::voxel_value_from_coord, VolumetricData::voxel_value_interpolate_from_coord, and z. |
|
subtract voxel values of mapB from mapA.
Definition at line 276 of file Voltool.C. References VolumetricData::data, VolumetricData::gridsize, init_from_intersection, init_from_union, newvol, VolumetricData::voxel_coord, VolumetricData::voxel_value_from_coord_safe, VolumetricData::voxel_value_interpolate_from_coord_safe, and z. |
|
calculate the centor of mass of a VolumetricData object.
Definition at line 229 of file Voltool.C. References VolumetricData::data, VolumetricData::gridsize, vec_add, vec_scale, vec_zero, and VolumetricData::voxel_coord. |
|
apply a matrix transformation to a volumetricdata.
Definition at line 399 of file Voltool.C. References mat, VolumetricData::origin, vec_add, vectrans, VolumetricData::xaxis, VolumetricData::yaxis, and VolumetricData::zaxis. |
|
translate the center of mass of a given VolumetricData object to a specific cartesian coordinate.
Definition at line 379 of file Voltool.C. References VolumetricData::origin, vec_add, and vec_sub. |
|
write volumetric data to a file using MoleFilePlugin.
Definition at line 464 of file Voltool.C. References VMDApp::get_plugin, MolFilePlugin::init_write, NULL, and MolFilePlugin::write_volumetric. |