Pytorch项目,肺癌检测项目之二

diameter_dict={}

with open('/xunlian/annotations.csv' ,'r') as f:

for row in list(csv.reader(f)[1:]):

series_uid = row[0]

annotationCenter_xyz = tuple([float(x) for x in row[1:4]])

annotationDiameter_mm = float(row[4])

diameter_dict.setdefault(series_uid,[]).append(annotationCenter_xyz ,annotationDiameter_mm )

#两个文件存储的中心点坐标距离相差是否超过了结节直径的四分之一

candidateInfo_list.sort(reverse=True)

return candidateInfo_list

导入SimpleITK

import SimpleITK as sitk

class Ct:

def init(self,series_uid):

mhd_path = glob.glob('/xunlian/subset*/{}.mhd'.format(series_uid))[0]

ct_mhd = sitk.ReadImage(mhd_path)

ct_a = np.array(sitk.GetArrayFromImage(ct_mhd),dtype=np.float32

ct_a.clip(-1000,1000,ct_a)

self.series_uid = series_uid

self.hu_a = ct_a # HU

self.origin_xyz = XyzTuple(*ct_mhd.GetOrigin())

self.vxSize_xyz = XyzTuple(*ct_mhd.GetSpacing())

self.direction_a = np.array(ct_mhd.GetDirection().reshape(3,3))

毫米为单位的坐标称为 (X,Y,Z)坐标,以体素为单位的坐标称为(I,R,C)

数据坐标系的转化的代码实现

IrcTuple = collections.namedtuple('IrcTuple',['index','row','col'])

XyzTuple = collections.namedtuple('XyzTuple',['x','y','z'])

相关推荐
yiersansiwu123d1 分钟前
生成式AI革命:从技术颠覆到商业普惠的价值重构
人工智能·重构
找方案3 分钟前
hello-agents 学习笔记:从概念到落地,初识智能体的奇妙世界
人工智能·笔记·学习·大模型
ModelWhale4 分钟前
和鲸科技创始人&CEO 范向伟受邀赴港亮相 AI 赋能・科技自立 —— 中小企业创新与机遇高峰论坛并做主题演讲
人工智能·科技
qinyia5 分钟前
通过 Wisdom SSH AI 助手部署和配置 Nginx Web 服务器
人工智能·nginx·ssh
咚咚王者6 分钟前
人工智能之数学基础 线性代数:第四章 矩阵分解
人工智能·线性代数·矩阵
roman_日积跬步-终至千里8 分钟前
【计算机视觉(10)】图像分类基础篇:从最近邻到线性分类器
人工智能·计算机视觉·分类
IT_陈寒8 分钟前
SpringBoot3.0性能优化:这5个冷门配置让我节省了40%内存占用
前端·人工智能·后端
_妲己10 分钟前
SD的细分功能包括重绘,图像处理、放大等扩散模型应用
人工智能·python·深度学习·机器学习·stable diffusion·comfyui·ai工作流
程途拾光15812 分钟前
企业组织架构图导出Word 在线编辑免费工具
大数据·论文阅读·人工智能·信息可视化·架构·word·流程图
AI浩13 分钟前
MODA:首个用于航空图像中多光谱目标检测的挑战性基准
人工智能·目标检测·目标跟踪