したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

解析関係

1MRT:2007/03/02(金) 18:27:36
解析に関する話題はここでお願いします.
SPMのUpdateや外部ツール,統計に関する話題なども

2MRT:2007/03/02(金) 20:48:39
<SPMの改造について>

SPMのフォルダにあるspm_defaults.mを書き換えると
Estimationが高速化されます.

書き換える場所は34行目です.
前:defaults.stats.maxmem = 2^20;
後:defaults.stats.maxmem = 2^24;

書き換えはEstimation時に読み込むデータの量を
2^20bから2^24bに増やすという意味です.
これにより1回に処理するデータ量が
倍増するので処理全体が速くなります.

実際のところ読み込み量は8倍になっていますが,
処理速度は2〜4倍程度です.
例:30分 >> 10分
データの読み書きの時間がボトルネックになっているためかもしれません.

今のところ私のPCでは安定して動いていますが,
改造は各自の責任でお願いします.
(処理速度の問題だけで結果には全く影響しません.)

ちなみに「MAXMEM」問題はSPMのMailListでも議論されています.
ttp://www.jiscmail.ac.uk/cgi-bin/wa.exe?S1=SPM

3MRT:2007/03/06(火) 18:58:33
<SPM.matの内部構造について>

Estimationで出来上がるSPM.matの中身を見る方法を説明します.
SPM.matの中には元画像データの情報や場所,
モデルの内容などの様々な情報が格納されています.
普段それを見ることはありませんが,見ることも「できます」.

まぁ 見てどうなるものでもありませんが,
暇つぶしがてらに覗く価値はあると思います.
先ず,MatLabのコマンドウインドウでspm.matを読み込みます.
読み込みは”load”とspm.matがあるフォルダまでのpass名を
スペース区切りで打てばできます

例: >>load Z:\ProjAnimacy\morito\Result

その後,「SPM」と大文字で打つと以下のような情報が引き出せます.

>>SPM

SPM =
xY: [1x1 struct]
xBF: [1x1 struct]
nscan: [132 132 132 132 132]
Sess: [1x5 struct]
xGX: [1x1 struct]
xX: [1x1 struct]
xVi: [1x1 struct]
SPMid: 'SPM5: spm_spm (v$Rev: 649 $)'
xM: [1x1 struct]
xsDes: [1x1 struct]
xVol: [1x1 struct]
Vbeta: [1x35 struct]
VResMS: [1x1 struct]
VM: [1x1 struct]
xCon: [1x9 struct]
swd: Z:\ProjAnimacy\morito\Result

これはSPM.matの中にあるデータの内部構造をあらわしています(フォルダのような概念).
さらに「SPM.xY」や「SPM.xBF」のよう「SPM」に「.」をつけて
先ほどの名前を打つとさらに下位の情報が引き出せます.


>> SPM.xY
ans =
RT: 2
P: [660x55 char]
VY: [660x1 struct]

さらに「SPM.xY.P」と打つと...

まぁこんな感じで,後は各自で色々と試してみてください.

4MRT:2007/03/06(火) 19:13:45
すみません
上のmatファイルの読み込みの例が少し間違えています

× >>load Z:\ProjAnimacy\morito\Result\
○ >>load Z:\ProjAnimacy\morito\Result\spm.mat

上記のように訂正お願いします.

5 DNS:2007/03/08(木) 18:17:04
Diag_imgs
UHTさんへ

Matlabの新規mファイルで、下記のスクリプトをコピペして
"diag_imgs.m"として保存してください

使用する際には、SPM99かSPM2のフォルダに入れて実行してください
(SPM5を使用しているなら、パスの切り替えもしてください)

Matlab起動後、diag_imgsと入力し実行。
あとはウィンドウの指示に従って下さい。
Analyze formatの画像の1 volumeの信号の平均値をプロットしてくれます

MRI装置の不調等で、信号が安定してない場合は
これを実行するとある程度分かります

Figureには出ないですが、Matlabの方に計算が終われば、
MeanとSDが出ますので、それも参考になります

なお、このスクリプトは、ミスター河内山の作品ですので
スクリプトを実行するするたびに、感謝の言葉を口ずさんでください
(このスクリプトのクレームは、ミスターの方にお願いします)

また使用方法で分からなければ、お知らせ下さい

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [gl] = diag_imgs
% Usage
% >>diag_imgs;
% or
% >>[global_value] = diag_imgs;
% This program checks estimated globals calculated by spm_global.m
%-------------------------------------------------------
% Takanori Kochiyama

mx = -Inf;
mn = Inf;

V = spm_vol(spm_get(Inf,'*.img','Select images...'));
n = length(V);
gl = zeros(n,1);

for i=1:n
gl(i) = spm_global(V(i));
end

mean_gl = mean(gl);
sd_gl = std(gl);
min2max_gl = max(gl) -min(gl);
pmmin2max_gl = min2max_gl/mean_gl;

fprintf(['Grand Mean = ' num2str(mean_gl) ';\n'])
fprintf(['SD of GM = ' num2str(sd_gl) ';\n'])
fprintf(['CV of GM = ' num2str(sd_gl/mean_gl) ';\n'])
fprintf(['Max to min/GM = ' num2str(pmmin2max_gl) ';\n'])

figure(1);hold off
plot([1:n],gl,'b');hold on
plot([1:n],(mean_gl)*ones(n,1),'m.')
plot([1:n],(mean_gl-2*sd_gl)*ones(n,1),'r.')
plot([1:n],(mean_gl+2*sd_gl)*ones(n,1),'r.')
set(gca,'xlim',[1 n])
title('Estimated globals')
legend('Globals','G. Mean','GM+/-2*SD')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

6MRT:2007/03/18(日) 10:28:53
<刺激の制御について>

現在,MRIの実験では「Presentation」を使用して
実験および刺激の制御をしている方が多いと思います.

DelphiやC#など新しい言語を身につけるのも良いと思いますが,
「MatLab」を用いて刺激の制御をする方法もあります.
MatLab上でSPMを動かすように,外部ツールをMatLabに入れると
比較的簡単に刺激の制御や信号処理ができるようになるようです.

どうせこの先SPMで研究を続けていくなら,ついでにMatLabを勉強し,
刺激の制御も覚えておくと色々と便利かもしれません
以下に,使えそうなソフトやハードをあげておきますので
ご興味がある方はどうぞ.

Cogent2000(無料):  ttp://www.vislab.ucl.ac.uk/Cogent2000/index.html
PsychoToolBox(無料):ttp://psychtoolbox.org/wikka.php?wakka=HomePage
VSG(\240万): ttp://www.namoto.com/web/Vision_WEB/Vision_CRS/Device/ViSaGe/ViSaGe_Main_Bottom.htm

ちなみにVSGはMRI室にもあり,小松研の方々はこれで刺激の制御や猿の眼球運動
などを計測・制御しておられるようです.
個人的にはWindowアプリケーションは「C#」か「Delphi」で作り,
刺激の制御は「MatLab」ベースに変えていこうかと考えています.

蛇足:
VSGはC#やDelphi,Basicでも使えますが将来的にはMatLab
一本に絞っていくそうです(ナモト貿易さん談)

7MRT:2007/03/18(日) 10:32:35
なんか段落間のつながりが意味不明ですね...

