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]の方法でも可能です。

dcm2niiを用いてDICOM形式をNIFTI形式へ変換する方法” へのコメント

  1. 根本先生

    ご返信ありがとうございます。
    treeでディレクトリ構造を吐き出しました。
    fMRIファイルの入れた親ディレクトリからの構造は以下のようになっております。

    フォルダー パスの一覧: ボリューム Local Disk
    ボリューム シリアル番号は 8861-420C です
    C:.
    ├─SE1
    ├─SE10
    ├─SE11
    ├─SE12
    ├─SE13
    ├─SE14
    ├─SE15
    ├─SE16
    ├─SE2
    ├─SE3
    ├─SE4
    ├─SE5
    ├─SE6
    ├─SE7
    ├─SE8
    └─SE9

    このSEファイルがシリーズファイルとなっておりまして、ご指摘の通り、その一つ一つに例えば海馬がみえるスライスのであればそのfMRI画像が160から240ファイルずつ入っております。

    • 阿部先生

      ありがとうございます。
      その中に160-240と異なるファイルがあるのですか?
      全部が同じではないのでしょうか?

      よかったら、たとえば
      SE1 と SE10 の中がどうなっているか同様に tree の結果を出してもらうことはできますでしょうか?

      • 根本先生

        返信が遅れ申し訳ありません。
        SE1-16の中に160から240個のDICOMファイルが入っており、一つのファイルはある時間での一スライス面のMRI画像となります。

        SEフォルダの中にはサブフォルダはありません。
        ですので、cmd cd treeで吐き出した結果は以下の通りとなっております。

        C:\Users\***\MRI\F_BEFORE\SE1>tree
        フォルダー パスの一覧: ボリューム Local Disk
        ボリューム シリアル番号は 8861-420C です
        C:.
        サブフォルダーは存在しません

        C:\Users\***\MRI\F_BEFORE\SE10>tree
        フォルダー パスの一覧: ボリューム Local Disk
        ボリューム シリアル番号は 8861-420C です
        C:.
        サブフォルダーは存在しません

        • 阿部先生

          失礼しました。Windowsのtreeは、ディレクトリしか表示しないんですね…。

          なぜ160個から240個のDICOMファイルと数が一致しないのでしょうか?
          これが気になるのですが。

          • 根本先生

            わかりにくくて、申し訳ありません。
            SEフォルダ一つあたり、2つのシリーズ(スライス面)が入っておりまして、1シリーズ80枚で撮像しております。つまり、SE1~15には2つのシリーズ(160ファイル)、SE16のみ3つのシリーズ(240ファイル)を入れているとのことでした。

          • 阿部先生

            わかりました。

            いくつか確認させてください。

            • dcm2niiだと、1つのサブフォルダに2つずつniiファイルができて、そして、SE16のみ3つのniiファイルができるというイメージでよいでしょうか?
            • 15*2+16*3=78のniiファイルができるという認識でよいでしょうか?
            • SE1には脳底部の2スライスで、SE16は頭頂部の3スライス分がおさまっている感じでしょうか?
            • SE1のものをniftiに変換した時のniftiのファイル名を教えていただけますか?
            • そして、SE16のものをniftiに変換した時のniftiのファイル名を教えていただけますか?
          • 根本先生

            作成したものを見てみると少し異なっておりました。
            大変申し訳ございません。

            >> dcm2niiだと、1つのサブフォルダに2つずつniiファイルができて、そして、SE16のみ3つのniiファイルができるというイメージでよいか?
            1つのサブフォルダあたりには一つのniiファイルができます。しかし、niiファイルに含まれているvolumeが異なり、SE1は1 volume、SE2-15までは2volume、SE16のみ3 volumeとなっておりました。

            >> 15*2+16*3=78のniiファイルができるか?
            niiファイルは全部で16ファイル作成されました。

            >> SE1には脳底部の2スライスで、SE16は頭頂部の3スライス分がおさまっている感じか?
            SE1には脳底部の1スライス、SE2-15はそこから頭側へ2スライスずつ、SE16には頭頂部の3スライスが入っておりました。

            >> SE1のものをniftiに変換した時のniftiのファイル名ならびに、SE16のものをniftiに変換した時のniftiのファイル名。
            SE1: IMG1s100002a000
            SE2: IMG1s100003a000
            SE15: IMG1s100016a000
            SE16: IMG1s100017a000

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

          • 阿部先生

            光明がさしてきました。(^^)

            よくわかりました。

            Z軸方向に画像を積み重ねていったら、ひとつのMRIができるようなイメージになるかと思うのですがどうでしょうか?

            それならば、FSLを使って行うことができます。

            もし、Dropboxなどでniiファイルを共有していただけるようでしたら、こちらで一度試すことができます。

            と、これまでやりとりをしていて、今、ふと気づいてしまったのですが、

            MRIcroGL に搭載されているdcm2niixで変換してみたらいかがでしょうか?
            より多い変換に対応しているので、もしかしたら、あっさり行くかもしれません。
            Windows版もありますので試してみる価値があるのではないかと思いました。
            (既に試されているようでしたらすみません)

          • 根本先生

            返信が遅れまして申し訳ありません。
            dcm2niixでの変換をしましたが、やはりシリーズ毎のniiとなりました。
            FSLをやってみているところですが、難渋する場合は再度書き込みさせて頂きたく思います。どうぞよろしくお願いいたします。

          • 阿部先生

            dcm2niixでもダメでしたか…。
            了解しました。
            それならばFSLでいくしかないですね。

            今はZ方向にくっつけていく必要がありますので、

            fslmerge -z output.nii.gz file1 file2 file3 file4…

            としていただけたらと思います。
            file1, file2, … はおそらく脳底部から指定する必要があるかと思いますが、逆かもしれませんので試していただければ。

  2. いつもfMRI解析の際に参考にさせて頂いております。

    現在他所よりfMRIデータの解析を依頼され、DICOM→NIFTIのファイル変換を行っているところなのですが、普段自分がfMRI解析をする際のDICOMファイルと仕様が異なり、なかなか解決策が見つからず難渋していることから、アドバイスを頂きたく、書き込みさせて頂きます。

    受け取ったDICOMファイルは1ファイル1スライス(合計2400ファイル程度)から成っている点は良いのですが、シリーズが全体ではなく各スライス毎に分かれてしまっており、MRI converterやdcm2niiなどに入れると、各スライス240ボリュームを1つのシリーズとして、脳底部から頭頂部までの16スライス面に1つずつ対応する16個のniiファイルが作成されてしまっております(作成された1つのimageをみると延々と同じスライスでボクセルの信号変化がちらちらとみえるという形です)。

    普段は1シリーズで6700ファイル程度のDICOMファイルを1つのniiへ変換できているため、DICOMの出力の問題と考えているのですが、この問題を解消する方法などありますでしょうか。

    お忙しい中、申し訳ありませんが、ご教示くださいますと幸いです。
    どうぞ宜しくお願い致します。

    • 阿部先生

      (すみません、スパム扱いされてしまっていて、気づくのに時間がかかってしまいました)

      私も同様の経験があります。
      ひとつのディレクトリに全部まとめてみるのはいかがでしょうか?
      ひとつひとつのディレクトリに入っているファイル名に重複はありますか?

      • 根本先生

        お忙しい中、ご返信ありがとうございます。
        ファイル名がIMGなどの簡易的なものに変換され、重複があったため、重複しないように変更し、一つのフォルダに全ての画像データをまとめましたが、やはりシリーズは分かれたままでした。

        提供元のPCスペックの問題があり、1つのシリーズとして出力すると、フリーズしてしまうために、シリーズを分けたとのことです。
        この段階での解決策または、NIFTIファイル作成後にまとめるなどの手段はあるのでしょうか。
        質問ばかりで申し訳ありません。何卒よろしくお願い申し上げます。

        • 阿部先生

          先生はMacをお使いでしょうか?
          FSLには、fslmergeというコマンドがあります。

          これは、今回のようなケースにぴったりでして、
          nifti画像を結合することができます。

          今、手元にFSLの環境がないのですぐに示せませんが、

          fslmerge -h でヘルプが見れます。

          Windowsだとほかの方法を考える必要がありますね。

          根本清貴

          • 根本先生

            ご返信ありがとうございます。
            当方、WIndowsを使用しております。

            fslmergeについてご教示ありがとうございます。
            他人のMacを借りて、実施してみたいと思います。
            どうぞよろしくお願い致します。

          • 阿部先生

            根本です。
            Windowsなのですね。
            思いつきました。以下の方法はいかがでしょうか?

            dcm2niiguiでできます。

            1. まず、dcm2niigui で、それぞれの画像を、3D NIFTI として吐き出します。
            2. その後、dcm2niigui で、メニューから、File -> NIFTI 3D -> 4D を選び、3D画像をすべて選択します。

            そうしましたら、4D画像を得ることができると思います。

            いかがでしょうか。

          • 根本先生

            ご返信ありがとうございます。
            先生にご指示頂いた方法で実施しましたが、3D→4Dの段階で、「Stack 3D to 4D aborted, image dimensions/datatype vary C:\Users\***\IMG1s100003a000_01.nii C:\Users\***\IMG1s100002a000.nii」とエラーが吐き出されてしまいます。

            同一のシリーズ内では3D→4D変換はできました。
            シリーズが異なると変換できないようでした。

          • 阿部先生

            出張が続き返信が遅くなってしまってすみません。

            先生にご指示頂いた方法で実施しましたが、3D→4Dの段階で、「Stack 3D to 4D aborted, image dimensions/datatype vary C:\Users\***\IMG1s100003a000_01.nii C:\Users\***\IMG1s100002a000.nii」とエラーが吐き出されてしまいます。

            同一のシリーズ内では3D→4D変換はできました。
            シリーズが異なると変換できないようでした。

            改めて当初の質問を拝見すると、

            受け取ったDICOMファイルは1ファイル1スライス(合計2400ファイル程度)から成っている点は良いのですが、シリーズが全体ではなく各スライス毎に分かれてしまっており、MRI converterやdcm2niiなどに入れると、各スライス240ボリュームを1つのシリーズとして、脳底部から頭頂部までの16スライス面に1つずつ対応する16個のniiファイルが作成されてしまっております(作成された1つのimageをみると延々と同じスライスでボクセルの信号変化がちらちらとみえるという形です)。

            ここをきちんと理解していませんでした。
            たとえば、海馬が見えるスライスがあるとしたら、それだけがひとつのフォルダに入ってしまっているということですね。

            どのようなフォルダ構造になっているか示していただけませんでしょうか。

            Windowsでしたら、treeコマンドが使えますので、

            コマンドプロンプトを立ち上げていただき、該当するfMRIの親ディレクトリに移動していただき、

            tree > fmri_list.txt

            などとして、結果を fmri_list.txt にはきだし、その内容をコメントにコピーしていただけませんでしょうか?
            2400ファイルほどということで、長いラインにはなってしまうと思いますが、それでもかまいません。
            最低3スライス分の構造が見えたらありがたいです。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください