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 分钟前
GitNexus 把代码库变成知识图谱|审核 AI 产出更清晰,改 Bug 更精准
人工智能·bug
俊哥V22 分钟前
每日 AI 研究简报 · 2026-05-05
人工智能·ai
阿里云大数据AI技术25 分钟前
Qwen3.6、Kimi-K2.6、Minimax-M2.7、GLM-5.1 来啦!PAI支持海量模型一键部署!
人工智能·llm
袁庭新27 分钟前
2026年03月总结
人工智能·袁庭新·工作总结·月总结·openclaw
MATLAB代码顾问31 分钟前
多模态AI模型综述:GPT-4V、Gemini与国产新势力的技术对比
人工智能
向量引擎35 分钟前
为什么大厂做 RAG,都要加一层向量引擎中转站?
人工智能·gpt·aigc·api·key
PaperData36 分钟前
1988-2025年《中国人口和就业统计年鉴》全年份excel+PDF
数据库·人工智能·数据分析·经管
小王毕业啦40 分钟前
(1990-2024年)个股交易活跃度、个股换手率
大数据·人工智能·数据挖掘·数据分析·区块链·社科数据
F_U_N_42 分钟前
新手不会搭建知识平台 手把手教你 PandaWiki 零基础快速部署
人工智能·开源
N串1 小时前
2.7 公司内部的“阶级”是什么
大数据·人工智能