本文主要是介绍从rookie到基佬~015:Python dicom文件tag信息提取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一天一个变弯小技巧
今日份洗脑: Python dicom文件tag信息提取
结论:我怎么也想不到,用软件提取会出错…还得是Python编程保平安
说出来你可能不信,不同软件提取的tag不一样,而且还有对错一说
本人在某研究院,不想涉及泄密,所以仅分享方法,内容全部打码保平安
**
RadiAntViewer
**
之前一直用RadiAntViewer.exe 读数据,简单好用还有官方中文,美滋滋,直到遇到某特别任务,领导居然告诉我用这个提取的tag格式是错的…,必须要用mricron,百思不得其姐
mricron
mricron又丑又难用想必大家早有共识,
Python
为了保持好心情,最后写了个简单的Python小程序自动提取dcm文件tag信息,分享给大家
import pydicom as pd
import xlwt
import os
import pydicom
import os
import jsondef get_files():for filepath,dirnames,filenames in os.walk(r'D:地址'):# print(len(filenames))for dirname in dirnames:print(os.path.join(filepath,dirname))filename2=os.path.join(filepath,dirname)#print(filename2)qutag(filename2)def qutag(filename2):print(filename2)# dcm_file_List = list(filter(lambda x: x.find('xls') <= 0, filename2)) # 拿出文件中不含xsl的dcm文件file_list = os.listdir(filename2)dcm_file_List = list(filter(lambda x: x.find('xls') <= 0, file_list))print(dcm_file_List)file = dcm_file_List[1]print(file)fileN = os.path.join(filename2, file)print(fileN)dcm_file = pydicom.read_file(fileN)PatientID = dcm_file.PatientIDfilename = filename2 + '.txt'data = open(filename, 'w', encoding="utf-8")print(dcm_file, file=data) # 输出txt文档json_file = PatientID + '.json'print(json.dumps(dcm_file.to_json_dict(), indent=1), file=open(json_file, 'w')) # 输出json文档def main():get_files()if __name__ == '__main__':main()
如有错误,欢迎各位大侠莅临指正,顺颂 时祺。
这篇关于从rookie到基佬~015:Python dicom文件tag信息提取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!