Mozc (およびGoogle日本語) 用に作成した脳領域名の日本語変換辞書

この数日、ある総説を書いていたのですが、mozcの辞書に脳解剖の用語があまりにも入っていなくて困ったなと思いました。
オープンソースの医療辞書を探してみた所、DMiME 医学用語変換辞書ORCA projectによる医療辞書を発見しました。これらを入れてみた所、医療辞書としてはとてもいいのですが、脳解剖の用語(たとえば背外側前頭前野であったり、海馬傍回であったり)は登録されていません。
Linux界隈では、「ないものは作って共有する」のが原則ですので、とりあえず、作成してみました。
mozcはGoogle日本語のオープンソースですから、Google日本語入力でも使用できるかと思います→使用できるという報告をいただきました。

続きを読む

Ubuntuで有線LANで接続しようとしても、「デバイスは管理されていません」と出てしまう時の簡単な解決法

Ubuntu 18.04で経験した現象ですが、無線LANは接続できるのに、有線LANで接続しようとすると、
「デバイスは管理されていません」”device not managed” と出てしまって接続できないことがあります。

こんな感じです。

ネットを探してみるといろいろな情報が出てきますが、日本語の情報だと、「PCにあったドライバをインストールする」という情報が多いです。

しかし、これは汎用的ではありません。もっと根本的な解決法がほしいと思いました。

続きを読む

WindowsでのMRIcronのインストール方法

*MRIcronは開発が終了しており、最終版が2-September-2019なので、こちらのインストール方法を改めて紹介します。

MRIcronはNIFTIファイルのビューワーです。開発は終了しており、後継のMIRcroGLを使うことが勧められていますが、使い勝手はいいので、以下、紹介します。

MRIcronは、https://www.nitrc.org/frs/?group_id=152よりダウンロードします。

2-September-2019 の “MRIcron_windows.zip” をクリックします。

ファイルをダウンロードするにあたっての規約が表示されますので、[I Agree]をクリックします。

そうすると、MRIcron_windows.zip を保存する画面が出てくると思いますので、適宜保存します。

ファイルが圧縮されていますので、解凍してください。Windows10では、ファイルを右クリックで、「すべて展開」で展開できます。

すると、下図のようにファイルが解凍されます。

“mricron.exe” をダブルクリックします。(拡張子を表示するオプションを有効にしていない方はmricronだけかもしれません)

そうすると、一度だけ、以下のwarningが出ます。

ここで、「詳細情報」をクリックすると、以下のような画面になるので、「実行」をクリックします。

そうすると無事に起動します。(表示される画像は違うかもしれませんが)

以下、簡単に、背景画像と、アトラスを重ね合わせる方法を紹介します。

まず、背景画像を表示します。上に使っているのは、ch2.nii.gzですが、それを表示します。

MRIcronのメニューから、”File” -> “Open templates” -> “ch2.nii.gz” で、上手のような画像が表示されます。

これに、AALアトラスを重ね合わせたいと思います。

メニューの”Overlay” -> “Add” を選びます。

画像の選択画面が出ますので、MRIcronのフォルダがあるところの Resources/templates/aal.nii.gz を探します。

私の場合、MRIcronを ダウンロード/MRIcron_windows/MRIcron にインストールしてあるので、以下のところにありました。

そうすると、AALアトラスが重ね合わせられて表示されました。ここで適当な領域をクリックすると、ウィンドウの上にその解剖学的名称が出ています。
今の場合、右の海馬をクリックしたので、Hippocampus_R と表示されています。(MRIcronの表示はデフォルトは、RadiologicalでなくNeurologicalであり、右側は右に表示されます)

なお、デフォルトだと、アトラスはベタッと上に表示されます。
アトラスを少し透過させて、下の画像も確認するためには、”Overlay” -> “Transparency on Background” で値を調整します。
60%としてみると、以下のようになりました。こうすれば、背景画像とアトラスを比較できます。

SPMの結果から閾値をこえる領域のすべての座標を求める方法

最近、ある方にこういう依頼を受けました。

「SPMの結果から閾値を超えるクラスターの全領域名が知りたい」

このためには、まず、閾値を超えるクラスターの座標を知る必要があります。
SPMの構造体には、座標がすべて入っています。

