Loading File

Comments

Please sign in to contribute to the discussion.
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
Sorry for the late response.
I added ROI mask images in the dataset (v1.2.0).
We're now working on preparing preprocessing scripts to create analysis-ready dataset and will provide them in near future.
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
2つ質問があります。
1つ目はROI mask imagesについてです。
spmとmricronで表示させてみたのですが、前後左右反対になっているのでしょうか?
mask imageとfmri imageをoverlayしてもうまく重なっていないような気がします。
2つ目はgeometric-shape sessionsとalphabetical-letter sessionsで使用された画像についてです。
この2つのセッションで使用された画像を使いたいのですが、どこからダウンロードすることができるのでしょうか?

以上の2点について回答をもらえると幸いです。
1つ目に関しては此方の知識不足で的はずれな質問になっていたら申し訳ありません。
よろしくお願いします
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
お返事が遅くなり申し訳ございません.

1点目について,ROI mask image は fMRI 画像 (sub-*/func/*_bold.nii.gz) ではなく各被験者の T1 強調画像 (sub-*/anat/*_T1w.nii.gz) に位置を合わせてあります.したがって,前処理 (T1 画像への coregistration) をしていない fMRI 画像とはご指摘のとおり位置が合いません.

2点目について,刺激画像は未公開ですが,geometric-shape と alphabetical letter については近日中に公開データセットに含める予定です.さしあたって,下記のリンクからダウンロードしていただけます (同梱の csv ファイルは,画像ファイル名と刺激 ID との対応表になります).

https://drive.google.com/open?id=1QzoxUzKg-J6qn_F3UDay0wM5UG-GNyrg
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
回答ありがとうございます。
刺激画像をアップロードしていただいてありがとうございます。

1点目に関してもう少し詳しくお聞きしたいです。
T1画像へのcoregistrationは、T1画像を用いたNormalisationまで含むのでしょうか?

自分が参考にしている「SPM8脳画像解析マニュアル~fMRI,拡散テンソルへの応用」という本ではrealignmentを行ったあと、CoregistrationをReference Imageにrealignで作成された平均画像、Source ImageにT1画像を用いて行っています。
その後、Normalisationを、Source ImageにT1画像、 Image to WriteにRealignment済みの機能画像、Template ImageにT1画像のテンプレートを使用しています。
この2つの処理を行ってできたfMRI画像に対してはROI_mask_imageは位置があっているように思いますが、この方法であっているのでしょうか?

もしよろしければ、上記の方法で間違っているのであれば、処理の仕方を教えていただけないでしょうか?

よろしくお願いします
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
>T1画像へのcoregistrationは、T1画像を用いたNormalisationまで含むのでしょうか?

いいえ,標準脳 (テンプレート T1 画像) への noramlization は含みません.個人脳 T1 画像への coregistration のみです.データセットに付属の ROI マスク画像は個人脳 T1 画像に位置を合わせてあるため,realign した EPI 画像を個人脳 T1 画像に合わせれば (+ EPI 画像と ROI マスクを同じ画像で reslice すれば),ROI のマスク画像と EPI 画像が合います.Normalization を行うと EPI 画像が標準脳 (MNI など) に合わせられるため,付属の ROI マスク画像とは位置が合わなくなります.

実際に当研究室で行っている SPM 前処理の手順は以下のようになります.

1. EPI -> inplane T2 への coregisration (Coregister: Estimate)
- EPI と T1 の coregisration の精度を上げるため,EPI と同一セッションで撮像した T2 画像を仲介して coregistration をしています.
- Reference: inplane T2 画像 (fMRI 画像と同じセッションの anat/sub-*_ses-*_inplaneT2.nii.gz)
- Source: Realign した平均 EPI 画像
- Other: Realign した EPI 画像
2. inplane T2・EPI -> T1 への coregistration (Coregister: Estimate)
- Reference: 個人脳 T1 画像
- Source: inplane T2 画像
- Other: Realign した EPI 画像 (と平均 EPI 画像)
- (1) の T2 への coreg を省略する場合,source には realign 済み平均 EPI 画像を用います.
3. EPI 画像の reslice (Coregister: Reslice)
- EPI のボクセル座標がセッション間で同じになるように,被験者ごとに任意の EPI 画像をひとつ選び,coregister した EPI 画像を選んだ EPI で reslice します.
- Reference: 任意の coregsiter した EPI 画像 (通常,各被験者の最初のセッションの第 1 ランの最初のボリュームを使います)
- Source: (2) で coregister した EPI 画像 (と平均 EPI 画像)
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
丁寧に教えていただきありがとうございます。
教えて頂いた方法で行い、ROI mask Imageと重なることが確認できました。
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
mri画像とroi_mask画像について、spm_volとspm_read_volsを使用してnifty画像内のボクセル値を読み込み1sliceごとに96*96の配列を取得しています。
この取得した配列を画像として表示させ、overlayしてみると、mricronやspmでは一致していたroiがずれていて、roiの領域もspmでの表示と比べると若干異なっているようでした。さらに、roi_mask画像は左右が反対になっていました。

roiの領域がspmでの表示と比べると形が若干異なるのは解像度の違いからなのでしょうか?
また、roiの領域のずれは何が原因で修正する方法があるのでしょうか?
以上の2点に関して何か分かることががありましたら教えていただきたいです。
何卒よろしくお願いします。


By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
一般に,異なる MRI 画像のボクセルを配列として取り出しただけでは,画像間でボクセルの位置は対応しません (画像 A のボクセル (1, 1, 1) と画像 B のボクセル (1, 1, 1) は必ずしも空間上の同じ位置を占めているわけではない).また,ボクセルの配列の方向と (外部の空間での) 左右前後上下の関係も一意ではなく画像によって異なります.MRI 画像にはボクセルを外部の空間に写像する変換行列の情報が含まれており,mricron などの MRI 画像ビューワはこの変換を読み込んで空間上にボクセルをマップして描画します.ご質問いただいた問題は,おそらく異なる空間への変換を持った MRI 画像のボクセル配列を単純に画像として描画していることが原因ではないかと思います.
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
画像ごとに空間座標が異なっているのが原因ということで、niftiのheaderに含まれているTransformの4*4行列を用いてアフィン変換を行えば空間座標が一致するという解釈でよろしいのでしょうか?
MRI画像とroi_mask画像を一致させる場合、それぞれの変換行列ではなく、MRI画像に含まれている方をもちいるべきなのでしょうか?
また、変換前の座標空間をボクセル座標で行ってしまうと、変換後はボクセル座標とは異なる座標になってしまいます。ボクセル座標からボクセル座標への変換というのは行えないのでしょうか?

当初の目的はmricronにてoverlay後のmask画像を新たにniftiで保存することにより達成で来たのですが、上記の内容に興味があり追加で質問させていただいております。

何卒よろしくお願いします。
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
>画像ごとに空間座標が異なっているのが原因ということで、niftiのheaderに含まれているTransformの4*4行列を用いてアフィン変換を行えば空間座標が一致するという解釈でよろしいのでしょうか?

同じスキャナで撮像した画像であれば,基本的に同じ外部の空間座標系を用いているので,仰る通りです.

>MRI画像とroi_mask画像を一致させる場合、それぞれの変換行列ではなく、MRI画像に含まれている方をもちいるべきなのでしょうか?

いいえ,それぞれの画像の変換行列を用います.それぞれの画像で変換をかけることで,画像間で共通の外部空間座標系にボクセルを移すことができます.

>また、変換前の座標空間をボクセル座標で行ってしまうと、変換後はボクセル座標とは異なる座標になってしまいます。ボクセル座標からボクセル座標への変換というのは行えないのでしょうか?

線形変換なので,逆変換すれば空間座標からボクセル座標に戻すことは可能です.
ただ,画像間でボクセルの対応を取る場合は,resampling (reslice) や空間的標準化などで画像の空間座標系を合わせる (画像間で同じボクセルが同じ空間座標を持つようにする) のが一般的だと思います.
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
ありがとうございます。空間的標準化について調べてみようと思います
By creeperlin8@gmail.com - over 2 years ago
The ROI mask images for each subject seem to be missing, how to identify the voxels in each ROI? Thanks!
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
度重なる質問失礼します。
realignmentとcoregisterationを終えた画像のボクセル値を見ているのですが、
-1を持つボクセルがいくつかありました。
これは無視してもよいものなのでしょうか?

また、realignmentの処理に関してなのですが、qualityのパラメータを0.9で行っていますが、1にしたほうがよろしいのでしょうか?
realignmentはrealign(estimation&resclie)で行っていますが、こちらのパラメータに関しましても教えていただけると幸いです。
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
>realignmentとcoregisterationを終えた画像のボクセル値を見ているのですが、
>-1を持つボクセルがいくつかありました。
>これは無視してもよいものなのでしょうか?

元々の値が 0 に近いボクセルとその近傍のボクセルは realignment と coregistration (と reslice) の過程で負値を持つことがあります.基本的にそういうボクセルは脳の外にあるものと考えられるので,無視して構いません.

>また、realignmentの処理に関してなのですが、qualityのパラメータを0.9で行っていますが、1にしたほうがよろしいのでしょうか?
>realignmentはrealign(estimation&resclie)で行っていますが、こちらのパラメータに関しましても教えていただけると幸いです。

我々のラボでは realignment の quality を 1 に設定しております.きちんと試してはいませんが,0.9 でも結果に大差はないのではないかと思います.また,realignment の際,reslice (write) は 'Mean Image Only' としています (つまり 平均 EPI 画像のみ reslice し,各 EPI は reslice しない).各 EPI の reslice は coregistration のあとに行なっています.

参考までに,SPM12 による前処理で使用しているジョブ・バッチファイルを以下に置きましたので,パラメータの詳細はそちらを参照してください.
https://drive.google.com/file/d/1zpsfcaqOLAFheDespWp0sYMMWuwr31A0/view?usp=sharing
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
無視して構わないということなので0を割り当ててしまっても問題ないという解釈でよろしいのでしょうか?
前処理のファイルを上げていただきありがとうございます。
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
>無視して構わないということなので0を割り当ててしまっても問題ないという解釈でよろしいのでしょうか?

基本的には問題ありません.
念を入れるなら,負値のボクセルを T1 画像上にマップして,脳の外など解析に関係のない場所にあることを確認するとよいかと思います.
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
刺激提示実験において、実験デザインにレストは行っていないと解釈しています。
一つの刺激画像に対して、処理に応じて上昇したBOLD信号がベースラインに戻るまでには少なくとも数秒かかると思われるのですが、今回の実験ではどのように考慮されているのでしょうか?
大変失礼な質問とは思いますが、よろしくお願いします
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
論文著者の堀川ATR主任研究員からの回答を代理投稿します:

ご指摘の通り,我々の実験では各刺激画像提示トライアルの間にレストはいれていません.そのため,トライアル間での信号の混入はある程度生じており,あるトライアルの画像に対する情報は次のトライアルの画像が提示されてから数秒間の間,弱いながらも読み出す(decode)ことができます.一方で,新しい画像が提示されて数秒で,新しい刺激に対する信号が優勢になり,レスト無しの8秒ずつの刺激提示デザインでも,各トライアルにおける提示刺激の情報を取り出すことができることを確認しています.
ある刺激に対する脳全体のBOLD信号がベースラインに落ち着くには実際には数十秒かかるため,トライアル間での信号の混入を考慮すると我々がやっているように1000枚超の画像に対するfMRI信号を計測するには膨大な時間がかかってしまいます.それを回避するために,レスト無しの短時間提示の実験デザインを用いていますが,上記の通り同じラン内での連続するトライアル間である程度信号の混入があるため,その点を承知の上でご利用ください.
ちなみに,そのような情報の混入がモデルのトレーニングとテストの間で生じないよう,トレーニングデータとテストデータは異なるランで計測を行なっており,また,各ランで同じ画像セットを繰り返し提示するテストデータ用の実験では,ランごとに画像の提示順をランダムに入れ替えることで,前後のトライアルとの信号の混入の影響をランダマイズして弱めるようにしています.
By t15i297f@mail.cc.niigata-u.ac.jp - over 2 years ago
ご返事ありがとうございます。

>トライアル間での信号の混入はある程度生じており、あるトライアルの画像に対する情報は次のトライアルの画像が提示されてから数秒の間、弱いながらも読み出す(decode)ことができます。一方で,新しい画像が提示されて数秒で,新しい刺激に対する信号が優勢になり,レスト無しの8秒ずつの刺激提示デザインでも,各トライアルにおける提示刺激の情報を取り出すことができることを確認しています.
>上記の通り同じラン内での連続するトライアル間である程度信号の混入があるため,その点を承知の上でご利用ください.

これに関して、新しいトライアルにて提示された刺激画像に対するBOLD信号のピークが提示開始から数秒遅れてやってくるからこのようにできると解釈しました。新しい刺激に対する信号が優劣になるというのは、前の刺激に対する信号の大きさが低下していくなか、ある時点から新しい刺激に対して反応するため、上昇していくということなのでしょうか?


また、混入した信号から各トライアルにおける提示刺激の情報を取り出せるということですが、こちらはどういう手法で取り出されているのでしょうか?
信号分離ができればトライアル間の信号の混入をランダマイズして弱めなくてもよいと考えています。しかし、それが厳しいということでランダマイズを使用されているのだと思いました。
大変失礼かとは思いますが、よろしければ、どのように検討されているのかおしえていただけないでしょうか?

私の調査不足で、既に論文などで公開されていたのでしたら、申し訳ありません。

何卒よろしくお願いします。



By s_aoki@i.kyoto-u.ac.jp - about 2 years ago
>新しい刺激に対する信号が優劣になるというのは、前の刺激に対する信号の大きさが低下していくなか、ある時点から新しい刺激に対して反応するため、上昇していくということなのでしょうか?

これについてはおっしゃる通りです.なお実際解析する際には,BOLD反応の時間遅れ分を加味して,BOLD信号を 4 秒 (2 ボリューム) 分前に時間シフトしています (つまり,時刻 t1 から t2 秒の間に刺激 A が提示されたとき,時刻 t1 + 4 から t2 + 4 秒の BOLD 信号を刺激 A に対する反応としています).

>また、混入した信号から各トライアルにおける提示刺激の情報を取り出せるということですが、こちらはどういう手法で取り出されているのでしょうか?
>信号分離ができればトライアル間の信号の混入をランダマイズして弱めなくてもよいと考えています。しかし、それが厳しいということでランダマイズを使用されているのだと思いました。
>大変失礼かとは思いますが、よろしければ、どのように検討されているのかおしえていただけないでしょうか?

ここで「提示刺激の情報を取り出す」と言っているのは,多ボクセルパターンから刺激の情報 (物体のカテゴリや刺激画像の特徴量) をデコードできるという意味です.GLM などにより,ボクセルごとに各刺激に対する応答を分離しているわけではありません.デコーディングの詳細については Horikawa & Kamitani, 2017, https://www.nature.com/articles/ncomms15037 を参照してみてください.
By t15i297f@mail.cc.niigata-u.ac.jp - about 2 years ago
丁寧にありがとうございます。
参考にしてみます
By basile.pinsard@gmail.com - over 2 years ago
Could you share a printout of the sequences to have the full set of the sequence parameters used? Thanks!
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
We don't have instant documents describing the full set of sequence parameters. I need to ask MRI operation staffs to get the full detailed parameters . So, if you could provide a list of parameters you want, I'll collect and share them.
By basile.pinsard@gmail.com - over 2 years ago
Thanks for your quick reply. There are a set of parameters regarding in-plane acceleration (pat/Grappa, PartialFourier) and readout train (BandwidthPerPixelPhaseEncode, EchoTrainLength,EffectiveEchoSpacing,...) that can be used in the distortion correction. Some of these can also be extracted from dicoms to a json by dcm2niix.
There are also parameters regarding CMRR sequence (Excite/Refocus Pulse durations, Reconstruction Kernel,...).
It would be great to provide a printout with the data, but there is absolutely no hurry. Thanks a lot!
By s_aoki@i.kyoto-u.ac.jp - over 2 years ago
Okay, I'll check our DICOM files and ask MRI techs in the institute to collect the information. I'll try to share the info in a couple of weeks.
By creeperlin8@gmail.com - over 2 years ago
Can you please provide the code for preprocessing the fMRI data so that it is ready for decoding? Thanks a lot!