Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

新しい DICOM 系列の作成

この例では、変更された DICOM イメージに新しい DICOM 系列を作成する方法を説明します。

DICOM 標準では、イメージを系列にまとめることができます。既定の設定では、メタデータを含むイメージを DICOM ファイルに書き込む場合、dicomwrite はイメージを同じ系列に入れます。通常、新しい DICOM 系列を開始するのは、なんらかの方法でイメージを変更した場合のみです。変更されたイメージを新しい系列の始まりとするには、DICOM の新しい一意の識別子を SeriesInstanceUID メタデータ フィールドに割り当てます。

イメージを DICOM ファイルからワークスペースに読み取ります。

I = dicomread('CT-MONO2-16-ankle.dcm');

イメージを表示します。DICOM イメージ データは、符号付き 16 ビット データであるため、最小ピクセル値が黒、最大ピクセル値が白になるように表示範囲を自動的にスケーリングします。

imshow(I,'DisplayRange',[])

Figure contains an axes object. The axes object contains an object of type image.

DICOM ファイルからメタデータを読み取ります。

info = dicominfo('CT-MONO2-16-ankle.dcm');

イメージが属する系列を識別するには、SeriesInstanceUID メタデータ フィールドの値を表示します。

info.SeriesInstanceUID
ans = 
'1.2.840.113619.2.1.2411.1031152382.365.736169244'

この例では、イメージからテキストのすべてを削除することでイメージを変更します。イメージ内のテキストは白で表示されます。イメージ内のすべてのピクセルの最大値を求めます。これは白いテキストに対応しています。

textValue = max(I(:));

イメージの背景は黒で表示されます。イメージ内のすべてのピクセルの最小値を求めます。これは背景に対応しています。

backgroundValue = min(I(:));

テキストを削除するために、最大値をもつすべてのピクセルを最小値に設定します。

Imodified = I;
Imodified(Imodified == textValue) = backgroundValue;

処理されたイメージを表示します。

imshow(Imodified,'DisplayRange',[])

Figure contains an axes object. The axes object contains an object of type image.

変更されたイメージを新しい系列として書き込むには、新しい一意の DICOM 識別子 (UID) が必要になります。関数 dicomuid を使用して、新しい UID を生成します。dicomuid は、一意の UID を生成することが保証されます。

uid = dicomuid
uid = 
'1.3.6.1.4.1.9590.100.1.2.379571992519200604429024452210434651335'

元の DICOM ファイルに関連するメタデータ内の SeriesInstanceUID フィールドの値を生成値に設定します。

info.SeriesInstanceUID = uid;

変更されたイメージを新しい DICOM ファイルに書き込み、変更されたメタデータ構造体 info を引数として指定します。SeriesInstanceUID 値が設定されているため、書き込まれたイメージは新しい系列の一部になります。

dicomwrite(Imodified,'ankle_newseries.dcm',info);

この操作を確認するには、新しいファイルのイメージと SeriesInstanceUID メタデータ フィールドを表示します。

参考

アプリ

関数

関連するトピック