Rとigraphを使ったネットワーク解析と可視化

Rで用いることのできるネットワーク解析ツールに igraph があります。
何かよいチュートリアルがないかと探していたところ、Katherine Ognyanova女史によるすばらしいチュートリアルを見つけました。

とてもよいものだったので、ぜひ日本語化したいと思い、Ognyanova女史に翻訳の許可を求めたところ、快諾してくださいましたので、我々の研究室の田村昌士先生が中心に翻訳してくださいました。

以下に公開します。

Rとigraphを使ったネットワーク解析と可視化のチュートリアル

Lin4Neuroのイメージファイル(isoファイル)を用いてVirtualBoxにインストールする方法

Lin4Neuro (L4N)は、isoイメージファイルおよびVirtualBoxの仮想アプライアンスを配布しています。
ここでは、isoイメージファイルを用いてVirtualBoxにL4Nをインストールする方法を解説します。

この方法は若干だけ手間がかかりますが、以下のメリットがあります。

  • ハードディスクの容量を自分で設定できる
  • これが一番大きいメリットかと思われます。

  • ログイン名などを自分の好みにあわせられる
  • ご自身で設定できます。

具体的な方法を以下に示します。Acknowledgmentとして、我々の研究室の山田典子さんが以下を準備してくださいました。
VirtualBoxのインストールまでは済んでいるものとして話をすすめます。なお、この方法では、VirtualBox Extension Packは不要です。

続きを読む

Ubuntu上でのVirtualBoxで仮想マシンを立ち上げようとしたときに Kernel driver not installed (rc=-1908) のエラーが出た場合の対処方法

自分が頻回に遭遇するエラーなので、備忘録として載せておきます。

Ubuntuでカーネルをアップデートすると、VirtualBoxを起動するときに、以下のエラーが出ます。

このエラーがでたときに、このまま

sudo /sbin/vboxconfig

としてもエラーが出て解決しません。(細かいエラーを保存し忘れました)

解決方法はシンプルで、新しいカーネルにあったカーネルヘッダーをインストールすることです。

以下に具体的な解決法を示します。

  1. カーネルのバージョンを確認
  2. $ uname -r
    4.15.0-22-generic
    

    今の場合、4.15.0-22-generic であることがわかります

  3. 該当するバージョンのカーネルヘッダーをインストール
  4. 上記を賢く使ってインストールします。

    $ sudo apt update
    $ sudo apt install linux-headers-$(uname -r)
    

    これでカーネルヘッダーがインストールされます

  5. /sbin/vboxconfig の実行
  6. $ sudo /sbin/vboxconfig 
    vboxdrv.sh: Stopping VirtualBox services.
    vboxdrv.sh: Building VirtualBox kernel modules.
    vboxdrv.sh: Starting VirtualBox services.
    

    これで無事にVirtualBoxの仮想マシンが起動するようになります。

VirtualBox上でUbuntuの画面が乱れてしまった時の対処法

VirtualBox上にUbuntu (正確にはLin4Neuroなのですが)をインストールしたところ、下図のように画面が乱れるという現象が再現性をもって起こりました。

ログイン画面が表示されているのですが、これでは全く使いものになりません。

いろいろ調べていたのですが、なかなかわからなかったのですが、ふと、「仮想ターミナルを立ち上げて戻ってきたらどうだろう?」と思い、試したところ解決しました。

VirtualBoxのHotkey (デフォルトは右Ctrl) + F1 を押します。

私の環境で、 右Ctrl + F1 を押すと以下のようになりました。

きれいに見えます。

ここで、さらに、Hotkey + F7 を押します。

私の環境では、右Ctrl + F7 を押してみました。

なんときれいになりました。

忘れないようにメモとして残しておきます。

FSLのインストーラー、fslinstaller.py はすぐに捨てない!

今、MacもLinux (RedHat系, Debian系) もFSLのインストールはfslinstaller.pyを使うようになりました。
これは、インストールだけかと思いきや、アップデートにも使えます。

https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation/MacOsX

https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation/Linux

にfslinstaller.pyのオプションが説明されています。