要は「Presentation」はバカみたいに高くて応用性が無いので,
無料で簡単に使える資源(ソフト)があったらそっちに乗り換えた方がいいんじゃないの?
ってことが言いたい訳です ハイ d(`・ω・´;)

8MRT:2007/03/20(火) 03:01:12
<Batch処理>

大体の人は知っておられると思いますが,
SPM5はBatchを使うことでほぼ自動でPreprocessからModelEstimateまでできます.

と,ここまでは当たり前でこっからが少し小ネタです.

で,実はSPM5は別々に作った複数のBatchを
新たに「Batch処理(メタBatch?)」することもできます.

[方法]
①別の名前をつけたBacthを複数用意する(例えばSub①〜Sub⑩の前処理など).
②GraphicsWindow右上の「TASKS」の「Batch」を選択する.
③GraphicsWindow内の「New"Util"」を選択する
④「Util」内の「"Excute Batch Jobs"」を選択する.
⑤「Batch files ->X」の「SpecifyFiles」を選び対象となるBatchを指定する(複数可)

これでできたBatchを走らせると選択したBatchファイル全てを
連続的に処理することができます.

これにより1つのBatchに詰め込みすぎることで起こる妙な入力時のタイムラグや
打ち込みやコピーミスによるヒューマンエラーが低減できます.

9HTU:2007/03/21(水) 14:51:15
MRIcro

教えてください。ちょっと困っています。
鳥取で取ったデータをDICOMからanalyzeに変換すると
sagittalで撮像しているためなのか、3方向でviewすると
cornalの場所にAxialが
sagittalの場所にcoronalが
axialの場所にsagittalがきてしまいます。

表示してからどこかをいじることで変換できるのでしょうか?
ご存知の方、よろしくお願いいたします。
今DICOMデータはないのですがanalyzeデータは手元にあります。

10DNS:2007/03/22(木) 16:02:51
>>HTU

MRIcroで変換するときにどこかのチェックボックスに
チェックを入れるとうまいこといくかもしれません
変換し終わってからだとどうすればいいか分かりませんが、、、

もしくは、SPMで読み込んで、
Displayの所の回転させるやつで、好きな方向に回せると思うので
それで保存してはいかがでしょうか?
回転させるパラメータを全てのEPIに対して当てはめてやれば
良いと思います
(この場合、回転させた方向が間違うと左右が変になりそうなので、
タッピングなどの左右がはっきり分かる課題で試してみた方が良いと思います)

他の方法では、Matlabでスクリプトを書くというのがあるとおもいます
EPI画像をひたすらFlipするだけのがどこかにあると思いますので
それを改変してみてはいかがでしょうか?
ありました、"spm_flip.m"です
###########################################
function spm_flip
% FORMAT spm_flip
% flips images from right to left
%___________________________________________________________________________


% get images
%---------------------------------------------------------------------------
P = spm_get(Inf,'*.img',{'select images for flipping'});

% flip
%---------------------------------------------------------------------------
spm_progress_bar('Init',length(P),'flipping','');
for i = 1:length(P)

[p,f,e,v] = fileparts(P{i});
Vi = spm_vol(P{i});
Vo = Vi;
Vo.fname = fullfile(p,['f' f e]);
Vo.descrip = [Vo.descrip ' - flipped'];
Vo = spm_imcalc(Vi,Vo,'flipud(i1)');

% progress
%-------------------------------------------------------------------
spm_progress_bar('Set',i);
end
spm_progress_bar('Clear')
#############################################################

他にも、昔どこからか手に入れた、
MPRAGEを回転させるスクリプトがありますので
必要なら送ります

11MJH:2007/03/30(金) 18:17:08
MJHのデビューです。

MRTさんに質問なのですが、
<刺激の制御について>の件についてで紹介していただいたCogent2000の使用を考えています。
そこで
・従来のPresentationに比べてCogent2000などが優れている理由
(応用性がPresentationよりあるとの事でしたが、特にどのような刺激提示においてCogent2000のadvantageがあるのでしょうか)
・Cogent2000はWindows2000上でMatlab ver6.0もしくはMatlab ver6.1で走らせることを推奨しています。
MRTさんはXP上のMatlab7以上で走らせてみたご経験などありましたら、問題なかったか、教えてください。

よろしくお願いいたします。

12MRT:2007/03/31(土) 02:17:36
Cogent2000の利点についてです.

...初め長々と書いたのですがくどくなったので実例から (・・;

・運動刺激を提示する場合
・複雑な幾何図形の描画
・実験中や直前における刺激の修正(先生や被験者のクレームなど)
・数学的な画像処理(周波数フィルター処理)をする場合
・反応データの処理(実験中に刺激に反映させる場合など)

以上のような場合に紙芝居式のPresentationでは一々画像を作り直さないといけません.
もちろんPresentationにあらかじめある関数を使えば多少の描画は出来ますが,
それ専用に作られているわけではないので限界があります.しかも,数学的な処理などでは
プログラムで書かないと物理的に作成そのものができません.

またプログラムで刺激を制御すると自分の想像を超えた刺激を作ることも出来ます.
例えば,色の調合や多項式制御された刺激の運動,独立した時間変化を行う刺激など.

紙芝居式に刺激を制御すると,その紙を作る段階で思考が具体化されすぎるので
思考そのものの応用性も下がるように感じます(個人的感想ですが...)
思考実験を具体化することも比較的簡単にでき,新しい実験の発想が湧くことも多々あります.

後半半分は私的な感想ですが,利点としてはこんな感じです.

次いでXP上での動作についてですが,
正直なところまだXP上では動かしてないので今まさに調べているところです.
(無事に動くと言う話は伝え聞きましたが...)
ちなみに依然,私が試してみたときはWin2000のMatlab5.3くらいでした.

ただMatlabだけでもそこそこ刺激の制御が出来るので,Cogent2000の関数を
補助的に使うと言う形で刺激の制御をすれば問題はないかと思われます.

また私の方でも何か分かればおって連絡させて頂きます (`・ω・´)ゝ

13MJH:2007/04/02(月) 11:29:58
MRTさん>>なるほどー。明快なご回答、ありがとうございました。
とてもわかりやすかったです。
感覚認知系の実験では特に有効なツールになりそうですね。
私も使ってみてわかったことなどはここにフィードバックしていきたいと思います。
ありがとうございました。

14MJH:2007/04/07(土) 15:47:30
下のTESTのスレにMRTさんの書きこみがあったので・・・
<MarsBarでtimecourseをplotする>
私の知っている限りのことですが、書いておきます。(一部サイボウズに載せたときの抜粋があります)
なにか間違いなどあればご指摘いただけると助かります。

現在SPM extentionでHPからDLできるのはSPM2対応Versionですが、SPM5対応のものは開発中のようです。
SPM5対応版のdevelop versionは
ttp://sourceforge.net/project/showfiles.php?group_id=76381
からDownloadできます。
Package: marsbar-devel
Release: 0.41
が、SPM5 compatibleのdeveloping versionです。
ttp://sourceforge.net/search/?ml_name=marsbar-users&type_of_search=mlists&group_id=76381&words=SPM5
にはmailing listに届いているバグの報告などがあります。
ちなみに私はRelease:0.40で、Matlab ver.7でちゃんと走っています。
(Release 0.41については試していません)

それからMarsBarのHPは
ttp://marsbar.sourceforge.net/
tutorialもあるので、使い方の詳細はそれをダウンロードしてもらえればOKだと思います。

