このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
DICOM ファイルからの機密情報の削除
この例では、DICOM ファイルを匿名化する方法を説明します。
トレーニング セット、盲検試験またはプレゼンテーションの一部として DICOM ファイルを使用する場合など、部外秘の患者情報の削除が必要な場合があります。このプロセスをファイルの "匿名化" と呼びます。これを行うには、関数 dicomanon
を使用します。
イメージを DICOM ファイルからワークスペースに読み取ります。
dicomFile = 'CT-MONO2-16-ankle.dcm';
I = dicomread(dicomFile);
イメージを表示します。DICOM イメージ データは、符号付き 16 ビット データであるため、最小ピクセル値が黒、最大ピクセル値が白になるように表示範囲を自動的にスケーリングします。
imshow(I,'DisplayRange',[])
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'
参考
アプリ
関数
dicominfo
|dicomread
|dicomwrite
|dicomuid
|dicomanon