そのまま引用します。

  • -d specify folder to install FSL into (without ‘fsl’), e.g. /usr/local
  • -e only configure your account for running FSL
  • -E configure FSL for all users (Linux)
  • -v print installer version number and exit
  • -c check for updated versions of FSL
  • -l list versions of FSL available for download
  • -V install specified version number e.g. 5.0.10
  • -s download the source code for the current, or specified version of FSL
  • -f download the FEEDS data set for the current, or specified version of FSL
  • -q silence all messages
  • -p skip environment setup
  • -D switch on debug messages – use this option to generate logging that can be included when requesting installation support

-c がアップデートを確認となっています。

試してみます。

python fslinstaller.py -c

--- FSL Installer - Version 3.0.11 ---
[Warning] Some operations of the installer require administative rights,
    for example installing into the default folder of /usr/local.
    If your account is an 'Administrator' (you have 'sudo' rights)
    then you will be prompted for your administrator password
    when necessary.
When asked a question, the default answer is given in square brackets.
Hit the Enter key to accept this default answer.
Where is the FSL folder (e.g. /usr/local/fsl)? [/usr/local/fsl]: 

ここでそのままEnterを押します。

Looking for new version.
[OK] Version 5.0.11 available.
Would you like to install update? [yes]: 

5.0.11があるのでアップデートする?と聞かれますので、そのままEnterキーを押すか、もしくは yes とタイプすると5.0.11のアップデートがはじまります。

fslinstaller.py自体は自分自身でプログラムをアップデートする機能を持っています。したがって、インストールした後も捨てないということが大事です。

なお、-f がFSL FEEDSのダウンロードとなっていますが、これは -F の間違いです。今度、FSLのMLに投稿しようと思います。

また、このプログラムはpython 2.x系のみで動作しますので、そのことも覚えておいた方がいいでしょう。

Ubuntu 14.04/16.04 を使った exFAT形式のフォーマット

USBメモリは多くの場合、FAT32形式でフォーマットされています。これは汎用性がありますが、4GBの壁があり、4GBをこえるファイルは使うことができません。

WindowsにはNTFS形式があり、これは4GBを超えて保存できますが、MacでNTFSでフォーマットされたUSBメモリを読み込むにはひと手間必要です。

では、WindowsでもMacでもLinuxでも4GB以上のファイルをUSBメモリで扱うにはどうしたらいいでしょうか。
それに対する答えのひとつが exFAT形式です。
exFAT形式は、Microsoftが主にリムーバブルメディア向けに開発したファイルシステムだそうです。WindowsでもMacでも普通に読み込むことができます。

Ubuntuでもソフトウェアを2つ入れればすぐに使えます。それはexfat-fuse と exfat-utilsです。

Ubuntu 14.04の場合は、PPA経由で入れます。

sudo apt-add-repository ppa:relan/exfat
sudo apt-get update
sudo apt-get install exfat-fuse exfat-utils

Ubuntu 16.04は本家から普通に入れられます。

sudo apt-get update
sudo apt-get install exfat-fuse exfat-utils

それで、フォーマットの仕方は非常に簡単です。

sudo mkfs -t exfat [ -n 名前 ] デバイス

もしくは

sudo mkfs.exfat [ -n 名前 ] デバイス

mkfs -t exfatも、mkfs.exfatも mkexfatfs へのシンボリックリンクのようです

たとえば、/dev/sdf を DATA と名づけたい場合

sudo mkfs.exfat -n DATA /dev/sdf

となります。

フォーマットが非常に速くて便利です。

クロスプラットフォームで4GB超の大容量ファイルが扱えるのと、フォーマットの速さが魅力的なので今はUSBメモリはとりあえず exFAT にフォーマットしてから使用するようになりました。

Ubuntu 16.04への MRtrix3 インストールスクリプト

先日、ABiSチュートリアルで順天堂大学の鎌形先生から、FSL, FreeSurfer, MRtrix3を組み合わせたコネクトーム解析の素晴らしい講義を聞く機会がありました。

MRtrix3はインストールしなきゃと思いつつできていませんでしたが、せっかくですから、モチベーションが高いうちにインストールしようと思い、Ubuntu 16.04へのインストールを行いました。

