我需要提取某些dicom图像的每个患者的出生日期(DOB)。解决这个问题的原因是,我只会更改那些dicom图像中患者的月份和日期,以维护患者的隐私,而不是年份。我知道如何使用dcmtk更改DOB,但因为我不会更改完整的日期,因为我需要保持年份完整,所以我首先需要提取DOB并从中获取年份然后以这样的方式进行更改将保持与以前相同的年份。但是我不知道什么是dcmtk命令来从dicom图像中获取患者DOB。你知道它是哪个命令吗?
答案 0 :(得分:2)
您可以将dcmtk的dcmdump与文件一起使用以获取文件信息的输出:
dcmdump file.dcm
产生:
# Dicom-File-Format
# Dicom-Meta-Information-Header
# Used TransferSyntax: Little Endian Explicit
(0002,0000) UL 202 # 4, 1 FileMetaInformationGroupLength
(0002,0001) OB 01\00 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =CTImageStorage # 26, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.2.392.200036.9116.2.6.1.48.1211393765.1205425184.928242] # 58, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =LittleEndianImplicit # 18, 1 TransferSyntaxUID
(0002,0012) UI [1.2.804.114118.3] # 16, 1 ImplementationClassUID
(0002,0013) SH [eFilm] # 6, 1 ImplementationVersionName
(0002,0016) AE (no value available) # 16, 0 SourceApplicationEntityTitle
你可以通过grep获得正确的标签:
dcmdump file.dcm | grep "(0010,0030)"
只输出一行:
(0010,0030) DA [19330813] # 8, 1 PatientBirthDate
我认为你可以弄清楚这里要做什么......但是你可能希望在此时将此输出传递给sed或awk。
答案 1 :(得分:2)
正如之前发表的评论所说:
dcmdump.exe +P "0010,0030" file.dcm