解凍したMarsBarフォルダをSPM5の中のtoolboxフォルダに入れた後、Matlabでパスを設定すれば、SPM5内のtoolboxボタンでMarsBarの文字が出てくるはずです。
(MarsBarを解凍すると、marsbar”〜”と、余分なものがついていますが、〜の部分は消して、フォルダ名をmarsbarとしてください)

timecourseは以下の手順で取得します。
①Marsbarを立ち上げる(なぜか魚の絵が出てくる)
②ROI definition → Build
ココでROIを決定します。
③Data > Extract ROI data (full option) ←必ずfull optionの方を選択してください。
    > use SPM design ←estimateしたSPM.matを選ぶ
   > 続いてデータを取り出したいsession数を入力し、sessionごとにsw___.imgを選んでいく。
    > Scaling form ←データをscalingしたい場合はsession specifiedを選択。信号値そのままがほしい場合はrawで。
    > すべて選択が終わると、計算が始まる。終わるとGraphic windowにサマリーが出てくる。
④Data > Save data to file データを保存
    > Export data ←これでMatlabの変数名を指定して出力、もしくはtext, xlsなど、好みの形式で保存できる。

結果は、timepointごとの値が一列に並んで表示される。
このようなデータを全被験者で取り出して、平均するなりして、graphを作成する。
きっとどこかにグラフにすることとかできる機能があると思うんですが、私はしりません。
以上、MarsBarでtimecorseのコーナーでした。

15MJH:2007/04/07(土) 16:11:52
ついでに
<Display slices機能でactivation mapを作る!>

解剖画像にactivation mapを乗せて、全脳をスライス表示したい!
そんな方におすすめな今日の目玉商品、display slices.
ボタンをぽちぽち押すだけで、だれでも簡単に頭をスライスできます!!

方法をば。。。
ありがたいことに、SPM2ではextensionとして、入れなければいけなかったのですが、SPM5でははじめから実装されています。
①コマンドラインで slover('basic_ui') と入力。
②表示したいcontrastのcon image(複数枚可)と、解剖画像を選択。
③左下の画面で、それぞれのimgが何を示しているのか聞かれる。
 contrast imgは"Blobs"を選択。解剖画像はstructualを選択。

  Blobsの場合はどんな色で表示するか聞いてくるので、好みの色を入力。
  (color mapはいろいろ選べたと思うけど、どんなのがあったかは忘れちゃいました)
  私は通常、positiveはhot, negativeはwinterで表示します。
  続けて、表示する閾値を聞いてきますので、表示したい統計値の範囲を指定してください。
  
  解剖画像の場合は Axial, Coronal, Saggitalのどの面で切るか聞いてきます。
  続けてslice to displayで、slice面の範囲と間隔を聞いてきます。
  一番下のz座標:スライス間隔:一番上のz座標 (axialの場合)このように入力します。
  例)-20:4:80 (z=-20からz=80まで、4mm間隔のスライスを表示)

④これでGraphic Windowにスライスが表示されます。

以上、<Display slices機能でactivation mapを作る!>のコーナーでした。

16MJH:2007/04/07(土) 16:23:47
おまけ

Display slicesのようなマップを作る方法はもう一つあります。
それがMRIcroを使った方法です。

それぞれの利点ですが、
Display slices
・複数毎のcontrastを重ねられる。
・スライス面が好みの範囲で一覧表示できる。
MRIcro
・単一のblobしか乗せられないが、Blobの透け具合が調整できるのでsulcusが見やすい。

これらの点から、普段はdisplay sliceを使いますが、論文のFigureなどで、個人レベルでsulcusとの位置関係を見やすく示したい場合はMRIcroを使っています。

以前に一度サイボウズにも乗せましたが、MRIcroを使ったactivation mapの使い方を書いておきます(サイボウズから抜粋)。

作成方法についてですが、
1,MRIcroのメニュー「File」から、Open image...でanatomical image(個人の3dなど)を指定し、開く。
2,メニュー「Overlay」からLoad functional overlay...で見たいconイメージを指定する。
3,続けて出てくるwindowで、表示するrangeと、negative,positive,もしくはその両方を表示するのか指定する。

これで表示できるはずです。
メニュー「Overlay」のTransparencyでoverlayさせるimageの透け具合を調節できます。
また、「View」のSelect MNI/Tarairach coordinateを選べば、スライス面を指定できます。(RLはdefaultでは逆になっているので注意が必要です。)

使い方は
ttp://www.sph.sc.edu/comd/rorden/overlay.html
に少し詳しく書いてあります。

15>で書き損ねましたが、Display sliceについての解説は、
ttp://imaging.mrc-cbu.cam.ac.uk/imaging/DisplaySlices
にあります。

17MRT:2007/04/07(土) 16:29:08
詳細な解説ありがとうでした. (`・ω・´)ゝ
また他に便利な機能でもあればまたオネガイシマス.

18HTU:2007/05/01(火) 16:35:20
9,10への自己レスです。
今後3dを撮像の関係上saggitalで撮る方もいると思いますので
書いておきます。

MRIcroでやるとpreviewできるので便利です。
File
→Save as Rotated/Clipped
→左下WindowからFormatをSagittal-leftに変える。
→Previewを押すと確認画面が現れるのでその画面どおりになっているか
 確認した後にSave[intel]を押して別名保存する。(Save [sun]との違いはわかりません)
→できたファイルは頭にxがつく。
(軸の変換が完了する)

19MRT:2007/05/13(日) 20:09:51
気分転換がてらに小ネタを一つ

MRIで出たResultを3D脳イメージに貼り付ける方法
(こんな感じの→ttp://brainimaging.waisman.wisc.edu/~oakes/20000906_173700_3dbr.jpg)

元々はMriCroでもできる機能だったのですが,
なんかバグとやらで現在はできるとかできないとか...?

そこでMricronという上位ソフトを使います.
ソフト自体は以下のフォルダにおいておきます
\\Ppspc2\common\Social_Brain
mricrond.zipというファイルを展開してインストールすれば使用できます.

さて件の展開の方法です.

①構造画像を読み込む
*「file」→「OpenTemplate」→「ch2bet.nii.gz」を選択するとMNI仕様の構造画像が読み出せます.
この画像はSPMのsingle_sub_T1.niiと同形でかつ解像度も高く,頭蓋を外してあります.
 ちなみに頭蓋つきは「ch2.nii.gz」で呼び出せます.

②構造画像に機能画像を貼り付ける
 *「Overlay」の「Add」を選択し,対応するイメージファイル(spmTやcon_image)を選択します.

③3DのRender画像を表示する
 *「Window」の「Render」を選択

④Render画像をカットする
 *開いたRender用Windowの「Backgrund」の「Cut」を選択する

⑤Cut位置を決める
 *X,Y,Z座標上での切り取り範囲を数字で入力する
 *「ShowCut」にチェックを入れておくと分かりよいです.

⑥切り取った画像を保存する
 *「File」の「Save as bitmap」を選択する

以上で3Dの構造画像に機能画像を貼り付けた絵ができるはずです

20MRT:2008/10/29(水) 12:18:06
小ネタですがMNI座標とTal座標を「双方向」で変換する
Excelファイルを作ってみましたので以下のフォルダに置いときます

\\Pps-nraid\common\Morito2Others\2All\座標変換

まぁTAL→MNIはあまり使わないけどね (・・;)ヾ

21MRT:2008/10/29(水) 12:50:04
小ネタの続き 「解析ソフト情報」

まだβ版ですがSPM8が公開されたようです
更新が多いので興味深いですが
解析に使うにはまだちょと怖いですね (・・;)

talairach daemonが微妙に更新されている模様(H08/09)
名前も「TalairachClient 2.4.2」となって
微妙なバグが消えてるので少し使いやすなったかも

MRIcronもマイナーチェンジがあった模様(H08/09)
Multislice機能などの新機能がちょこちょこ増えてるみたいです


プリンタ室のMacG5(OsX 10.4)を掃除して
FSLとFreeSurferを使えるようにしました

UNIX,Mac系の解析ソフトでどれもフリーです
脳溝を展開したい人やMac派,MatLabが高くてやってられない人向けです (・・;)

ちなみにAFNIとCaretも追加インストール予定です (`・ω・´)ゝ

