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'])

相关推荐
Network_Engineer几秒前
从零手写LSTM:从门控原理到PyTorch源码级实现
人工智能·pytorch·lstm
芝士爱知识a4 分钟前
AlphaGBM 深度解析:下一代基于 AI 与蒙特卡洛的智能期权分析平台
数据结构·人工智能·python·股票·alphagbm·ai 驱动的智能期权分析·期权
weixin_6685 分钟前
GitHub 2026年AI项目热度分析报告-AI分析-分享
人工智能·github
vlln6 分钟前
【论文速读】达尔文哥德尔机 (Darwin Gödel Machine): 自进化智能体的开放式演化
人工智能·深度学习·ai agent
Katecat996639 分钟前
目标检测咖啡果实成熟度检测:RetinaNet-X101模型实现
人工智能·目标检测·目标跟踪
AAD5558889912 分钟前
基于Mask_RCNN的猫科动物目标检测识别模型实现与分析
人工智能·目标检测·计算机视觉
Katecat9966316 分钟前
基于YOLOv8和MAFPN的骆驼目标检测系统实现
人工智能·yolo·目标检测
合力亿捷-小亿19 分钟前
2026年AI语音机器人测评推荐:复杂噪声环境下语义识别准确率对比分析
人工智能·机器人
子夜江寒19 分钟前
基于 LSTM 的中文情感分类项目解析
人工智能·分类·lstm
方见华Richard26 分钟前
AGI安全三大方向机构对比清单(2025-2026)
人工智能·经验分享·交互·原型模式·空间计算