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

相关推荐
大米饭消灭者1 分钟前
OpenClaw 核心功能解析:一文让你彻底搞懂 OpenClaw
人工智能·开源
yhdata3 分钟前
自卸车软件市场规模锁定18.15亿元,精准数据勾勒行业进阶新图景
大数据·人工智能
老赵聊算法、大模型备案6 分钟前
网信办公示 2026 年 1-2 月生成式 AI 备案登记情况:新增 94 款,累计突破 1200 款
人工智能·算法·安全·aigc
用户360574244697 分钟前
用了半年 Claude Code,我总结了 20 个让你效率翻倍的实战技巧
人工智能
Data-Miner7 分钟前
43页精品PPT | 服装行业工业4.0智能工厂
人工智能·数据分析
进击的野人8 分钟前
新手入门:如何接入AI大模型?从零开始的实用指南
人工智能·agent·ai编程
_未完待续8 分钟前
从零构建企业级 AI 应用引擎:NestJS + Next.js 全栈架构设计与实践
人工智能
油泼辣子多加10 分钟前
【PY】数据处理函数
python·深度学习·机器学习·数据分析
小时前端11 分钟前
怎么让 Claude 在你睡觉的时候干活
人工智能
AEIC学术交流中心13 分钟前
【快速EI检索】2026年人工智能与电气工程国际学术会议(AI-EE 2026)
人工智能