SPMで結果を出した後に、Matlabのコマンドウィンドウに以下をタイプするだけでOKです。

xSPM.XYZmm

SPMの統計結果は xSPM という構造体におさめられています。
xSPMとタイプすると構造体の内容を見ることができます。

>> xSPM

xSPM = 

  フィールドをもつ struct:

          swd: 'ワーキングディレクトリ'
        title: 'コントラストのタイトル'
            Z: [1×1102 double]
            n: 1
         STAT: 'T'
           df: [1.0000 250.0000]
      STATstr: 'T_{250}'
           Ic: 2
           Im: []
           pm: []
           Ex: []
            u: 3.1232
            k: 100
          XYZ: [3×1102 double]
        XYZmm: [3×1102 double]
            S: 70831
            R: [1 41.5028 447.2876 1.2207e+03]
         FWHM: [3.6448 3.8374 3.7707]
            M: [4×4 double]
           iM: [4×4 double]
          DIM: [3×1 double]
          VOX: [3 3 3]
         Vspm: [1×1 struct]
    thresDesc: 'p<0.001 (unc.)'
         VRpv: [1×1 struct]
           Pp: [1×116 double]
           Pc: [1×58 double]
           uc: [4.8405 Inf 62.0000 62.0000]
        units: {'mm'  'mm'  'mm'}

これを改めてみると、SPMのResultsに出てくる内容がほぼ網羅されていることがわかります。

Z: [1×1102 double] はZ値が1102個あるということです。つまり、閾値を超えるボクセルが1102ボクセルあるということがわかります。
u: 3.1232 は p<0.001, uncorrectedに相応するT値、k: 100 はextent thresholdです。
XYZ: [3×1102 double]には、ボクセルの位置が入っており、XYZmmに、そのMNI座標が入っています。

とこんな感じでいろいろな情報が入っています。

XYZmmは3×1102ですから、3行1102列の行列です。
これは扱いにくいので、転置してあげると扱いやすくなります。

>&gt; A=xSPM.XYZmm;
>&gt; A'

ans =

    -9    54    21
    -6    54    24
    -9    54    24
   -12    54    24
    -6    57    24
    -9    57    24
   -12    57    24
   -15    57    24
 (…以下、この例の場合では1102行の出力が続きます)

こうやってすべての座標を得ることができました。

SPMでは、統計の結果はデフォルトでは、8mm離れたピーク領域しか表示されませんが、このような方法を使えば自分が気になっている領域が入っているかどうかを確認できます。

Ubuntu 18.04 mini.iso から構築するLin4Neuro 18.04版

現在、Lin4Neuro 18.04版を開発しており、仮想マシン版は公開できているのですが、iso版はまだ公開できていません。
リマスタリングに苦労しております。

もし、WorkstationにLin4Neuroを構築したい場合、Ubuntuから公開されている mini.iso を利用することで、
(比較的容易に)構築することができます。

以下、方法を示します。なお、スクリーンショットはVirtualBoxを用いて作成したものです。
仮想マシンで試されてから実機に応用していただけたらと思います。
なお、実機の場合、ネットワークは最初は無線LANは自動で認識しませんので、有線LANでネットワークに接続してください。

続きを読む

FSL で imglob: command not found と出た時の対処方法

FSLをきちんとインストールしたつもりなのに、imglob, imcp, immv のいずれかを実行したり、eddy などのコマンドを実行すると、

imglob: command not found

というエラーが出ることがあります。

これは、FSLのインストールがうまくいっていないサインです。

FSLのサイトにも記載があります。

しかし、もうひと工夫必要なので記載します。

続きを読む

MRIcroGL および dcm2niix の MacOSでのセットアップ方法

2019.01.07 追記: MRIcroGLは開発者のChris Rorden教授のGitHubから直接ダウンロードした方がバージョンが新しいので、こちらで案内することとしました。

DICOM -> nifti ツールとして dcm2nii が有名ですが、開発者の Chris Rorden は、 dcm2nii の開発はすでに終了しており、後継の dcm2niix の開発を継続しています。
dcm2niix は dcm2nii よりも変換速度が非常に速く、BIDS形式にも対応しているなど、使い勝手も向上しています。
MRIcroGLに搭載されていますので、MRIcroGLをインストールすることで使えますが、パスの設定を通しておかないともったいないのでその方法を記載します。

