肺结节的特征提取在临床中有着重要应用,在上篇文章已经对肺结节的基本特征和CT影像特征提取算法有了介绍,提出了三类肺结节CT影像特征提取算法。本文重点介绍肺结节CT影像特征提取系统的功能介绍及使用,利用肺结节CT影像特征提取系统对一些数据进行特征提取,检验特征提取算法的有效性。

一、肺结节特征提取算法流程

            图1 算法流程图

  首先,对原始的肺部CT影像数据和放射学家标记的肺结节数据进行预处理,得到标准化的肺部CT影像数据和标记数据;然后,计算得到肺结节区域,用于后续特征提取;接着针对肺结节区域做不同的处理,计算灰度直方图,提取灰度特征。构造灰度共生矩阵,用于提取肺结节的纹理特征。提取肺结节的区域和边缘数据,用于计算得到肺结节的形态特征。

二、系统模块组成

      图2 系统模块组成图

三、软件运行原理

(1)  运行环境

操作系统:Windows XP,Windows7,windows 8

硬件要求:奔腾处理器,2G内存,10G硬盘

软件环境:支持matlab R2015a及以后版本

(2)  基本算法

  1. 对肺部CT影像进行预处理,提取出肺结节区域信息;
  2. 利用灰度直方图算法、灰度共生矩阵算法、几何参数算法以及Hu不变矩算法对肺结节区域进行处理,得到特征数据。
  3. 特征数据存储,等待导出。

四、 系统操作流程

        图3 软件操作流程

五、软件程序组成

GUI主界面:lung_nodules_features_extraction.m;

灰度特征界面:get_gray_feature.m;

纹理特征界面:get_texture_feature.m;

心态特征界面:get_Hu_Moment.m

CT影像读取及预处理:read_dcm_mask.m;

Hu不变矩算法:Hu_Moments;

纹理特征算法:getGLCMtextures.m;

六、软件使用图解

      图4 系统界面示意图

系统打开后的界面如图3所示,最上面为菜单栏,上半部分三个图像显示区域,左下角是CT影像基本信息显示区域,右下角是按钮操作区。

操作流程如下:

  1. 在按钮区或者菜单栏选择操作读入CT影像;
  2. 在按钮区或者菜单栏选择操作读入ROI区域图像;
  3. 选择按钮或者菜单,对数据进行预处理,得到如图4所示,获得CT图像基本信息;
  4. 选择直方图按钮或菜单,得到灰度直方图图像,如图4上部第三幅图像所示;
  5. 在按钮区或者菜单栏选择灰度特征、纹理特征或者形态特征得到图5,图6,或者图7所示的界面,在特征显示界面进行操作,得到特征数据,并且可以导出特征数据为excel文件。
  6. 选择退出按钮,退出系统。

软件操作图示:

        图5 特征提取界面

        图6 灰度特征数据界面

        图7 灰度特征数据界面

          图8 灰度特征数据界面

