CT Dicom图像拼接 (python)

确保在执行此代码之前,已经安装了pydicomnumpy库。这段代码仅做为示例,实际使用时需要根据具体的DICOM图像进行适当的调整,例如检查图像尺寸是否匹配,处理图像之间的差异等。

import pydicom

import numpy as np

# 加载第一个DICOM文件

ds1 = pydicom.dcmread("image1.dcm")

img1 = ds1.pixel_array

# 加载第二个DICOM文件

ds2 = pydicom.dcmread("image2.dcm")

img2 = ds2.pixel_array

# 确保图像具有相同的像素深度

if img1.dtype == img2.dtype:

    # 在水平方向上拼接图像

    #img_horiz = np.hstack((img1, img2))

     # 在垂直方向上拼接图像

    img_horiz = np.vstack((img1, img2))

    # 创建一个新的Dataset并设置拼接后的图像数据

    ds_horiz = pydicom.Dataset(ds1)

    ds_horiz.PixelData = img_horiz.tobytes()

    ds_horiz.Rows = img_horiz.shape[0]

    ds_horiz.Columns = img_horiz.shape[1]

    # 保存拼接后的DICOM文件

    ds_horiz.is_little_endian = True

    ds_horiz.is_implicit_VR = True

    pydicom.dcmwrite("image_horiz.dcm", ds_horiz)

else:

    print("Error: Images have different pixel depths.")

    

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值