Scripts: readvol.2.py

File readvol.2.py, 912 bytes (added by goddard, 15 years ago)
Line 
1#
2# Example opening volume file and accessing data size, xyz coordinates, and
3# data values.
4#
5# Volume grid data object is defined in Chimera file
6#
7# chimera/share/VolumeData/griddata.py
8#
9from chimera import openModels
10v = openModels.open('/usr/local/src/chimera-demos/volume/examples/1a0m.omap')[0]
11
12d = v.data
13print 'read map', d.name
14
15isize, jsize, ksize = d.size
16print 'data size', isize, jsize, ksize
17
18istep, jstep, kstep = d.step
19print 'voxel size', istep, jstep, kstep
20print 'voxel volume', istep*jstep*kstep
21
22i,j,k = 15,7,13
23x,y,z = d.ijk_to_xyz((i,j,k))
24print 'xyz for index', i, j, k, 'is', x, y, z
25
26m = d.matrix()
27print 'data value at ijk', i, j, k, 'is', m[k,j,i]
28
29from numpy import float32
30print 'sum of all data values', m.sum(dtype = float32)
31
32nz = len(m.nonzero()[0])
33print 'number of non-zero values', nz, 'of', m.size
34
35print 'volume occupied by non-zero values', nz * istep * jstep * kstep