「すぐできるVBM」サポートページ

2014年5月発売の「すぐできるVBM 精神・神経疾患の脳画像解析 SPM12対応」のサポートページです。
いただいた質問への回答や補足をこちらに掲載していく予定です。

117 thoughts on “「すぐできるVBM」サポートページ

  1. 早速お返事とご指導有り難うございます。
    失礼ですが、先生のメールアドレスをお教えいただけますか?
    先生からお返事いただきました3時間後に、取り急ぎk-labからのメールに添付ファイル付きで返信したのですが、多分それではお読みになれないと存じますので。
    一度私のメアドに空メール頂けましたら、3日前の返信メールを転送致します。
    お手数おかけしますが宜しくお願いします。

  2. 根本先生

    初めまして。東北大学の田中と申します。本やサイト等いつも勉強させていただいております。
    VBMのtwo-way ANOVAについて質問です。疾患群と健常群について、薬剤介入試験で生理学的パラーメタ―に疾患群x薬剤群でinteractionがでました。その生理学的パラメーター調整に関連する局所脳をVBMを用いて求める方法を模索していおります。SPMの二元配置で、Factorに「疾患」「ランダムに割り付けた薬物投与」共変量に「生理学的スケール」として求める事は適していますでしょうか。不勉強な上でのご質問で恐縮ですが、ご意見頂けましたら幸いです。

    • 田中先生

      質問を拝見しました。
      すみません、もう少し詳しく教えていただけますでしょうか。

      まず、疾患群と健常群があるわけですね。
      そして、薬剤介入をされているということですが、
      この薬剤は疾患群、健常群、ともに使われているのでしょうか?
      それとも、疾患群を2つにわけて、薬剤師用群と薬剤未使用群があるのでしょうか?

      また、画像に関しては、2回撮影しているのでしょうか?健常者も2回撮影されていますか?

      疾患群×薬剤群で交互作用があるとのことですが、薬剤群という言葉が急に出てきたのでわからなくなってしまいました。
      もう少し教えていただけたらと思います。

      なお、もし、介入前後での比較を見る場合には、一般的なANOVAではだめで、flexible factorial designを用いることが必要になってきます。

  3. 根本 清貴先生

    京都大学の藤本と申します.
    自分の研究対象の画像データを用いて、SPM12を「すぐできるVBM」に準拠して操作し,健常群15例vs疾患群13例の群間比較の解析を行おうとしているところです。無事前処理を終え、GM WM CSFの体積の算出などは先生のこのウェブサイトの力も借りて無事csvソフトで取得でき、被験者ID、年齢、性別などと同じエクセルファイルにコピペした上で、本のP72~80の「群間比較の統計モデルの作成」までは終了し、計画行列も表示されたのですが、その次の統計的推定(estimate)に進むと、下記のエラーメッセージが出てその先に進めなくなりました。
    教室の複数の人にも見てもらいましたが打破できず、ここで質問させていただくこととしました。
    何が原因か、どうしたらクリアできるのか、先生ならお分かりでしょうか?
    各項目の入力は「すぐできるVBM」と全く同一でやっております。
    お忙しい中とは存じますが、どうかお知恵を拝借したく存じます。
    よろしくお願いいたします。

    Running ‘Model estimation’

    SPM12: spm_spm (v6842) 11:34:04 – 25/11/2016
    ========================================================================

    SPM12: spm_est_non_sphericity (v6827) 11:34:05 – 25/11/2016
    ========================================================================
    Failed ‘Model estimation’
    存在しないフィールド ‘xVol’ を参照しています。
    In file “/Users/psymacpro3/Documents/MATLAB/spm12/spm_est_non_sphericity.m” (v6827), function “spm_est_non_sphericity” at line 105.
    In file “/Users/psymacpro3/Documents/MATLAB/spm12/spm_spm.m” (v6842), function “spm_spm” at line 431.
    In file “/Users/psymacpro3/Documents/MATLAB/spm12/config/spm_run_fmri_est.m” (v5809), function “spm_run_fmri_est” at line 33.

    The following modules did not run:
    Failed: Model estimation

    • 藤本先生

      spm_run_fmri_est.mが呼び出されているのが気になります。(ふだん気にしていないので普通に呼び出されているのかもしれませんが)

      いくつか教えてください。

      1. SPMを起動する際、PET/VBMで起動されていますか?fMRIで起動されていますか?
      2. Design matrixが具体的にどうなっているかお見せいただけたら嬉しいです。
      3. Estimateする際は、「すぐできるVBM」と同じ設定という理解で大丈夫でしょうか?

      「存在しないフィールドを参照」ということは、何か値が抜けてしまっているということなので、
      具体的な設定内容を見ないとなんとも言えないかなと…

      可能でしたら、Design matrixの内容を.mファイルに保存していただいて、メールでお送りいただければ何らかのヒントが見えるかもしれません。

    • 藤本先生

      先ほど、先生には直接メールをいたしましたが、皆の役に立つと思いますので、こちらにも書いておきます。
      原因がわかりました。

      最新版のSPM12(r6906)のspm_est_non_sphericity.mにあるバグで、explicit maskを指定するときに起きるものとのことです。

      解決法がウェブで示されていました。

      下記リンクに添付されているファイル(spm_est_non_sphericity.m)を、SPM12のフォルダで上書きしていただけますか。

      それでもう一度やってみてください。

      どうぞよろしくお願いします。

      リソース:
      https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=spm;2c0ae193.1611

  4. 根本先生

    京都大学医学部の竹内と申します。この度本書を購入し参考にさせていただき画像解析を行っております。そのうえで、統計モデル作成の段階で質問があります。本書の中では、Global calculationでuserを指定しTBVを入力、そのうえでGlobal normalisationでANCOVAを指定する方法をお示しされていると思います。私はデータとしてamountを用いているのですが、ここでTBVを用いることは二重にTBVの影響を除去していることにならないのでしょうか?もしくは、Global calculationでomitを選択し、そのうえでGlobal normalizationでnoneを選択することでもTBVの影響を取り除くことができるのではないかと考えています。ただ、実際のデータでこの2つの方法を比較すると若干ですが結果が変わってしまいます。残念ながら、私がmodulationと体積情報をどの段階でどのように取り扱われているのかということをきちんと理解できていないことが原因だと考えております。このあたりのことについてご指導いただければ幸いです。ちなみにSPM12でVBM8を使用しております。よろしくお願いします。

    • 竹内先生

      ご質問に関して、まず、以下を再確認させてください。

      Global calculation:これは、全体量の計算をどうするのかという設定です。User -> TBVとするのは、SPMに計算させるのではなく、自分で指定しているということになります。ここはTBVが常に最善というわけではありません。最近、私はICVを使うことが多いです。
      Global normalization: ここで、Global calculationで設定した値を用いてどのようにデータの正規化をするかを設定します。

      そして、質問になりますが、VBM8をお使いのことですが、amountデータをお使いということですが、modulationはVBM8のnon-linear onlyをお使いでしょうか。
      もし、そうならば、TBVを指定することは、二重になってしまうので、Global calculationはomitでかまいません。
      もし、modulationで、SPMと同様のmodulationを選ぶならば、TBVを指定する方法でかまいません。

      SPMの従来のmodulationでのamountは脳の容積をそのままに保ちます。つまり、生値です。この場合、海馬の容積は全脳の大きさに影響されますので、全脳で補正する必要があります。
      VBM8のnon-linear onlyでのmodulationによって作成されたamountの場合、全脳補正がすでに考慮されています。したがって、この場合、全脳補正は必要ありません。

      私は数年前までVBM8のnon-linear onlyをよく使っていたのですが、最近の論文で(すみません、すぐに出典を示せません)、Non-linear onlyよりもふつうにSPM12でやった方がより適切な結果が出るという発表も出ているので、VBM8の最新版、CAT12では、non-linear onlyはデフォルトではなくなっています。ご存知かもしれませんが、一応ご参考まで。

      • 根本先生

        モデル作成のところにばかり気を取られて、肝心の前処理をどうしたかというところに気が回らず混乱していました。本書ではSPM12のmodulationで全脳体積補正を行っていないのでモデル作成時に全脳体積補正をするのであればなんらかの形で補正する、その方法の一つとしてTBVの例を挙げられているということですね。またVBM8ではmodulationの段階の設定で全脳体積補正をしていればモデル作成時に補正する必要はない、ということですね。

        CAT12、機会があればチャレンジしようと思います。この度はご指導ありがとうございました。

        竹内

        • 竹内先生

          まさにその通りです。今後ともよろしくお願いします。

          根本清貴

  5. 根本先生

    初めまして、埼玉医科大学の瀬尾です。
    先生の著書とホームページで日々勉強させていただいています。
    質問なのですが、VBMにて個人の経時的な変化をとらえる良い方法はないでしょうか。個人の加齢性変化を取り除く手段は先生が翻訳されたVBM8マニュアルを参考にさせて頂いたのですが、個人間のため、統計に乗らないようです。VBM、統計学に対して未熟者で申し訳ないのですが、何らかの方法をご教授していただければと思い質問させていただきました。宜しくお願い致します。

    • 瀬尾先生

      一個人のデータということでしょうか?
      私ならば、健常者のデータを準備して、
      タイムポイント1 vs 健常者データ
      タイムポイント2 vs 健常者データ
      タイムポイント3 vs 健常者データ

      と複数回同じ健常者データに対してtwo sample t-testを行うことで、時系列変化を図示するかと思います。

      1対多の方法は、下記に記載しています。
      http://www.nemotos.net/?p=793

      これは先生がやりたいことに近いでしょうか?

      • 根本先生

        さっそくのご返信ありがとうございます。
        先生の仰るとおり、1個人のデータについての経時的な解析で、正常群との比較で時系列的変化を表すことができるのですが、もう少し直接的に個人間での比較で時系列的変化を表す方法はないでしょうか。それと、時系列的変化を表す時に、データの加齢性の変化を取り除きつつ、加齢性では説明できない萎縮の部位のみを表示する方法はないでしょうか。
        宜しくお願い致します。
         
        瀬尾

        • 瀬尾先生

          N=1という理解でよろしいでしょうか?(1個人のデータが3回あるなど)
          もし、その場合、統計をかけることは不可能になります。分散が得られないので。
          N=10だと、One-way ANOVA within subjectという形になります。

          もし、1個人のデータを直接比較したい場合には、関心領域を決めて、その中の値を直接得て、
          それがどう変わっていくかを検証することになるかと思います。
          その場合、加齢性変化の影響を取り除くのは、1個人だけだとすみません、いいアイディアは思いつかないです。
          もし、Nが多いのであれば、年齢補正は共変量で扱うことで可能ですが。

          以上、よろしくおねがいします。

          • 根本先生

            ご返信ありがとうございます。
            Nの数を増やして、先生の仰るようにOne-way ANOVA within subjectという形で行うと思うのですが、その場合のコントラスベクトルはどのようなものにすれば良いか教えていただけないでしょうか。
            また、疑似的(1個人のデータを4倍にしてNを4にして統計にかけられるようにしてみました。)にNを増やしてFlexible factorial designで1群(Nは4で各個人に5時点のデータです。)の縦断的な統計解析を行ったのですが、有意な部位が全体に広がってしまい、全体量の正規化を行っていないためと考え、全体量の正規化を行ったところ、全体量の正規化を行うまえのコントラストベクトルではエラーになってしまいました。全体量の正規化を行った場合、コントラストベクトルを変えなければ、いけないのでしょうか。 そのことについても教えていただけると助かります。
            度々ですみませんが、宜しくお願い致します。

          • 瀬尾先生

            コントラストベクトルは先生の仮説によります。
            3時点あって、時系列に沿って容積が低下していくと仮定するならば、コントラストベクトルは [1 0 -1]となります。
            5時点でしたら、私でしたら、[1 0.5 0 -0.5 -1]とするでしょうか。

            縦断では、全体量の正規化は不要です。(全体量は同じはずなので)

            VBMでのflexible factorialについては、以前、下記の記事でまとめていますので、ご参考にしていただけたらと思います。

            http://www.nemotos.net/?p=759

          • 根本先生

            ご返信ありがとうございます。
            One-way ANOVAという形で、コントラストベクトルは[1 0.5 0 -0.5 -1]で行ったところ、統計解析を行ったところ、結果は出たのですが、やはり加齢性変化による部分も含まれてしまったため、年齢補正は共変量を入力することで行いました。
            コントラストベクトルを同様に[1 0.5 0 -0.5 -1]で行ったのですが、1 0.5 0 -0.5 -1 <- !invalid contrastとエラーになってしまいました。計画行列に共変量や全体量の補正を入れた場合はコントラストベクトルをどのように変化すればよいかご教授いただけないでしょうか。宜しくお願い致します。

          • 瀬尾先生

            One-way ANOVA within contrastでは、共変量を入れることはできないです。
            時系列変化=加齢性変化ですので、加齢の影響を取り除きたいというのは、このモデルでは共変量に入れることではできないと思います。
            flexible factorialでは共変量を入れることはできない(することが統計モデルに反する)というのが、SPM-MLで何度か話題にのぼっています。
            ただ、ひとつだけ方法があるとするならば、Proportional scalingを使うことだと思います。
            Global normalizationをANCOVAではなくProportionalにするわけです。ただ、その場合、Threshold maskingの値も変わりますので注意してください。

          • 根本先生

            ご返信ありがとうございます。
            返信が遅くなってしまいまして申し訳ありません。
            先生にご教授していただいた手段をもとに統計解析を行っていこうと思います。
            今後とも先生のお力添えいただきますよう、宜しくお願い致します。

  6. 根本先生

    いつもこのサイトを参考にさせていただいております.
    1年前に質問させていただいた際にも,的確なご指導をいただきありがとうございました.

    本日は2点質問させていただきたいことがあります.

    ①multiple regression analysisでcovariateを2つ以上組み入れる際のコントラストベクトルの立て方について

    11/26の関先生の質問に関連して教えていただきたいことがあります.

    いま,片頭痛でVBM研究を行っております.頭痛の重症度スケールと相関関係のある領域の解析をしております.年齢と頭痛重症度スケールに相関関係がないことは別の統計ソフトを用いて確認済みです.
    そうはいっても,頭痛重症度スケールだけでなく年齢も共変数に入れた方がよいかと思ったのですが,その際のコントラストベクトルの立て方についてのご教授いただきたいことがあります.

    multiple regressionでcovariateを頭痛重症度スケール,年齢の2つとして,頭痛重症度スケールとpositive correlationのある領域を解析するとします.この場合のコントラストベクトルは「0 1(頭痛重症度スケール) 0(年齢)」でよいのでしょうか?

    「0 1 1」だと,頭痛重症度スケールとも年齢ともpositive correlationのある領域となり,「0 1 -1」だと頭痛重症度スケールとpositive,年齢とnegative correlationのある領域となってしまうという理解でよろしいでしょうか?

    ②concentration(density)で解析した場合と,amount(volume)で解析した場合の結果の違いについて

    片頭痛を対象としてVBMを行った場合,amountで解析するとなかなか有意な領域が検出されない一方,concentrationで解析すると,いわゆるpain matrix(疼痛関連の疾患で密度・容積減少が多く報告されている領域です)が複数検出されてきます.amountはconcentrationに比べてより厳しい(感度が低い)解析であるという理解でよろしいでしょうか?頭痛疾患は他領域の疾患に比べて密度・容積の変化がより微小であるのか,amountではなかなか有意な結果が出しにくいです.amountでも解析できるようになった今日,concentrationで論文を書くのはありでしょうか?
    もちろんこれについては片頭痛に関する過去の論文を参考にすべきだとは思うのですが,先生のご見解を聞かせていただければ幸いです.

    • すみません、返信が遅くなりました。

      1) コントラストベクトル

      >multiple regressionでcovariateを頭痛重症度スケール,年齢の2つとして,
      > 頭痛重症度スケールとpositive correlationのある領域を解析するとします.
      >この場合のコントラストベクトルは「0 1(頭痛重症度スケール) 0(年齢)」でよいのでしょうか?

      その通りです。狭義の共変量(その影響を省きたい変数)に関しては、Design matrixには入れますが、コントラストを作成するときには、0にします。そうすると、一般線形モデルに共変量が考慮されますので、その影響を省いたうえでの、関心のある変数に対しての正しい相関を見ることができます。

      > 「0 1 1」だと,頭痛重症度スケールとも年齢ともpositive correlationのある領域となり,
      > 「0 1 -1」だと頭痛重症度スケールとpositive,年齢とnegative correlationのある領域となってしまうという理解でよろしいでしょうか?

      理屈では、そう考えることもできますが、実際には、どちらがどの程度影響しているかとかは考えられなくなってしまいますよね。
      なので、現実的には、そのようなコントラストベクトルは、意味がないということになってしまいます。

      2) concentrationとamount

      concentrationとamountの違いですが、amountで解析する方が多いです。
      ただ、amountで解析する場合は、必ず、全体量の補正を行う必要があります。
      (実は、concentrationに関しては、全脳容積の補正がされているような値になります。)

      また、全体量として、全脳容積(GM+WM)を使うか、頭蓋内容積(GM+WM+ICV)を使うかでも結果は変わってきます。
      もし、concentrationで結果が出るのでしたら、amountで、全脳容積もしくは、頭蓋内容積を全体量として、いれて、
      解析されてはいかがでしょうか?もし、そうしていたら、全体量を違う方にしてみるのがひとつかと思います。

      ちなみに、concentrationで書く人は少ないですが、きちんとrationaleをもっているのであれば、そういう論文もいくつかはあります。

      以上、よろしくお願いします。

      • いつもご丁寧な回答をいただきありがとうございます.
        よくわかりました.

        全体量として頭蓋内容量も使えるというのは盲点でした.
        この方法を試してみたいと思います.

  7. 根本清貴先生

    以前にも質問させて頂いたことがあります関と申します。
    身近にSPMやVBMに詳しい者がおらず、引き続き先生のご著書を片手に色々な解析に取り組んでおります。
    本日は相関解析の際の共変量の扱いについて質問させて頂きたくコメントを書かせて頂きました。
    病気の重症度を表す評価尺度(連続変数)と相関のある領域を調べたいと思っています。
    その場合、全脳容積のみならず年齢(や性別)も共変量として入力したほうがいいのでしょうか?
    もしこれらの変数を共変量として入力する場合、Design–Multiple regression–Covariatesの中のCavariateを増やして入力すべきなのでしょうか?それともMaskingの直上にありますCovariatesに入力すべきなのでしょうか?
    前回に引き続き初歩的な質問で誠に申し訳ありません。
    ご教示頂けますと幸いです。どうぞ宜しくお願い致します。

    • 関先生

      共変量の考え方の原則は、「それによって説明できない」ことを示すことにあります。
      もし、病気の重症度が年齢と全く関係ないとはっきり言える状態であれば、年齢をいれる必要はないでしょう。
      しかし、病気の重症度が加齢の影響を受けるのだとすれば、加齢の影響を考慮したうえで、重症度と関連のあるところを調べるという点で、年齢を共変量にいれることになります。

      そして、SPMのどちらにいれるかですが、正直、どちらでも大丈夫です。これは、SPMの古いバージョンとの互換性を保つためとのことであり、どちらでも大丈夫です。GLMでは、どちらも同じように扱われていますので。

      以上、よろしくお願いします。

      • 根本清貴先生

        早速のご回答、誠にありがとうございます。
        とてもスッキリ致しました!
        いかんせん初学者なもので、また初歩的なところでつまづいてしまうかもしれません。その際はまたどうぞ宜しくお願い致します。

  8. 根本 清貴先生

    長崎大学大学院の中島と申します.
    何度も質問させて頂き,また返事をして下さり誠にありがとうございます.
    今回は,統計的推定と結果表示に関して質問させて頂ければと思います.

    今,私は脳卒中後の運動麻痺の予後予測を研究しています.
    先生の著書の相関解析と同様に麻痺側上肢機能と負の相関を示す領域を求めたいと考えています.

    そこでご質問なんですが,先生の著書のP106~P108にかけての「年齢と負の相関を示す領域を
    求める」のところで,最終的にコントラストベクトルが(0 -10)となるとあります.ここを理解することに
    難渋しております.

    このコントラクトベクトルの数値の持つ意味はどのようなものでしょうか?また,この数値は負の相関を見る際はすべて当てはまるのでしょうか?

    ご多忙であると思いますが,ご教授頂ければ幸いです.
    何卒,よろしくお願い致します.

    中島 輝

    • 中島先生

      ここのコントラストベクトルは、[0 -10]ではなく、

      [0 スペース -1 スペース 0]

      です。

      ひとつひとつの数値は、それぞれのβの係数になります。

      正の相関を仮定する場合は、コントラストベクトルは、1となります。
      負の相関を仮定する場合は、コントラストベクトルは、−1となります。

      まずは、ここまでにしておきます。-10ではなく、-1であるとすると、理解は進みますでしょうか?
      これでもひっかかることがあるようならば、また連絡いただけたらと思います。

      • 根本 清貴先生

        お忙しい中,お返事を頂き,ありがとうございます..
        -10と勘違いしていました.お恥ずかしい限りです.申し訳ありません.

        今後とも,ご相談させて頂くことがあると思いますが,何卒よろしくお願い致します.
        この度は,誠にありがとうございました.

        中島 輝

        • 中島先生

          コントラストベクトルは、表現方法が難しいです…。今後、フォントを変えるなどの工夫をして、
          -1 0 と-10が違うということを明確にする必要がありますね。

          ご質問、どうもありがとうございました。

  9. 根本清貴 先生

    長崎大学大学院の中島 輝と申します.
    これまでも何度もご質問にお答え頂き,誠にありがとうございます.
    今回の質問はVBM解析とは関係が無く恐縮ですが,お答え頂ければ幸いです.

    VBM解析を進めているのですが,コントロール群が必要となりました.
    そこで先生へのご質問なんですが,
    1)VBM解析を行う上で,コントロール群は必ず同じMRIの機械でないといけないでしょうか?

    2)もし別の機械でも大きな問題がない場合は,先生の著書にも引用されている,The Center for Biomedical Research Excellenceよりコントロール群(健常者)を引用させて頂きたいと考えています.The Center for Biomedical Research Excellenceからの引用は学術論文へ投稿を行う際に問題はありますでしょうか?

    大変ご多忙である中,このような質問をさせ頂き,誠に申し訳ありません.
    お手数をおかけしますが,何卒よろしくお願い致します.

    中島 輝

    • 中島先生

      コントロール群は、同じMRIの機械であることが望ましいです。
      疾患群とコントロールが違うMRIだと、「MRIの違いのせいでは?」という問題が生じます。
      また、COBREデータは、西洋人で、先生のデータはおそらく日本人でしょうから、そこでも、人種差の問題が出ます。
      その点では、残念ながらCOBREデータを使用することはおすすめできません。

      以上、よろしくお願いします。

      • 根本清貴 先生

        お忙しい中,返事を頂き,誠にありがとうございます.
        私もコントロール群を確保することが出来るように努力して行きたいと思います.

        この度は,誠にありがとうございました.

        中島 輝

  10. 根本清貴 先生

    国際医療福祉大学大学院の理学療法学領域修士課程1年の山口と申します。
    初めて投稿させて頂きます。
    現在、根本先生の著書の「すぐできるVBM」を参考にVBM解析を学び始めたところです。
    まだ研究デザインを検討中の段階でありますが、分からないことが多く、基本的な内容かもしれませんが御教示頂ければ幸いです。

    今回、急性期の脳梗塞患者における灰白質体積の変化を算出できないかと考えております。しかし、先生も御存知の通り、急性期脳梗塞においては梗塞巣周囲の浮腫を考慮しなければならないと考えております。そこで、VBMの中で浮腫を伴っている白質の部分がどのように処理されているか教えて頂けますでしょうか。

    初歩的な内容で恐縮ですが、宜しくお願い申し上げます。

    山口雄介

    • 山口さん

      ご質問、ありがとうございます。
      初歩的な内容どころか、アドバンスドなご質問です。
      すぐに答えることができませんので、数日時間をください。
      よろしくお願いします。

      • 根本先生

        お忙しい中、返信頂きましてありがとうございます。

        VBMの学習を進めながら、先生の御回答を心待ちにしております。
        今後ともよろしくお願い申し上げます。

        山口雄介

    • 山口さん

      改めていろいろ調べていますが、

      • 脳梗塞などを起こした際のSegmentationに関しては、そこを除いてSegmentationするという手法が一般的で、脳梗塞部位を扱うことはやはり多くありません。
      • 山口さんの知りたい灰白質体積変化は、どこになるのでしょうか?梗塞部位より離れた領域でしょうか、それとも近い領域でしょうか?

      質問に対する直接の返答としては、浮腫に対する白質の部分ですが、VBMでは、
      ・信号値
      ・事前確率マップ

      の2つの情報をもとにSegmentationを行います。
      VBMのアルゴリズムそのものは、浮腫の有無はわかりませんから、
      浮腫の信号値は変わるものの事前確率マップがあることで、白質のボリュームが低めに出ることがあるかもしれません。

      浮腫を起こしていても、Normalizationにより、浮腫の影響が排除される可能性はあると思います。

      ただ、これは、いずれにしても、試してみないとわからないところです。
      試しに1例、Segmentationして、どうなるか見てみたらどうでしょうか?

      しっかりした答えができず、恐縮ですが、いろいろ調べてみましたが、このぐらいしか情報がないです。

      よろしくお願いします。

      • 根本先生

        お忙しい中、いろいろと調べて頂きまして本当にありがとうございます。
        私としてもsegmentationが適切に行われるかどうかがポイントであると思っておりまして、その点で梗塞領域をいかにするかで悩んでおりました。

        私が知りたいのは運動野を含む大脳皮質の感覚運動関連領域の灰白質体積です。
        梗塞部位に関しては、脳卒中に関するVBMの報告は少ないので、他の画像を元にした研究を参考にして、「放線冠(側脳室体部が最大径となるスライスレベルに梗塞巣が存在し、画像上白質に限局した)梗塞」はどうかと考えています。
        根本先生の仰る梗塞部位より近いか遠いかでは、遠いということになると思われますがどうなのでしょうか。その違いによって、segmentationに大きく影響するのでしょうか。

        現在の段階では、すぐに脳梗塞患者のMRI画像を処理することができませんので、可能となり次第、一度segmentationをしてみたいと思います。

        日々御多忙のなかで、丁寧に説明していただき大変恐縮です。
        引き続き、御指導の程よろしくお願い致します。

        • 山口さん

          白質に限局した梗塞を考えていらっしゃるのですね。
          それならば、かなりいけると思います。
          浮腫などはもちろんあるので、丁寧にアセスメントしなければいけませんが、
          まず、segmentationして、灰白質がきちんとsegmentationされているか確認し、
          白質の梗塞部位については、マスクして値を0にするという方法をとります。
          (ここが工夫が必要なところなので、それはまた相談してください)
          そのうえで、DARTELをしていけば問題なく前処理ができるかと思います。

          一度、試してみて、また相談していただけたらと思います。

          よろしくお願いします。

          • 根本先生

            大変心強い御意見をありがとうございます。
            おかげさまでこれまでの自分の計画がかなり現実的になってきた気がします。
            今後、取り組む中で問題も出てくると思いますので、引き続き相談させて頂きたいと思います。
            よろしくお願い致します。

  11. 根本清貴 先生

    神奈川県立こども医療センター放射線科の大和田と申します。
    VBMに関しては初学者であり、先生の御高著を拝読しながら、VBMに奮闘しております。
    自力では解決に至らず、もしかしたら非常に基本的なところでの問題かもしれませんが、どうかご教授願いたく、ご質問させていただきたいと思います。

    現在満期相応の新生児の脳画像VBMを試みております。
    tissue probability mapを LondonのImperial Collegeのwebから入手し、segmentationにあてはめようとしているところなのですが、デフォルトのTPMをそれ(NIFTIへ変換した上で)に置き換えて処理を行うと、多数の警告「 行列は、特異行列か特異行列に近い行列です。結果は不正確になる可能性があります。RCOND = NaN. 」が流れ、最終的には「SCHUR への入力は、NaN または Inf を含んではいけません。・・・」となり、処理を行うことができません。
    なお、デフォルトのTPMをつかえば、不正確ながらもsegmentationの処理を完了することができます。

    入手したTPMのフォーマットや設定が異なることによる演算過程のエラーだと推測はするのですが、それを修正する方法はございますでしょうか。
    あまりMATLABに精通しているわけでもなく、細かい内部の計算を検証するには力が及びませんが、解決法がございましたらどうかご教授くださいますようお願い申し上げます。
    うまく情報を伝えきっていないかもしませんが、追加で詳細なエラー情報や状況などについて、お伝えすべき部分がございましたら教えていただけたら幸いです。

    宜しくお願いいたします。

    • 大和田先生

      先生が手に入れられたTPMはいくつの画像から構成されているでしょうか?
      (GM, WM, CSFなど…)

      MRIcronでTPMを開こうとすると、どんなメッセージが開かれるか教えていただけますか?

      そこに何かわかるきっかけがあるかと思います。

      • 根本清貴 先生

        早速のご返事くださり、大変感謝申し上げます。

        ①TPMの種類:
        cortex, wm(white matter), csf, brainstem, cerebellum, dgm(deep gray matter), brainmask, template_T1, template_T2の9種類です。
        デフォルトのTPMとはおそらくデータ構造が異なり、デフォルトでは各構造ごとにseries1-6(というのでしょうか?)が割り当てられたファイルでしたが、入手したTPMは各構造でファイルがまとめられ、そのうえで新生児の週数(28-44週)ごとにseries1-17が割り当てられています。
        TPMを指定するときには、各構造のファイルを指定した上で、満期相応のseries番号(つまり40週=series13)を指定していました。

        ②それに対応してか、いずれのファイルもMRIcronで開くと、初めに「”Integer required” Multi-volume file, please select volume to view [1..17]」と表示され、series番号を指定するとそれに対応した週数の新生児脳画像TPMが表示されます。
        表示された画像そのものには問題がないように思われます。

        お忙しいところ恐縮です。
        なにとぞ宜しくお願いいたします。

        • 大和田先生

          よくわかりました。

          SPMのTPMは、6種類から構成されていますが、gm, wm, csf, soft tissue, skull, air
          から構成されています。
          一方、先生が入手されたデータで、共通するのは、gm, wm, csfの3つですね。

          この場合、SPM12のSegmentationを使うことはできません。
          ただ、SPM12のold segmentationを使うとできるかと思います。

          SPM12のold segmentationへのアクセス方法はおわかりになりますか?

          • 根本清貴 先生

            ご教示くださり、どうもありがとうございます。
            調べてみながら進めてみたところ、old segmentへアクセスでき、手持ちのTPMを選択したところ、segmentationに成功いたしました!!!!
            デフォルトでsegmentationの構造を指定されていたことを理解していなかったことが大きな間違いだったのですね・・。
            行き詰っていたところを今日中に教えていただいたことで解決できるとは思いませんで、心より感謝申し上げます。

            恐縮ですが、追加でもう一つご質問させていただいてもよろしいでしょうか。
            old segmentを使っても、segmentationの部位はgm、wm、csfに限定されているようですが、ほかにも局所的なTPMを用いてbrainstemやdeep gray matterやcerebellumもできると思っていたのですが、それを行うには何か特殊な設定が必要なのでしょうか。

            次回作業を進めるのは少し先になってしまいますので、お答えいただけたとしても検証が少し遅くなってしまうかもしれませんが、どうかまたご教示くださいますようお願い申し上げます。

            また、新参者で厚かましいかもしれませんが、どうか今後も何度かご質問させていただくことをお許しいただけましたら大変ありがたく存じます。

            本当にありがとうございました。

          • 大和田先生

            無事にできたようで何よりです。

            追加の質問に対しての答えですが、現在、SPMで、部分的なSegmentationは基本的にはできないと思います。
            私がやり方を知らないだけかもしれませんが、SPMのSegmentationはあくまでも灰白質と白質を分離することを目的としたものなので、
            脳幹などはできないです。成人でも脳幹は一部がGM,一部がWMに分離されます。

            そのためには、ほかのソフトを使う必要があると思います。

            以上、よろしくお願いします。

          • 根本清貴 先生

            どうもありがとうございます。
            おかげさまで、無理な探索をせずに済み、感謝申し上げます。
            SPMで試行錯誤しながら、もう少し先行研究を検討して探索してゆきたいと思います。

            今後ともよろしくお願いいたします。

            大和田

  12. 根本 清貴先生

    長崎大学大学院の中島と申します.
    以前も先生にご質問させて頂いた者です.

    今回はWFU PickAtlasに関してご質問があります.
    私は脳卒中急性期のMRI画像を用いて研究を行っています.
    WFU PickAtlasのIBSPM116を使用して,中心後回などの容積を測定しています.

    その結果,中心後回では左(損傷側) 6.8161 右(非損傷側) 1.4890との結果が出ました.方法が間違っていないのかと思い,先生の著書のデータ(01_segment内の灰白質画像)を用いて行った所,左 7.1372 右6.9876との結果が出ました.

    私のデータの左右差は急性期の為,脳浮腫などが影響しているのか?それとも,方法が間違っているのか?検討が付かずにご質問をさせて頂きました.

    ご多忙な中,大変恐縮ですがご教授の程をよろしくお願い致します.

    • 中島先生

      返信が遅くなってすみません。
      先生からみて、Segmentation画像(c1画像)は正しく、segmentationされていますでしょうか?
      脳卒中があるような場合、Segmentationがうまくいかないことがあることはよく知られています。
      なので、まずは、Segmentationがうまくいったかどうかを確認することが大事です。

      その結果を教えていただけたらと思います。

      • 根本 清貴先生

        お忙しい中,質問にご返答を頂き,誠にありがとうございます.

        無知な私の確認で恐縮ですが,Segmentationはうまくいっているのではないかと考えています.

        • 中島先生

          直接そのデータを見ていないのでなんとも言えませんが、Segmentationが視察でうまくいっているように見えるのであれば、
          急性期による浮腫などの影響は十分に受けると思われます。
          しかし、非損傷側の値がずいぶん小さそうなのが気になりますが…。

          複数例を処理してみて、その結果を見るのが一番ではないでしょうか。

          以上、よろしくお願いします。

          • 根本 清貴先生

            お忙しい中、誠にありがとうございます。
            突拍子も無い、質問を致し、大変申し訳ありません。
            私も非損傷側の値が非常に気になっております。

            複数例、処理を行いながら検討していきたいと思います。

            この度は誠にありがとうございました。

  13. すみません、先ほどのメールに名前を書いていませんでした。
    名古屋大学老年内科の藤沢と申します。
    私も先生の本を読みながら、大学院の論文を作成している最中のものです。
    自分なりに調べてみたのですが、わからないことがあり、質問させいただきたい次第です。
    ①多重回帰分析を行う際、covariateに、私は関心因子と、それ以外の調節したい年齢、性別の3つをいれて解析を行っています。その3因子の中で、関心因子と年齢は強い相関があります。関心因子と性別は相関がありません。その場合、3因子から年齢を除いた関心因子と性別の2つをcovariateにいれればよいのでしょうか。
    ②多重比較補正についてなのですが、結果をFDRで補正しようとしても、先生の本の中にあるように、whole brain のFDRpもFDRcもinfとなっていて、数字が出てきません。どのような意味なのでしょうか。。。
    ③論文によっては、uncorrected 0.001でも論文になっていますが、調べると割とすぐに、corrected以外の論文は、ほとんど意味がない、などと出てきます。uncorrected 0.001でも結果が興味深ければ、論文化しても通るものなのでしょうか。
    教えていただければ幸いです。
    お忙しいところすみません。
    よろしくお願いします。

    • 藤沢先生

      私の考えでは、以下のようになります。

      1. 年齢と関心因子が強い相関を示すならば、おっしゃるように、2つをcovariateにいれられたらいいと思います。そして、論文には、年齢と強く相関したいので…と書く必要があります。ただ、年齢と相関しているならば、「それは、年齢で説明できるということではないの?」というツッコミも来てしまいそうです。従って、それに対しては自分なりの説明ができるようにすることが大事かと思います。

      2. FDRでInfになってしまう場合というのは、FDRで有意になる領域がないということになります。

      3. 最近の傾向では、uncorrected p < 0.001では、論文としてアクセプトされない傾向にあります。もし、事前に仮説がしっかりある場合、その領域に絞って統計を行うことにより多重比較補正の結果が有意になることがあります。(これをsmall volume correctionといいます) ご参考まで。

  14. 根本先生

    いつも書籍を参考にさせて頂いてます。
    京都大学の米田と申します。

    F検定について質問させてください。

    「すぐできるVBM」の「5.4 要因の分散分析」の項目では
    Plot機能について紹介されています。
    その際、コントラストに eye(4)-1/4 を入力されています。

    一方、SPM12のマニュアルの「Face group fMRI data」を読むと
    eye(4)でも良いように思いました。

    「-1/4」があることで、一体どのような意味・違いがあるのでしょうか?
    ご教授よろしくお願いします。

    • 米田先生

      ご質問、ありがとうございます。

      eye(4)-1/4と、eye(4)で行ったプロットの違いを実際に見てみました。

      eye(4)-1/4のコントラストで行ったプロットの結果はこちらになります。

      一方、eye(4)のコントラストで行ったプロットの結果はこちらになります。

      もともと、eye(n)-1/nは、VBMツールボックスのマニュアルにあった記載からもってきました。

      説明は下記にもあります。
      http://dbm.neuro.uni-jena.de/vbm/contrasts/

      どちらを採用するかは、自分で決められたらいいと思います。

      eye(n)-1/nの意味については、以下のようにとらえたらよいのではないかと思います。

      eye(4)-1/4を、実際に行列に書いてみると、

      0.75 -0.25 -0.25 -0.25
      -0.25 0.75 -0.25 -0.25
      -0.25 -0.25 0.75 -0.25
      -0.25 -0.25 -0.25 0.75

      この1行目をどう見るかというと、

      A群、B群、C群、D群の4群があるときに、帰無仮説は

      A群=(B群、C群、D群の平均)

      書き直すと
      A群 ー(B群、C群、D群の平均)=0

      となります。

      そして、これを満たすように重み付け係数x,yを考えると、

      xA-y/3(B+C+D)=0

      と表現することができます。

      x-y/3=0をみたす解は、

      3x-y=0
      3x=y

      となりますので、
      x:y=1:3になるものであれば何でも大丈夫です。

      これが第2行〜第4行まで同じことが言えます。
      で、これを行列で表現しようとすると、
      シンプルな方法として、単位行列を利用するとなり、
      その結果、

      eye(4)-1/4

      となるわけです。

      ブログのコメント欄だけで説明するのはなかなか簡単ではありませんが、

      こんな感じでの説明で伝わりますでしょうか?

      • 根本先生

        解説ありがとうございます。

        eye(n) と eye(n)-1/n は、
        それぞれの条件の変化(プラスもマイナスも)を見ることを目的としているが
        帰無仮説が異なるということでしょうか?

        eye(n): baseline(他の条件の効果はゼロ)からの変化
        eye(n)-1/n: 他の条件の平均からの変化

        このような解釈では大雑把すぎるでしょうか?

        米田

        • はい、それで大丈夫かと思います。
          で、VBMの場合、横断研究の場合、「baselineからの変化」が意味がないことがありますので、
          その場合は、eye(n)-1/nがよいかと思います。

          以上、よろしくお願いします。

  15. 根本清貴先生

    都内病院に勤務しております関と申します。
    先生のご著書「すぐできるVBM」を片手に初めてのVBMに挑んでおります。
    このような専門家の先生が集まるwebsiteにて私のような初学者が質問をしてしまってよいものか迷いましたが、勇気を出して質問を投稿させていただくことに致しました。

    現在、MATLAB 7.8.0(R2009a)、SPM8を用いてVBMに挑んでおります。
    ・分割化について
    先生のご著書によりますとTissuesのNum.GaussiansはTPM.nii,1とTPM.nii,2に関しましては1でよいとのことですが、VBMチュートリアル日本語版では同箇所がいずれも2になっております。1と2とどちらが良いのでしょうか?
    また、私の環境ですと、分割化の方法がSPM→Spatial→SegmentとSPM→Tools→New Segmentationの二つがあるのですがどちらが優れているなどの優劣はございますでしょうか?
    ・白質部分について
    ご著書の中では灰白質の比較を行っておりますが、同データを用いて白質の比較をしたいと思った場合はどのステップを変更すればよろしいのでしょうか?
    DARTEL(テンプレートがないパターンでトライしております)のステップでしょうか?
    それともMNI空間への標準化のステップでしょうか?

    このような初歩的な質問で誠に恐縮ではございますが、お時間がございます時にご助言頂けましたら幸いに存じます。
    どうぞ宜しくお願い申し上げます。

    • 関先生

      ご質問ありがとうございます。
      このページは、あらゆる方が質問されているので、お気軽に質問していただけたらと思います。

      以下、私の意見を述べさせていただきます。

      ・Num Gaussiansに関して
       Num of Gaussiansは「組織分布をあらわす正規分布の数」です。灰白質のNum Gaussiansが2だとすると、灰白質の分布を2つの正規分布曲線であらわそうとするわけです。
       それで、SPM8のNew Segmentでは、このデフォルトが2となっており、SPM12のSegmentでは、このデフォルトが1となっています。この値をひとつずつ変えた検討はしたことがないのですが、SPMの開発者がいろいろ調整してたどり着いている値なので、ここに関してはデフォルトのままで大丈夫かと思います。つまり、SPM8のNew Segmentでは2、SPM12では1で大丈夫ということです。どちらに優劣というのはないと考えます。

      ・分割化の方法
      分割化に関しては、歴史的にSPM8のSegmentation→SPM8のNew Segmentation→SPM12のSegmentationの順に開発が進んでいます。

      SPM8のSegmentationとNew Segmentationの違いはいくつかありますが、一番大きな違いは、TPM(組織確率画像)が従来のSegmentationはGM, WM, CSFの3つであるのに対して、New Segはその3つに加えて、軟部組織、頭蓋骨、その外の空気の3つを加えて6つになっているということです。これはさらにSPM12に受け継がれています。

      開発者のAshburnerは繰り返しSPMのメーリングリストで、「SPM8のNew segmentationよりSPM12のSegmentationの方が精度が高くなっている」と述べています。
      なので、もし、これからSegmentationを行うのでしたら、私はSPM12を用いることをおすすめします。

      ・白質のDARTEL

      白質のDARTELをしたい場合、Run Dartel (create Templates)までは灰白質と同様の手順で行ってください。DARTELで作成されるflow fieldは灰白質にも白質にも用いることができます。

      変更する必要があるのは、MNI空間への標準化です。

      Normalise to MNI Spaceのところで、
      Select according to…をMany Subjectsとして、

      Flow fieldsは先に作られたFlow fieldを、
      そして
      Imagesのところに、白質画像(c2)を指定してください。
      rc2でなく、c2画像を指定します。
      modulationもpreserve amountとしてください。

      これで、白質をDARTELを使って標準化することができます。

      以上、試してみてください。

      • 根本清貴先生
        大変お忙しい中、早速のお返事誠にありがとうございます。
        私のような者にもとても分かりやすくご説明して頂き、頭の中のもやもやがすごくすっきり致しました。
        Normalise to MNI spaceを行う際は先生が著書の中でも強調されていましたように、rcではなくcを選ぶように気をつけたいと思います。
        初学者のくせにものぐさな私はNormalise to MNI spaceのステップを灰白質・白質「同時に」行えないかな・・・などと思ってしまうのですが、Many Subjectsの中のImagesをDARTELを行った時のように2つにしてそれぞれ灰白質(c1)、白質(c2)を指定しまってもよろしいのでしょうか?
        度々のご質問で誠に申し訳ございません。

        • 関先生

          おっしゃるとおりです。
          灰白質と白質を指定していただければ、同時に標準化できます。
          試してみて下さい。

      • 根本清貴先生
        度々の投稿、誠に申し訳ございません。
        一点とても基本的なことでお聞きし忘れてしまっていることがございました。
        ご著書の第5章では142例のデータが健常群と統合失調症群に分けられております。一方、それまでの章では142例が一塊で扱われております。
        前処理の段階では全体が何群に分けられる集団だとしても「各群それぞれ別個」にDARTEL、MNI空間への標準化を行うのではなくまとめて行い、出来上がってきたsmwファイルを各群に分けて統計解析に回すと考えてよろしいのでしょうか。
        先生のご親切に甘え、矢継ぎ早に大変初歩的な質問をしてしまい申し訳ございません。

        • 関先生

          DARTELのテンプレートを作る目的は、「自分の研究の対象者にもっとも適したテンプレートを作成する」ことにあります。
          このため、テンプレート作成時は、対象となる画像を【すべて】いれることになります。
          テンプレートが何個も作られると、そのテンプレートが微妙に変わってきますので、
          標準化された画像が微妙に変わってきて、その結果、系統的な差異がうまれてくることになります。

          ということで、前処理は、すべてをひとつにしてテンプレートを作成し、
          統計解析は、各群にわけてやるようにしてください。

          • 根本清貴先生

            大変初歩的な質問にも関わらず、大変丁寧にお返事頂きまして誠にありがとうございます。頭の中にうずまいておりましたモヤモヤがすっきり致しました。
            これでまた画像解析の大海原に漕ぎ出していけそうです。
            この度は誠にありがとうございました。

  16. 根本先生

    滋賀県立大学四回生の唐と申します。VBM法を用いて脳梁に関する卒論を書いております。
    高著を拝読して、現在手持ちのデータでDARTELを終えたところです。
    まだまだ経験が浅く理解が及ばない部分も多い為、アドバイスを頂きたく投稿致しました。脳領域の一部(例えば、脳梁の中のmidbody部)を抽出し、体積を比較することはVBMで可能でしょうか。

    ご多忙の中誠に恐縮ですが、ご教示頂きますようお願い申し上げます。

    • 唐さん

      はい、可能です。
      そのために、まず、標準脳空間での、脳梁のMidbody部の関心領域を作成する必要があります。
      また、DartelでNormalize to MNI spaceにするときに、Smoothingのパラメーターを[0 0 0]にする必要があります。
      そうすると、mwrc1*.niiという画像ができると思います。

      これを入力画像に使います。

      具体的な方法は、
      http://www.nemotos.net/?p=200
      に書いてあります。

      関心領域はすでに決められたものがありますか?

      • ご多忙の中質問にお答え頂き、誠にありがとうございます。

        ROIは、運動前野、補足運動野、吻側体、中央体前部、一次運動野、中央体後部、一次体性感覚野を想定しております。

        ご提示頂いた方法を試してみたいと思います。結果につきましては後ほどご報告させて頂きます。

      • 根本先生

        以前アドバイスを頂きました唐を申します。
        おかげさまで無事に卒論が完成致しました、心より御礼申し上げます。
        ありがとうございました。

        唐 瓏

        • 唐さん

          無事に卒論ができたとご報告いただき、ありがとうございます。
          少しはお役にたてたようでよかったです。

  17. 根本 清貴先生

    長崎大学大学院の中島です.
    再度,アドバイスを頂き,誠にありがとうございます.

    アドバイスを受け,ファイル名のパスを変更したところ,分割化を行うことが出来ました.
    私は,ファイル名に日本語や空白が入っていたことが原因であった模様です.
    先生の著書に記載されているやり方でも行うことが出来ました.

    この度は,何度も質問に答えて頂き,誠にありがとうございました.
    これからも画像解析を用いた研究に精進して行きたいと思います.

    今後も解析を行う上で,質問させて頂くことがあるかと思いますが,何卒よろしくお願い致します.
    この度は,誠にありがとうございました.

    中島 輝

    • 中島先生

      この前のエラーから想定したように、日本語名や空白の問題だったのですね。
      私にとってもいい勉強になりました。

      今後も何かありましたらご質問いただけたらと思います。

  18. 根本 清貴先生

    長崎大学大学院の中島です
    使用しているパソコンではバックアップソフトは動いていませんでした

    ご多忙な中,何度も申し訳ありません。

    中島 輝

    • 中島先生

      そうでしたか…。何が原因か、もう少しつきつめる必要がありますね。
      MRIを1例だけでもデータのやりとりを行うことは可能でしょうか?
      NIfTI画像がひとつだけあればいいのですが…。

    • 中島先生

      もうひとつの方法を思いつきました。以下を試していただけますでしょうか。

      1. AC-PCの設定はしておいてください。
      2. SPMの左上のメニューからCoregister -> Resliceを選択してください。Coregisterのプルダウンメニューの上から2つ目になります。そうすると、Batch Editorが起動します。
      3. Images to Defining Spaceに、SPM12のtpmフォルダにあるTPM.niiを選択してください。
      4. Images to Resliceに、先生の手持ちのデータを指定してください。
      5. その他のパラメーターはデフォルトのままで大丈夫です。
      6. これで実行していただくと、ファイル名の最初にrがついたファイルができます。SPMのDisplayで見ていただくとわかりますが、ボクセルサイズが1.5 x 1.5 x 1.5となっています。また、小脳から下が切れていると思います。

      このデータを用いてSegmentationを試していただけますか。これでOut of Memory問題が出ないようであれば、やはり、入力画像が大きすぎたということになります。
      その場合、解決方法は、以前にも申したように、64bitマシンで、メモリをできるだけ多く(最低8GB以上)積むということになります。

      これを試してみて結果を教えていただけますか。よろしくお願いします。

      • 根本 清貴先生

        長崎大学大学院の中島です
        お忙しい中、アドバイスを頂き、誠にありがとうございます。

        現在、恥かしながら体調不良で研究室に行くことが出来ていません。
        来週、ご提示して頂いた方法を試したいと思います。

        ご多忙な中、誠にありがとうございました。

        中島 輝

        • 中島先生

          どうぞお大事にされてください。
          また、試してから結果を教えていただけたらと思います。

          • 根本 清貴先生

            平素より大変お世話になっております.
            長崎大学大学院の中島 輝です.
            先生にご提示して頂いた方法を試してみました.

            結果,エラーとなりMatlab上には下記のメッセージが表示されました
            Failed ‘Coregister: Reslice’
            エラー mat2file
            Cant get ‘fname’.
            In file “C:\spm\spm12\@file_array\subsasgn.m” (v6157), function “subfun” at line 158.
            In file “C:\spm\spm12\@file_array\subsasgn.m” (v6157), function “subsasgn” at line 85.
            In file “C:\spm\spm12\spm_write_plane.m” (v6079), function “spm_write_plane” at line 31.
            In file “C:\spm\spm12\spm_write_vol.m” (v5731), function “spm_write_vol” at line 84.
            In file “C:\spm\spm12\spm_reslice.m” (v5929), function “reslice_images” at line 244.
            In file “C:\spm\spm12\spm_reslice.m” (v5929), function “spm_reslice” at line 133.
            In file “C:\spm\spm12\config\spm_run_coreg.m” (v5956), function “spm_run_coreg” at line 45.

            The following modules did not run:
            Failed: Coregister: Reslice

            尚,パソコンのメモリも8GBから16GBに変更致しました.

            何度も方法を教えて頂いているにも関わらず,失敗し大変申し訳ありません.

            ご多忙であると存じますが,ご教示の程をよろしくお願い致します.

          • 中島先生

            幅広いところに影響が出ているエラーですね。

            ひとつひとつ確認させてください。

            1. すぐできるVBMについているサンプルデータでは、問題なく処理できるわけですね?念の為にもう一度試していただけますか?
             Segmentationだけでなく、今やってもらっているCoregisterも試してみてください。

            これが問題なくできるようであれば、SPMのせいではないということになります。

            2. ファイルが保存されているパスに、日本語名や空白は入っていないでしょうか?
             よろしければ、画像ファイルが置いてある絶対パス(C:\img_data\…のようなものです)をお示しいただけますか?

            以上、2点について教えていただけたらと思います。
            よろしくお願いします。

  19. 根本 清貴先生

    長崎大学大学院の中島です.
    お忙しい中,何度もありがとうございます.

    バックアップソフトが動いていないかは今から確かめたいと思います.

    尚,私が用いているMatlabのバージョンは,MATLAB R2012bです.

    ご多忙な中,何度も質問に答えて頂き,誠にありがとうございます.

    中島 輝

  20. 根本 清貴先生

    何度も申し訳ありません.長崎大学大学院の中島です.
    システムが64ビットオペレーティングシステムでも同様のエラーメッセージが表示されました.

    やはり,SPM12が正式版でないことが問題でしょうか?
    尚,先生の著書に付属されているデータでは,問題なく解析は可能でした.

    ご多忙な中,恐縮ですがご教示の程をよろしくお願い致します.

    中島 輝

    • 根本 清貴先生

      長崎大学大学院の中島です.
      ご多忙な中、質問に答えていただき、ありがとうございます.

      先生の指摘のとおり、Nifti画像のファイルサイズは70MB以上あります.

      中島 輝

      • 中島先生

        やはりそうですか。
        Matlabがエラーを起こす原因は、Segmentationをするための画像を読み込む際に、
        画像が大きすぎるために、メモリが不足してしまうことによります。
        となると、方法は2つです。

        1. パソコンのメモリを増やす
         64bitのWindowsのメモリを8GB以上にしていただくと、エラーを起こす可能性がぐっと減ります。

        2. 画像のダウンサイズを行う
         おそらく、先生のお持ちの画像のボクセルサイズは0.5mm x 0.5mm x 0.5mm程度と推測します。
         VBMはボクセルサイズは1mm程度で十分です。
         このために、画像のサイズを小さくすることを検討してみてもいいと思います。
         これはメモリを追加購入しなくていい解決方法です。

         下記のリンクを右クリックして、resize_img.mをSPMのフォルダに保存してください。

          http://www0.cs.ucl.ac.uk/staff/G.Ridgway/vbm/resize_img.m

         そして、Matlabからresize_imgとタイプします。

        そうすると、画像を選択するウィンドウが出ますので、ためしにひとつ選んでください。
        その後、Vox dim?と出てきますので、そこで [1 1 1] と指定してください。1mm x 1mm x 1mmにするという意味です。
        Bounding boxはデフォルトのまま ([Nan Nan Nan] というようになっているはずです)で結構です。
        (今、SPMが近くにない環境でこの返信を書いていますので、記憶によって書いていますので、多少違うかもしれません)

        そうすると、選択した画像に接頭辞にrがついた画像ができるはずです。これはボクセルサイズが1x1x1で、ファイルサイズが30MB程度になっているかと思います。

        これをSegmentationにかけてみてエラーが出るかどうかご確認いただけますでしょうか。
        もし、出ないようならば、画像全例に対してresize_imgでサイズを落として、前処理を行っていただけたらと思います。

        これを試した結果を教えていただけたらと思います。

        よろしくお願いします。

        • 根本 清貴先生

          長崎大学大学院の中島です.
          お忙しい中,質問にお答え頂き,誠にありがとうございます.

          先生が提示して頂いた方法をさっそく試してみたいと思います.
          結果を後ほどお伝えいたします.

          誠にありがとうございました.

          中島 輝

          • 根本 清貴先生

            長崎大学大学院の中島です.
            先生に教えて頂いた方法を試してみました.

            結果,エラーになりMATLAB上には下記のメッセージが表示されました.
            >> resize_img
            エラー mat2file
            Cant get ‘fname’.

            エラーの発生場所 file_array/subsasgn>subfun (line 158)
            mat2file(sobj,dat,va{:});

            エラーの発生場所 file_array/subsasgn (line 85)
            subfun(sobj,double(dat),args{:});

            エラーの発生場所 spm_write_plane (line 31)
            V.private.dat = subsasgn(V.private.dat,S,dat);

            エラーの発生場所 resize_img (line 109)
            spm_write_plane(VO, img, i);

            また,私の画像ですが,MRIcronで処理した際に水平断と冠状断の画像が少し押しつぶされています.Displayで見ることが出来るので問題ないと解釈していたのですが,そこも影響あるのでしょうか?

            ご多忙な中,何度も申し訳ありませんが,ご教示の程をお願い出来ればと思います.

            中島 輝

          • 中島先生

            私もSPM12でresize_img.mを試してみました。
            その結果、エラーが出ずに、問題なく処理出来ました。

            Googleでerror mat2fileで調べてみたところ、下記のページに行き当たりました。

            https://www.jiscmail.ac.uk/cgi-bin/wa.exe?A2=spm;14306976.1102

            ここには、

            This has to do with the backup process that runs on your PC. Disable
            it (from the toolbar tray) before doing SPM analysis.

            と書いてあります。
            何かバックアップソフトが動いていませんでしょうか?

            また、次のようなページも見つけました。

            https://groups.google.com/forum/#!msg/comp.soft-sys.matlab/mLaCV2uHpCg/HzXMfqGipH4J

            I actually had the same error (using Matlab 2011b), and I got around it by using a newer version of Matlab (2012a). You may want to try this.

            先生がお使いのMatlabのバージョンは何でしょうか?

  21. 根本 清貴先生

    長崎大学大学院医歯薬学総合研究科の中島と申します.作業療法士をしています.
    現在,先生の著書「すぐできるVBM」を読ませて頂き,画像データの解析を行おうとしている所です.

    まだまだ解析の序盤ではあるのですが,分割化がうまく行かずにエラー表示になります.
    理解できる範囲で修正を試みたのですが,上手く行かない次第です.

    尚,MRIはSIGNA EXCITE HD 1.5T(GE横河)を用いて,3D T1 SPGRで撮影をしています.
    その後,MRIConvertを用いてNlfTlに変換しています.

    ご多忙であると存じますが,ご都合よろしければ,先生にご教示頂ければ幸いです.

    中島 輝

    • ご質問、ありがとうございます。

      以下のことを教えていただけますか?
      1. 画像のAC-PCの位置合わせは行なっていらっしゃいますか?
      2. SPMのDisplayで、画像はきちんと表示されますか?
      3. 具体的にはどのようなエラーが出ますか?Matlabのウィンドウに、エラーメッセージが出力されますので、それをそのままコピペで貼りつけていただけますか?

      これで原因がつかめると思います。よろしくお願いします。

      • 根本 清貴先生

        長崎大学大学院の中島です.
        ご多忙な中,質問に答えて頂き,ありがとうございます.

        先生の質問に答えさせて頂きます.
        1:AC-PCの位置づけは行っています.
        2:Displayで画像の確認を行うことはできます.
        3:Matlabのウィンドウに表示されるエラーを下記に記載いたします.
        Running ‘Segment’
        Failed ‘Segment’
        エラー zeros
        メモリが足りません。オプションについては、HELP MEMORY と入力してください。
        In file “C:\spm\spm12b\spm_preproc_write8.m” (v6008), function “spm_preproc_write8” at line 144.
        In file “C:\spm\spm12b\spm_preproc_run.m” (v5886), function “run_job” at line 135.
        In file “C:\spm\spm12b\spm_preproc_run.m” (v5886), function “spm_preproc_run” at line 35.
        In file “C:\spm\spm12b\config\spm_cfg_preproc8.m” (v5652), function “spm_local_preproc_run” at line 399.

        The following modules did not run:
        Failed: Segment

        ご多忙である中,恐縮ですが,ご教示の程をよろしくお願い致します.

        中島 輝

        • 中島先生

          エラーを見たら、可能性がいくつか見えてきました。

          1. SPM12は正式版が公開されました。SPM12bではなく、SPM12を改めて入手していただけますか?
          2. メモリーが足りないというエラーは、Windowsの32ビット版でよくみられる症状です。
            先生のお使いのWindowsのバージョンを確認していただけますか?
          3. MatlabはStudentバージョンなどをお使いでしょうか?MatlabのStudentバージョンは32bit版なので、もし、その場合、また方法を考える必要がありそうです。

          以上、上記3つに関してご確認いただけますか。よろしくお願いします。

          • 根本 清貴先生

            長崎大学大学院の中島です.
            お忙しい中,丁寧な解説をして頂き,ありがとうございます.

            1:SPM12は改めて入手致します.

            2:Windowsのバージョンは,Windows 7 Professionalです.
            実装メモリ:4.00GB
            システム:32ビットオペレーティングシステムでした.
            上記のシステムでは難しいのでしょうか?

            3: MatlabはStudentバージョンではありませんでした.

            ご多忙な中,恐縮ですがご教示をよろしくお願い致します.

            中島 輝

          • 中島先生

            64bitのWindowsでも同様のエラーが出たのですね。
            SPM12の正式版にすることで、問題が解決できる可能性もありますが、
            もうひとつ、可能性として、先生が解析するデータが大きすぎる可能性があります。
            Nifti画像のファイルサイズがどのくらいか教えていただけますか?
            予想するに、70MB程度ありませんでしょうか?

  22. 根本先生

    いつもお世話になっております。東京大学の小池です。

    先日UCLのSPMセミナーに参加してまいりました。今年度は正式版SPM12を用いての講義となりました。その中で、SPM12正式版から、Atlas mappingが実装されたようで、内部の人は気に行っていました。
    結果左下ウインドウのAtlasで、好きなAtlasを選択し、右下ウインドウのXYZ軸数値を右クリックすると、その部位における対応脳部位の確率分布が表示されるようです。
    https://drive.google.com/file/d/0B4HajTRaq0hSV3pPSjhIOXpHRGM/view?usp=sharing

    先生の御本では紹介されておらず、正式版になって掲載されたのではないかと思いましたので、ご連絡いたしました。
    今後ともどうぞよろしくお願いいたします。

    小池

    • 小池先生

      有用な情報をどうもありがとうございます!
      SPM12の正式版からAtlasが実装されたことは気づいていたのですが、
      結果から使えるようになっているのはとても便利ですね。

      早速試してみて、ブログにも反映させていただきます。

      今後ともよろしくお願いいたします。

  23. 根本先生
    何度も恐れ入ります。札幌医科大学の篠崎です。
    VBMにて、2群間に差のある領域が出たのですが、この領域の体積を個人ごとに出す方法がありましたらお教えいただきたく、お願い致します。

    • 篠崎先生

      体積を出す方法は、いくつかあるのですが、
      先生は、共変量などを考慮した値を出力したいですか、
      それとも、純粋に体積を求めたいですか?

      それによって方法が変わりますので、どちらを知りたいか、あるいはどちらも知りたいか、教えていただけたらと思います。
      よろしくお願いします。

      • 根本先生

        篠崎です。
        ご返信ありがとうございます。私自身は純粋に体積を求めたいのですが、
        せっかくの機会ですので、両方を知りたいです。

        よろしくお願い申し上げます。

        • 了解です。まとめてブログにアップしますので、少しお待ちください。

        • 篠崎先生

          ブログにまとめると言いましたが、時間が今はすぐにとれないので、
          とりあえず、先生が知りたい方法をお伝えします。
          SPMで結果を出した後、関心のある領域に赤矢印を移動します。
          その後、左下のウィンドウのsave… から、 current clusterを選択します。
          すると、Output filenameと聞かれますので、ファイル名を入力します。
          これで、関心領域がマスク画像となって、保存されます。
          これはDartelと同じサイズになっているはずです。

          その後は、
          http://www.nemotos.net/?p=292

          に書いてある方法で、計算します。

          つまり、get_totals.mを入手していただき、

          get_totals([],[],[])

          として、最初に出てくるダイアログに画像を、
          次に出てくるダイアログで先程保存したマスク画像を指定します。
          これで、関心領域内の個々の体積を求めることができます。

          これで試してみてわからなかったらまた聞いていただけたらと思います。

          • 根本先生

            篠崎です。

            お忙しいところありがとうございます。
            試してみます。

          • 根本先生

            篠崎です。
            画像を選択するところでは、「すぐできるVBM」で言うところの’rc1’画像を選択すべきでしょうか。

          • マスク画像は標準化されていますので、
            smwrc1を使っていただけますか。

            よろしくお願いします。

          • 根本先生

            ありがとうございます。無事出力できましたが、これの単位は何でしょうか?
            当該ROIのVolumeをMarsBaRにて確認しますと、
            597.38 mm
            ですが、get_totalsが出力する値は、被験者によって異なりますが
            0.2764
            などの値です。

            度々恐れ入りますが、よろしくお願いいたします。

          • 篠崎先生

            get_totalsの単位はmlとなります。
            1ml=1cm3=1000mm3となります。
            おそらく、MarsBarで出た597.38は597.38mm3ということですから、0.59738mlということになるかと思います。
            そうしたら、0.2764という値は妥当な値であるという気がします。

          • 根本先生
            ありがとうございました。
            納得いたしました。
            篠崎 淳

  24. 画像のゆがみの件ですが,slice spacingとslice thicknessを1.0mmに統一することで解決できました.
    技師に確認したところ,slice spacing 0.7mm, slice thickness 1.4mmとなっていたのは,実際には0.7mmスライスで撮影し,最終的にPACSに乗せる画像の枚数を抑えるために2スライスを1枚に合成していたということでした.先生にご指摘いただいた通りですね.

    他の先生方に多少とも参考になればと思い報告させていただきました.

    • ご丁寧にどうもありがとうございます。
      推測があたっていてよかったです。
      こういうのはいろんなところで起こりえる話なので、
      このように共有していただけると助かります。
      技師さんもVBMをはじめとした画像解析の際の注意点を理解していただけたのではないでしょうか。

      今後共よろしくおねがいします。

  25. SPMでもDICOM→NIfTI変換を行ってみましたが,やはり同様にゆがんでしまいました.
    MRIcronのWindows→Informationで確認すると,ほかの方法と同様,I SpaceのSpacingが0.7mmと表示されていました.
    先生がおっしゃるようにslice spacingとslice thicknessの値が異なるのが根本的な問題なのかもしれませんね.
    なおLONI Debabelerも試してみようとしたのですが,なぜかrunのバッチファイルが起動できませんでした.
    いずれLONI Debabelerでも試せるようであれば,結果を報告させていただきます.

  26. 根本先生

    いつも興味深く拝見させていただいております.
    大学病院で神経内科医をしております.
    頭痛患者でVBM研究を始めたばかりの初心者なのですが,早速壁にぶつかっておりアドバイスをいただければと思い投稿させていただきました.

    DICOMをNIFTIに変換してMRIcronで表示した際,水平断と冠状断の画像が横に押しつぶされたような形で表示されます(元画像として利用した矢状断は通常のバランスで表示されます).MRIはGE社で3D(T1sag)FSPGRという撮影モードで記録しています.
    MRIconvertでSeries infoを見ると以下のように記載されています.
    Slice thickness (mm): 1.4
    Slice spacing (mm): 0.699999



    Voxel size x (mm): 0.4688
    Voxel size y (mm): 0.4688
    水平断・冠状断で上下左右の比率が正しく表示されないのは等方voxelではないからなのでしょうか?(Series infoを見ると,voxel sizeはX × Y × Z=0.4688 × 0.4688 × 0.699999と理解してよいでしょうか?)
    MRIcroでは等方voxelではなく画像が歪んだ場合は,表示方法をSquare modeからStretch modeに変更すれば良いという記載も見つけたのですが,MRIcronの場合にどうすればよいかがわかりません.

    MRIcronで歪んで表示された画像を修正表示する方法があるのか?,もしくはMRIcronで歪んで表示されていても統計解析では正しい結果が出せるのか?,そもそもMRIの撮影条件(voxel size)を修正する必要があるのか? ご教示いただければ幸いです.

    • ご質問ありがとうございます。

      実は、この手のエラーはよく遭遇するものでして、
      MRIConvertを使っていると時々起こります。

      なのでShort answerとしては、
      MRIConvertではなく、MRIcronに一緒についてくる、dcm2niiもしくはそのGUI版であるdcm2niiguiを使うと、
      正しく変換されます。

      Long answerとしては、以下のようになります。

      今、
      Slice thickness (mm): 1.4
      Slice spacing (mm): 0.699999

      となっていると教えて下さいました。

      http://mipav.cit.nih.gov/pubwiki/index.php/Correcting_image_spacing
      ここの
      Understanding contiguous planes’ effect on image scanning

      に書いてあるのですが、

      Slice thicknessとSlice spacingの値が違うことがあり、このような場合、
      今、遭遇しているような画像がひしゃげてしまう事象にぶつかることがあります。

      Slice thicknessが矢状断の厚みです。
      ここでのvoxel sizeのx, yは矢状断でのx,yですから、実際はxが前後方向、yが上下方向となります。

      従って、水平断でのx,y,zで考えると、
      xは左右方向ですので、矢状断の厚みであるslice thicknessとなり、1.4となります。
      そして、yは前後方向ですので、0.4688, zが上下方向ですから、こちらも0.4688となります。

      ということで、1.4*0.4688*0.4688となるわけです。

      しかし、おそらく、MRIConvertはslice spacingの0.69≒0.7をx軸方向のボクセルサイズととっていると思います。
      そうすると、ボクセルは本来よりもx軸方向、つまり左右方向に圧縮された形になりますので、つぶされたような形になるはずです。

      こう考えると今見ている現象を説明できるかと思います。

      いかがでしょうか?

      MRIcronのメニューにあるWindows→InformationのDimensionタブにあるI, J, K SpaceのSpacingの値を見てください。
      それが、今の画像に設定されているSpacingです。おそらく、I SpaceのSpacingが0.7で、K, J SpaceのSpacingが0.47となっていませんか?

      で、その場合の解決法ですが、Short answerで述べましたように、
      MRIConvertではいかんともしがたいので、dcm2niiを使うということになります。

      ただ、これで気になるのは、Slice thicknessが1.4と比較的厚いことです。
      x, yが0.5mmと小さいのにスライス厚が1.4mmというのはもったいない気がします。
      なお、0.5mmはVBMの観点からはそこまで小さくする必要はなく、1mmぐらいで大丈夫です。
      0.5mmとすると、画像のサイズが非常に大きくなってしまい、メモリ不足が起きやすくなります。
      これから撮像方法を調整できるのならば、1*1*1.2か1*1*1ぐらいでとれるように調整してもいいかもしれません。
      といっても各病院の事情があるので、なんともできないところもあるかと思いますが…。

      ご確認いただき、私の推測と違うようでしたらまた教えていただけると幸いです。
      よろしくお願いします。

      • 根本先生

        ご丁寧な解説ありがとうございます.
        横方向にゆがむ理由がよく理解できました.

        ご指摘のようにMRIcronのWindows→Informationで確認するとI SpaceのSpacingがslice thicknessの1.4mmと異なり0.7mmで設定されていました.

        ただしdcm2niiguiを用いてDICOM画像を変換してもやはり横方向にゆがみ,I SpaceのSpacingが0.7mmと表示されていました.なかなか難しいですね.

        これまでに蓄積した3次元MRIデータも少しあったのですが,MRI技師と相談し,voxel sizeが1.0×1.0×1.0mmになるように再設定してMRIデータを集めていく方針としました.

        技師のコメントとしては3次元MRIなのでinterslice gapがないはずなのに,slice spacing 0.699999mmと表示されているのはおかしいとの指摘もありました.
        これがゆがみの修正がうまくいかない理由の一つなのでしょうか?

        もし,今回の問題に対するさらなるご指摘やアドバイスがありましたらご教授いただければ幸いです.

        • dcm2niiでもダメでしたか…

          もうひとつの方法は、SPMのDICOM importを使うことです。
          SPMのメニューのDICOM Importをクリックして、DICOM画像を指定すれば、NIFTIに変換してくれます。

          その他、LONI Debabelerも試してみる価値があるかもしれません。

          また、技師さんのコメントに関してですが、
          slice spacingとslice gapは異なるらしく、
          問題がない場合は、slice spacingとslice thicknessが一致します。

          slice spacing(スライス間隔) 0.7mm, slice thickness (スライス厚)1.4mmということは、
          おそらく、画像のサイズを大きくさせないために、
          スライス厚0.7mmの画像2枚を平均してスライス厚1.4mmという情報をもたせているのではないかと思います。

          スライス厚とスライス間隔の説明については、日本語では

          http://okwave.jp/qa/q4820195.html

          あたりがわかりやすいたとえなので参考にしていただけたらと思います。

          で、DICOMヘッダーにこれらの情報が書かれているわけですが、
          DICOMは機種ごとに自由度が高いため、画像コンバーターが、すべてのヘッダーを読めるわけではないために
          情報が抜け落ちてしまうことがあります。

          間違っている可能性もありますが、私の理解している範疇で書かせていただきました。

  27. 根本先生

    HPをよく参照させていただいています。札幌医科大学の篠崎と申します。

    さて、先生の著書「すぐできるVBM」を購入し、さっそく手持ちのデータにてDARTELを行っているところです。この本のp.78に、Global calculationにてTBVを入れる部分ですが、個々人のTBVはどのようにして算出できるものでしょうか。

    ご教示いただければ幸いです。
    よろしくお願い申し上げます。

    • 篠崎先生

      ご質問、ありがとうございます。
      大事なところが抜けていましたね…。
      すぐにまとめてアップしますので、少しだけお待ちください。
      よろしくお願いします。

      • 根本先生

        札幌医科大学の篠崎です。
        この度は早速にありがとうございました。
        TBVを出力でき、手持ちのデータにて最後まで解析できました。

        • 篠崎先生

          ご報告ありがとうございました。
          無事に解析できたということでよかったです。
          今後も何かありましたらおたずねいただけたらと思います。

コメントを残す