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

相关推荐
大象耶42 分钟前
计算机视觉六大前沿创新方向
论文阅读·人工智能·深度学习·计算机网络·机器学习
TMT星球2 小时前
加速进化发布Booster K1,打造AI时代的苹果公司
人工智能
tangchen。2 小时前
YOLOv4 :兼顾速度与精度!
人工智能·计算机视觉·目标跟踪
郑清2 小时前
Spring AI Alibaba 10分钟快速入门
java·人工智能·后端·ai·1024程序员节·springaialibaba
学术头条2 小时前
用视觉压缩文本!清华、智谱推出Glyph框架:通过视觉-文本压缩扩展上下文窗口
人工智能·深度学习·计算机视觉
Mrliu__2 小时前
Opencv(一): 用Opencv了解图像
人工智能·opencv·计算机视觉
墨香幽梦客3 小时前
掌控制造脉络:电子元器件行业常用ERP系统概览与参考指南
大数据·人工智能
大模型知识营地4 小时前
详解 astream 方法与 stream_mode,构建高级人机交互 Agent
人工智能
知行力5 小时前
百度PaddleOCR-VL:基于0.9B超紧凑视觉语言模型,支持109种语言,性能超越GPT-4o等大模型
人工智能·百度·1024程序员节
deephub5 小时前
vLLM 性能优化实战:批处理、量化与缓存配置方案
人工智能·python·大语言模型·1024程序员节·vllm