当前位置: 首页 > news >正文

站长工具里查看的网站描述和关键词都不显示做医疗的网站

站长工具里查看的网站描述和关键词都不显示,做医疗的网站,青海专业网页设计免费建站,沈阳发布紧急通知1、前言 3D图像分割一直是医疗领域的难题#xff0c;在这方面nnunet已经成为了标杆#xff0c;不过nnunet教程较少#xff0c;本人之前跑了好久#xff0c;一直目录报错、格式报错#xff0c;反正哪里都是报错等等。并且#xff0c;nnunet对于硬件的要求很高#xff0c…1、前言 3D图像分割一直是医疗领域的难题在这方面nnunet已经成为了标杆不过nnunet教程较少本人之前跑了好久一直目录报错、格式报错反正哪里都是报错等等。并且nnunet对于硬件的要求很高一般的电脑配置或者低配置的服务器完全带不起来 或者定义conv.3D的unet网络模型但对显卡的要求也很高... 之前实现了unet的自适应多类别分割任务博文如下 Unet 实战分割项目、多尺度训练、多类别分割_unet进行多类分割-CSDN博客 代码根据数据集的mask可以自动计算出mask前景的类别这样就能为unet的输出自动调整不需要更改别的操作。 而3d的图像其实就是2d拼接起来的或许可以将nii格式的3d图片切分这样根据上文的代码就可以实现医疗图像3d的分割 提示这里切分的2d分割效果肯定不如3d图像的分割 就比如线性回归对图像的分类忽略了像素点的空间信息。那么3D切割出2D其实也是忽略了图像的空间信息效果肯定不如3d的直接分割 2、 nii 文件的切分 import SimpleITK as sitk 这里用itk 对3d数据进行读取 2.1 数据集 这里的3d数据是 BRATS 脑肿瘤分割数据brain tumor segmentation challengeBraTS Chanllenge这里只对训练集进行操作 需要注意的是一般的nii图像都是3D的这里数据是4D的好像是每个3D图像的模态类似于官方的增强 T1 成像利于观察解剖结构病灶显示不够清晰 T1gd 在受试者做磁共振之前向血液内注射造影剂使成像中血流活跃的区域更加明显是增强肿瘤的重要判据 T2 成像病灶显示较为清晰判断整颗肿瘤 FLAIR抑制脑脊液的高信号含水量大则更亮眼可以判断瘤周水肿区域 mask模板是四分类的 2.2 slice 切片代码 代码放在这里 这里参考之前的博文nii 文件的相关操作SimpleITK_如何使用nii文件做深度学习-CSDN博客 import SimpleITK as sitk import numpy as np import os from tqdm import tqdm import shutil import cv2# 新建目录 def mkdir(rt):ret_path rt _ret2Dif os.path.exists(ret_path): # 删除之前的切片目录shutil.rmtree(ret_path)os.mkdir(ret_path)os.mkdir(os.path.join(ret_path,images))os.mkdir(os.path.join(ret_path,labels))def get_image_from_nii(x,y,name,thre): # 传入nii文件对nii进行切片img sitk.ReadImage(x)img_array sitk.GetArrayFromImage(img) # nii--arraylabel sitk.ReadImage(y)label_array sitk.GetArrayFromImage(label) # nii--arrayfor index,i in enumerate(range(img_array.shape[1])): # TODO 需要根据img维度更改,4D设定为1,3D设置为0img_select img_array[0,i, :, :] # TODO 需要根据img维度更改,从x轴切分[:,i,:]从y轴切分label_select label_array[i, :, :]# 图片保存目录img_save_name os.path.join(root_ret2D,images,name_str(index).png)label_save_name os.path.join(root_ret2D,labels,name_str(index).png)h,w label_select.shapetotal_pixel h*w # 总的像素点个数if label_select.max() 0: # 没有前景的像素点不保存continueelse:# 归一化img_select (img_select - img_select.min()) / (img_select.max() - img_select.min())*255img_select img_select.astype(np.uint8)label_select label_select.astype(np.uint8)if (np.sum(label_select !0 ) / total_pixel) thre:cv2.imwrite(img_save_name,img_select)cv2.imwrite(label_save_name,label_select)# 切片函数 def sliceMain(rt,imgf,labf,thre):# 删除之前的切片目录建立新的目录mkdir(rt)nii_list [i for i in os.listdir(os.path.join(rt,imgf))]for image_nii in tqdm(nii_list): # 遍历所有的nii文件name image_nii.split(.nii.gz)[0]image_nii os.path.join(rt,imgf,image_nii)label_nii image_nii.replace(imgf,labf) # 自动获取nii 的标签get_image_from_nii(image_nii,label_nii,name,thre)if __name__ __main__:root BRATS # 待切分nii文件的父目录images_folder imagesTr # 3d nii的数据labels_folder labelsTr # 3d nii 的标签数据threshold 0.03 # 分割的比例不超过阈值的数据删除# 切片函数sliceMain(rtroot,imgfimages_folder,labflabels_folder,threthreshold)这里简单介绍一下目录结构如下 具体数据的名称和后缀要严格对应 threshold 是阈值处理如果mask前景的像素点个数没有达到整个图片像素点的阈值就不会被保存。这里默认是0.03 切分的时候因为这里是4D的所以img_array是四维的我们默认取第一个维度的3D图像 同时3D图像可以用xyz三个坐标表示这里的shape1就是沿着x轴进行2D的切分 因为医学图像的灰度动态范围很多可能到上千因此这里将灰度值重新映射变成np的uint8格式再用cv保存 2.3 保存格式 图像的保存这里搞了好久要么格式问题要么灰度有问题。这里做下总结 首先png格式可以完整的保存2D切分的信息而不会因为图像压缩导致mask灰度值改变。说人话就是这里切分的2d像素值只有0 100 255如果保存为其他格式可能读取的时候会产生0 1 2 3....等等灰度图像而分割的mask是阈值图像 其次plt保存的时候会将图像重新映射我们只想要0 1 2这种格式但是他可能会把0变成01变成128.2变成255这样。虽说这样看mask确实方便不至于变成全黑的但是本人测试的时候总会莫名多出一个灰度。说人话就是本来这里是四分类的plt保存的时候np.unique读取的时候会变成5个类别 这里搞了半天本人电脑太差测试半天只有这个代码是符合的。至于问题到底是不是我说的那样可以自己测试 代码如下 import os from tqdm import tqdm import numpy as np import cv2root ./BRATS_ret2D/labels # 训练 mask的路径 masks_path [os.path.join(root ,i) for i in os.listdir(root)] gray [] # 前景像素点 for i in tqdm(masks_path,descgray compute):img cv2.imread(i,0)img_uni np.unique(img) # 获取mask的灰度值for j in img_uni:if j not in gray:gray.append(j) print(gray)2.4 切分好的数据 上述代码切分后会生成root的返回目录 这里的mask并不是全黑的只是0 1 2 3这样导致很黑而已。这里的目录名称按照切分索引而没有从0开始这样就能看出来BRATS_001 里面49之前的要么没有mask前景要么前景的区域不足我们设定的阈值 3、划分数据集 参考之前的代码关于图像分割任务中按照比例将数据集随机划分成训练集和测试集_图像分割数据集怎么划分-CSDN博客 这里可以可视化一下关于图像分割项目的可视化脚本-CSDN博客 4、训练 unet训练如下 训练时间太长了 这里只简单训练了10个epoch用作测试结果如下 代码是这篇的代码Unet 实战分割项目、多尺度训练、多类别分割_unet进行多类分割-CSDN博客 训练日志里面有每个类别的指标 推理结果 4、项目总结 1、准备好3D的nii.gz数据然后根据本章第二节摆放好数据切分。根据项目的实际要求设定好阈值或者沿着哪个轴切分 2、划分数据很简单 3、训练的 train 脚本 4、推理的时候把待推理的数据放在inference目录下即可 5、说点废话 对于项目的改进的思考项目下载 深度学习Unet实战分割项目BraTS3d脑肿瘤图像切分的2D图片分割项目4分类资源-CSDN文库 因为医学图像的灰度值都很低往往图像会很暗这样图像的梯度信息啊、边缘信息啊都很模糊效果不太好可以利用医学图像常用的windowing方法其实就是对比度拉伸 医学图像处理的windowing 方法_医学图像常用windowing和histogram equalization-CSDN博客 而且不同于正常的分类图像这里的normalize可能直接 - 0.5 在除以 2效果不太好这可以手动计算好图像的mean和std可以有效提升网络的性能 怎么计算数据的均值和方差_计算数据集均值和方差-CSDN博客
http://www.zqtcl.cn/news/20316/

