私はpicicomを使ってdicomファイル(患者名)を読むことができますが、私のすべてのdicomファイルはi34、i67などの名前です(特定の順序やシーケンスはありません)。 私の問題:私はtxtファイルの患者名のリストを持っています。私はこのtxtファイルのすべての患者名をdicomファイルで検索したいのですが、dicomファイルのPatientNameを探しています。ファイルには、患者の情報の数を持っているそのうちの一つは、PatientNameある)Interate dicomファイル
Exemple:
txtファイル: ジョン ジョージ リンゴ ポール
DICOMファイル: I54 i98 i6 4 i12
私が欲しいもの: ジョンを取って、PatientNameの一致についてi54、i98、i64、i12を検索します。また、txtファイルのすべての名前に対して実行します。私は自分自身を明確にしたいと思っています。あらかじめThks!
EDITは、私はこのコードが、didntの仕事
import dicom
import os
dir = "/path/to/dir_where_dicom_file_are"
txt = open('/path/to/txt_with_patientsnames.txt','r')
for line in txt:
for sub, dirs, files in os.walk(dir):
names = line.strip()
for dcm in files:
ds = dicom.read_file(dir+dcm) #necessary for read dicom files
patient = ds.PatientName
if names in patient:
#do something
私は20枚のDICOM画像のサンプルを取り、20名のサンプルを試してみてください。このサンプルの1つのdicomファイルしか1つの患者名に属していないので、私の出力は1つだけ一致するはずです。しかし、私はこのうち20試合の結果を得ています。どうしましたか?