http://mrtrix.readthedocs.io/en/latest/installation/linux_install.html

こちらに説明がありますが、これをまとめてみました。

関心のある方はこちらからダウンロードしてみてください。(右クリック→名前をつけて保存)

保存した後、

$ chmod 755 mrtrix3_installer_ubuntu1604.sh
$ ./mrtrix3_installer_ubuntu1604.sh

でインストールができます。

ちなみに、上記スクリプトは以下のようになっています。
GitHubからダウンロードし、コンパイルし、.bashrcにパスを通すというシンプルなことをやっています。

#!/bin/bash
#Script to setup mrtrix3 for Ubuntu 16.04

#Install prerequisite packages
sudo apt-get install git g++ python libgsl0-dev zlib1g-dev libqt4-opengl-dev libgl1-mesa-dev libqt5svg5* libeigen3-dev

#Download MRtrix3 source
if [ ! -e $HOME/git ]; then
 mkdir $HOME/git
fi

cd $HOME/git
git clone https://github.com/MRtrix3/mrtrix3.git

#Configuration and build
cd mrtrix3
./configure
./build

#.bashrc
echo >> $HOME/.bashrc
echo "#MRtrix3" >> $HOME/.bashrc
echo 'export PATH=$PATH:$HOME/git/mrtrix3/bin:$HOME/git/mrtrix3/scripts' >> $HOME/.bashrc

How to make a UEFI-based bootable USB stick with Ubuntu mini.iso

Ubuntu mini.iso is useful when we want to build a system with minimal packages.
It is useful to make a bootable USB stick.
Below is how to make UEFI-based bootable USB stick with Ubuntu mini.iso.

Required package: 7-zip

You can get 7-zip with the following command;

sudo apt install p7zip-full

Now we will use “7z” command.
Two options are needed. “x” for extract and “-o” to specify output directory. If the directory doesn’t exist, 7z creates automatically.

  1. Extract iso image into a directory
  2. Now I want to extract images into “usbdisk” directory.

    7z x -ousbdisk mini.iso
    

    This will make “usbdisk” directory and extract into the directory. Note that no space is allowed between “-o” and target directory. I tried space or quotation, without success.

  3. Extract efi.image under boot/grub
  4. One more thing. In order to make the USB stick bootable with UEFI, we need to extract efi.img under boot/grub. This can be easily done with the following command. (You don’t have to change directory.)

    7z x -ousbdisk usbdisk/boot/grub/efi.img
    

    This command will extract efi.img, which will be “efi” directory under which bootx64.efi and grubx64.efi exist into the usbdisk directory.

  5. Copy the contents under “usbdisk” to USB stick
  6. Finally we just copy the contents under usbdisk to a USB.

That’s it. Now try to boot from USB disk.

Install igraph in R-studio on Ubuntu 16.04

I tried to install igraph simply by running install.packages(‘igraph’), which resulted in compile error.
Gathering information scatterd on websites, I came to the conclusion.

My Circumstance is as follows;

Ubuntu
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial

$ uname -a
Linux vincent 4.10.0-42-generic #46~16.04.1-Ubuntu SMP Mon Dec 4 15:57:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

R-studio
Version 1.1.383

sudo apt update
sudo apt install libssl-dev libcurl4-openssl-dev libxml2-dev

Then running install.packages(‘igraph’) in R-studio succeeded without error.

CONNチュートリアル 15: Second-level Analysis 群間比較

多くの方から、”Second-level Analysis”のチュートリアルを執筆するように言われていましたが、なかなか時間がとれなかったのでそのままになっていました。
ようやく、時間がとれたので second-level analysis にいきます。

First-level analysisで Done と押すと、以下のような画面になるはずです。

ここで、大事なのは、画面中央の “Subject effects” と “Between-subjects contrast” です。

CONNがすごいのが、SPMで設定するコントラストを自動で考えてくれるところです。

それでは、2群間の比較から行きましょう。

健常者より統合失調症でfunctional connectivityが落ちているところをまず探したいと思います。
年齢と性別は共変量として扱いましょう。

