On Sat, 26 Jun 2010, McKell Carter wrote: > Yes, 32K after masking. The full image size is 48X58X49. cool -- I guess you've hit the bug in libnifti... damn you ;-)
here is my silly snippet to reproduce: from nifti import NiftiImage import numpy as np def check(s, ni): print "%s saving/loading" % s fn1s = np.where(ni.data[:, 1,1,1] != 1)[0] if len(fn1s): fn1 = fn1s[0] print [(i, ni.data[i, 1,1,1]) for i in (fn1-1, fn1)] else: print "everything 1s" size=(48, 59,49, 15000) print "Size ", size ni = NiftiImage(np.ones(size[::-1])) ni.save('/tmp/ones.nii.gz') check('before', ni) del ni ni = NiftiImage('/tmp/ones.nii.gz') check('after', ni) nidr = ni.data.ravel() # silly way but what a heck ;) print "first non-1 ", np.where(nidr!=1)[0][0] it outputs: Size (48, 59, 49, 15000) before saving/loading everything 1s after saving/loading [(3393, 1.0), (3394, 0.0)] first non-1 470907264 more fun came when I changed first dimension size to 25: In [1]: ## working on region in file /home/yoh/.tmp/python-10698W9c.py... Size (25, 59, 49, 15000) ** ERROR: NWAD: wrote only 83065408 of 83065408 bytes to file before saving/loading everything 1s after saving/loading ++ WARNING: nifti_read_buffer(/tmp/ones.nii.gz): data bytes needed = 83065408 data bytes input = 83065408 number missing = 0 (set to 0) [(143, 1.0), (144, 0.0)] first non-1 10383176 as to me it makes somewhat little sense ;) in any case -- we will look into it. From a quick look I don't see where we could be possibly hitting the limit here: http://nifti.nimh.nih.gov/board/read.php?f=1&i=2357&t=2356 -- .-. =------------------------------ /v\ ----------------------------= Keep in touch // \\ (yoh@|www.)onerussian.com Yaroslav Halchenko /( )\ ICQ#: 60653192 Linux User ^^-^^ [175555] _______________________________________________ Pkg-ExpPsy-PyMVPA mailing list Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-exppsy-pymvpa