シーケンスを自動判別し、ファイル名を自動リネームするDICOM→NIFTI変換スクリプト

本日、第19回ヒト脳機能マッピング学会で発表したのですが、ブログのタイトル通り、シーケンスを自動判別し、ファイル名を自動でリネームするDICOM→NIFTI変換スクリプトを書いてみました。

MacおよびLinuxに対応しています。

必要なソフトウェアは以下の2つです。

  • MRIcron
  • パスが通っていることが必要です。

  • FSL
  • FSLも同様にパスが通っていることが必要です。

このスクリプトは以下から入手可能です。(右クリックで「名前をつけて保存」で保存できます。)

https://raw.githubusercontent.com/kytk/shellscripts/master/ren-dcmcnv.sh

  1. インストール
  2. インストールですが、パスが通っているディレクトリに保存していただくだけです。

  3. 使い方
  4. 使い方はとてもシンプルです。

    • フォルダの準備
    • 最初に、作業用フォルダを準備します。その中に、各被験者のフォルダを準備します。フォルダ名がとても重要です。このスクリプトはフォルダ名をファイル名のベースに使うからです。
      たとえば、被験者IDがsubj01ならば、フォルダ名をsubj01とします。その中にその被験者のDICOMファイルをすべて放り込みます。(ディレクトリ構造になっていてもなっていなくてもかまいません)

    • スクリプトの実行
    • ターミナルを起動し、作業用フォルダに移動します。

      そして、以下をタイプします。

      $ ren-dcmcnv.sh
      

      これだけです。

    • スクリプトが行うこと
    • スクリプトは以下のことを行います。フォルダ=ディレクトリです。

      1. ワーキングディレクトリに “DICOM”, “nifti” ディ
        レクトリを作成します。
      2. wd内にできたDICOMディレクトリに移動します。
      3. DICOM ディレクトリ内で dcm2nii を実行し、NIFTIファ
        イルを生成します。
      4. fslhd を用いてNIFTIファイルのヘッダー情報を取得します。
      5. 以下のルールに基づき、3次元T1強調画像、fMRI画像、DTI画像を判別します。
        • 3次元T1MRI: 画像の第2次元≧256, 第3次元>100, TE<6msec; (V_)
        • fMRI: 画像の第4次元>100; (F_)
        • DTI: 画像の第4次元が8以上100 未満 (D_)
      6. ディレクトリ名を取得し、ファイル名のベースとし、それぞれの接頭辞に識別記号を付加します。
      7. 変換したファイルをniftiディレクトリに移動します。

よかったら試してみてください。

5 thoughts on “シーケンスを自動判別し、ファイル名を自動リネームするDICOM→NIFTI変換スクリプト

  1. ご対応ありがとうございます。
    当方のmacでも無事に動作確認できました。
    先生のHPにはいつもお世話になっております。
    今後ともよろしくお願いします。

    • 動作検証をありがとうございました。
      無事に動作したようでよかったです。
      今後も何か気になることがありましたら教えてください。
      よろしくお願いします。

  2. いつもたいへんお世話になっております。
    上記スクリプトを利用させてもらおうとしましたが、
    ./ren-dcmcnv.sh: line 31: /dev/fd/62: cannot overwrite existing file
    となって、うまく使用できません。
    set -Ceuをラインアウトすれば先に進むのですが、
    macではlsコマンドで–ignoreオプションは使えないようです。
    対策ありますでしょうか。よろしくお願いいたします。

    • どうもありがとうございます。

      まだ、私の方でMacの検証ができていませんでしたので、
      この際、検証させていただきます。

      数日お待ちください。どうぞよろしくお願いします。

    • kojimaさん

      スクリプトを書き換えました。
      私のMacBookProで動作を確認しましたので、大丈夫かと思います。

      試していただけませんか。

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

コメントを残す