まずは、”Subjects effect” のところで、シフトキーを押しながら、

control
patients
age
gender

の4つを選択します。

次に、Between-subject contrastsで、”Any effects of interest” のところをクリックして、”control > patients”を選択します。

そうすると、上のコントラストが自動で [1 -1 0 0] となります。

つまり、SPMで自分で設定しなければいけないコントラストを、CONNは自動で設定してくれるのです。

そうすると、画面下に、統計の表があらわれます。

ただ、これは味気ないので、もう少しファンシーな結果を見ましょう。
画面左下にある “Results explorer” をクリックしてください。

これを見ていきます。

  • Define connectivity matrix
  • これは、connectivityの行列のサイズを示します。今は、164のROIを使っているとわかります。

  • Select seed ROI(s)
  • これは、左側にある図の seed がどれかを示します。今は、右前頭極がシードになっています。左側の絵が真っ黒ということは、右前頭極と相関をきたす領域で、統合失調症が健常者より落ちているconnectivityはなかったということになります。ちなみに、seedは、ひとつずつ変更していくと、左の絵が変わりますし、CtrlキーやShiftキーを使って複数選ぶことも可能です。下の”Select all”を選ぶと、ROIをすべて選ぶことになります。あたりをつけるために、やってみるといいと思います。今の場合でやった結果を下に示します。

  • Define thresholds
  • ここで統計の閾値を設定します。今は、FDRで多重比較補正をかけて p<0.05 となります。 閾値を変更したかったらここで変更します。

  • 統計結果
  • その下にあるのは、統計結果です。領域が出ているところを選択すると、左側でどのconnectivityかを示してくれます。

表示も変えてみましょう。

メニューの View -> axial view を選んでください。

そうすると、以下のようになります。

きれいですね。

coronal, sagittalも同様です。

そして、3d viewを選択すると、以下のようになります。

これも素敵ですね。

こんな感じで結果を表示できます。

SPM12のアップデート (version 7219) がリリースされました

SPM12のアップデートのリリースが先ほどされました。

様々なバグ修正が行われています。
アップデートのREADMEを見ると、自分的に興味深いことを発見しました。
コマンドラインでですが、octaveでの動作ができるようにいろいろ試みられているようです。
バッチ処理などにmatlabなしでoctaveだけでできたら、応用範囲が一気に広がります。

すでにSPM12をインストールしている方々でしたら、アップデートは、Matlabから下記のコマンドを打てば自動でできます。

spm_update update

お試しあれ。

Ubuntu 16.04+fcitx+mozcで、viでインサートモードになる時は、mozcは起動させず、作業後にESCを押した時には、自動でmozcをOFFにする設定

私は、Ubuntu 16.04 (をカスタマイズしたLin4Neuro 16.04)でfcitx+mozcで日本語入力を行っています。
エディタはvimを利用しています。

多くの方がネットに記載されていますので、詳細は書きませんが、私がvimで日本語文書を書くとき、

  • 日本語で入力している時、入力が終わった後、ESCキーを押しても日本語入力の状態のままなので、一度mozcを切ってからでないと、ノーマルモードになれない。

という問題がありました。

この点に関して、私がよく参考にさせていただいている「いくやの斬鉄日記」にまさにこれに関する記事があり、中国語ですが、この問題を解決する .vimrc に記載する設定のリンクが紹介されていました。

早速、以下を ~/.vimrc に記載しました。(中国語のコメントは、英語に変換してあります)

"##### auto fcitx  ###########
let g:input_toggle = 1
function! Fcitx2en()
   let s:input_status = system("fcitx-remote")
   if s:input_status == 2
      let g:input_toggle = 1
      let l:a = system("fcitx-remote -c")
   endif
endfunction

function! Fcitx2zh()
   let s:input_status = system("fcitx-remote")
   if s:input_status != 2 && g:input_toggle == 1
      let l:a = system("fcitx-remote -o")
      let g:input_toggle = 0
   endif
endfunction

set ttimeoutlen=150
"Leave Insert mode
autocmd InsertLeave * call Fcitx2en()
"Enter Insert mode
autocmd InsertEnter * call Fcitx2zh()
"##### auto fcitx end ######