続きを読む

dcm2niiを用いてDICOM形式をNIFTI形式へ変換する方法

**dcm2niiはすでに開発が終了しており、公式にはもう配布されておりません。後継のdcm2niixを使用してください。

  1. 画像のファイル形式
    画像解析を行うにあたって、画像のファイル形式を知っておくことは重要です。
    最低限、知っておくべきファイル形式は以下の3つになります。

① DICOM形式
DICOM形式は医用画像の共通フォーマットです。MRI, CT, PET, SPECT撮像機器などで撮影されたものを出力する際に、それぞれの機器に独自の形式で保存することもできますが、DICOM形式で出力することによって、ユーザは機種の違いを意識せずに画像を見ることができます。画像の1スライスが1つのファイルになっているため、矢状断160枚から成る3次元T1強調画像のDICOM画像は、160のファイルから構成されることになります。標準的な拡張子は.dcmとなります。

② ANALYZE形式
アメリカのメイヨークリニックで開発された形式です。画像のヘッダー情報を有するファイル(.hdr)と画像情報を有するファイル(.img)の2つで構成されています。ファイルの扱いが容易であることから、しばらく前まではデファクト・スタンダードとして使われていました。しかし、左右の情報を持っていないため、しばしば混乱が生じることがあったため、現在は次に述べるNIfTI形式に移行してきています。

③ NIfTI-1形式
アメリカ国立衛生研究所(NIH)を中心として開発されている形式で、ANALYZE形式の拡張版です。より多くのヘッダー情報を有することができる他に、左右情報を持っています。このため、左右について悩む必要がありません。現在、SPM(SPM5以降)、FSLでは標準の画像形式となっています。一つ気をつけなければいけないことは、画像の拡張子が2つあることです。ANALYZEと同じ.hdrと.imgの2つのファイルからなる形式とヘッダーと画像を一つにまとめた.nii形式の2つがあります。

2.dcm2nii(gui)について
プログラム名が示す通り、DICOM画像(dcm)をNIfTI画像(nii)に変換するプログラムです。
その使い勝手の良さから、広く使われています。

3. dcm2niiguiの設定

① dcm2niiguiの起動
まず、dcm2nii(gui)を起動します。
インストールしたMRIcornのフォルダの中にある[dcm2niigui.exe]をダブルクリックします。

Macでは、Spotlightで[dcm2niigui]を検索して下さい。

また、[アプリケーション]→[MRIcron]→[dcm2niigui]の方法でも可能です。

脳画像解析のためのコマンドライン習得勉強会(2019年2月10日)

(2018.12.05 満席となりました)

脳画像解析を行っていくうえで、コマンドラインに慣れることは必須です。
しかし、コマンドラインを習得するよいテキストはなかなかありません。
このため、脳画像解析を行ううえで有用なコマンドラインを習得するための勉強会を企画しました。

  • 日時:2019年2月10日(日)9:00-17:00
  • 場所:オフィス東京(東京駅八重洲口から徒歩5分)
  • 費用:無料
  • 定員:30名(先着順)

続きを読む

FSLなどで生成したFA画像を、FreeSurferのSurface画像に投影する方法

FreeSurferで画像解析をしていると、「他の画像解析ソフトで解析した画像をFreeSurferで表示できないだろうか?」という疑問が湧いてきます。
今回、慶応大の上田亮先生が、その方法を見出してくださいましたので、上田先生の了解を得て、その方法を説明します。
FSLで作成したFA画像を、FreeSurferのSurface画像に投影してみます。

続きを読む

VirtualBoxへのLin4neuroのインストール -Mac編-

現在、Lin4NeuroはVirtualBox上で動作する仮想マシンを配布するようになりました。Macで仮想マシンをどう使うか以下に記します。

  1. Macのバージョン確認
  2. MacでVirtualBoxを動作させるには、MacOS10.8(Mountain Lion)以降である必要があります。バージョンが古い方は、まずOSのアップグレードを行ってください。

    注意点としては、MacOS 10.13(High Sierra)からセキュリティがこれまで以上に厳しくなりました。本ガイドでは、OS10.13で検証しています。セキュリティに気をつけるところは説明していますが、OS10.12(Sierra)以前では表示されない画面もありますので、ご了承ください。

    続きを読む

