このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
新しい DICOM 系列の作成
この例では、変更された DICOM イメージに新しい DICOM 系列を作成する方法を説明します。
DICOM 標準では、イメージを系列にまとめることができます。既定の設定では、メタデータを含むイメージを DICOM ファイルに書き込む場合、dicomwrite
はイメージを同じ系列に入れます。通常、新しい DICOM 系列を開始するのは、なんらかの方法でイメージを変更した場合のみです。変更されたイメージを新しい系列の始まりとするには、DICOM の新しい一意の識別子を SeriesInstanceUID
メタデータ フィールドに割り当てます。
イメージを DICOM ファイルからワークスペースに読み取ります。
I = dicomread('CT-MONO2-16-ankle.dcm');
イメージを表示します。DICOM イメージ データは、符号付き 16 ビット データであるため、最小ピクセル値が黒、最大ピクセル値が白になるように表示範囲を自動的にスケーリングします。
imshow(I,'DisplayRange',[])
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',[])
変更されたイメージを新しい系列として書き込むには、新しい一意の 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
メタデータ フィールドを表示します。
参考
アプリ
関数
dicominfo
|dicomread
|dicomwrite
|dicomuid
|dicomanon