これでvimを起動したところ、日本語でいろいろ書いた後に、ESCを押してノーマルモードに戻ると、自動でmozcがoffになりました。やった!という感じです。

しかし、もう少し使っていて、不便に感じることがありました。それは、vimを起動して最初の挿入モードになるときに必ず mozc が立ち上がってしまうことです。日本語の文章を書くときはいいのですが、スクリプトを書くときは邪魔になります。ここは自動じゃないほうがいいなと思いました。

で、上の記載をよくよく見ると

Fcitx2en() というファンクションと
Fcitx2zh() というファンクションがあり、

前者はESCが押された時に自動でinput method (IM)をoffにする機能であり
後者は挿入モードになった時に自動でIMをonにする機能のようです。

私は後者の機能がいらないんだと気づきました。

なので、以下のように、Fcitx2zh()のところを削除しました。

"##### auto fcitx  ###########
let g:input_toggle = 1
function! Fcitx2en()
   let s:input_status = system("fcitx-remote")
   if s:input_status == 2
      let g:input_toggle = 1
      let l:a = system("fcitx-remote -c")
   endif
endfunction

set ttimeoutlen=150
"Leave Insert mode
autocmd InsertLeave * call Fcitx2en()
"##### auto fcitx end ######

こうしたところ、私の期待していたように

  • vimでノーマルモード→挿入モードになった時にはIMは起動しない
  • 必要時に手動でIMを起動
  • ESCを押すと自動でIMをoff

となりました。

これでvimがさらに便利になりました。
自分の備忘録として記載しておきます。

Ubuntu14.04以降へのFreeSurfer 6.0のインストール

2014年12月にFreeSurfer 5.3のインストールの方法を記載しましたが、しばらく時間が経ちました。最近、FreeSurfer 6.0がリリースされましたので、コピペでもいけるぐらいにまとめてみます。

英語でのFreesurferをLinuxにインストールするときの具体的な方法は、
こちらに書いてあります。以下は英語を読むのがつらい方のためです。

なお、楽をしたい人は、一番最後にある【楽をするためのスクリプト】をご覧ください。

続きを読む

FreeSurfer v6.0 勉強会を開催します (2017年12月2日)

※2017年9月15日0:00現在、50名を超える申し込みがありましたので、申し込みは終了いたしました。

これまでVBMチュートリアルを行なってきていますが、受講者のアンケートで、「FreeSurferの勉強をしたい」という意見が一定程度ありました。

構造画像解析において、FreeSurferは通らなければいけないところかと思います。

しかし、日本語でのチュートリアルは過去に2011年に慶應大学の先生方が講習会を開かれていらっしゃいますが、その後、開かれていません。

一定のニーズがあると思いますので、岩手医科大学の山下典生先生の協力を得て、FreeSurferの勉強会を企画しました。

この企画はあくまでも個人的なものであり、研究費の支援などはなく、有料会議室を借りてもいますので、有料講習会とさせていただきます。(その分の学びがあるように準備します!)

これまでに開催してきたチュートリアルのように、ご自身のパソコンを持ち込んでいただき、FreeSurferにじっくり触れていただきます。

想定している対象者は、FreeSurferの経験がまだ少ない方です。全く経験がない方もOKです。また、recon-allはやったことがあるけれども、マニュアル修正をやったことがない方はとてもいい経験になると思います。これらの経験がある中級者以上の方には物足りないかと思います。

もちろん、事前サポートもさせていただきます。FreeSurferだけでなく、他にも必要なソフトなどもありますので、前もって万全な体制を整えて勉強会に臨めるようにサポートさせていただきます。それだけでも、今後の研究をする準備になるかと思います。

