pytorch搭建卷积神经网络【第八课_tensor_医疗图像操作_2】


前言

案例代码https://github.com/2012Netsky/pytorch_cnn/blob/main/2_volumetric_ct.ipynb

一、tensor打印配置

#!/usr/bin/env python
# coding: utf-8

import numpy as np
import torch
torch.set_printoptions(edgeitems=2, threshold=50)
# precision是每一个元素的输出精度,默认是八位;
# threshold是输出时的阈值,当tensor中元素的个数大于该值时,进行缩略输出,默认时1000;
# edgeitems是输出的维度,默认是3;
# linewidth字面意思,每一行输出的长度;
# profile=None,修正默认设置(不太懂,感兴趣的可以试试)

在这里插入图片描述

二、读取dcm图像至numpy

# 读取文件夹下的dcm文件
# 读取三维图像体数据
import imageio

dir_path = "../data/p1ch4/volumetric-dicom/2-LUNG 3.0  B70f-04083"
# volread函数接收把目录作为参数 将所有医学数字成像和通信文件汇编为一个numpy的三维数组
vol_arr = imageio.volread(dir_path, 'DICOM')
vol_arr.shape

在这里插入图片描述

三、dcm(numpy)图像转tensor

#dcm数据转为tensor
vol = torch.from_numpy(vol_arr).float()
print(vol.shape)
# 最前面插入一个纬度
# 编辑读取的图像数据和pytorch期望的图像数据一致
vol = torch.unsqueeze(vol, 0)

print(vol.shape)

在这里插入图片描述

四、dcm数据查看

# dcm数据查看
get_ipython().run_line_magic('matplotlib', 'inline')
import matplotlib.pyplot as plt
    
plt.subplot(141) 
plt.imshow(vol_arr[0])
plt.title('vol_arr[0]')

plt.subplot(142)
plt.imshow(vol_arr[30])
plt.title('vol_arr[30]')

plt.subplot(143)
plt.imshow(vol_arr[60])
plt.title('vol_arr[60]') 

plt.subplot(144)
plt.imshow(vol_arr[90])
plt.title('vol_arr[90]')

plt.show()

在这里插入图片描述


总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【网络星空】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值