LUNA16数据集小知识

LUNA16数据集包括888低剂量肺部CT影像(mhd格式)数据,每个影像包含一系列胸腔的多个轴向切片。每个影像包含的切片数量会随着扫描机器、扫描层厚和患者的不同而有差异。原始图像为三维图像。每个图像包含一系列胸腔的多个轴向切片。这个三维图像由不同数量的二维图像组成。

LUNA16数据集的由来

LUNA16数据集是最大公用肺结节数据集LIDC-IDRI的子集,LIDC-IDRI它包括1018个低剂量的肺部CT影像。LIDC-IDRI删除了切片厚度大于3mm和肺结节小于3mm的CT影像,剩下的就是LUNA16数据集了。

CT影像简介

CT 采集后所得的数值为 X 射线衰减值,单位为亨氏单位(Hounsfield unit, HU). 水的 HU 值为 0,空气的 HU 值为-1000, 而其他物体的 HU 值计算公式为

其中 ,  为线性衰减系数 ,和 X 射线强度有关 。
       亨氏单位值经过线性变换成为图像中的像素值 .。不同设备由于变换标准不同 , 所获得的图像像素值有一定差别 ; 但是在相同的 X 射线条件下 , CT照射人体所获得的亨氏单位值却是相同的 , 如表 1所示

在对肺部 CT 图像处理之中 , 由于肺的 HU 值为 -500 左右 , 一般做法是将 HU 值在 [-1000,+ 400]内的区域保留 ( 从空气到骨骼 ), 超出此范围的区域就可以认为与肺部疾病监测无关而舍去 。

这里面写一个luna16的数据处理吧

# -*- coding:utf-8 -*-
'''
this script is used for basic process of lung 2017 in Data Science Bowl
'''
import SimpleITK as sitk
from skimage.morphology import ball, disk, dilation, binary_erosion, remove_small_objects, erosion, closing, \reconstruction, binary_closing
from skimage.measure import label, regionprops
from skimage.filters import roberts
from skimage.segmentation import clear_border
from scipy import ndimage as ndi
import matplotlib.pyplot as plt# numpyImage[numpyImage > -600] = 1
# numpyImage[numpyImage <= -600] = 0def get_segmented_lungs(im, plot=False):'''This funtion segments the lungs from the given 2D slice.'''if plot == True:f, plots = plt.subplots(8, 1, figsize=(5, 40))'''Step 1: Convert into a binary image. '''binary = im < -600if plot == True:plots[0].axis('off')plots[0].imshow(binary, cmap=plt.cm.bone)'''Step 2: Remove the blobs connected to the border of the image.'''cleared = clear_border(binary)if plot == True:plots[1].axis('off')plots[1].imshow(cleared, cmap=plt.cm.bone)'''Step 3: Label the image.'''label_image = label(cleared)if plot == True:plots[2].axis('off')plots[2].imshow(label_image, cmap=plt.cm.bone)'''Step 4: Keep the labels with 2 largest areas.'''areas = [r.area for r in regionprops(label_image)]areas.sort()if len(areas) > 2:for region in regionprops(label_image):if region.area < areas[-2]:for coordinates in region.coords:label_image[coordinates[0], coordinates[1]] = 0binary = label_image > 0if plot == True:plots[3].axis('off')plots[3].imshow(binary, cmap=plt.cm.bone)'''Step 5: Erosion operation with a disk of radius 2. This operation is seperate the lung nodules attached to the blood vessels.'''selem = disk(2)binary = binary_erosion(binary, selem)if plot == True:plots[4].axis('off')plots[4].imshow(binary, cmap=plt.cm.bone)'''Step 6: Closure operation with a disk of radius 10. This operation is to keep nodules attached to the lung wall.'''selem = disk(10)binary = binary_closing(binary, selem)if plot == True:plots[5].axis('off')plots[5].imshow(binary, cmap=plt.cm.bone)'''Step 7: Fill in the small holes inside the binary mask of lungs.'''edges = roberts(binary)binary = ndi.binary_fill_holes(edges)if plot == True:plots[6].axis('off')plots[6].imshow(binary, cmap=plt.cm.bone)'''Step 8: Superimpose the binary mask on the input image.'''get_high_vals = binary == 0im[get_high_vals] = 0if plot == True:plots[7].axis('off')plots[7].imshow(im, cmap=plt.cm.bone)plt.show()return imif __name__ == '__main__':filename = './raw_data/1.3.6.1.4.1.14519.5.2.1.6279.6001.108197895896446896160048741492.mhd'itkimage = sitk.ReadImage(filename)  # 读取.mhd文件numpyImage = sitk.GetArrayFromImage(itkimage)  # 获取数据,自动从同名的.raw文件读取data = numpyImage[50]plt.figure(50)plt.imshow(data, cmap='gray')im = get_segmented_lungs(data, plot=True)plt.figure(200)plt.imshow(im, cmap='gray')plt.show()