FSLの異なるバージョンのインストール

2018年10月26日、FSL 6.0.0がリリースされました。
メジャーバージョンアップなのでこれからいろいろ調べないといけませんが、
FSLのインストーラー、fslinstaller.pyをそのまま実行するとFSL 6.0.0がインストールされます。
しかし、従来のFSL 5.0.11をインストールしたい人もいます。
fslinstaller.pyのオプションで、指定できることがわかりました。
なお、fslinstaller.pyはPython2のスクリプトです。最近は、pythonとタイプするとpython3が起動する人も多いので、
python2.7 fslinstaller.py としてあげるといいでしょう。(Linuxはpython2でいいのですが、MacOSはpython2.7と明示しないとうまく動きません)

続きを読む

Anacondaを用いたPython 2.x系と3.x系の使い分け

先日、Python 3.x系のAnacondaをLinuxにインストールする必要がありました。
これ自体はなんら問題がなかったのですが、FreeSurferを使っている時にひとつ問題が出ました。

FreeSurferの asegstats2table と aparcstats2table はPython 2.x系で書かれているスクリプトで、Python3系では動きません。

Ubuntuの場合、デフォルトだと

python or python2 –> Python 2.x系
python3 –> Python 3.x系

となっているため、

#!/usr/bin/env python

は、通常はpython2.x系を指します。

しかし、私のように、Python3.x系のAnacondaをいれると

$ python --version

とすると

Python 3.6.5 :: Anaconda, Inc.

となり、python3.x系が呼び出されているのがわかります。

どうしたものかと思いましたが、Anacondaのサイトにきちんと答えが書いてありました。

続きを読む

MacOS High Sierra以降でVirtualBoxのインストールに失敗する時の最終的な対処法

2020/02/03 ここで紹介する方法はもう使えなくなっています。Homebrew経由でインストールするのが一番確実かと思います

macOS High Sierraから、セキュリティが以前よりも厳しくなりました。
これによっていろいろなソフトウェアをインストールする際の手順がめんどくさくなりました。

VirtualBoxも例外ではありません。

続きを読む

pipを用いたUbuntuへのANTsのインストール方法(ソースコードからのコンパイル)

しばらく前に、ANTsのUbuntu 14.04へのインストール方法(ソースからのコンパイル)という記事を書きましたが、最近のANTsは、cmakeのバージョンが3.10以上でないとコンパイルできなくなっていました。

方法を探してみましたが、cmakeのコンパイルを説明するページが圧倒的でした。
しかし、さらに探していたところ、pipを使えばすんなりいくことがわかりました。

pipは、pythonのパッケージ管理システムで、この中にcmakeも入っています。

ということで、改めて記事を書いていきます。

※2020/02/02 現在はUbuntuのcmakeは3.13までアップグレードしましたので、pipでなくても大丈夫になりました。

sudo apt install cmake

だけでも以下のコンパイルはできます。

続きを読む

第2回 FreeSurfer 6.0 勉強会を開催します (2018年11月18日)

2018/8/28 13:40 満席となりましたので、受付を終了いたしました。

2018年3月にABiS脳画像解析チュートリアルにおいてFreeSurferのチュートリアルを行いましたが、アンコールのリクエストを複数いただいているので、今回も岩手医科大学の山下典生先生の協力を得て、2018年11月18日に東京でFreeSurferの勉強会を開催することとしました。

今回は、研究費のサポートがあるため、無料です。

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

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

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

  • 日程:2018年11月18日(日) 09:00-17:00
  • 場所:オフィス東京
  •    東京駅八重洲口徒歩5分

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

  • セミナー内容(予定;基本的には2018年3月に生理研で行われたチュートリアルをベースにしています)
  • ・FreeSurferの概要
    ・recon-allを用いた前処理の方法
    ・ROI解析
    ・個人解析結果のマニュアル修正
    ・Qdecを用いた基本的なグループ解析
    ・コマンドラインを用いたグループ解析

  • 定員:50名(先着順)
  • 参加費:無料