日程及び場所は以下になります。

  • 日程:2017年12月2日 10:00-18:00
  • 場所:NATULUCK五反田東口駅前店会議室
  •    五反田駅東口徒歩2分
       東京都品川区東五反田5-27-10 第1野村ビル 5階
       Googleマップはこちら

  • 講師
  • 根本清貴(筑波大学医学医療系精神医学)
    山下典生(岩手医科大学医歯薬総合研究所超高磁場MRI診断・病態研究部門)

  • セミナー内容(予定)
  • ・個人解析(recon-all)の方法、及び多数例解析のための工夫
    ・個人解析結果の見方、様々な出力ファイルの意義
    ・個人解析結果のマニュアル修正
    ・GUIを用いた基本的なグループ解析

  • 定員:40名程度(先着順)
  • 参加費:1万円
  • 申し込み方法
  • 定員に達したため、締め切りました。

再帰的にファイル名やディレクトリ名にある半角スペースをアンダースコア ( _ )で置き換えるスクリプト: Linux & Mac 対応

シェルスクリプトで作業を自動化しようとするとき、ファイル名やディレクトリ名に半角スペースが入っていると、エラーとなります。
この半角スペースを全部アンダースコア( _ ) で置き換えてあげたいと思いました。
それも、カレントディレクトリだけではなく、再帰的にサブディレクトリにあるものもすべてです。
やっぱり楽したいですから…。特に画像解析をやる場合、DICOMのディレクトリ構造は、かなり奥深くにいくので、再帰的にいけると楽になります。

スマートでないかもしれませんが、以下のようなスクリプトを書いてみました。

replace-space-underscore.shのダウンロード(右クリックで名前をつけて保存)

思考過程を書いていこうと思います。

続きを読む

bashのtips: 直前の引数を利用したいときは !$

私はこんな作業をよくします。

  • あるファイルをディレクトリAにコピー
  • ディレクトリAに移動

この際

$ cp something /path/to/A
$ cd /path/to/A

とするわけですが、この /path/to/A を2回うつのはめんどくさいので、簡単な方法がないかを調べてみると、

!$

という特殊変数があることがわかりました。
しかし、しょっちゅう忘れるので、覚え方を考えてみました。

bashでは、履歴を知りたいときに、!を使います。
たとえば

$ history

でコマンド履歴を調べ、その1457番目のコマンドを再度実行したいときは

$ !1457

とすればいいわけですね。

で、$ですが、正規表現において、$は「行の最後」を意味します。

この2つを組み合わせれば

「履歴において一番最後のもの」

と考えれば、 !$

は覚えやすいなと思いました。

自分の思考過程を備忘録として書いておきます。

SPM12でのもうひとつのRender

すぐできるVBMで、一般的なRenderにつれて触れていますが、最近、SPMに、もうひとつのRender機能があることを発見しました。

SPMで統計結果を出した後、左下のウィンドウから overlays… Render を選択するところまでは同じですが、

ファイルを選ぶ際に、SPM12のフォルダの”rend”ではなく、”canonical”フォルダにある”cortex*.gii”を選択します。

すると、下のようなRenderファイルが得られます。

これはマウスでくるくる回せます。

また、内側を見せたい場合は、右クリックして、Connected Componentsのうちのどちらかのチェックを外します。

そうすると、内側を見ることができるようになります。

きれいな結果なので、論文に使えると思います。

レビー小体型認知症(DLB)の診断基準(2017年版)

このブログでは臨床的なことはあまり書かないのですが、先日、2017年版のレビー小体型認知症(DLB)の診断基準がNeurologyで公開されました。
読んでみて、とても勉強になる診断基準だなと感じましたので、自分なりに翻訳してみました。なお、現時点で正式な日本語版は公開されていません。あくまでも私が理解しやすいように、訳は逐語訳ではなく、若干意訳されています。(逐語訳って変な日本語になるのであんまり好きではないんです…)

==========
DLBの診断に必須なものは、認知症であることである。
すなわち、進行性の認知機能低下があり、そのために社会活動、職業、日常生活に支障が出ている。
初期には明らかな記憶障害や持続する記憶障害は認められないかもしれないが、病状の進行によって明らかになってくる。
注意、実行機能、視空間認知機能は特に障害されやすく、早期から起こる。

中核的な臨床兆候(最初の3つは初期に起こりやすく、その後も認められる)

  • 動揺性の認知機能:特に注意・集中力(or 覚醒状態?)が動揺しやすい
  • 繰り返し起こる幻視:典型的にははっきりとした形を呈しており、見えているものについて詳しく述べることができる
  • REM睡眠行動障害:認知機能低下の前に認められる
  • 1つ以上のパーキンソン症状:寡動、安静時振戦、固縮

