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

相关推荐
LDG_AGI2 分钟前
【机器学习】深度学习推荐系统(二十八):X 推荐算法listwiseRescoring(同刷多样性降权)机制详解
人工智能·分布式·深度学习·算法·机器学习·推荐算法
程序猿炎义7 分钟前
【Easy-VectorDB】Faiss入门与环境搭建笔记
人工智能·faiss
学术小白人8 分钟前
2026 年人工智能与社交网络系统国际学术会议暨智能与网络安全研讨圆满落幕
大数据·人工智能·科技·物联网·机器学习
Yongqiang Cheng9 分钟前
Deep Learning with PyTorch: Tensors (张量)
pytorch·tensor·张量
白日做梦Q10 分钟前
GAN入门到精通:从DCGAN到StyleGAN3
人工智能·深度学习·计算机视觉
格林威12 分钟前
Baumer相机最新SDK开发_下载_封装
人工智能·数码相机·opencv·机器学习·计算机视觉·视觉检测·halcon
testpassportcn13 分钟前
AWS Certified AI Practitioner(AIF-C01)認證介紹
人工智能·云计算·aws
sufu106514 分钟前
保姆级喂饭教程:什么是Skills?如何用Skills?
人工智能
笑脸惹桃花14 分钟前
目标检测YOLO26教程:YOLO26(Ultralytics)环境配置,适合零基础纯小白,超详细快速上手
人工智能·深度学习·yolo·目标检测·计算机视觉
热爱专研AI的学妹15 分钟前
从零搭建:基于数眼智能网页解析API的数据分析机器人(Dify平台)
人工智能