【FreeSurfer】mri_convertを用いた脳画像formatの変換法

FreeSurfer

脳画像formatの変換で一番利用されているのはDICOMからNIfTIの変換であり、dcm2niixがよく用いられている印象です。今回、MRIcloudを利用するにあたって、NIfTIからANALYZE formatへの変換が必要となったため、FreeSurferのmri_convertコマンドを利用しました。ANALYZE formatへの変換に限らず、CUIで簡単に作業を行うことができため、方法について記載します。

ANALYZE formatについて

ANALYZE formatはMayo Clinicで開発されたファイル形式です。ヘッダーファイル(.hdr)とイメージファイル(.img)のペアで構成されています。近年はNIfTI formatの方が採用されていますが、ANALYZE formatでしか読み込めないケースもあります。

ANALYZE formatへの変換はMATLABやPythonを利用する方法もありますが、dcm2niiを利用する方法が最も簡便だと考えていました。しかし、後継であるdcm2niixに開発が移行しており公式サイトにも以下のように記載があります。

Important note: dcm2nii is obsolete. While I hope it is generally robust and useful, active development has moved to dcm2niix. In general, dcm2niix is typically better suited for modern DICOM images. On the other hand, dcm2nii is useful for archival studies with legacy proprietary format that predated DICOM. This software is provided under the BSD 2-Clause license.

https://people.cas.sc.edu/rorden/mricron/dcm2nii.html

しかし、dcm2niixではNIfTI→ANALYZEの変換はできません。また、MacOS Catalina以降では下記のようにセキュリティに引っかかって起動できません。MRIcroGL/dcm2niixのインストールについては該当ページをご参照ください。

mri_convertコマンド

コマンドは公式サイト:mri_convertを参考にしています。mgz → NIfTIなどの1:1での変換では下記のコマンドで変換が可能です。

mri_convert 【入力するファイル】 【出力するファイル】 

例:mgz format を NIfTI format(test001.mgzをtest001.nii)に変換する。

mri_convert test001.mgz test001.nii

この場合 Current directryに変換後のファイルが出力されます。一方、多対一での変換の際は、変換のファイル形式を指定した上で、PATHを指定して変換しています。

mri_convert --in_type 【入力するフォーマット】 --out_type 【出力するフォーマット】  【入力するファイルのPATH】 【出力するファイルのPATH】

特にANALYZE formatを変換する際は、ANALYZE format自体に左右の指定がないため –out_orientationで設定を行います。入出力のフォーマットの指定はサイトの”Specifying the Input and Output File Types”を参照してください。

mri_convert --in_type 【入力するフォーマット】 --out_type 【出力するフォーマット】  --out_orientation 【出力する画像の方向】 【入力するファイルのPATH】 【出力するファイルのPATH】

dcm2niiでANALYZE formatへの変換を行った場合、左右反転の問題が起きることがありましたが、–out_orientationで方向を指定することで、NIfTIと同方向のファイルを作成することが可能です。

例:NIfTI formatをANALYZE format (test001.niiをtest001.img, test001.hdr, test001.mat)に変換する。

mri_convert --in_type nii --out_type analyze --out_orientation RAS /Users/hal0328/freesurfer/TestSubject/test001.nii /Users/hal0328/freesurfer/TestSubject/test001_analyze/test001.img

ここで用いている–out_orientationは3文字の文字列で規定されます。文字列の1番目は列を増やす方向、2番目は行を増やす方向、3番目はスライスを増やす方向です。文字列に使用できる文字はR, L, P, A, I, Sで、Right or Left, Posterior or Anterior, Inferior or Superiorの組み合わせで指定できます。NIfTIの撮像方向に合わせ、出力先のANALYZE formatで上下左右の反転が起きないよう指定してください。 出力ファイルのPATHには .img のみを指定していますが、 .hdrと .mat も同時に出力されます。

–out_orientationRASLASにしてANALYZE formatを出力し、MRIcroGLで確認するとNIfTI→ANALYZEでLASでは左右が反転してしまっているのがわかります。前後方向や頭尾方向は一致しています。

*test001.nii (NIfTI format)をMRIcroGLで表示。

*test001RAS.imgとtest001LAS.img (ANALYZE format)をMRIcroGLで表示。

解説は以上です。スクリプトを書けば、複数ファイルの変換を一括で行うことも可能です。

コメント

タイトルとURLをコピーしました