python dicom 器官分割_图像识别 | 使用Python对医学Dicom文件的预处理(含代码)

前沿

在处理医学图像时,常常会遇到以Dicom格式保存的医学图像,如CT、MRI等。Dicom文件是需要专门的软件或者通过编程,应用相应的库进行处理。为了能够更好地服务下游任务,例如分割或检测腹腔CT图像中某个病灶组织,需要先将Dicom图像进行读取,脱敏,调窗等步骤,以便于后续的编辑。本文使用python对医学Dicom文件进行相应的处理,相比于封装好的软件,笔者认为自己动手的可操作性更强。

目录

1 导入相应的包

2 读取Dicom图像数据

3 设置CT图像的窗宽和窗位

4 获取Dicom图像的tag信息

5 结果保存及可视化

导入相应的包

# load necessary packages

import matplotlib.pyplot as plt

import pydicom.uid

import sys

from PyQt5 import QtGui

import os

import pydicom

import glob

from PIL import *

import matplotlib.pyplot as plt

from pylab import *

from tkinter.filedialog import *

import PIL.Image as Image

其核心是使用了python中的pydicom库来处理dicom文件。

读取Dicom图像数据

have_numpy = True

try:

import numpy

except ImportError:

have_numpy = False

raise

sys_is_little_endian = (sys.byteorder == 'little')

NumpySupportedTransferSyntaxes = [

pydicom.uid.ExplicitVRLittleEndian,

pydicom.uid.ImplicitVRLittleEndian,

pydicom.uid.DeflatedExplicitVRLittleEndian,

pydicom.uid.ExplicitVRBigEndian,

]

# 支持"传输"语法

def supports_transfer_syntax(dicom_dataset):

return (dicom_dataset.file_meta.TransferSyntaxUID in

NumpySupportedTransferSyntaxes)

def needs_to_convert_to_RGB(dicom_dataset):

return False

def should_change_PhotometricInterpretation_to_RGB(dicom_dataset):

return False

# 加载 Dicom图像

def get_pixeldata(dicom_dataset):

"""If NumPy is available, return an ndarray of the Pixel Data.

Raises

------

TypeError

If there is no Pixel Data or not a supported data type.

ImportError

If NumPy isn't found

NotImplementedError

if the transfer syntax is not

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值