[Chimera-users] Find contour level to enclose a specified volume

Thomas Goddard goddard at cgl.ucsf.edu
Tue Jun 17 15:44:57 PDT 2008

Ed Brignole asked about setting a volume contouring level so that the 
resulting surface encloses a desired volume (cubic Angstroms).  Attached 
is a Python script that does this in two ways.  The first way is fast 
but approximate finding the level such that the number of enclosed grid 
points times the voxel volume equals the requested volume.  Estimating 
the enclosed volume of the surface this way can give a much different 
result than actually computing analytically the volume within the 
surface.  The second approach computes surfaces at different contour 
levels and calculates analytically the volume.  It uses bisection to 
find the correct contour level.  This approach can be slow, about 30 
seconds for a 256^3 volume (sfv.mrc virus map) with ~2.5e6 surface 
triangles.  Most of that time (80%) is actually computing the enclosed 
volume.  That should be very fast but the code is checking for holes in 
the surface in a rather slow way.  Both methods use the step size 
(subsampling) set in the volume dialog.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: findlevel.py
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20080617/d7aef5ee/attachment.ksh>

More information about the Chimera-users mailing list