当前位置: 首页 > news >正文

DICOM CT\MR片子免费在线查看工具;python pydicom包加载查看;mayavi 3d查看

DICOM CT\MR片子免费在线查看工具

参考:
https://zhuanlan.zhihu.com/p/668804209

dicom格式:

DICOM(Digital Imaging and Communications in Medicine)是医学数字成像和通信的标准。它定义了医学图像(如CT、MRI、X光等)的格式以及如何在不同的医疗设备之间传输这些图像。DICOM标准由美国放射学院(ACR)和国家电气制造商协会(NEMA)共同开发,旨在促进医学图像的互操作性和数据交换。DICOM的主要特点
图像格式:DICOM定义了一种标准的图像文件格式,包含了图像数据以及相关的元数据(如患者信息、扫描参数等)。通信协议:DICOM标准还包括了用于在医疗设备之间传输图像和相关数据的通信协议。互操作性:DICOM确保了不同制造商的医疗设备能够相互通信和交换数据,从而提高了医疗图像的可用性和可访问性。安全性:DICOM标准也考虑了数据的安全性,包括用户认证、数据加密和完整性检查等。

在这里插入图片描述

片子下载的zip压缩包里面文件大概格式:
在这里插入图片描述

1)imaios

https://www.imaios.com/cn/imaios-dicom-viewer
在这里插入图片描述

2)小赛看看

https://xiaosaiviewer.com/
在这里插入图片描述

python pydicom加载查看

安装软件:

pip install pydicom ##图像压缩工具
pip install gdcm
pip install pylibjpeg pylibjpeg-libjpeg pylibjpeg-openjpeg
import pydicom
import matplotlib.pyplot as plt
import numpy as np# 加载DICOM文件
dcm_file = pydicom.dcmread(r"C:\Users\loong\Downloads\***593708.311059.dcm")# 获取像素数据
pixel_array = dcm_file.pixel_array# 显示图像
plt.imshow(pixel_array, cmap=plt.cm.bone)
plt.axis('off')
plt.show()# 打印一些DICOM标签信息
print(f"Patient's Name: {dcm_file.PatientName}")
print(f"Modality: {dcm_file.Modality}")
print(f"Study Date: {dcm_file.StudyDate}")

在这里插入图片描述

其他方法:
SimpleITK

import SimpleITK as sitk
import matplotlib.pyplot as plt# 读取DICOM文件
reader = sitk.ImageSeriesReader()
dicom_names = reader.GetGDCMSeriesFileNames("path/to/dicom/directory")
reader.SetFileNames(dicom_names)
image = reader.Execute()# 转换为numpy数组
array = sitk.GetArrayFromImage(image)# 显示中间切片
middle_slice = array[array.shape[0]//2]
plt.imshow(middle_slice, cmap='gray')
plt.axis('off')
plt.show()

mayavi 3d查看

pip install mayavi  configobj
import pydicom
import numpy as np
from mayavi import mlab
import os# 读取DICOM系列
dicom_folder = r"C:\Users\loong\Downloads\unknown"
slices = [pydicom.dcmread(os.path.join(dicom_folder, s)) for s in os.listdir(dicom_folder)]
slices.sort(key = lambda x: float(x.ImagePositionPatient[2]))# 创建3D numpy数组
img_shape = list(slices[0].pixel_array.shape)
img_shape.append(len(slices))
img3d = np.zeros(img_shape)for i, s in enumerate(slices):img2d = s.pixel_arrayimg3d[:,:,i] = img2d# 使用mayavi显示3D图像
mlab.contour3d(img3d, contours=10, transparent=True)
mlab.show()

在这里插入图片描述

http://www.lryc.cn/news/403040.html

相关文章:

  • VSCode远程连接Ubuntu/Linux
  • 【Nginx80端口被占用】80端口被System占用如何解决【已解决】
  • 云计算的发展历程与边缘计算
  • 199.二叉树的右视图(DFS)
  • 机器学习基础入门(1)
  • mybatis的xml中,where标签不自动删除多余的and之类的问题
  • RK3588 编译opencvopencv_contrib记录
  • Eureka: 微服务架构中的服务发现与注册实践
  • 8、添加第三方包
  • 【算法】算法模板
  • 特征工程方法总结
  • Unity | AssetBundle
  • 【虚幻引擎】C++网络通信TCP和HTTP实战开发全流程,以接入科大讯飞星火大模型和文心一言千帆大模型为案例讲解
  • .NET单元测试使用AutoFixture按需填充的方法总结
  • 求职学习day5
  • 微服务常用的中间件有哪些?都有什么用途?
  • 华为云认证
  • 【Linux学习】常用基本指令
  • windows上安装Apache
  • wps office 2019 Pro Plus 集成序列号Vba安装版教程
  • 院内影像一体化平台PACS源码,C#语言的PACS/RIS系统,二级医院应用案例
  • 基于java的设计模式学习
  • 组合数学+费用背包+刷表,G2 - Playlist for Polycarp (hard version)
  • 阿尔泰科技利用485模块搭建自动灌溉系统实现远程控制
  • Python正则表达式中的分组
  • openstack设置IP直接登录,不需要加dashboard后缀
  • PHP宠物店萌宠小程序系统源码
  • nginx负载均衡实例
  • 正则表达式在Python中的高级应用:从HTML中提取数据
  • docker compose 部署交互模式的容器-以Ubuntu为例