肺结节CT影像特征提取(三)——肺结节CT影像特征提取系统软件设计的更多相关文章

  1. 三十三、Java图形化界面设计——布局管理器之null布局(空布局)

    摘自http://blog.csdn.net/liujun13579/article/details/7774267 三十三.Java图形化界面设计--布局管理器之null布局(空布局) 一般容器都有 ...

  2. 三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)

    摘自http://blog.csdn.net/liujun13579/article/details/7772491 三十一.Java图形化界面设计--布局管理器之GridLayout(网格布局) 网 ...

  3. C#开发PACS医学影像三维重建(十三):基于人体CT值从皮肤渐变到骨骼的梯度透明思路

    当我们将CT切片重建为三维体之后,通常会消除一些不必要的外部组织来观察内部病灶, 一般思路是根据人体常见CT值范围来使得部分组织透明来达到效果, 但这是非黑即白的,即,要么显示皮肤,要么显示神经,要么 ...

  4. 基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【三】VGG网络进行特征提取

    前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...

  5. 特征提取算法(3)——SIFT特征提取算子

    目录: 前言 1.高斯尺度空间GSS 2.高斯差分DOG 用DoG检测特征点 GSS尺度选择 3.图像金字塔建立 用前一个octave中的倒数第三幅图像生成下一octave中的第一幅图像 每层octa ...

  6. 特征提取算法(2)——HOG特征提取算法

    histogram of oriented gradient(方向梯度直方图)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度方向直方图来构成特征.H ...

  7. 特征提取算法(1)——纹理特征提取算法LBP

    模式识别中进行匹配识别或者分类器分类识别时,判断的依据就是图像特征.用提取的特征表示整幅图像内容,根据特征匹配或者分类图像目标. 常见的特征提取算法主要分为以下3类: 基于颜色特征:如颜色直方图.颜色 ...

  8. web设计经验<三>值得你深入了解的交互设计5大支柱

    随着单页式设计和移动端的兴起,网页中的交互设计越来越重要了.为了打造流畅而可靠的用户体验,你需要对交互设计有更加深入的了解. 正如同我们在<交互设计最佳实践(卷1)>中所述,要做好交互设计 ...

  9. Effective Java 第三版——19. 如果使用继承则设计,并文档说明,否则不该使用

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

随机推荐

  1. Java多线程之ReentrantLock与Condition

    一.ReentrantLock 1.ReentrantLock简介 ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”.ReentrantLock 类实现了 Lock ,它拥有与 sy ...

  2. 性能测试监控平台:InfluxDB+Grafana+Jmeter

    前面的博客介绍了InfluxDB.Telegraf.Grafana的安装和使用方法,这篇博客,介绍下如何利用这些开源工具搭建性能测试监控平台... 前言 性能测试工具jmeter自带的监视器对性能测试 ...

  3. spring boot整合mybatis基于注解开发以及动态sql的使用

    让我们回忆一下上篇博客中mybatis是怎样发挥它的作用的,主要是三类文件,第一mapper接口,第二xml文件,第三全局配置文件(application.properties),而今天我们就是来简化 ...

  4. PyInstaller Extractor安装和使用方法

    PyInstaller Extractor是可以提取出PyInstaller所创建的windows可执行文件的资源内容. 关于PyInstaller的介绍:PyInstaller安装使用方法 使用Py ...

  5. 在Bootstrap开发框架中使用bootstrapTable表格插件和jstree树形列表插件时候,对树列表条件和查询条件的处理

    在我Boostrap框架中,很多地方需要使用bootstrapTable表格插件和jstree树形列表插件来共同构建一个比较常见的查询界面,bootstrapTable表格插件主要用来实现数据的分页和 ...

  6. Binary Search(Java)(非递归)

    public static int rank(int[] array, int k) { int front = 0, rear = array.length - 1; while(front < ...

  7. 其他综合-使用Xshell远程连接管理Linux实践

    使用Xshell远程连接管理Linux实践 1. Xshell整体优化 1)点击 工具 ,然后选择 选项 2)在 常规 选项中,下面的存放路径根据个人爱好修改(可选默认) 3)在 更新 选项中,将 √ ...

  8. EntityManagerFactory 是多线程的 将其变成一个单线程(使用静态方法)提交效率

    由于EntityManagerFactory 是一个线程安全的对象(即多个线程访问同一个EntityManagerFactory 对象不会有线程安全问题),并且EntityManagerFactory ...

  9. poj3436(拆点最大流)

    题意:给你p和n,p代表每台计算器需要几个部分组成,n代表有几个组装机器,接下来n行,每行第一个数代表这台机器能够每小时组装几台,剩下前三个数字表示使用这台机器需要的前置条件(0代表当前组装不能有这个 ...

  10. EventBus 线程切换原理

    主要问题其实只有两个,其一:如何判断当前发送事件的线程是否是主线程:其二:如何在接收事件时指定线程并执行: 一个一个来看. 1.如何判断是否在主线程发送 EventBus在初始化的时候会初始化一个Ma ...