Main Content

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

DICOM ファイルからの機密情報の削除

この例では、DICOM ファイルを匿名化する方法を説明します。

トレーニング セット、盲検試験またはプレゼンテーションの一部として DICOM ファイルを使用する場合など、部外秘の患者情報の削除が必要な場合があります。このプロセスをファイルの "匿名化" と呼びます。これを行うには、関数 dicomanon を使用します。

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

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

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

imshow(I,'DisplayRange',[])

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

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

info = dicominfo(dicomFile);

この例の DICOM ファイルは、患者のプライバシー保護のため既に匿名化されています。情報量の多いテスト用 DICOM ファイルを作成するには、Person Name (PN) 値表現を使用して擬似的な値を PatientName に設定します。

info.PatientName = 'Doe^John';

変更されたメタデータとともにイメージを新しい DICOM ファイルに書き込みます。

dicomFileNotAnon = 'ankle_notAnon.dcm';
dicomwrite(I,dicomFileNotAnon,info);

非匿名 DICOM ファイルからメタデータを読み取ってから、新しいファイルの患者名が非匿名になっていることを確認します。

infoNotAnon = dicominfo(dicomFileNotAnon);
infoNotAnon.PatientName
ans = struct with fields:
    FamilyName: 'Doe'
     GivenName: 'John'

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

infoNotAnon.SeriesInstanceUID
ans = 
'1.2.840.113619.2.1.2411.1031152382.365.736169244'

関数 dicomanon を使用して、ファイルを匿名化します。この関数は、新しい試験値で新しい系列を作成し、メタデータの一部を変更してから、新しいファイルにイメージを書き込みます。

dicomFileAnon = 'ankle_anon.dcm'
dicomFileAnon = 
'ankle_anon.dcm'
dicomanon(dicomFileNotAnon,dicomFileAnon);

匿名化済みの DICOM ファイルからメタデータを読み取ります。

infoAnon = dicominfo(dicomFileAnon);

患者名情報が削除されていることを確認します。

infoAnon.PatientName
ans = struct with fields:
    FamilyName: ''
     GivenName: ''
    MiddleName: ''
    NamePrefix: ''
    NameSuffix: ''

SeriesInstanceUID フィールドの値を表示して、匿名イメージが新しい試験に属していることを確認します。

infoAnon.SeriesInstanceUID
ans = 
'1.3.6.1.4.1.9590.100.1.2.404834751942343433726926503290582442366'

参考

アプリ

関数

関連するトピック