相关文章:

  • 怎么免费建设个人博客网站上海网站建站
  • 汝州建站公司一个网站怎么做app
  • 网站开发技术代码软件班级网站建设
  • 如何做网站国际化好网站建设公司哪里好
  • 工程建设国家标准网站seo多久可以学会
  • 上海先进网站设计吉安市建设局施工管理站网站
  • 网站屏蔽右键破解南宁外包seo服务
  • 北京网站建设最大的公司排名wordpress 禁用标
  • 韩国最牛的设计网站大全国内wordpress最好的主题
  • 网站地图html模板建站公司跑路了域名怎么办
  • 做网站外包最牛的公司南京网燃网络科技有限公司
  • 企业网站托管方式做网站需要学多久
  • 做网站建设公司企业wordpress修改秒速
  • 网站编辑的职业特点有哪些旅游类网站策划建设_
  • 不用下载直接浏览的网站本地服务器如何做网站
  • 大连 做网站旅游电子商务的网站建设
  • 怎样加强企业网站建设网络营销的现状
  • 网站店铺建设新闻发布会主持稿
  • 全屏网站 功能建立公司官网多少钱
  • 上海建筑建材业网站迁移开小加工厂去哪接单子
  • 网站建设与用户需求分析flex 做网站
  • 招聘网站开发计划书外链大全
  • 网站建设用到的软件想学设计怎么入门在家自己学
  • 温州本地论坛apache wordpress 优化
  • 网站建设解密wordpress 网页路径
  • 做校园网站教育+wordpress模板
  • 协会网站建设方案wordpress 洛神的主题
  • 企业形象成品网站文山专业网站建设联系电话
  • 常州外贸公司网站建设外包手工活在哪里拿货
  • 网站续费管理系统建设网站多少钱 2017