关于医疗影像的mhd和dcm格式图像的读取和坐标转换

https://blog.csdn.net/zyc2017/article/details/84030903

LUNA16数据集介绍相关推荐

  1. 实战:使用yolov3完成肺结节检测(Luna16数据集)及肺实质分割

    实战:使用yolov3完成肺结节检测(Luna16数据集) yolov3是一个比较常用的端到端的目标检测深度学习模型,这里加以应用,实现肺结节检测.由于Luna16数据集是三维的,需要对其进行切片操作 ...

  2. 肺结节检测(一):数据集介绍及处理

    一.LUNA16数据集介绍 1.简介 LUNA16数据集包括888低剂量肺部CT影像(mhd格式)数据,每个影像包含一系列胸腔的多个轴向切片.原始图像为三维图像.每个图像包含一系列胸腔的多个轴向切片. ...

  3. LUNA16数据集简介

    1. 简介 1.1 介绍 LUNA16,全称Lung Nodule Analysis 16,是16年推出的一个肺部结节检测数据集.数据集包括 888 个低剂量肺部 CT 影像(mhd格式)数据,每个影 ...

  4. K-近邻算法之案例:鸢尾花种类预测--数据集介绍

    K-近邻算法之案例:鸢尾花种类预测--数据集介绍 本实验介绍了使用Python进行机器学习的一些基本概念. 在本案例中,将使用K-Nearest Neighbor(KNN)算法对鸢尾花的种类进行分类, ...

  5. 深度学习常用数据集介绍

    数据集大全 数据集大全 介绍 目前接触到的数据集 1. [MNIST](http://yann.lecun.com/exdb/mnist/) 2. [CIFAR-10 / CIFAR-100](htt ...

  6. 【知识星球】数据集板块重磅发布,海量数据集介绍与下载

    有三AI知识星球的"数据集板块"正式上线,提供数据集介绍,论文下载,数据集下载3大功能,那些因为网速问题,因为需要签license的蛋疼问题,从此不再成为问题! 有三AI知识星球- ...

  7. OHSUMED数据集介绍

    1. OHSUMED数据集介绍 本实验中采用OHSUMED测试数据集合(其也被用于第9 届国际文本检索竞赛TREC9 的文档过滤子竞赛).OHSUMED 数据集合由William Hersh和他的同事 ...

  8. GCN(一)数据集介绍

    1.数据集介绍 1.1 数据集概述 Cora数据集由机器学习论文组成,是近年来图深度学习很喜欢使用的数据集.在数据集中,论文分为以下七类之一: 基于案例 遗传算法 神经网络 概率方法 强化学习 规则学 ...

  9. camvid数据集介绍_深度学习图像数据集介绍(MSCOCO)

    深度学习图像数据集介绍(MSCOCO) MSCOCO数据集是微软开发维护的大型图像数据集,次数聚集的任务包括识别(recognition),分割(segementation),及检测(detectio ...

最新文章

  1. 全景图像拼接——基本流程
  2. web前端之html从入门到精通
  3. ASP.Net学习笔记011--ASP.Net揭秘之div版本自增
  4. lazy-load-img.js 源码 学习笔记及原理说明
  5. 响应式开发(黑马教程笔记)-Bootsrap
  6. 开源首发!Android入门“神器“——《Android编程入门教程》,理论与实战齐飞!
  7. 搭建php实验报告_php实验报告..doc
  8. 什么是社会融资规模,M0、M1、M2?
  9. 计算机符号大全名字大全,符号大全_特殊符号网名大全
  10. 一个人如何开发一款app?(2020修改版)
  11. 你不知道的京东数据库运维自动化体系建设之路
  12. [RelativeNAS] Relative Neural Architecture Search via Slow-Fast Learning
  13. 计算机软考高级证自明评职称,IT领域唯一的国家级证书,好处多多,入手不亏...
  14. 职称计算机考试时的输入法,2017年高级职称计算机预习:输入法的使用
  15. 【全开源】六合一口红机完整源码
  16. wifi打印服务器方案USB共享打印机模块参考设计
  17. .Net开发 开发工具使用vs C盘占用空间不断增大
  18. CSDN个人博客访问量突破300万
  19. iphone修改app名称_iPhone6 plus怎么修改图标名字?苹果6 plus设置修改图标名字教程...
  20. python 爬虫-(2)认识爬虫

热门文章

  1. DataSet读写xml文件
  2. mybatis返回Date类型数据 格式化
  3. Struts2执行流程
  4. 23个.net开源项目
  5. springmvc从request中获取body的数据的方法
  6. 触控屏c语言程序,TouchWin编程软件下载_TouchWin触摸屏软件下载 2.D.2c 官网版_当载软件站...
  7. Selenium API-WebElement 方法
  8. 关于地图制图大赛的8点说明,附地图学习资源
  9. shiro 升级_小米11消息再次确认:骁龙875有独占期,超广角镜头大升级
  10. php页面的特点_带你认识PHP的四大特性八大优势