oh, but may be I should have made it clear: after all, zscoring per volume is very easy to implement in pure Python:
var = ds.samples.std(axis=1) ds.samples[var!=0] = (ds.samples[var!=0] - ds.samples[var!=0].mean(axis=1)[:, None])/var[var!=0][:, None] little explanation: var!=0 -- to avoid division by 0s so we do not get NaNs if some volumes manage to get no variance (implausible unless something else is screwed up) [:, None] -- to add a degenerate second dimension (for features) so broadcasting works across features On Wed, 01 Dec 2010, Yaroslav Halchenko wrote: > thank you Jo for kicking my butt for stopping checking my words in the > code ("Talk is cheap show me your code" L. Torvalds) > you are perfectly correct and I guess we do not have zscoring per > volume atm... sorry for causing you to explain it in detail for us. > Theoretically it should be just "axis" argument to make things clear and > explicit (will be done in 0.6 I guess): > 0 - per feature (as now pervoxel=True) > 1 - per volume > None - global (as now pervoxel=False) > added > https://github.com/PyMVPA/PyMVPA/issues/#issue/35 > so we do not forget ;) -- =------------------------------------------------------------------= Keep in touch www.onerussian.com Yaroslav Halchenko www.ohloh.net/accounts/yarikoptic _______________________________________________ Pkg-ExpPsy-PyMVPA mailing list Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-exppsy-pymvpa