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