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

相关推荐
冬奇Lab32 分钟前
MCP 系列(07):企业级部署——安全、认证与版本管理
人工智能·llm·mcp
老余说AI32 分钟前
AI声音克隆的“冰与火之歌“:你的声音正在被谁盗用?
人工智能·跨境电商·soundview
ywl47081208736 分钟前
【SpringAI 09】SpringAI入门
人工智能·springai
米小虾1 小时前
2026 AI智能体十大趋势:从工具到伙伴,Agent正在重塑什么?
人工智能
We0 AI1 小时前
2026 年 SEO 友好型网站构建器对比:We0 AI、Webflow、WordPress、10Web,谁更适合被收录?
人工智能·#ai建站
天国梦1 小时前
中学生居家英语听力训练深度解析:从核心痛点到AI赋能的全链路方案
人工智能·学习
智恒百亿1 小时前
RTX 5090 深度解析:8 卡智算集群多卡协同痛点完整解决方案
人工智能
树獭非懒1 小时前
七、智能体的Reflection机制:让AI学会三省吾身
人工智能·llm·agent
字节跳动视频云技术团队1 小时前
不止于 4K,火山引擎画质增强让视频从清晰走向细腻
人工智能·音视频开发
中微极客1 小时前
解锁LLM开发全栈能力:Python + LangChain + RAG 工程实战指南
人工智能·python·langchain