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

diameter_dict={}

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

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

series_uid = row0

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

annotationDiameter_mm = float(row4)

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

相关推荐
AI搅拌机9 小时前
LoRA训练实战23:Flux2 Klein Base人物角色训练,保姆级教程,对新手友好!
人工智能
吃好睡好便好9 小时前
矩阵秩的计算
人工智能·学习·线性代数·算法·机器学习·matlab·矩阵
诸葛务农9 小时前
溶液纳米颗粒净化技术及其在光刻胶纳过滤和提纯中的应用(下)
人工智能
计算机安禾9 小时前
【算法分析与设计】第35篇:后缀数据结构:后缀树与后缀数组的构造
大数据·人工智能·算法·机器学习·剪枝
RockHopper20259 小时前
从结构化建模到动态语义映射:AI时代企业软件系统的重构逻辑
人工智能·智能体·语义驱动·运行语义
玩c#的小杜同学9 小时前
未来 AI 会装进电脑里吗?本地 AI、AI PC 和企业隐私计算
人工智能·微软·c#·电脑·英伟达
weixin_468466859 小时前
深度学习损失函数新手实战指南
人工智能·python·深度学习·算法·机器学习·ai
医学AI望远镜9 小时前
TMI | 噪声标签学习新思路:先判断样本可信度,再筛选体素监督
人工智能·医学+ai
-嘟囔着拯救世界-9 小时前
Claude Code 平替来了?DeepSeek-TUI 保姆级安装教程
人工智能·ai·ai编程·deepseek·vibecoding·deepseek-tui
IT_陈寒9 小时前
Vue的动态组件坑了我整整一天!
前端·人工智能·后端