python dicom图像分割_处理医疗影像的Python利器:PyDicom

Pydicom是一个用于处理DICOM格式医疗影像的Python库,支持读取、修改和写入DICOM文件。本文介绍了如何使用Pydicom读取CT图像,进行图像预处理,包括切片排序、单位转换、像素值归一化和肺部切割。通过实例展示了从数据读取到3D图像显示的完整流程。
摘要由CSDN通过智能技术生成

Pydicom是一个用于处理DICOM格式文件的Python包,可以处理包括如医学图像(CT等)、报告等。

Pydicom支持DICOM格式的读取:可以将dicom文件读入python结构,同时支持修改后的数据集可以再次写入DICOM格式文件。但需要注意,它不是被设计为查看图像,主要是用来操作DICOM文件的各种数据元素。

PyDicom的安装

支持PIP和Conda安装,因此非常方便。以Anaconda安装为例:

conda install pydicom --channel conda-forge

读取Dicom文件

导入PyDicom包

import pydicom

读取一个dicom文件并显示

ds = pydicom.dcmread(file)

plt.figure(figsize=(10, 10))

plt.imshow(ds.pixel_array, cmap=plt.cm.bone)

plt.show()

一个完整的CT图像预处理的例子

对于CT图像,通常以患者的一次拍摄为一个文件夹,文件夹下有一序列的dicom文件,每个文件称为一个切片(slice)。但是每个患者的情况不同,所以slice间的间距不同,并且可能slice的排序也不同,因此需要在训练数据前做预处理。

这里参考Kaggle中的处理肺部照片的一个Kernel,对使用PyDicom处理CT图像做一个介绍参考评论里的反馈,这里将Kernel的Link以卡片形式放出:Full Preprocessing Tutorial | Kaggle​www.kaggle.com

1、导入libraries,将所有患者的目录列出来:

%matplotlib inline

import numpy as np # linear algebra

import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

import dicom

import os

import scipy.ndimage

import matplotlib.pyplot as plt

from skimage import measure, morphology

from mpl_toolkits.mplot3d.art3d import Poly3DCollection

# 包含所有患者目录的根目录

INPUT_FOLDER = '../input/sample_images/'

patients = os.listdir(INPUT_FOLDER)

patients.sort()

2、扫描一个患者的目录,加载所有的切片,按切换的z方向排序切片,并获取切片厚度

def load_scan(path):

slices = [dicom.read_file(path + '/' + s) for s in os.listdir(path)]

slices.sort(key = lambda x: float(x.ImagePositionPatient[2]))

try:

slice_thickness = np.abs(slices[0].ImagePositionPatient[2] - slices[1].ImagePositionPatient[2])

except:

slice_thickness = np.abs(slices[0].SliceLocation - slices[1].SliceLocation)

for s in slices:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值