[Chimera-users] Sum of volume data values

Eran Shacham eshacham at burnham.org
Wed Apr 12 16:01:45 PDT 2006

Hey Tom,

Sure, from now on I will send my questions to chimera-users email 
address. Sorry about that.

The Numeric flat() method doesn't work for me. Error is:
ValueError: flattened indexing only available for contiguous array

So, instead I just wrote a loop to 'flatten' the array down:
for i in m:
        for x in i:
            for j in x:
                for u in j:
                        sum = sum + u
Does that seem fine, or is .flat() doing something else?

Thomas Goddard wrote:
> Hi Eran,
>   Ok, here is code to read an MRC file and print the sum of map values
> without using Chimera.  You need Python, the Numeric Python module which
> handles multidimensional arrays and the VolumeData module from Chimera.
> Numeric is obtained from sourceforge:
>     http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=1351
> The VolumeData module is in your Chimera distribution.
>     chimera/share/VolumeData
> Here's an example running the script where I've set PYTHONPATH to have
> access to the VolumeData module:
> 	% env PYTHONPATH=/usr/local/chimera/share python2.4 volumesum2.py
> 	Sum of values of groel.mrc  =  21720.8984375
> Send future questions to chimera-users at cgl.ucsf.edu so others who
> have similar problems can benefit.  I get that email just as fast.
>    Tom
> -------
> file volumesum2.py follows:
> # Script to print the sum of volume data values.
> # Does not need Chimera, just the VolumeData module and Numeric and Python.
> path = 'groel.mrc'
> # Read the MRC volume data and get the 3-D Numeric array.
> from VolumeData.mrc.mrc_format import MRC_Data
> data = MRC_Data(path)
> m = data.matrix()
> # Compute the sum of the elements of the volume matrix.
> import Numeric
> sum = Numeric.sum(m.flat)
> # Print the sum
> print 'Sum of values of', path, ' = ', sum
> -------
>> Date: Wed, 12 Apr 2006 14:46:14 -0700
>> From: Eran Shacham <eshacham at burnham.org>
>> To: Thomas Goddard <goddard at cgl.ucsf.edu>
>> Subject: Re: Sum of volume data values
>> Hey Tom,
>> Thanks for your reply. However, I would like to do that from within a 
>> script I already wrote. i.e I would like to integrate a read_in method 
>> for an MRC file, access it values and then calculate the sum. I would 
>> like to avoid doing that by opening my file in Chimera at this stage of 
>> the program. Can it be done by importing some of your code?
>> Thanks,
>> Eran.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20060412/ff9e944b/attachment.html>

More information about the Chimera-users mailing list