支持的兆候

  • 抗精神病薬に対する過度な過敏性
  • 姿勢反射障害
  • 繰り返す転倒
  • 失神や一過性に応答が悪くなったエピソード
  • 重度な自律神経失調症状:便秘、起立性低血圧、尿失禁
  • 過眠
  • 嗅覚障害
  • 幻視以外の幻覚
  • 体系的な妄想
  • アパシー
  • 不安
  • うつ

DLBを示唆する(Indicative)バイオマーカー

  • SPECTやPET: 基底核でのドパミントランスポーターの取り込み低下
  • 123I-MIBG心筋シンチグラフィ: 取り込み低下
  • ポリソムノグラフィ: アトニー(筋弛緩)がないREM睡眠

DLBを支持(Supportive)する(DLBとして矛盾しない)バイオマーカー

  • CT/MRI: 側頭葉内側が相対的に保たれる
  • SPECT/PET: 後頭葉における血流低下や代謝低下
  • FDG-PET: cingulate island sign (CIS) (帯状回の一部が島状に保たれる)
  • EEG: 後頭葉で目立つ周期的にpre-alphaからtheta帯域で変動する徐波

Probable DLBは以下の条件(のどちらか)を満たす時に診断される

  1. 中核的な臨床症状が2つ以上あること。DLBを示唆するバイオマーカーはあってもなくてもよい。
  2. 中核的な臨床症状が1つあり、DLBを示唆するバイオマーカーが1つ以上ある。

Probable DLBはバイオマーカーだけで診断してはいけない。

Possible DLBは以下の条件(のどちらか)を満たすときに診断される

  1. 中核的な臨床症状が1つだけ認められ、DLBを示唆するバイオマーカーがない
  2. DLBを示唆するバイオマーカーが1つ以上あるが、中核的な臨床症状がない

以下の場合はDLBではない可能性がある

  1. 他の身体疾患や脳血管性疾患のような脳疾患があり、それらの病気で臨床像が部分的にもしくは全体的に説明できる場合。しかし、だからといってDLBの診断を除外できるわけではなく、混合型もしくは複数の病因が寄与していることを示唆しているのかもしれない。
  2. パーキンソン症状しか中核的な臨床症状として認められず、重度の認知症となってはじめて医療機関を受診となった場合。DLBは認知症症状がパーキンソン症状があらわれる前か同時にあらわれた場合にのみ診断できる。パーキンソン病に伴う認知症(Parkinson diseade dementia; PDD) は、パーキンソン病と診断されている患者が認知症になったときに使われる。臨床現場では、臨床症状にもっとも適した用語を使うべきであり、レビー小体病のような一般的な名称がしばしば役に立つ。研究でDLBとPDDを区別しなければならないとき、従来の1年ルール(認知症の発症とパーキンソン症状に1年以上の差がある)が推奨される。

==========

バイオマーカーがはっきりと列挙されており、同時に、「バイオマーカーだけで診断しないこと」とも明記されていることが印象的でした。ともすればバイオマーカーに偏りがちな中、臨床症状を丁寧に評価することの大切さを忘れないようにと釘をさしてくれているのだと思います。

SPM12 compatible automatic reorienting script

I used to use auto_reorient.m script to reorient MR images. However, this script doesn’t work without runnig SPM12 since spm_affreg.m is moved to spm12/toolbox/OldNorm/.

Therefore, I thought of another way to reorient images automatically.

The simple way is to coregister images to MNI images. However, if origin is too far from center of the image, it is likely to fail. So before coregistration, I set the origin of the image to the center, then coregister the image to MNI (icbm152.nii under spm12/toolbox/DARTEL).

I tested the script with various images and it works fine.

If you are interested, you can get the script from the link below.

Download acpc_coreg.m (Right click -> Save as)
Save the script under directory to which Matlab path is set, then type

acpc_coreg

from Matlab command window.

You need SPM12 for this script.