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

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

参考:

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

dicom格式:

bash 复制代码
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加载查看

安装软件:

bash 复制代码
 pip install pydicom 
 ##图像压缩工具
pip install gdcm
pip install pylibjpeg pylibjpeg-libjpeg pylibjpeg-openjpeg
bash 复制代码
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

bash 复制代码
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查看

bash 复制代码
pip install mayavi  configobj
bash 复制代码
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_array
    img3d[:,:,i] = img2d

# 使用mayavi显示3D图像
mlab.contour3d(img3d, contours=10, transparent=True)
mlab.show()
相关推荐
XR-AI-JK1 天前
Unity VR/MR开发-VR设备与适用场景分析
unity·vr·mr
画中影5 天前
AR/MR实时光照阴影开发教程
unity·ar·mr·实时光照阴影·光影变换·pico4 ultra
Blossom.11820 天前
从虚拟现实到混合现实:沉浸式体验的未来之路
人工智能·目标检测·机器学习·计算机视觉·语音识别·vr·mr
Mysticbinary1 个月前
透明证书机制——安全审计
ct·证书透明方案
画中影1 个月前
PICO4 Ultra MR开发 空间网格扫描 模型导出及预览
unity·教程·mr·模型保存·pico4ultra·空间网格
matlabgoodboy2 个月前
生信分析服务MR孟德尔随机化单细胞测序转录组数据分析网络药理学
数据挖掘·数据分析·mr
atwdy2 个月前
【hadoop】hadoop streaming
大数据·hadoop·mr·streaming
Unity大海2 个月前
诠视科技MR眼镜如何使用VLC 进行RTSP投屏到电脑
科技·mr
Unity大海2 个月前
诠视科技MR眼镜如何安装apk应用
科技·mr
YY-nb3 个月前
基于 Quest 摄像头数据开发的原理介绍【Unity Meta Quest MR 开发教程】
unity·游戏引擎·mr