Main Content

niftiwrite

NIfTI フォーマットを使用したファイルへのボリュームの書き込み

説明

niftiwrite(V,filename) は、Neuroimaging Informatics Technology Initiative(NIfTI) 形式を使用して、ボリューム イメージ データ V をファイルに書き込みます。既定では、niftiwrite は、NIfTI1 形式を使用して、メタデータとボリューム データの両方を含む混合 NIfTI ファイルを作成します。niftiwrite はファイルに filename で名前を付け、.nii ファイル拡張子を追加します。niftiwrite は、適切な既定値とサイズやデータ型などのボリューム プロパティを使用してメタデータを設定します。

niftiwrite(V,filename,info) は、info からのファイル メタデータも含みます。メタデータがイメージのコンテンツおよびサイズと一致しない場合、niftiwrite はエラーを返します。

niftiwrite(V,filename,info,Name,Value) は、1 つ以上の名前と値の引数を使用して追加のオプションを指定します。たとえば、niftiwrite(v,filename,"Version","NIfTI2") は、v 内のデータを NIfTI2 ファイル形式でファイルに書き込みます。

すべて折りたたむ

NIfTI ファイルからイメージ ボリュームを読み取ります。

V = niftiread("brain.nii");

3 行 3 列のメディアン フィルターを使用して 3 次元でイメージをフィルター処理します。

V = medfilt3(V);

既定のヘッダー値を使用して、フィルター処理されたイメージを NIfTI ファイルに書き込みます。

niftiwrite(V,"outbrain.nii");

.nii ファイル名を使用して NIfTI ファイルからメタデータを読み取ります。

info = niftiinfo('brain.nii');

ファイルのメタデータを使用してボリューム データをファイルから読み取ります。

V = niftiread(info);

ファイルの Description メタデータ フィールドを編集します。

info.Description = 'Modified using MATLAB R2017b';

変更されたメタデータとともにボリューム データを新しい .nii ファイルに書き込みます。

niftiwrite(V,'outbrain.nii',info);

この例では、ボリューム データを NIfTI 圧縮ファイルに書き込む 2 つの方法を説明します。

NIfTI ファイルからボリュームを読み取ります。

V = niftiread("brain.nii");

拡張子が .nii.gz であるファイル名を指定して、ボリュームを NIfTI 圧縮ファイルに書き込みます。

niftiwrite(V,"outbrain.nii.gz")

または、名前と値の引数 Compressedtrue として指定することで圧縮ファイルに書き込むことができます。

niftiwrite(V,"outbrain","Compressed",true)

入力引数

すべて折りたたむ

NIfTI ファイルの名前。string スカラーまたは文字ベクトルとして指定します。既定では、niftiwrite は、メタデータとイメージ データの両方を含み、ファイル拡張子が .nii である結合ファイルを作成します。

  • 拡張子が .nii.gz であるファイル名を指定した場合、または名前と値の引数 Compressedtrue として指定した場合、niftiwrite は、拡張子が .nii.gz である圧縮ファイルに書き込みます。

  • 名前と値の引数 Combinedfalse として設定した場合、niftiwrite は、ファイル名が同じで拡張子が異なる 2 つのファイルを作成します。一方のファイルには、ボリュームに関連付けられたメタデータが含まれ、ファイル拡張子は .hdr です。他方のファイルには、イメージ データが含まれ、ファイル拡張子は .img です。

データ型: char | string

ボリューム データ。数値配列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

ファイルのメタデータ。関数 niftiinfo によって返される構造体として指定します。

データ型: struct

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: niftiwrite(V,"outbrain.nii","Compressed",true)

作成する NIfTI ファイルのタイプ。true または false として指定します。この値が true である場合、niftiwrite はファイル拡張子が .nii である単一のファイルを作成します。false の場合、niftiwrite は、名前が同じでファイル拡張子が異なる 2 つのファイル (メタデータを含む .hdr ファイルと、ボリューム データを含む .img ファイル) を作成します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

イメージ データの圧縮。true または false として指定します。Compressedtrue の場合、niftiwrite は gzip を使用してファイル拡張子が .nii.gz である圧縮ファイルを生成します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

データのエンディアン。次のいずれかの値として指定します。

  • "little" はリトルエンディアン形式を指定します。

  • "big" はビッグエンディアン形式を指定します。

データ型: char | string

NIfTI のデータ形式。以下のいずれかの値として指定します。

  • "NIfTI1" の場合、NIfTI1 形式を使用してファイルを書き込みます。

  • "NIfTI2" の場合、NIfTI2 形式を使用してファイルを書き込みます。

  • Version を指定しない場合、既定値は入力ボリューム データの最大次元によって決定されます。

    • 入力の最大次元が 32767 以下の場合、既定値は NIfTI1 です。

    • 入力の最大次元が 32767 より大きい場合、既定値は NIfTI2 です。

データ型: char | string

参照

[1] Cox, R. W., J. Ashburner, H. Breman, K. Fissell, C. Haselgrove, C. J. Holmes, J. L. Lancaster, D. E. Rex, S. M. Smith, J. B. Woodward, and S. C. Strother. "A (sort of) new image data format standard: NiFTI-1." 10th Annual Meeting of Organisation of Human Brain Mapping, Budapest, Hungary, June 2004.

バージョン履歴

R2017b で導入

すべて展開する

参考

| | (Medical Imaging Toolbox)