求助:关于-iresp;如何在这样的情况下得到.IRF

3 views
Skip to first unread message

王彦

unread,
Jul 29, 2008, 12:12:11 AM7/29/08
to 123xx...@googlegroups.com
各位大侠:您好,小弟最近分析预实验结果,在试图求得.irf的时候碰壁,求助如何在这样的情况下得到.irf:
(由于用户手册上的模板和周边的人的实验里都是几种不同刺激,而小弟给予的刺激都是相同的(唯有给予方式不同-自己给予或别人给予),所以小弟一时不知如何照着手册模板进行修改)
我给予的是一个痛刺激(2s),随机间隔(10-16s)给予12次,欲求这12次的.IRF。
参考用户手册,我首先运行如下,
3dDeconvolve -input run1+orig -num_stimts 1 -stim_file 1 run1.1D -stim_label 1 tanie -stim_minlag 1 0 -stim_maxlag 1 6 -iresp 1 tanie.irf -fitts tanie.fit -fout -rout -tout -bucket run1tanie.bucket
虽然能运行,但从结果和1D看,程序只使用了第一次刺激,只有一个峰(run1.1D有12个峰),所以应该是错了,不知如何才能让机器把12次刺激都读取进去?谢谢大侠指点!
图1:.irf 我看不懂。(此图的1D只在其最前端保存了第一个刺激,后面都是平的直线)
图2和图3:是.fit
 
 
 
试了两次其他的方案,都不能运行:
第一次,把刺激改为12次,其他都是照抄
3dDeconvolve -input run1+orig -num_stimts 12 -stim_file 1 run1.1D -stim_label 1 tanie -stim_file 2 run1.1D -stim_file 3 run1.1D -stim_file 4 run1.1D -stim_file 5 run1.1D -stim_file 6 run1.1D -stim_file 7 run1.1D -stim_file8 run1.1D -stim_file 9 run1.1D -stim_file 10 run1.1D -stim_file 11 run1.1D -stim_file 12 run1.1D -stim_minlag 1 0 -stim_maxlag 1 6 -iresp 1 tanie.irf -fitts tanie.fit -fout -rout -tout -bucket run1tanie.bucket
报错如下:
(前面省了十几条共线的报错,为何共线了?)
*+ WARNING: !! * Columns 17 and 18 are nearly collinear!
*+ WARNING: !! * Columns 17 and 19 are nearly collinear!
*+ WARNING: !! * Columns 18 and 19 are nearly collinear!
++ Signal+Baseline matrix condition [X] (84x20):  13.1474  ++ VERY GOOD ++
*+ WARNING: !! in Signal+Baseline matrix:
 * Largest singular value=12.221
 * 11 singular values are less than cutoff=1.2221e-06
 * Implies strong collinearity in the matrix columns!
++ Signal+Baseline matrix singular values:
  -3.01347e-15  -5.85325e-16  -2.09362e-16  -1.52309e-16  -3.40377e-17
  -1.99265e-17   1.03445e-17   7.87538e-17   1.07609e-16   2.07157e-16
   4.67827e-16     0.0707013      0.929171      0.936134             1
             1             1       1.03067       1.81228        12.221
++ Signal-only matrix condition [X] (84x18):  3.61069  ++ VERY GOOD ++
*+ WARNING: !! in Signal-only matrix:
 * Largest singular value=12.0739
 * 11 singular values are less than cutoff=1.20739e-06
 * Implies strong collinearity in the matrix columns!
++ Signal-only matrix singular values:
  -1.17054e-17  -4.78702e-48             0   1.14963e-51   1.43651e-50
   7.22648e-36   2.45849e-34    4.1963e-32    1.7064e-20   5.56431e-17
   5.14143e-16      0.926116             1             1             1
             1             1       12.0739
++ Baseline-only matrix condition [X] (84x2):  1.13135  ++ VERY GOOD ++
++ -polort-only matrix condition [X] (84x2):  1.13135  ++ VERY GOOD ++
*+ WARNING: !! Matrix inverse average error = 0.055  ** BEWARE **
++ Matrix setup time = 0.09 s
** ERROR: !! 3dDeconvolve: Can't run past 135 matrix warnings without -GOFORIT 0
** ERROR: !!                Currently at -GOFORIT 0
** ERROR: !! See file 3dDeconvolve.err for all WARNING and ERROR messages !!
** ERROR: !! Be sure you understand what you are doing before using -GOFORIT !!
** ERROR: !! If in doubt, consult with someone or with the AFNI message board !!
** FATAL ERROR: !! 3dDeconvolve (regretfully) shuts itself down !!

