Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Voltool.C File Reference

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

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


Function Documentation

void add VolumetricData   mapA,
VolumetricData   mapB,
VolumetricData   newvol,
bool    interp,
bool    USE_UNION
 

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.

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.

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.

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.

Definition at line 443 of file Voltool.C.

References VolumetricData::data, VolumetricData::datarange, and VolumetricData::gridsize.

void init_from_identity VolumetricData   mapA,
VolumetricData   newvol
 

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.

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.

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.

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.

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.

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.

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.

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.

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.

VolumetricData* init_new_volume  
 

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.

int init_new_volume_molecule VMDApp   app,
VolumetricData   newvol,
const char *    name
 

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.

void multiply VolumetricData   mapA,
VolumetricData   mapB,
VolumetricData   newvol,
bool    interp,
bool    USE_UNION
 

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.

void subtract VolumetricData   mapA,
VolumetricData   mapB,
VolumetricData   newvol,
bool    interp,
bool    USE_UNION
 

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.

void vol_com VolumetricData   vol,
float *    com
 

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.

void vol_move VolumetricData   vol,
float *    mat
 

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.

void vol_moveto VolumetricData   vol,
float *    com,
float *    pos
 

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.

int write_file VMDApp   app,
Molecule   volmol,
int    volid,
const char *    filename
 

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.


Generated on Tue Apr 23 04:24:49 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002