[pymvpa] PyMVPA
cfygj
cfygj at 126.com
Mon Aug 18 00:42:51 UTC 2014
Dear Mile,
Thanks for your reply. In my script, I have set " ds = remove_invariant_features(ds)". I think this setting has replaced those voxels with zeros.
Cai Fei
At 2014-08-18 08:32:29, "Mike E. Klein" <michaeleklein at gmail.com> wrote:
Some of your voxels have a “NaN” value, perhaps due to preprocessing in SPM. FSL has a tool that will replace these values with zeros (I think), so that might resolve your issue.
Best,
Mike
On Sun, Aug 17, 2014 at 10:49 AM, cfygj <cfygj at 126.com> wrote:
Hi all, I’m just wondering if anyone has any advice on some ways to deal with my problems. Here is my scipt, which was used to run my data, then come out some error information. Could you tell me how to address its?
Scripts:
# Import necessary modules from os import path
import os
import numpy as N
import numpy.matlib as M
import scipy.io as sio
from mvpa2.suite import *
from mvpa2.mappers.detrend import poly_detrend
from mvpa2.datasets.mri import fmri_dataset
from mvpa2.datasets.miscfx import remove_invariant_features
# Load fMRI data
attrs = SampleAttributes('attributes.txt')
ds = fmri_dataset(samples=('s1.nii.gz'), targets=attrs.targets, chunks=attrs.chunks)
# Detrend with motion correction parameter
mc = McFlirtParams('prefiltered_func_data_mcf.par') # detrend head motion
for param in mc:
ds.sa['mc_' + param] = mc[param]
res = poly_detrend(ds, opt_regs=['mc_x', 'mc_y', 'mc_z', 'mc_rot1', 'mc_rot2', 'mc_rot3'])
# do chunkswise linear detrending on dataset
poly_detrend(ds, polyord=1, chunks_attr='chunks')
# do z-score dataset relative to baseline ('rest') mean
zscore(ds, chunks_attr='chunks', param_est=('targets', [0]))
# select subdata for each trial for mvpa analysis
ds = ds[N.array([l%6 == 3 for l in ds.sa.time_indices], dtype='bool')]
ds=remove_invariant_features(ds)
# try classifier
partitioner = NFoldPartitioner()
repeater = Repeater(count=10000)
permutator = AttributePermutator('targets', limit={'partitions': 1}, count=1)
null_cv = CrossValidation(
clf,
ChainNode(
[partitioner, permutator],
space=partitioner.get_space()),
postproc=mean_sample())
distr_est = MCNullDist(repeater, tail='left', measure=null_cv, enable_ca=['dist_samples'])
cv_mc_corr = CrossValidation(clf,
partitioner,
postproc=mean_sample(),
null_dist=distr_est,
enable_ca=['stats'])
error = cv_mc_corr(ds)
Results_Error[0,0] = error.samples
p = cv_mc_corr.ca.null_prob
print 'p', p
assert(p.shape == (1,1))
Results_P[0,0] = p.samples[0,0]
Distribution = cv_mc_corr.null_dist.ca.dist_samples
distr_est.clean()
errors:
Traceback (most recent call last):
File "mvpa_classifier.py", line 84, in <module>
error = cv_mc_corr(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/learner.py", line 259, in __call__
return super(Learner, self).__call__(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/node.py", line 120, in __call__
self._precall(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/measures/base.py", line 118, in _precall
self.__null_dist.fit(measure, ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/clfs/stats.py", line 403, in fit
res = measure(permuted_ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/learner.py", line 259, in __call__
return super(Learner, self).__call__(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/node.py", line 121, in __call__
result = self._call(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/measures/base.py", line 497, in _call
return super(CrossValidation, self)._call(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/measures/base.py", line 326, in _call
result = node(sds)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/learner.py", line 259, in __call__
return super(Learner, self).__call__(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/node.py", line 121, in __call__
result = self._call(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/measures/base.py", line 617, in _call
res = measure(dstest)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/learner.py", line 259, in __call__
return super(Learner, self).__call__(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/base/node.py", line 121, in __call__
result = self._call(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/clfs/base.py", line 434, in _call
pred = self.predict(ds)
File "/usr/lib/python2.7/dist-packages/mvpa2/clfs/base.py", line 47, in wrap_samples
return fx(obj, data, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/mvpa2/clfs/base.py", line 389, in predict
"Some input data for predict is not finite (NaN or Inf)")
ValueError: Some input data for predict is not finite (NaN or Inf)
_______________________________________________
Pkg-ExpPsy-PyMVPA mailing list
Pkg-ExpPsy-PyMVPA at lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-exppsy-pymvpa/attachments/20140818/27d3efe6/attachment.html>
More information about the Pkg-ExpPsy-PyMVPA
mailing list