第二次,试图用-stim_base连接起来,
3dDeconvolve -input run1+orig -num_stimts 12 -stim_file 1 run1.1D -stim_label 1 tanie -stim_file 2 'run1.1D[0]' -stim_base 2 -stim_label 2 tanie2 -stim_file 3 'run1.1D[1]' -stim_base 3 -stim_label 3 tanie3 -stim_file 4 'run1.1D[2]' -stim_base 4 -stim_label 4 tanie4 -stim_file 5 'run1.1D[3]' -stim_base 5 -stim_label 5 tanie5 -stim_file 6 'run1.1D[4]' -stim_base 6  -stim_label 6 tanie6 -stim_file 7 'run1.1D[5]' -stim_base 7 -stim_label 7 tanie7 -stim_file 8  'run1.1D[6]' -stim_base 8  -stim_label 8 tanie8 -stim_file 9 'run1.1D[7]' -stim_base 9  -stim_label 9 tanie9 -stim_file 10 'run1.1D[8]' -stim_base 10  -stim_label 10 tanie10 -stim_file 11 'run1.1D[9]' -stim_base 11 -stim_label 11 tanie11 -stim_file 12 'run1.1D[10]' -stim_base 12  -stim_label 12 tanie12 -stim_minlag 1 0 -stim_maxlag 1 6 -iresp 1 tanie.irf -fitts tanie.fit -fout -rout -tout -bucket run1tanie.bucket   

报错:
(前面省了十几条共线的报错)
*+ WARNING: !! * Columns 17 and 19 are nearly collinear!
*+ WARNING: !! * Columns 18 and 19 are nearly collinear!
++ Signal+Baseline matrix condition [X] (84x20):  12.0712  ++ VERY GOOD ++
*+ WARNING: !! in Signal+Baseline matrix:
 * Largest singular value=11.9922
 * 11 singular values are less than cutoff=1.19922e-06
 * Implies strong collinearity in the matrix columns!
++ Signal+Baseline matrix singular values:
  -2.99695e-15  -5.88652e-16  -4.71378e-16  -1.14552e-16   4.64845e-19
   3.20962e-17   6.19767e-17   1.21364e-16   1.90919e-16   4.69492e-16
    9.9248e-16     0.0823003       0.92736      0.939014             1
             1             1       1.03283        2.0263       11.9922
++ Signal-only matrix condition [X] (84x7):  1.30644  ++ VERY GOOD ++
++ Baseline-only matrix condition [X] (84x13):  3.54245  ++ VERY GOOD ++
*+ WARNING: !! in Baseline-only matrix:
 * Largest singular value=11.0016
 * 10 singular values are less than cutoff=1.10016e-06
 * Implies strong collinearity in the matrix columns!
++ Baseline-only matrix singular values:
  -1.06857e-16  -8.21806e-18   -1.8759e-31  -1.05109e-32   -1.3425e-50
   5.47839e-49   2.57415e-47   7.35396e-34    1.5778e-17   1.03146e-15
      0.876697       1.12168       11.0016
++ -stim_base-only matrix condition [X] (84x11):  1  ++ VERY GOOD ++
*+ WARNING: !! in -stim_base-only matrix:
 * Largest singular value=11
 * 10 singular values are less than cutoff=1.1e-06
 * Implies strong collinearity in the matrix columns!
++ -stim_base-only matrix singular values:
  -6.71592e-16  -2.74134e-33  -7.39008e-50   -3.1166e-80  -4.63859e-81
   4.49344e-65   2.52954e-64   8.96746e-48    7.6679e-32   8.17939e-16
            11
++ -polort-only matrix condition [X] (84x2):  1.13135  ++ VERY GOOD ++
*+ WARNING: !! Matrix inverse average error = 0.0594243  ** BEWARE **
++ Matrix setup time = 0.09 s
** ERROR: !! 3dDeconvolve: Can't run past 59 matrix warnings without -GOFORIT 0
** ERROR: !!                Currently at -GOFORIT 0
** ERROR: !! See file 3dDeconvolve.err for all WARNING and ERROR messages !!
** ERROR: !! Be sure you understand what you are doing before using -GOFORIT !!
** ERROR: !! If in doubt, consult with someone or with the AFNI message board !!
** FATAL ERROR: !! 3dDeconvolve (regretfully) shuts itself down !!
 
抓图1.jpg
抓图2.jpg
抓图3.jpg

cell

unread,
Aug 19, 2008, 10:30:23 PM8/19/08
to 心心水滴认知与脑
你没加-maxlag,肯定看不到延迟的irf曲线