FSL:ttp://www.fmrib.ox.ac.uk/fsl/index.html
FreeSurfer:ttp://surfer.nmr.mgh.harvard.edu/fswiki
AFNI:ttp://afni.nimh.nih.gov/afni
Caret:ttp://brainmap.wustl.edu/caret/

まぁ SPMがあれば大抵は事足りますが,
名前くらいは知っておいた方が良いかと d(・・;)

22MRT:2009/05/27(水) 16:02:20
SPM5がWinVista 64bit(Matlab2008a)でバグるのですが,
誰か聞いたことあります?

どうも一部のCプログラム(spm_sample_vol関係:データ読み込み)
をリコンパイルしないといけないようで...

ちなみにSPM8だと上記の環境でも普通に走るようです d(・・ )

24MRT:2010/01/26(火) 19:49:42
ちょっとした小ネタ

A,B,C,Dの4つの条件で実験する
各条件は2つの下位条件に分離できるとする(例:A = A' + A'')
(ちなみに各主条件は1Session中2回繰り返しで計4Session撮像.下位条件はその半分 )

で,これを2つのモデルで解析する
モデル①:Regressor=A, B, C, D の4つ
モデル②:Regressor=A', A''...D', D'' の8つ

するとそれぞれのβ値は
 「モデル①の条件A = モデル②の条件(A'+A'')/2」 となる

もちろん多少はずれる.
誤差を計算すると3%くらい
(誤差 = (A - (A'+A'') / 2) / A

理屈を考えたら,まぁ当たり前の話なんだけど
Regressorを分解してもきちんと重回帰係数の独立性が保たれているのは
ちょっとスゴイなぁと感心してしまいました. (・・ )~°


ただ条件間(下位も含む)の直行性が大事です!
はじめから狙ってたので結構,気を使って組みました (;・・)ヾ

25KI:2010/01/28(木) 19:03:57
みなさんこれxjview知ってますか?結果SPMの見るときに便利です。
ttp://www.alivelearn.net/xjview8/

結果を表示させるツールですが、①普通にやると閾値を変えるたびに結果を出し直す
必要があるがxjview上で見た場合p値を自由に上げ下げできる、②sloverのコマンドで
作っていたrenderの図がボタン一つで可能。主に便利なのはこの辺ですが、他にもいろ
いろいじれます。結果を探索的に見たい場合は使えると思います。

使い方;
①上記のHPで適当に登録などして必要なファイルをダウンロード
②ダウンロードしたファイルをMatlabフォルダのToolboxフォルダに入れる
(パスがきってあればどこでもよいはず)
③パスがきってあることを確認し、Matlab上でxjviewとうって、Enter
④xjviewが開いたらFileメニューからOpen images、表示したコントラストのspmT
のファイルを選ぶ
あとは適当にボタンいじってみて下さい。

26MRT:2010/02/02(火) 15:14:11
ちょっと試してみてあまりの便利さに笑いそうになりました
こんなに使えるソフトだとは... (・・;

SPMのツールを読みこんでるみたいで使い勝手も良いし,
NegativeBold切ったり,TD DataBase使ってROI名示したり
かゆい所に手が届いて良い感じです

欲を言えばcon-image名だけで判断するので
ちゃんと整理してないと迷うけど
SPMと併用すれば隙が無いですね

27MRT:2010/02/02(火) 15:21:24
Overlayのアトラス重畳機能は解剖の勉強にも使えそうですね
内側部の脳溝の分布状態が分かりやすくて助かります

28KI:2010/02/03(水) 20:23:36
さすがMRTさん早いっすね。アトラス重畳機能とかオレまだ試してないです。
やってみよ。

29MRT:2010/03/05(金) 16:12:14
統計についての質問です
ただの思いつきなので適当に聞き流してください

質問の肝は「1つの刺激に対するActivationの有意性は検定はできるのか?」という話です.

普通,MR解析の時に条件の単純主効果を示すときは
条件Aのβ値を算出して,その値がベースラインより大きいかどうかを検定しますよね d(・・ )

ただ,この方法だと根本的に次元と視点の問題から,
1試行分のActivationが有意かどうかを検定できません.

「1試行分のActivationが有意性」を検定したい場合,
その1試行のActivation,例えばhdrのピークに相当するデータを
Slice Timing Correctionと同じアルゴリズムで計算し,
3D-MR信号データを抜き出し「A1」とする

そのA1と同様の方法でn回の試行に相当するRestのActivation「R1」〜「Rn」を算出し,
n個の差分データ「A1-R1」,「A1-R2」...「A1-Rn」を作る

これらの値にone-sample t 検定を適用すれば,A1データ
つまり1試行分のActivationがRestに対して有意かどうか検定したことになるのかな? d(・・ )

30MRT:2010/03/05(金) 16:17:45
元データの妥当性の問題から
「Restとタスクに十分なDulationをもつBlockデザインである」
という前提は必要になる.

この方法の問題点てのは,概念的には基礎統計で習いそうな話だけど
誰か知ってる人いたら教えて欲しい <(_ _)>

31KI:2010/03/05(金) 20:02:19
レベルは違いますが構造的には特殊なPatient Studyの実験と同じ感じですね。
ラルフのところのポスドクが去年Nature Neuroscienceに出したPersonal Space
のペーパーはMRTさんの言うやり方と基本的に同じことをしていると思います
よ。つまりこの場合は一人の患者が有意に統制群と違うかということを検定して
ます。もちろんデータの取り出し方という点ではこれはなんの参考にもなりませ
んが。

検定についてもこれは特殊なPatientだから許されてるのかもしれませんね。
やっぱ一番ありえる突っ込みはもっと試行数を増やせですよね。もちろんMRT
さんのケースもそれが難しい事情があるのだと思いますが。

ざっくりしたコメントでした。とんちんかんなこと言ってたらすいません。

32MRT:2010/03/05(金) 21:16:18
参考になります.

統計上のロジックとしての疑問なので
例に挙げてくださったPaitient Studyと同じだと思います

疑問の始まりはCategory Localizer実験をやったときに
同じカテゴリー内の各刺激の依存性を個別に評価する方法はないかな?というところでした.

応用例としては個別のActivation Mapができれば,
その3D-Correlationを全脳,機能部位,Voxelの3つのレベルで計算して
Objectの内的(心的)構造を階層化できるのではないか,と

発想としてはKriegeskorte.N (2008) Neuronの研究の簡易版てとこです.
ttp://www.ncbi.nlm.nih.gov/pubmed/19109916

私のほうもまだぼんやりしてるのでもう少し煮詰めてみます.

33MRT:2010/05/10(月) 14:28:29
データプロットについての質問です

【目的】
複数セッション分のVOIデータを9mm Sphereでまとめて収集したい

【問題点】
① MarsbarだとSession effectが混ざる(Sessionごとに階段状の下駄がはかされる)
② VOI機能(eigenvariate)だと1Sessionずつしか抜けないので手間
③ Plot機能(adjust/predict)だと1voxelずつしか抜けない


ここに来て以前,KI君がしていた質問の意図が分かった気がするけど
なんか上手い方法ないですかね?

34KI:2010/05/11(火) 01:04:30
Marsbar使ったことないですがSession effectが入るという点が特殊なんですね。
これもいいのか悪いのか微妙ですね。Session間を比べないならこれもありなん
でしょうかね。

ちなみにMRTさんの希望に添えるかどうかわからない完全なる丸投げですが、
rfxplotなるMatlabで動くtoolboxがあります。使っている人の話ではかなり
便利だとか。開発者は数カ月前に家を譲り受けるかもしれなかったドイツの
ぶーやんです。

ttp://rfxplot.sourceforge.net/index.html

35MRT:2010/05/11(火) 15:25:20
情報ありがとです
早速,試してみますね

40HSTR:2010/05/13(木) 13:01:24
MarsbarでEffect of InterestのFコントラストを使えばsession effectって抜けないんでしたっけ??
相当昔にやった上かなりおぼろげな知識で自信ありませんが。
ここまで書いてなんか違う気もしてきました、が、せっかく書いたので書き込みます。

41HTU:2010/06/20(日) 23:48:43
flipしたniiファイルをつくりたいのですが、
その作成方法、どなたかご存知の方、お願いします。
基本的なことかもしれませんが、教えて下さい。

こどもの標準脳つくってますが、ICBM templateって
左右差を消すため(?)にflipした画像も加えて作成されて
るんですね。恥ずかしながら知りませんでした。

42KI:2010/06/23(水) 14:48:29
HTUさん

Flipの仕方さっぱりわかりませんね。簡単な気がしますが他の人に期待。
テンプレート作りからとは、やっぱり子供のデータをとるのは大変ですね。
標準脳作るのに左右差消すことはないような気もしますがどうなんでしょ
うね。たくさんの人の脳を平均した結果左右差があってもそれが標準とい
うことでいいような気もしますが。

43MRT:2010/06/28(月) 02:05:23
>>41
遅レスですが
構造画像ならSPMのDisplayで変換・保存すれば良いかも

多数をまとめてするならSPMの設定でFlipの項があり,
1を-1に変えるだけでFlipのOn-Offができたような

ttp://atonal.ucdavis.edu/lab_howto/fmri/image_orient_display.htm
↑の下のほうに記述があります

44HTU:2010/06/28(月) 09:58:20
コメントありがとうございます。
Displayだと回転や移動はできたんですが反転はできませんでした。。。
HPも含めて、今一度確認してみます。

45HSTR:2010/06/28(月) 10:02:23
>>41
これが正しいかどうかわかりませんが、
昔nii変換をMRIcroだかcroNだかでやったところ、
R is Lの絵になったのを覚えています。
本当の意味でのflipになっているかは??ですが、
一応ご参考までに。

46MRT:2010/06/28(月) 15:00:52
>>44

Displayのresizeを1→-1にすれば反転できますよ

MRcroなら「RtoL」ボタン
MRCronならView→FlipL/Rで保存すれば反転できます d(・・ )

47KI:2010/07/02(金) 03:17:21
ちょっと別の質問ですが、解析時にマスクを使った場合と使わなかった場合で
uncorrectedの閾値で結果を出せばマスク内に関しては全く同じ値が再現される
と思いきやそうではないようなのですが(微妙だけど違う)、この理由が分か
る人います?

すげー簡単に言えばGLMのいろんなtermを計算するときに今まで全脳を使って
いたものがマスクの中だけを使うようになったからということでしょうか?

シグナルは確か全脳の値でnormalizeされますよね、マスクするとそうじゃな
くなる?

48MRT:2010/07/02(金) 08:53:23
>解析時にマスクを使った場合と使わなかった場合

マスクを使うと「リセル」の値が
変わってくるんじゃなかったっけ?

あと根っこが同じ話になりますが,
Randam field theoryにおける母集団の状態が変わるので
uncorrectedの統計値にも影響するのかもです.

Randam field theory:
空間状での乱雑な凹凸が,どのくらいの確立で閾値を越えるのかを予想する幾何理論
3Dのstatistical mapを幾何的な凹凸に見立てて第一種の過誤を予測している.

>今まで全脳を使っていたものが
>マスクの中だけを使うようになったからということでしょうか?

処理のどの段階までがマスクに限定されるのかは不明ですが
基本的にはこの理解で正しいと思います.

49KI:2010/07/03(土) 01:08:09
なるほどー、とにかく分析上のミスってことではないですよね。

MRTさんありがとうございました。

50HTU:2010/07/03(土) 02:43:29
>46
MRTくん、ありがとう。
簡単にできました。
(HSTRくんもコメントありがとう)

あと、ちなみにコマンドだと
spm_flip
と入力し、flipさせたいimgファイルを選択するようです。
これだと複数枚を一度に選択できました。
結果はファイル名の前に"f"の付いたflip画像が出来ます。
ただ、imgなら行けるけど、niiはダメでした。

51HSTR:2010/07/05(月) 13:03:11
SPM8で構造画像系の処理をすると「メモリが足りません」エラーが頻発するのですが、
誰か同じ目にあっている人います?
僕が遭遇したのは、
構造画像のdicom importで、以下のようなエラーがでます。

Failed 'DICOM Import'
エラー: ==> zeros
メモリが足りません.HELP MEMORYとタイプしてオプションを確認してください
In file "X:\Matlab\spm8\spm_dicom_convert.m" (v3307), function "write_volume" at line 564.
In file "X:\Matlab\spm8\spm_dicom_convert.m" (v3307), function "convert_standard" at line 222.
In file "X:\Matlab\spm8\spm_dicom_convert.m" (v3307), function "spm_dicom_convert" at line 52.
In file "X:\Matlab\spm8\config\spm_run_dicom.m" (v2094), function "spm_run_dicom" at line 32.

The following modules did not run:
Failed: DICOM Import

segmentでも同じようなエラーがでます。

matlabは7.1と7.4で試しましたがいずれもだめで、物理メモリは上限までつんでいます。
spm5では同じ処理でエラーがでないので、spm8のなんかがおかしい気がするのですが。
ちなみに64bit機だとエラーなく動くので、今は必要なときだけ64bit機で部分的に解析をしています。

試してみてだめだった処理は以下の通りです。
(1)spm_defaultsのdefaults.stats.maxmemの値をいじる
(2)windowsの仮想メモリの値を増やす
(3)Matlabの考えられる設定の変更
SPMのmailing-listにも時々out of memory errorの報告があるのですが、
参考になるのは見つからず、でした。

どうも変換後のファイルを生成する直前に、
zerosで空のデータを作るときに容量オーバーするみたいなんですが、、。

52MRT:2010/07/05(月) 19:05:35
>>51
こちらで使っている分には特に問題は無いようでした
SPM8,Matlab2008a,WinVista64bitです

SPMのr3684だとspm_dicom_convert.mが10/01/14に更新されてるけど
r3307だと09/05/??くらいの更新じゃなかったっけ?

ver upしてみればなおるかも

53MRT:2010/07/05(月) 19:25:05
Realignに関する質問です.

6sessionの実験で3session目に一回,被験者を出して休ませ,
もう一度,入れ直した場合,脳の位置が多少ずれますよね d(・・ )

この場合に6回分を貫通させてRealignかけた方が良いのか?
というのが質問です.

個人的には3回分ずつにRealignをかけて一旦,Normalizeし,
その後にもう一度6回分まとめてRealignかけ直した方が
良いような気がするのだけど, どうでしょう?

理由は下記の通りです.

Realignの手順としては,
先ず,Sessionごとの1枚目の画像でSession間のRealignをかけ,
その後にSession内の画像でRealignをし,
1段階目のSession間パラメーターを加味してHeaderを書き直していたと記憶しています

で,この1段階目の処理の時にSesion間で画像の質が違いすぎる,
例えば,スライス1枚分ずれてしまうと
剛体変換をベースにしたRealign処理が上手くいかないのではないかと感じました

そこで,間にNoramlize処理をかませて非剛体変換を経由し,
形状を似せてから合わせた方から2度目のRealignをした方が合いやすいのではないかと考えました.

もちろんRealign処理の過程でSmoothingされてしまうので(Defaultで5mm),
2回目のRealign処理時にはSmootingパラメーターを0mmに変更する必要があるかと思いますが d(・・;)

実験中に一度,被験者を出すことって
たまにありますが皆さんどのように処理しています?

54MRT:2010/07/05(月) 20:00:19
今更ですが...

SPM8のButchにあるUtil→Reorient Images
で簡単に複数のファイルをまとめてFlipできるようです
かなりお手軽です.

以下,ReorientMatrixのHelp(ButchWindowの下段)に詳細有り

55KI:2010/07/06(火) 02:26:13
>53

一回出して休ませてからもう一回ってことやったことがあります。私は一発のrealign
でやりました。PPSにいたころTYD先生と一度しゃべったことがありますが、ようは
どれだけrealignを信頼するかということだと思います。私は一発でやっても見た目
上おかしなことになっている感じは全ての被験者でなかったのでそのままやりました。

ただもちろん厳密にやりたい場合はMRTさんの提案とか、あとはcoregisterを利用す
るとか方法はあると思います。ただMRTさんの提案の同じ人のデータとは言え別々に
normalizeしたものをrealignするというのもちょっと気持ち悪いような気もします。
normalize後の画像って前半と後半で完全に一致はしなくないですか?そしてそのま
ま残りの解析をするってことですよね。まあこれはほぼ一致としても問題ない範囲と
いうことなんでしょうが。

56MRT:2010/07/06(火) 04:33:31
なるほどです

一発Realignは異なる角が欠けたサイコロの位置を合わせるような
感じがしてちょっと気になったのですが

要はRealignを信じるかNormalizeを信じるかってことですね
確かに言われてみると五十歩百歩な気もしますね


>同じ人のデータとは言え別々にnormalizeしたものを
>realignするというのもちょっと気持ち悪いような気もします

そうなんですよねー
私もここが気持ち悪くてなんか押し切れないのです


>normalize後の画像って前半と後半で完全に一致はしなくないですか?

Normalizeは1つのパラメーターで全部のデータに同じ処理をかけるので
前半後半で一致しないということは「Normalize前」のデータが一致してないことになるハズ

つまりRealignがあまり上手く行ってないってことなので
そのデータはちょっと注意が要るかもです

57HSTR:2010/07/06(火) 11:14:15
>MRTさん
レスありがとうございます。
verは最新版なはずです、が、確認してみます。
v3307はSPMのverではなく、dicom importのver何だと思ってました。

僕も64bit機ではうまくいくんですよ。
64bit機でも処理が終わる寸前に使用メモリ量が4GBを超えるので、そのときに32bit機ではとまってしまうみたいなんです。

58HSTR:2010/07/06(火) 11:21:32
>53
僕も1回出してもう1回の実験をやっています。
処理はRealignを一発でやっていて、MRTさんの書いている方法のまんまです。
KI君と同様、ぱっと見問題なさそうだったのでそのままその方法を使っています。
まえにKCYMさんに質問したときは、
Norm SD > Realign SD
だから個別Normalizeよりも一発Realignのほうがよいといわれたような気がします。
が、KCYMさんコメントはうろ覚え情報なので参考までに聞き流しておいてください。

59MRT:2010/07/06(火) 12:13:33
>>57
>v3307はSPMのverではなく、dicom importのver何だと思ってました

それはそれで合ってますよ d(・・ )
SPMは小さいver upを繰り返していてその都度VerNoを更新しているようです
たまにまとめて上げるときに公式に載せてるだけてな感じのようです

>58
そっかー
やっぱり一発Realignなのかー

KI君もHSTR君もありがとう

61MRT:2010/07/30(金) 15:11:56
今,気がついたんですが
現役PPSでここに来てるのってSSK君とOGT君,
あとはたまにROMってるKTDさんくらいか (・・;)

何気にOB板化してきてますね.

62MRT:2010/08/10(火) 14:11:44
トレーニングコースの関係でSPMを勉強し直していたら見つけました
ttp://www.geocities.jp/fmri_lab_1968/spm5_use/spm5_use.html

そいや,前にも聞いたことあったなぁ,と (・・;)

63KMD:2010/08/10(火) 23:22:45
MRTさん
どうもありがとうございます。
実は、これ最近探していたところです。
SPM8版も、あったりしませんかねえ。

64MRT:2010/09/09(木) 20:25:59
DCMのROIを抜き出すときのデザインマトリクス補正(Highpass・共分散)
をするための河内山さんマニュアルってどなたか持ってます?
(複数セッションのデータを強引に繋げ直すところ)

一応,自分で書いた補正用のMatlab Programはあるのですが
理論的なところをちょっと確認したくて探してます.

65YM:2010/09/10(金) 00:03:34
上記のマニュアルがあれば私も頂きたいです。
こちらではDCM解析を始めましたが、探索的なのでドツボにはまりがちです。。
DCM解析の理論や解釈方法で役立ちそうな論文があれば、共有できるとありがたいです。
どうぞよろしくおねがいしますm(_ _)m。

66MRT:2010/09/10(金) 19:37:30
DCM用に作ったデザインマトリクス補正用のプログラム書いたけど興味ある人おられます?
(複数セッションを1セッションにまとめたときのHighpassおよび共分散構造補正)

Session数や条件数などのモデルパラメーターを数か所書き換えるだけで
複数のspm.matを一括変換してくれるようにしてみました.

そんなに難しいことはしていないので問題は無いと思いますが,
プログラムの中身を検証してくれる人がおられると助かります (・・;)

67YM:2010/09/11(土) 07:11:46
↑デザインマトリクス補正用のプログラム、興味あります!
便利なプログラムですね。今のところ1セッションだけの解析をしているので
大丈夫ですが、いずれ複数セッションの実験をした際に使わせていただければ
ありがたく思います。もしよければ、いただけないでしょうか?
メールで添付とかでも可能ですか??

68DNS:2010/09/12(日) 19:14:01
僕も、興味有ります
良かったら見せて下さい

69MRT:2010/09/12(日) 20:49:32
了解です

明日にでもお送りいたします (`・ω・´)ゝ

70YM:2010/09/13(月) 12:52:58
MRTさん
ありがとうございます。お手数をお掛けしますがどうぞよろしくお願いします!

71MRT:2010/09/13(月) 19:07:46
>DNSさん
gmailに送りました (`・ω・´)

>YMさん
東北大のメールアドレスはまだ生きてる?
新しいのがあればそっちに送ります

72YM:2010/09/13(月) 21:41:34
MRTさん
東北大のメアドはまだ使えるのでそちらに送っていただけると助かります。
よろしくお願いします。

73MRT:2010/09/14(火) 15:01:55
>YMさん
idac.tohokuに送りました (`・ω・´)

74YM:2010/09/14(火) 23:33:11
>MRTさん
ありがとうございます。無事に受け取りました!

75MJH:2010/09/19(日) 04:48:56
VBM, DTIの解析をしたいと思っています。
素人な質問で申し訳ないですが、VBMはSPM, DTIはFreesurferで解析されてますか?
それとも他に良い方法ありますか?

また、具体的に何というツールボックスを使っているか、よいマニュアルなどもあれば紹介してもらえると助かります。

76HTU:2010/09/21(火) 09:47:07
VBMならChristian Gaserのvbm5よりもspm8のDARTELがいいようです。
詳しくはspm8のフォルダ内\manにあるmanual.pdfを参照。
FreesurferのVBM解析もregistrationが時間がかかるけど、思いの外いいみたい。
(by TTR S先生)

DTIはよく知らないです。

77MJH:2010/09/30(木) 02:20:34
<Graphics windowのフォントサイズの変更>
トレーニングコースなどでノートPCで作業をしていると、必ず「もっと解析結果のテーブルのフォント、でかくなりませんか?」って質問があると思います。
何年か前のトレーニングコースの時にだれかが説明してくれたはずなんですが、私はすっかりどのファイルをいじればいいか忘れてしまっていましたが、最近これを調べる機会があったので書いておきます。
spm.mを開けて、607行目付近に下記の記述あり。(SPM8のバージョンによっては多少位置がずれてるかも。)

%=======================================================================
case {'fontsize','fontsizes','fontscale'} %-Font scaling
%=======================================================================
% [FS,sf] = spm('FontSize',FS)
% [FS,sf] = spm('FontSizes',FS)
% sf = spm('FontScale')
%-----------------------------------------------------------------------
if nargin<2, FS=1:36; else FS=varargin{2}; end

ここの最後の行の、FS=1:36; を FS=2:36; とか FS=3:36; とかに変えてあげるとGraphicWindow内のフォントサイズが変わるはず。

78MJH:2010/09/30(木) 02:50:38
そういえば以前話題に上がっていましたが、イギリスに来てから刺激の呈示にPsychtoolboxを使っています。
Behaviorで使っているだけでMRIではまだ試していませんが、参考までにちょっとレポート。
・ライセンス料タダってのはイイ
Matlabで走らせるので。Presentationないところでも実験できますね。
・刺激のランダマイズ時間制御、被験者のフィードバックを利用した制御がしやすい。
bmpなどを読むのは少し遅いが(fMRIでは全く問題にならない程度)、プログラム上での図形を描画がしやすい。
被験者のフィードバックを利用して次の刺激を出すのも容易にできるはず。
・ログを即座に解析可能
Matlab上で走らせるので、別に解析プログラムを組んでおけば出力したログを即座に解析できる。

特に一つ目と三つ目のメリットはかなり大きい気がします。

80MRT:2010/10/04(月) 15:56:30
>>78
実験心理屋さん,特に視覚屋さん御用達のToolBoxですね

MatlabベースなのでI/O関係もかなり柔軟に対応できるのも特徴ですね.
MR実験だとResponceやMRパルスを収集するのが
ハード的(装置環境)に限定されることが多いので
結構,大事なポイントだったりします.

C#はGUIプログラミングできるから刺激制御は楽なんだけど
普通にやってるとパラレルポートが読めないからなぁ...(−−;)

81KI:2010/10/05(火) 01:08:52
オレもこっちでpsychotoolbox使い始めた。fMRIやってそれをSPMで解析すること
をgivenとすると、matlabは既にあるので金がかからないのはいいね。

まあ、オレはpsychophysicsとかやるわけではないので、どっちでもいいかなって
気がするけどMatlabで解析をできるようになりたいのが動機かな。

82YM:2010/10/15(金) 03:09:33
DCMの結果に関して、基本的な質問があります。
DCM.B(connectivity strength)やDCM.C(direct input strength)を開いた際に出てくる結果で”マイナス−”の
値が含まれていますが、このnegative connectivityの意味はどういったことなのでしょうか?

1)負の結合強度(結合が極めて弱い?)
または
2)逆向きの結合強度(領域A1→領域A2の結合強度が-1の場合は、領域A2→領域A1の結合強度が1という意味?)
のどちらかかなと思ったのですが・・・。

とても基本的な質問で申し訳ないのですが、どなたかご存知の方がいらっしゃったら教えていただけますと幸いです。
どうぞよろしくお願いいたします。

83MRT:2010/10/15(金) 13:47:45
式から考えると分かりやすいと思います
DCMのモデルは下記の式で表されます

Z' = (A + ΣuB)Z + Cu
ttp://www.fil.ion.ucl.ac.uk/~mgray/Presentations/DCM%20for%20fMRI%20Theory.ppt
(本HPのPPTが比較的分かりやすい.8枚目あたりに式の詳細)

この式の意味合いは,
ある部位の時系列変化量Z'(時間データの微分項)を他の部位の時系列データZで表現し,
それを一つの系の中で整合性が取れるようにパラメータA,B,Cを計算しているのがDCMです

例えば

Z1' = {[a11 a12 a13 0] + u3[0 b12 0 0]}[Z1 Z2 Z3 Z4]T + [0 C12 0][u1 u2 u3]T
とし,(前述のスライドに準拠.Tは転置の意)

上の式をもう少し簡略化すると下記のようになります
Z1' = a11*Z1 +(z12 + u3*b12) Z2+ a13*Z3 +C12*u2

,b12の値がマイナスになるとすると,
この式に示した通りZ1’を説明するためのZ2の影響が負に出ていることを指します
微妙に異なりますが,これはSPMの通常解析でいうところの
β値が負であることの意味合いと同じです
(Z1’とZ2の次元が違うので厳密には異なる)

84MRT:2010/10/15(金) 14:10:12
>>82の問いに戻ると

>1)負の結合強度(結合が極めて弱い?)

結合力が負であるというだけで,
結合が弱いわけではありません.

>2)逆向きの結合強度
ベクトルの向きは別の係数で表現されるので,
逆向きでもありません.


先ほどの式をもっと簡略化して考えると
Z1' = u3*b12*Z2 + A+ C

u3はタスクのON/OFFによる矩形関数なので
「Task RelatedなZ2の活動を反転させた信号がZ1の活動に影響を及ぼす」

つまり,
Task RelatedなZ2の活動がRestに対してポジティブならネガティブな影響を与えているし,
Task RelatedなZ2の活動がRestに対してネガティブならポジティブな影響を与えていると思われます.

「影響力」という意味で論じるならネガでもポジでもそのスカラー量が大きいなら
影響力も大きいので,例え負にでてもその値が0より有意に大きいのであれば
「何らかの関係性はある」と言えます.

最後に生理的な意味合いについてですが,
それぞれのタスクや実験内容によっても変わってくるので
それに応じてDiscussionで論じれば良いのではないでしょうか

85MRT:2010/10/15(金) 14:12:08
蛇足になりますが,
一般的にはDCMのROI決めの時に通常の解析で得られたβが
Restに対してポジティブに出ている領域を使うので

結合力が負になった時は
「抑制的な影響を与えている」と言ってよいのかもしれません.

86YM:2010/10/16(土) 01:25:55
MRTさん
大変丁寧に教えていただきありがとうございました。
とても分かりやすいので、分かった気になっているだけかもしれませんが・・・、
DCMではconnectivity間の抑制と促進の両方を見られるものなのですね。
確かに抑制でも促進でも、何らかの影響を与えることには変わりないので、
納得できました。
お忙しい中、本当にありがとうございました。

87MRT:2010/11/11(木) 19:57:26
SPM8のResultsってコントラスト変えるとき,
わざわざSPM.mの選択まで戻らなくて良くなったのですね

Orthogonalityを見る「Design」の隣に
「contrust」ボタンができてるようで地味に便利!!

88KMD:2010/11/12(金) 23:30:59
ほんと便利ですね。
水曜までシカゴでSPM8コースを受けていて、初めてSPM8を使ってみました。
それにしても、PPSのと違って、不親切極まりないトレーニングコースでした。。
PPSのSPMコースは、かゆいところに手が届く感じで丁寧でしたからねー。

89KI:2010/11/22(月) 06:46:56
久々にSPMをいじってみて、「Contrast」ボタン感動しました。閾値変えるのも
同じところからできますね。

90MRT:2011/01/17(月) 18:36:43
知り合いから聞かれたのですが,
下記の現象について何かご存知の方おられますか?

特に福井のGE使いの方からコメント貰えると幸いです

> (1) GE の MRI (Signa HDxt) で撮像したデータが、SPM2 あるいは
> SPM8 の DICOM import ファンクションではうまく扱えない
>
> SPM8では、Read DICOM header の段階で "Unknown odd numbered
> Value Length (44c55)" というエラーメッセージが出で、その後に
> "Cant find appropriate modality information for 〜" というエラ
> メッセージが出ます。NIfTIファイルは作成されません。
>
>
> (2) 上記のデータを MRIcroで Analyze に変換した場合、anonymize
> されたデータから変換すると、slice thickness が元のデータの3倍
> (あるいは6倍や9倍)になる

91HSTR:2011/01/18(火) 12:00:00
>>90
エラーの内容は違いますが、SPM8の3D変換で一部エラーを出しました。
3D-T1の画像のファイルサイズが岡崎の数倍だか十数倍だかで、
メモリーがオーバしてしまい止まる、というものでした。
たしかSPM5では同様のエラーがでなかったような気がします。
この問題はSPM8 on 64 bit OSを使うことで解決しました。
僕の場合はEPIでは特に問題がでていません。

92MRT:2011/01/18(火) 14:32:46
返信ありがとう

やっぱりデータエラーが起こるのですね
どうも変換時にデータが数倍に膨れ上がるそうですが,

64Bit機を使うとデータの膨張も防げるのですか?
それともメモリ枠が大きいのでエラーを起こさないだけ?

93HSTR:2011/01/18(火) 15:05:29
>>92
たぶん後者です。
メモリ使用量をモニタしていると、処理の一番最後のフェーズで激しい増加が起きます。
32 bit機ではそれが上限を振り切っている感じでした。

94MRT:2011/01/18(火) 18:42:09
なるほどです.
あくまで対処療法しかないワケですね (・ω・`)

SPMのメーリングリストにもつい最近,コレとかぶる質問がでていたので
そちらの方の様子も見ておきます
ttps://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind1101&L=SPM&P=R22517&1=SPM&9=A&I=-3&J=on&d=No+Match%3BMatch%3BMatches&z=4

色々ありがとう.

95YM:2011/03/03(木) 05:45:01
functional connectivity解析に関してお尋ねしたいことがあります。

質問1)CONN toolを用いて解析を行う際に、segmentationが必要なようですが、普段の一般的なSPM解析ではsegmentationをあまり用いたいため、segmentationをかけていないpreprocessingデータ(smoothingが終わったとこまでのデータ:sw__.img)を用いて良いのか、やはり最初のrawデータを用いてsegmentationからかけなおした方が良いのかどちらが正しいでしょうか?
segmentationはnormalize後にはかけてもあまり意味がないというかかけてはいけないものですよね?!(基本的なことですみません。。)

質問2)基本的な質問なのですが、見たいROIのマスクを作るために、pickatlas(またはmarsbar)を用いてマスク画像を作成すると、.roiファイルができるのですが、これと同じ内容のものを、.imgまたは.nii画像として保存するにはどのような方法があるでしょうか?
CONN toolにROIを入力する箇所があるのですが、.imgか.nii形式のファイルしか読み込めないようです。
たとえば、集団解析のピーク値でマスクを作成して、余分な個所をほかのマスクで消去して、見たいROIだけ抽出するなどの方法でもOKです!
どなたか教えていただけるととても助かります。どうぞよろしくお願いします。

96YM:2011/03/03(木) 05:56:45
度々すみません。。
質問2)に関して解決しましたのでご報告します。
marsbarのROI definition内のexportで作成した.roiファイルを選び、次にBase space for ROIsを選んで保存すると自動的に.niiファイルが作成できるようでした。

97MRT:2011/03/03(木) 19:23:44
conn toolってコレのこと?
ttp://web.mit.edu/swg/software.htm

Segmentationからほぼ全部Batch経由で自動化してるぽいけど,
その自動化を使って一からデータを整形するか,
以前にPreProcessしたデータを転用できるのかが分からないってことかな?

少なくともSmoothingをかけたデータにSegmentationかけると
白質と灰白質を上手く分離できないと思います

Normalize後にSegmentationをかけることも
それ自体は問題無いと思いますが,
ROI設定に用いるマスクの扱いが変わりませんか?

マニュアルにはSkipもできると書いてありますが,
慣れてないなら素直に全部conn tool内(経由)でやった方が良い気がします

ちなみにconn toolの中のソースも読んでみましたが
ちょくちょくSPMの関数使っていますが基本的には自作部分が多いかも.

98YM:2011/03/04(金) 02:15:09
MRTさん
早速アドバイスいただきありがとうございます。
やはり最初からpreprocessingをやり直そうと思います。
ありがとうございました!

99YM:2011/03/05(土) 04:31:38
度々すみません。。
Normalize前にSegmentationをすると、preprocessingのデータにも影響が出るものでしょうか?
Normalize後にかけた場合は、影響がありそうですが、前の場合は画像への上書きがあまり影響しないのかなと思いましたがどうなのでしょうか?

100KI:2011/07/30(土) 05:49:50
MRIcronに二つの活動Mapをoverlayして見ると明らかにoverlapする部分があるのに
ImCalcで同様の二つの画像のoverlapの画像を作る(i1.*i2>0)と、あったはずの
場所にoverlapがない場合があります。誰かこの理由わかりますか?

MRIcronが不完全でoverlapがあるように見えているだけなんですかね。

それともImCalcでの入力(i1.*i2>0)がまずいんでしょうか。

誰かー。ヘルプミー。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板