【Python】SimpleITK 针对于 LiTS 数据集,获取最大肝脏面积的切片
效果图
文章目录
- 1. window_transform
- 2. extract_max_slice
- 3. extract_max_slice_with_seg
1. window_transform
可以让图片更好看一点
def window_transform(ct_array, windowWidth=400, windowCenter=40, normal=False):"""return: trucated image according to window center and window widthand normalized to [0,1]"""minWindow = float(windowCenter) - 0.5 * float(windowWidth)newing = (ct_array - minWindow) / float(windowWidth)newing[newing < 0] = 0newing[newing > 1] = 1# 将值域转到0-255之间,例如要看头颅时, 我们只需将头颅的值域转换到 0-255 就行了if not normal:newing = (newing * 255).astype('uint8')return newing
2. extract_max_slice
获取最大肝脏面积的CT切片
def extract_max_slice(ct_path, seg_path, img_save_path=None):"""根据标注获取最大肝脏切片"""# 读取标注的肝脏图像seg_nii = sitk.ReadImage(seg_path)seg_img = sitk.GetArrayFromImage(seg_nii)# 获取肝脏图像面积最大的切片的索引index = np.argmax(seg_img.sum((1, 2)))# 读取CT图像ct_nii = sitk.ReadImage(ct_path)ct_img = sitk.GetArrayFromImage(ct_nii)# 截取CT图像中肝脏最大的切片img = ct_img[index, :, :]img = window_transform(img)# 保存图片if img_save_path is not None:save_name = os.path.basename(ct_path).split(".")[0] + "-index" + str(index) + ".png"cv2.imwrite(os.path.join(img_save_path, save_name), img)
效果图
3. extract_max_slice_with_seg
获取最大肝脏面积的CT切片,并且用红色标记处肝脏的位置
def extract_max_slice_with_seg(ct_path, seg_path, img_save_path=None):"""根据标注获取带有标注的最大肝脏切片"""# 读取标注的肝脏图像seg_nii = sitk.ReadImage(seg_path, sitk.sitkFloat32)seg_img = sitk.GetArrayFromImage(seg_nii)# 获取肝脏图像面积最大的切片的索引index = np.argmax(seg_img.sum((1, 2)))# 读取CT图像ct_nii = sitk.ReadImage(ct_path)ct_img = sitk.GetArrayFromImage(ct_nii)# 截取CT图像中肝脏最大的切片ext_ct_img = ct_img[index, :, :]ext_seg_img = seg_img[index, :, :]ext_ct_img = window_transform(ext_ct_img) # 映射后图片效果更好ext_ct_img = np.array(ext_ct_img)ext_ct_img = cv2.cvtColor(np.array(ext_ct_img), cv2.COLOR_GRAY2RGB)# 肝脏位置标记颜色for i in range(512):for j in range(512):if ext_seg_img[i][j] >= 1.0:ext_ct_img[i][j][0] = 97ext_ct_img[i][j][1] = 100ext_ct_img[i][j][2] = 255# 保存图片if img_save_path is not None:save_name = os.path.basename(ct_path).split(".")[0] + "-index" + str(index) + ".png"cv2.imwrite(os.path.join(img_save_path, save_name), ext_ct_img)
效果图
【Python】SimpleITK 针对于 LiTS 数据集,获取最大肝脏面积的切片相关推荐
- 【FPN车辆目标检测】数据集获取以及Windows7+TensorFlow+Faster-RCNN+FPN代码环境配置和运行过程实测
PS 最近在学目标检测想用最新的FPN网络,刚好看到这篇博客https://blog.csdn.net/Angela_qin/article/details/80944604尝试把它复现,说的小白一点 ...
- Python计算机视觉中译本实例代码/数据集
shu j 向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 本书介绍Python的计算机视觉编程,用清晰的Python示例,细致讲解对象识别. ...
- Scikit-learn学习系列 | 1. sklearn的简要使用介绍与数据集获取
如有错误,恳请指出. 以下内容整理自专栏:博主"文火冰糖的硅基工坊"的专栏--机器学习与scikit-learn,对部分的文章的简化与整理. 文章目录 1. scikit-lear ...
- LITS 数据集 肝脏和肿瘤标签分离
LITS 数据集 标签分离 标签分离原因说明 简单原理说明 代码实现 分离效果 结束语 标签分离原因说明 最近在用Unet做肝脏肿瘤分割,手中得到的数据集有LITS数据集,从网上下载下来的时候,格式是 ...
- LITS数据集 总切片和单张Nii切片数目统计
文章目录 LITS数据集切片统计 简单原理说明 代码实现 运行结果 总结 LITS数据集切片统计 我的数据集长这样,手中得到的数据集有LITS数据集,从网上下载下来的时候,格式是nii文件,因为我用的 ...
- python将scikit-learn自带数据集转换为pandas dataframe格式
python将scikit-learn自带数据集转换为pandas dataframe格式 目录 python将scikit-learn自带数据集转换为pandas dataframe格式 #仿真数据
- python机器学习可视化工具Yellowbrick绘图获取最佳聚类K值实战示例
python机器学习可视化工具Yellowbrick绘图获取最佳聚类K值实战示例 目录 机器学习可视化工具Yellowbrick绘图获取最佳聚类K值实战示例
- python模拟登陆163邮箱并获取通讯录
From: http://hi.baidu.com/fc_lamp/blog/item/2466d1096fcc532de8248839.html python模拟登陆163邮箱并获取通讯录 #-*- ...
- 不得不赞!一个国内(可能)最好的海量CV数据集获取网站
在CV等计算机领域中,好的数据,对模型训练至关重要.自己做数据,即昂贵又费时费力:但是,使用现成的数据集,即不好找又不好下载及使用.直到最近,CV君找到一个数据集获取神器 Graviti Open D ...
最新文章
- Haproxy Nginx cluster构建
- 理解Java对象:要从内存布局及底层机制说起,话说....
- 技术/领域专家有什么要求?
- openlayers地图旋转_OpenLayers教程二:实现简单的地图显示
- pb公共变量怎么找_阿迪达斯的4D怎么就火不起来呢?
- vue 绑定图片相对路径
- PHP5.3以上版本没有libmysql.dll,以及由此带来的困扰
- SAP License:如何获取采购订单一次性供应商的地址信息
- 在appdelegate中 设置跟视图控制器 但是没办法全屏
- poi 导出excel 中合并单元格
- 专业的Excel管理工具LibXL V3.8.0发布 | 附下载
- 航空三字代码表_国际国内城市三字代码查询-城市航空代码表
- Paper Reading: Re-ranking Person Re-identification with k-reciprocal Encoding
- Ubuntu16.04添加Pycharm快捷方式在启动器并修复问号图标问题
- 编写属于自己的Python第三方库
- 还记的 破坏之王 里面的 锁吗,锁住 断水流大师兄
- 删除计算机文件的几种方法,3种方式删除目录中的所有文件,除了一个或少量带扩展名的文件...
- win10安装Offic2016以后,Word文件、Excel文件、PPT文件图标显示不正常解决方法
- 移动高德地图marker点
- 浅谈根号分治——暴力的美学