On 7月29日, 下午12时12分, 王彦 <wangyan...@163.com> wrote:
> 各位大侠:您好,小弟最近分析预实验结果,在试图求得.irf的时候碰壁,求助如何在这样的情况下得到.irf:
> (由于用户手册上的模板和周边的人的实验里都是几种不同刺激,而小弟给予的刺激都是相同的(唯有给予方式不同-自己给予或别人给予),所以小弟一时不知如何照着-手册模板进行修改)
> 我给予的是一个痛刺激(2s),随机间隔(10-16s)给予12次,欲求这12次的.IRF。
> 参考用户手册,我首先运行如下,
> 3dDeconvolve -input run1+orig -num_stimts 1 -stim_file 1 run1.1D -stim_label 1 tanie -stim_minlag 1 0 -stim_maxlag 1 6 -iresp 1 tanie.irf -fitts tanie.fit -fout -rout -tout -bucket run1tanie.bucket
>
> 虽然能运行,但从结果和1D看,程序只使用了第一次刺激,只有一个峰(run1.1D有12个峰),所以应该是错了,不知如何才能让机器把12次刺激都读取进去-?谢谢大侠指点!
> 抓图1.jpg
> 201K查看下载
>
> 抓图2.jpg
> 845K查看下载
>
> 抓图3.jpg
> 845K查看下载

cell

unread,
Aug 19, 2008, 10:59:00 PM8/19/08
to 心心水滴认知与脑
刚才看的太急,原来你做了好几种方法,现在一一解析一下。
你后面的两个方法都不对:

"第一次,把刺激改为12次,其他都是照抄"
首先是发现你所有刺激都用的run1.1D,这样肯定会产生多重共线,其次你是怎么分为12次的,难道这12次不对等,我只看到你输出第一个刺激的
irf

"第二次,试图用-stim_base连接起来"
这就更没道理了,除了stim1, 其它的都是base?

你原来的做法从面上看没什么问题,不知你说的"程序只使用了第一次刺激,只有一个峰(run1.1D有12个峰)",是怎么看出来的,能不能把你的
run1.1D贴出来看一下

晕了晕了,都被你整晕了,你的实验条件似乎没说太清楚,前后有矛盾。

我试图厘清你的实验设计,你看是不是这么一回事。
首先你用的是一种刺激,在一个run(session)里,这种刺激给予12次,这个run(session)有固定长度(比如180s,TR=2s,
得到90个volume),
其次,给予方式是你的操纵因素,每个run的给予方式不同(12种方式?),每个run你都编了一个run.1D,然后合在一起构成一个
run1.1D (??)



On 8月20日, 上午10时30分, cell <bnu...@gmail.com> wrote:
> 你没加-maxlag,肯定看不到延迟的irf曲线
>
> On 7月29日, 下午12时12分, 王彦 <wangyan...@163.com> wrote:
>
>
>
> > 各位大侠:您好,小弟最近分析预实验结果,在试图求得.irf的时候碰壁,求助如何在这样的情况下得到.irf:
> > (由于用户手册上的模板和周边的人的实验里都是几种不同刺激,而小弟给予的刺激都是相同的(唯有给予方式不同-自己给予或别人给予),所以小弟一时不知如何照着--手册模板进行修改)
> > 我给予的是一个痛刺激(2s),随机间隔(10-16s)给予12次,欲求这12次的.IRF。
> > 参考用户手册,我首先运行如下,
> > 3dDeconvolve -input run1+orig -num_stimts 1 -stim_file 1 run1.1D -stim_label 1 tanie -stim_minlag 1 0 -stim_maxlag 1 6 -iresp 1 tanie.irf -fitts tanie.fit -fout -rout -tout -bucket run1tanie.bucket
>
> > 虽然能运行,但从结果和1D看,程序只使用了第一次刺激,只有一个峰(run1.1D有12个峰),所以应该是错了,不知如何才能让机器把12次刺激都读取进去--?谢谢大侠指点!
> > 845K查看下载- 隐藏被引用文字 -
>
> - 显示引用的文字 -

王彦

unread,
Aug 25, 2008, 1:29:29 AM8/25/08
to 123xx...@googlegroups.com
非常感谢 总版主的详细回复!也非常抱歉现在才回复。。。
关于我的问题,我问了一下回京的某高手,答案是,虽然上述命令行只反应了第一个刺激的系统反应曲线,但是由于我们默认“线性时不变”,所以在我实验中,由于每个RUN的刺激相同,所以无需每个刺激的系统反应曲线都要看。(要看也能看,但很繁琐)
第二,至于我的实验条件,我是没有说的很清楚,抱歉。这样的:一个固定长度(180s)里刺激给予12次,两个刺激间隔不定,从10-16秒不等,避免共线。共4个RUN即4个条件。run1.1D就是run1的1D,并非4个1D的拼接。之所以没说清楚,可能是因为觉得主要想明白那个命令行输出的到底是什么?
第三,至于我“试图用-stim_base连接起来”,是没有道理的,因为我是菜鸟萨,嘿嘿,再次感谢CELL的回复!
Reply all
Reply to author
Forward
0 new messages