dcm转numpy

2023-11-08 02:18
文章标签 numpy dcm

本文主要是介绍dcm转numpy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

from glob import glob
import os
import pydicom
import matplotlib.pyplot as plt
import numpy as npdef extract_voxel_data(files_path_list): # 将很多dcm切片存成npz数组arrays = []for file_path in files_path_list:ds = pydicom.dcmread(file_path)array = ds.pixel_arrayarrays.append(array)# print(array.shape)# plt.title(os.path.basename(file_path))# plt.imshow(array,cmap='gray')# plt.show()arrayd = np.dstack(arrays)# 512,512,72 -> 72,512,512arrayd = np.transpose(arrayd,[2,0,1])print(arrayd.shape)return arraydif __name__ == '__main__':workdir = "D:\lung_blood_delInfo/243\HKMTEVPH/3EIKEE1O"file_names = os.listdir(workdir) # 很多DCM文件序列名# 删掉VERSIONfor file_name in file_names:if file_name == 'VERSION':file_names.remove('VERSION')file_names.sort(key=lambda x: int(x[-7:])) # 按文件顺序排序files_path_list = [os.path.join(workdir,file_name) for file_name in file_names]voxel_ndarry = extract_voxel_data(files_path_list)# for i in range(5):aimg = voxel_ndarry[0]print(aimg.shape)plt.axis('off')plt.imshow(aimg,cmap='gray')plt.savefig("a.jpg",bbox_inches='tight',pad_inches=0)

这篇关于dcm转numpy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/367354

相关文章

python科学计算:NumPy 线性代数与矩阵操作

1 NumPy 中的矩阵与数组 在 NumPy 中,矩阵实际上是一种特殊的二维数组,因此几乎所有数组的操作都可以应用到矩阵上。不过,矩阵运算与一般的数组运算存在一定的区别,尤其是在点积、乘法等操作中。 1.1 创建矩阵 矩阵可以通过 NumPy 的 array() 函数创建。矩阵的形状可以通过 shape 属性来访问。 import numpy as np# 创建一个 2x3 矩阵mat

探索Python的数学魔法:Numpy库的神秘力量

文章目录 探索Python的数学魔法:Numpy库的神秘力量背景:为什么选择Numpy?Numpy是什么?如何安装Numpy?五个简单的库函数使用方法场景应用常见Bug及解决方案总结 探索Python的数学魔法:Numpy库的神秘力量 背景:为什么选择Numpy? 在Python的世界中,数据处理和科学计算是不可或缺的一部分。但原生Python在处理大规模数据时可能会显

LTspice模拟CCM和DCM模式的BUCK电路实验及参数计算

关于BUCK电路的原理可以参考硬件工程师炼成之路写的《 手撕Buck!Buck公式推导过程》.实验内容是将12V~5V的Buck电路仿真,要求纹波电压小于15mv. CCM和DCM的区别: CCM:在一个开关周期内,电感电流从不会到0. DCM:在开关周期内,电感电流总会到0. CCM模式Buck电路仿真: 在用LTspice模拟CCM电路时,MOS管驱动信号频率为100Khz,负载为10R(可自

Numpy random.random()函数补充

np.random.random() np.random.random()的作用是生成指定形状的均匀分布的值为[0,1)的随机数 参数为size,也就是用于指定的形状大小 import numpy as npprint(np.random.random(size=(2, 2)))# [[0.19671797 0.85492315]# [0.99609539 0.66437246]]

解决RuntimeError: Numpy is not available

运行项目时,遇到RuntimeError: Numpy is not available 这是因为Numpy 版本太高,将现有Numpy卸载 pip uninstall numpy 安装numpy=1.26.4,解决此问题 pip install numpy=1.26.4 -i https://pypi.tuna.tsinghua.edu.cn/simple

6.科学计算模块Numpy(3)对ndarray数组的常用操作

引言 众所周知,numpy能作为python中最受欢迎的数据处理模块,脱离不了它最核心的部件——ndarray数组。那么,我们今天就来了解一下numpy中对ndarray的常用操作。 通过阅读本篇博客你可以: 1.掌握ndarray数组的切片和copy 2.学会如何改变ndarray的数组维度 3.掌握数组的拼接 一、ndarray数组的切片和copy 1.ndarray数组的切片

python科学计算:NumPy 简介与安装

1 NumPy 是什么? NumPy(Numerical Python 的简称)是 Python 语言中最为广泛使用的科学计算库。它支持多维数组和矩阵运算,并提供丰富的数学函数库,使得数据处理和数值计算变得更加高效。 NumPy 的核心是提供了一个强大的 ndarray 对象,这是一种用于存储同质数据的多维数组,能够快速执行数值运算。与 Python 原生的列表相比,NumPy 数组的计算速度

python科学计算:NumPy 基础操作

1 创建数组(ndarray) NumPy 的核心对象是 ndarray,它是一个多维数组,用于存储同质数据(即所有元素的类型相同)。我们可以通过多种方式创建数组,以下是一些常见的方法: 1.1 使用 array() 函数 array() 函数是创建 NumPy 数组的基本方法。可以通过传入一个 Python 列表或嵌套列表来创建数组。 import numpy as np# 创建一维数组

Numpy中type()、ndim、shape、size、dtype、astype的用法

目录 numpy基础介绍示例分析及总结:itemsize、nbytes函数 numpy基础介绍 Numpy 补充了Python语言所欠缺的数值计算能力,是其它数据分析及机器学习库的底层库。因其完全标准C语言实现,运行效率充分优化。最重要一点是开源免费。numpy的核心是矩阵(即多维数组)。 示例 import numpy as nparr =np.array([[1,2,3]

python random和numpy random

numpy是python的一个数值计算库,可是有许多语法和python不兼容。 比如python的random.randint(low,high)使用方法是返回[low,high]之间的整数,官方文档: random.randint(a, b) Return a random integer N such that a <= N <= b. 注意是两边都是闭区间,但在numpy中,rand