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

相关推荐
政安晨2 分钟前
政安晨【人工智能项目随笔】Model Context Protocol(MCP)开发与资源完整指南
人工智能·mcp·模型上下文协议·mcp协议·mcp服务·ai模型上下文通信·mcp资源
GEO-optimize11 分钟前
2026北京GEO服务商评审指南:核心实力与适配指南
大数据·人工智能·机器学习·geo
cipher15 分钟前
Claude-Mem 自定义API支持:突破速率限制的解决方案
人工智能·ai编程·claude
晓131322 分钟前
第六章 【若依框架:AI】AI若依框架实战项目
人工智能·若依
EriccoShaanxi23 分钟前
单轴MEMS陀螺仪:精准导航与稳定的核心
人工智能·机器人·无人机
Eloudy25 分钟前
SuiteSparse 的 README
人工智能·算法·机器学习·hpc
guygg8831 分钟前
LSTM工具箱的详细说明及实现
人工智能·rnn·lstm
razelan38 分钟前
教你用ai工具做一个语音唤醒助手
人工智能
程序员猫哥_39 分钟前
一句话生成应用正在改变什么?2026 AI开发范式新观察
人工智能
DN202043 分钟前
当AI开始评估客户的“成交指数”
数据结构·人工智能·python·microsoft·链表