当前位置首页 > 生活休闲 > 其它生活相关文档
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

基于Android的DICOM文件医疗图像处理毕业设计论文

文档格式:DOC| 61 页|大小 2.65MB|积分 15|2021-10-29 发布|文档ID:36128887
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 61
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • I 装订线摘 要随着 Android 手机的快速普及,Android 手机应用软件越来越丰富,各行各业都在陆续推出自己的基于 Android 的软件系统,比如说在医疗行业为了方便医生浏览和处理医疗图片,本人开发了一个基于 Android 手机的医疗图像浏览处理软件该软件用 Java 语言,Android SDK 开发包和 Eclipse 开发工具进行开发,主要实现了 DICOM 标准的医学文件的图像显示,并在图像显示的基础上实现医学文件图像的拖动、旋转和缩放这四个功能模块中图像浏览模块主要通过 ImageView 控件实现多幅医疗图像文件的显示,图像拖动模块则通过触屏手机屏幕中单触点的移动来改变 ImageView 控件的位置或者通过移动屏幕上的拖动条(Seekbar 组件)来移动图像;图像旋转模块通过屏幕上双触点的移动来改变 ImageView 控件的旋转角度或者也通过移动屏幕上的拖动条来达到旋转的效果;缩放模块通过双触点的移动来改变 ImageView 控件的大小从而实现图像的缩放该软件根据软件工程设计方法和基于 Android 的 DICOM 文件医疗图像处理的实际需求进行了详细的功能分析,并编码实现了其功能,最后给出了软件的测试过程和结果。

    关键关键词词:android;医疗图像 ;DICOM;图像显示 II 装订线AbstractWith the rapid spread of Android phones, Android mobile phones application softwares have become increasingly diverse, and businesses launch software systems which are based on the Android, for example in the medical industry. So, I developed an Android phone-based medical image browsing software.The software uses the Java language and the Android SDK development package, and uses the Eclipse development tools for development. The software realizes medical file image browsing based on DICOM standard, and on this basis can drag,rotate and zoom. The image browsing module of the four function modules mainly uses the ImageView control to realize displaying the medical image file, dragging through a single module is the contacts move to change the position of the ImageView control so as to realize the image on the screen or drag by dragging the drag (seekbar components) to move the image; Image rotation module uses the double the contacts move to change ImageView control Angle so as to realize the rotation of the image or also moves such as image by dragging the screen to reach the rotating article drag effect; Image scaling module uses the double the contacts move to change the position of the ImageView control so as to realize the scale of the image.The software is based on software engineering method and the actual needs of medical images of the Android-based DICOM files ,and carrys out a detailed functional analysis, and codes to achieve its functions. Finally,I show out the software testing process and result.KeyKey wordword:Android;Medical Image;DICOM; Image Browsing III 装订线目 录1 绪论.11.1 课题背景 .11.2 课题意义 .11.3 论文组织结构 .12 系统开发环境及相关技术.22.1 ANDROID特征 .22.2 手机操作系统的发展状况 .32.3 ANDROID SDK 开发包介绍 .42.4 DICOM3.0 标准.62.5 开发工具安装与配置 .102.5.1 jdk1.6.0 安装.102.5.2 jdk1.6.0 的环境变量配置.122.5.3 Eclipse 安装.132.5.4 Android SDK 开发包安装.143 系统需求分析.153.1 系统需求分析 .153.2 系统功能分析 .154 系统总体设计.174.1系统结构图.174.2 系统功能模块 .174.2.1 医疗图像的显示功能模块 .174.2.2 医疗图像的拖动功能模块 .174.2.3 医疗图像的旋转功能模块 .174.2.4 医疗图像的缩放功能模块 .184.3 显示界面规划 .185 详细设计与实现.205.1 文件结构与用途 .205.2 系统实现 .215.2.1 医学图像显示实现的过程 .215.2.2 医学图像拖动实现的过程 .245.2.3 医学图像旋转实现的过程 .255.2.4 医学图像缩放实现的过程 .296 软件测试.326.1 什么是软件测试 .326.2 软件测试的规则 .32 IV 装订线6.3 软件测试的对象 .326.4 各页面的测试 .32结束语.36致谢.37参考文献.38附录一 部分源代码.39附录二 英文原文及译文.45 共 58 页 第 1 页 装订线1 绪论1.1 课题背景随着电子和通信技术的高速发展,具有强大显示、通信、环境探测和适当计算能力的 Android 智能手机正成为人们随身携带的必要附件。

    Android 智能手机不仅为用户带来随身的通信、娱乐、信息检索的功能,强大计算能力可以用来开发各样新颖功能,满足用户千奇百怪的需求Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用Android 是由 Linux+Java 构成的开源软件,允许所有厂商和个人在其基础上进行开发Android 平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品因此,它具有很大的市场发展潜力Android 手机医学图像浏览软件是基于 Android SDK 开发包、Java 语言,运用eclipse 开发工具实现医疗图像信息的显示,并且对医疗图像进行一定的拖动、旋转、缩放操作,开发出针对使用 Android 手机平台的医疗图像软件1.2 课题意义Android 手机医学图像软件的开发可以进一步扩大医疗图像信息的覆盖面,让广大医生通过互联网能够在第一时间方便且快捷地获取病人的病情状况,以便医生能尽早的得出病人疾病的解决方案,把疾病带给病人的痛苦降到最低同时也可以强化医疗公共服务的职能,完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共服务质量,更好地发挥了医疗事业对经济社会发展的现实性作用。

    1.3 论文组织结构本文首先分析了系统的研究背景、研究意义,介绍了当前手机操作系统、卓手机的现实状况和发展趋势,以及本文的主要内容第二章,介绍了 Android 的特征、手机操作系统的发展状况、Android SDK 开发包以及 DICOM 3.0 标准此外还介绍了开发工具 JDK、Eclipse 的安装配置 第三章,介绍了系统的需求分析、设计特点,粗略介绍了医疗图像软件主要实现的功能:浏览、拖动、旋转和缩放第四章,介绍了系统的总体设计,包括系统机构图和系统功能模块第五章,介绍了系统的详细设计和功能的实现 共 58 页 第 2 页 装订线 2 系统开发环境及相关技术Android 是一个移动设备的软件平台,是由 Linux+Java 构成的开源软件,它提供包括 SDK、Key Apps、Middleware、Linux Kernel 四个部分在内的全套手机软件方案它开放了基于 Linux 内核以上的开发工具,从而保证了内容的可移植性和多样性Android 平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用2.1 Android 特征应用框架:用于开发可重用、可替代的组件。

    Dalvik 虚拟机:Android 采用的 Java 虚拟机是自主开发的代号为 Dalvik 的虚拟机技术,在保证 API 方面兼容的同时 Dalvik 针对移动手机进行了大幅优化,占用资源更小,运行效率更高内嵌浏览器:基于开源的浏览器网页排版引擎 WebKit优化的图形:强大的自定义二维图形库基于 OpenGL ES 1.0 标准的 3D 图形功能,在移动 3D 开发中有着至关重要的地位SQLite 数据库:SQLite 提供结构化的数据存储它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等多媒体支持:支持各种通用的音频、视频和静态图像格式,如 MP3、JPG、PNG等Open Core 是 Android 多媒体框架的核心,所有 Android 平台的音频和视频采集、播放的操作都是通过它来实现的通过 Open Core,程序员可以方便快速的开发出想要的多媒体应用程序GSM 技术:(依赖硬件)Global System for Mobile Communications,全球通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。

    蓝牙,EDGE,Android and WiFi:(依赖硬件)蓝牙和 Wi-Fi 都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率 GSM 演进技术Cameram,GPS,compass,andaccelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统它是由一个由覆盖全球的 24 颗卫星组成的卫星系统Compass 是一个开放源码的 Java 搜索引擎框架强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse IDE 的开发插件Eclipse 是个集成开放环境2.2 手机操作系统的发展状况Palm OS 是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的 共 58 页 第 3 页 装订线操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩Plam 在其它方面也还存在一些不足,如 Plam 操作系统本身不具备录音、MP3 播放功能等,但是可以通过加入第三方软件或硬件设备来实现。

    其代表性的产品有 Palm m505、Palm m500、Palm III 等Symbian 是一个实时性、多任务的纯 32 位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持 GPRS、蓝牙、SyncML 以及 3G 技术Windows mobile 系列操作系统是从微软计算机的 Windows 操作系统上变化而来的Windows mobile 系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快Windows mobile 系列操作系统包括 SmartPhone 以及 Pocket PC Phone 两种平台Pocket PC Phone 主要用于掌上电脑型的智能手机,而 SmartPhone 则主要为手上智能手机提供操作系统Linux 系统是一个源代码开放的操作系统由于其开源性,手机制造商可以根据实际情况开放自己的 Linux 手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。

    但是 Linux 操作系统也还存在一些不足,集成开放环境和基于 Linux 的产品与 PC 的连接性比较差等据 Gartner 最新数据显示,2010 年第二、三季度全球智能手机销售继续大幅增长,其中第三季度安卓占全球智能手机市场的 25.5%,仅次于塞班,成为第二大智能手机系统2010 第二、三季度与去年同期相比,增度分别是 15.4%及 22%,增势迅猛而塞班系统较 09 年的市场份额,尽管终端销量有大幅度提升,但增势下滑10%,形势非常严峻其他操作系统的表现则要平稳很多图 2-1 各种手机系统状况比较安卓是首款开源代码的操作系统,采用 Linux 内核,开放手机联盟(OHA)成员可以任意使用和修改安卓的 SDK 软件包系统的开源性使其具有良好的拓展性,一 共 58 页 第 4 页 装订线方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发” 与此相比,尽管2010 年 2 月,塞班基本完成开源工作,但由于代码臃肿,用户界面设计缺失,塞班的开源并无实际意义,错失发展良机据 Informa 预测,2012 年,安卓手机销量将超过诺基亚塞班手机,届时安卓将成为全球最大的智能手机平台。

    谷歌表示目前安卓手机每日平均激活量为 20 万部,销售速度加速上涨我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不争事实安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方此外,谷歌通过 OHA 联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善2.3 Android SDK 开发包介绍一、Android SDK 既 Android Software Development Kit,它提供了在 Windows/Linux/Mac 平台上开发 Android 应用的开发组件,包含了在 Android 平台上开发移动应用程序的各种工具集二、Android SDK tools a.Android 模拟器(Android Emulator(emulator.exe)运行在计算机上的虚拟移动模拟器,可以使用模拟器来在一个实际的 Android 运行环境下设计,调试和测试应用程序。

    b.集成开发环境插件(Android Development Tools Piugin for the Eclipse IDE 即 ADT)可以直接从 Eclipse 访问其他 Android 开发工具通过它可以进行包括截屏,管理端口转发(port-forwarding),设置断点,观察线程和进程信息它提供了一个新的项目向导(New Project Wizard),用于快速生成和建立起新Android 应用程序所需的最基本的文件它使得构建 Android 应用程序的过程变得自动化以及简单化 它提供了一个 android 代码编辑器,用于为 Android 的 manifest 和资源文件编写有效的 XMLc.调试监视服务(Dalvik Debug Monitor Service(ddms.bat)它集成在 Dalvik(Android 平台虚拟机)中,用于管理运行在模拟器或设备上的进程,并协助进行调试可以用它来去除进程,选择一个特定程序来调试,生成跟踪数据,查看堆和线程数据,对模拟器或设备进行屏幕快照等d.Android 调试桥(Android Debug Bridge(adb.exe)它用于向模拟器或手机设备安装应用程序的 apk 文件和从命令行访问模拟器或手 共 58 页 第 5 页 装订线机设备。

    也可以用于将标准的调试器连接到运行在 android 模拟器或手机设备上的应用代码 e.Android 资源打包工具(Andoird Asset Packing Tool(aapt.exe)可以通过 aapt 工具来创建 apk 文件,这些文件包含了 android 应用程序的二进制文件和资源文件 f.Android 接口描述语言(Android Interface Description Language(aidl.exe) 它用来生成进程间接口代码,在服务中便可用到 g.SQLite3 数据库(sqlit3(sqlite3.exe) Android 应用程序可以创建和使用 SQLite 数据文件,开发者和使用者也可以方便的访问这些数据文件 h.跟踪显示工具(Traceview(traceview.exe) 它可以生成跟踪日志数据的图形分析视图,这些跟踪日志数据由 android 因公程序产生 i.创建 SD 卡工具(mksdcard(mksdcard.exe) 它帮助创建磁盘镜像,这个磁盘镜像可以在模拟器上模拟外部存储卡 j.DX 工具(dx(dx.exe) 它将 class 字节码重写为 android 字节码(存储雨 dex 文件中)。

    k.生成 Ant 构建文件(activityCreator(activitycreator.bat) 它是一个脚本.用来生成 Ant 构建文件,Ant 构建文件用来编译 android 应用程序.若是在安装了 ADT 插件的 Eclipse 环境下开发则不需要这个脚本 l.Adnroid 虚拟设备(Android Virtual Devices AVD) 每个 android 虚拟设备(AVD)模拟了单一的虚拟设备来运行 android 平台,这个平台至少要包括自己的内核,系统图像和数据分区开发者可以创建并保存多种虚拟模拟器配置,每种配置环境有其自己的平台版本,硬件配置以及 SD 卡和用户数据,还可以有不同的显示外观等个性化设置,运行时只需要制定需要使用哪个即可实现多平台下的模拟测试3.Adnroid 核心包 android.util:包含一些底层的辅助类,例如,特定的容器类,XML 辅助工具类等 android.os:提供基本的操作服务,消息传递和进程间的通行 IPC android.graphics:作为核心的渲染包,提供图形渲染功能 android.text、 android.text.method、 android.text.style、 android.text.util 提供一套丰富的文本处理工具,支持富文本,输入模式等。

    android.database:包含底层 API 处理数据库,方便操作数据库表和数据 android.content:提供各种服务访问数据在手机设备上,程序安装到手机设备和其他的相关资源,以及内容提供展示动态数据 android.view:核心用户界面框架 android.widget:提供标准用户界面元素,lists,buttons,layout managers 等,是 共 58 页 第 6 页 装订线组成我们界面的基本元素 android.app:提供高层的应用程序模型,实现使用 Activity android.provider:提供方便调用系统提供的 content providers 的接口 android.telephony:提供 API 交互和手机设备的通话接口 android.webkit:包含一系列的工作在基于 web 内容的 API2.4 DICOM3.0 标准一、 什么是 DICOM?DICOM 是 Digital Imaging and Communication of Medicine 的缩写,是美国放射学会(American College of Radiology,ACR)和美国电器制造商协会(National Electrical Manufacturers Association,NEMA)组织制定的专门用于医学图像的存储和传输的标准名称。

    经过十多年的发展,该标准已经被医疗设备生产商和医疗界广泛接受,在医疗仪器中得到普及和应用,带有 DICOM 接口的计算机断层扫描(CT)、核磁共振(MR)、心血管造影和超声成像设备大量出现,在医疗信息系统数字网络化中起了重要的作用DICOM 是随着图像化、计算机化的医疗设备的普及和医院管理信息系统,特别是图像存档和通信系统(Picture Archiving and Communication System, PACS)和远程医疗系统的发展应运而生的当 CT 和 MR 等设备生成高质量的、形象直观的图像在医疗诊断中广泛使用时,由于不同的生产商不同型号的设备产生的图像各自采用了不同的格式,使得不同的设备之间的信息资源难以互相使用,医院 PACS 系统的实施具有很大的困难医疗信息系统随之带来许多新的问题: 如何存储数据量极大的图像并能有效地管理?不同生产商的设备能否直接连接?如何能够在不同的生产商设备之间能够共享信息资源?等等很明显这些问题的解决方法就是采用统一的标准为此,美国放射学会和美国电器制造商协会在 1983 年成立了专门委员会,制定用于医学图像存储和通信的标准,提供与制造商无关的数字图像及其相关的通信和存储功能的统一格式,以促进 PACS 的发展,并提供广泛的分布式的诊断和查询功能。

    ACR-NEMA1.0 版本于 1985 年推出,随后增加了新的数据元素并对部分内容进行修改,形成 2.0 版本由于认识到标准对网络支持的不足和标准本身存在的结构性问题,ACR-NEMA 结合当时的技术条件和方法对标准作了彻底的重新制定,在 1993年正式公布了新的版本,命名为 DICOM3.0与原版本相比,3.0 版本采用了面向对象的分析方法,定义了医学图像在存储和通信过程中的各种实体和关系,提供了对ISO-OSI(Inter-national Standard Organization-Open System Interconnection)和 TCP/IP (Transmission Control Protocol / Internet Protocol)的支持,使得在医学图像应用层上可以与其它通信协议栈直接通信而不需要重新编写程序考虑到技术的发展,标准采用了多部分的文档结构,对可能变化或扩充的部分以附录的形式提供,这样标准在更新时涉及面可以尽量小二、 标准中涉及的基本概念和定义 共 58 页 第 7 页 装订线DICOM 标准涉及到医学图像、数据通信、管理信息系统等领域,在标准中又采用了面向对象的描述方法和 E-R (Entity-Relation)模型,从而引入了大量的各专业方面的术语,给标准的阅读和理解带来困难。

    下面简要地将标准中涉及的常用的技术词汇和缩略语给予解释1. 实体(Entity):表示一个或一类有相同特性个体的应用对象在计算机系统分析中,凡是可以区别并被人们识别的事、物、概念等,都可以被抽象为实体实体一般具有若干特征,称为属性如:患者是一个实体,具有姓名、性别、年龄等属性图像也是一个实体,它有图像尺寸、图像数据等属性2. 联系(Relation):表示实体之间的相互关系如患者实体与分析实体之间存在着引用联系,打印机实体和胶片实体之间存在着打印的联系3. E-R 模型:描述现实世界的一种信息模型通过定义实体以及实体间的联系,表现系统的需求和功能通常以 E-R 图的方式表示在 DICOM 中,用方框表示实体,菱形表示联系,用带箭头或不带箭头的线段将实体(方框)与联系(菱形)连接表示它们之间存在联系这是面向对象的分析方法所采用的主要表示方法,是对客观世界的一种抽象4. 对象(Object):外部世界事物在计算机内部的表示,是事物属性值和处理方法的集合对象具有封装和继承的特征封装是指对象将属性和方法集合在一起,一般情况下只提供给自己和派生对象使用继承是指当一个对象是由另一个对象(父对象)派生出时,它就自动具有父对象所具有的属性和方法。

    面向对象的方法就是以对象技术为中心,分析系统中各种信息之间的关系,抽象出系统各层次的对象模型,给出准确的系统描述,并在计算机系统中给予实现应用面向对象的方法,可以提高开发效率,实现软件复用5. 信息对象定义(Information Ob-ject Definition,IOD):信息实体的抽象,是 DICOM 命令的作用受体6. 服务(Service): 某对象为其它对象或程序提供的功能当要求使用此功能时称申请服务,申请服务的对象称服务用户,而能完成该功能的对象是服务的提供者7. 服务对象对(Service Object Pair,SOP): DICOM 信息传递的基本功能单位包括一个信息对象和一组 DICOM 消息服务元素8. 协议:计算机网络中为保证能正确地传输数据而必须共同遵守的通信规则和格式9. ISO-OSI:国际标准化组织(ISO)所定义的开放系统互联(OSI)的七层网络参考模型作为一个严格的网络模型,对于计算机网络的研究和发展起了重要的作用,但是由于种种原因在实际中并未得到广泛的普及使用DICOM 标准在制定时,OSI 正是发展的高潮,因此也作为 DICOM 中主要的网络参考模型。

    10. TCP/IP: 是传输控制协议/互联网协议,它首先在 UNIX 系统中使用,随后成为计算机网络中不同种类计算机之间通信的主要通信协议,是互联网的基础三、 标准的组成 共 58 页 第 8 页 装订线DICOM 标准是经历了一个从无到有、从简单到复杂的发展过程在标准的制定过程中不断听取工业界、学术界、医疗界等各方面的意见和建议,注意标准的可扩充性和可扩展性,经历了 ACR-NEMA 1.0 和 2.0 的版本到目前的 DICOM 3.0 版本,标准的组成也在不断地加以补充,目前标准共有以下 14 个基本部分和扩充部分组成:第 1 部分:给出了标准的设计原则,定义了标准中使用的一些术语,对标准的其它部分给了一个简要的概述第 2 部分:给出了 DICOM 的兼容性定义和方法兼容性是指遵守 DICOM 标准的设备能够互相连接互相操作的能力由于 DICOM 标准内容庞大,功能复杂,包含面广,目前为止,还没有什么设备能够涵盖所有的 DICOM 功能,只是实现本设备必需的功能因此标准要求设备制造商必须给出本设备所支持的 DICOM 功能的说明,即兼容性声明原来第二部分是干这个用的呀,终于明白了)本部分标准内容定义了声明的结构和必须表现的信息,包含三个主要部分: a. 本实现中可以识别的信息对象集合; b. 本实现支持的服务类集合; c. 本实现支持的通信协议集合。

    标准没有规定兼容性实现的测试和验证的过程用户在采购 DICOM 功能的设备时,必须注意各设备的兼容性水平是否一致,否则各设备互连时会出现一些问题 第 3 部分: 描述如何定义信息对象,对医学数字图像存储和通信方面的信息对象提供了抽象的定义每个信息对象定义是由其用途和属性组成的为方便标准的扩充和保持与老版本的兼容,在 DICOM 中定义了复合型和普通型两大类的信息对象类普通型信息对象类仅包含现实世界实体中固有的那些属性复合型信息对象类可以附加上并不是现实世界实体中固有的属性如 CT 图像信息对象类既包含了图像固有的图像日期、图像数据等图像实体的属性,又包含了如病人姓名等并不属于图像本身的属性复合对象类提供了表达图像通信所需求的结构性框架,使网络环境下的应用更加方便第 4 部分:服务类的说明服务类是将信息对象与作用在该对象上的命令联系在一起,并说明了命令元素的要求以及作用在信息对象上的结果典型的 DICOM 服务类有查询 /检索服务类、存储服务类、打印管理服务类等服务类可以简单理解为 DICOM 提供的命令或提供给应用程序使用的内部调用函数这部分实际上说明的是 DICOM 消息中的命令流第 5 部分: 数据结构和语义,说明了 DICOM 应用实体如何构造从信息对象与服务类的用途中导出的数据集信息,给出了构成消息中传递的数据流编码规则。

    数据流是由数据集的数据元素产生的,几个数据集可以被一个复合数据集引用或包容一个复合数据集可以在一个“数据包”中传递信息对象的内容这部分着重说明的是有关 DICOM 消息中数据流方面的内容此外也定义了许多信息对象共同的基本函数的语义,即要求的条件、完成的结果、实现的功能等等第 6 部分:数据字典,是 DICOM 中所有表示信息的数据元素定义的集合在DICOM 标准中为每一个数据元素指定了唯一的标记、名字、数字特征和语义,这样 共 58 页 第 9 页 装订线在 DICOM 设备之间进行消息交换时,消息中的内容具有明确的无歧义的编号和意义,可以相互理解和解释第 7 部分:消息交换消息是由用于交换的一个或多个命令以及完成命令所必需的数据组成,是 DICOM 应用实体之间进行通信的基本单元这部分说明了在医学图像环境中的应用实体用于交换消息的服务和协议第 8 部分:消息交换的网络支持说明了 DICOM 实体之间在网络环境中通信服务和必要的上层协议的支持这些服务和协议保证了应用实体之间有效地和正确地通过网络进行通信DICOM 中的网络环境包括 OSI 和 TCP/IP 两种参考模型,DICOM只是使用而不是实现这两类协议,因而具有通用性。

    第 9 部分:消息交换的点对点通信支持说明了与 ACR-NEMA2.0 相兼容的点对点通信环境下的服务和协议它包括物理接口、信号联络过程以及使用该物理接口的与 OSI 类似的会话/传输/网络协议及其服务第 10 部分:用于介质交换的介质存储和文件格式这一部分说明了一个在可移动存储介质上医学图像信息存储的通用模型提供了在各种物理存储介质上不同类型的医学图像和相关信息进行交换的框架,以及支持封装任何信息对象定义的文件格式第 11 部分:介质存储应用卷宗,用于医学图像及相关设备信息交换的兼容性声明给出了心血管造影、超声、CT、核磁共振等图像的应用说明和 CD-R 格式文件交换的说明第 12 部分:用于介质交换的物理介质和介质格式它提供了在医学环境中数字图像计算机系统之间信息交换的功能这种交换功能将增强诊断图像和其它潜在的临床应用这部分说明了在描述介质存储模型之间关系的结构以及特定的物理介质特性及其相应的介质格式具体说明了各种规格的磁光盘,PC 机上使用的文件系统和 1.44M 软盘,以及 CD-R 可刻写光盘第 13 部分:点对点通信支持的打印管理定义了在打印用户和打印提供方之间点对点连接时,支持 DICOM 打印管理应用实体通信的必要的服务和协议。

    点对点通信卷宗提供了与第 8 部分相同的上层服务,因此打印管理应用实体能够应用在点对点连接和网络连接点对点打印管理通信也使用了低层的协议,与已有的并行图像通道和串行控制通道硬件硬拷贝通信相兼容第 14 部分:说明了灰度图像的标准显示功能这部分仅提供了用于测量特定显示系统显示特性的方法这些方法可用于改变显示系统以与标准的灰度显示功能相匹配或用于测量显示系统与标准灰度显示功能的兼容程度四 、应用 毫无疑问,DICOM 是医学图像信息系统领域中的核心,它主要涉及到信息系统中最主要也是最困难的医学图像的存储和通信,可直接应用在放射学信息系统(RIS)和图像存档与通信系统(PACS)中DICOM 也是研究和开发具有网络连接功能,实现信息资源共享的新型医疗仪器的技术基础医疗仪器在朝着自动化、智能化发展的同时,也在向着具有通信能力的遥控遥测和信息远程获取的网络功能发展,医疗仪 共 58 页 第 10 页 装订线器既是医疗信息系统中的信息源,又是系统中的信息使用者,是信息系统中的一个主要环节,网络化的医疗仪器对医学信息系统的重要性是不言而喻的DICOM 标准的另一个特点是它定义在网络通信协议的最上层,不涉及到具体的硬件实现而直接应用网络协议,因此与网络技术的发展保持相对独立,可以随着网络性能的提高而使 DICOM 系统的性能立即得到改善。

    DICOM 尽管提供了 OSI 的网络模型,但现在实际上网络绝大部分都是在 TCP/IP 协议下构成的,网络硬件采用的形式可以多种多样,如 100M 的双绞线 100Base-T,光纤 FDDI,综合业务数字网ISDN,T1 线路等,还有速度较低的 10 兆网 10Base-T 和电话线路只要设备具有支持 TCP/IP 协议的网络接口,在软件的支持下,就可以做到像 PC 机一样实现“即插即用” ,非常方便地加入到医学信息系统的网络中在这样的意义下,用 DICOM 实现的医疗信息系统,无论是 RIS 还是 PACS,都具有类似的结构 在采用 DICOM 标准的信息网络系统中,所有 DICOM 设备之间都可以按照 DICOM 的网络上层协议进行互相连接和操作临床医生可以在办公室查看 B 超设备的图像和结果,可以在 CT 机上调用核磁共振图像进行图像的叠加融合,也可以通过网络调用存储在其他医院的图像结果无论是本院、本地还是相距很远的外地,DICOM 设备都可以通过网络相互联系,交换信息由于提供了统一的存储格式和通信方式,普及 DICOM 标准,可以简化医疗信息系统设计,避免许多重复性的工作,加快信息系统的开发速度。

    对于实现无纸化、无胶片化的医院和远程医疗系统的实施将会起极其重要的作用2.5 开发工具安装与配置开发工具:eclipse-reporting-helios-SR2-win32,jdk1.6.0, Android SDK2.5.1 jdk1.6.0 安装双击下载的 jdk-6u23-windows-i586.exe,出现安装向导画面,单击“下一步”,到如图 2-2 所示界面 共 58 页 第 11 页 装订线图 2-2 jdk 安装向导选择“开发工具”,如果想要更改安装路径,可以单击更改,如果不想更改,可以直接单击“下一步”,1.6.0 版本开始安装开发工具,当安装将结束时,出现“Java 安装”提示对话框,单击“确定”后,出现安装完成,如图 2-3 所示图 2-3 安装完成单击“完成” ,出现“注册您的 JDK”网页,如图 2-4 所示如果想注册,则单击“注册我的 JDK” ,如果不想,则关闭网页图 2-4 JDK 注册网页2.5.2 jdk1.6.0 的环境变量配置在“我的电脑”图标上右击,选中“属性” ,单击后,出现“系统属性”对话框,选择“高级” ,如 2-5 图所示 共 58 页 第 12 页 装订线图 2-5 系统属性单击“环境变量” ,配置系统环境变量。

    配置“新建”JAVA_HOME=” C:Program FilesJavajdk1.6.0_23”如图 2-6 所示图 2-6 JAVA_HOME 环境变量配置单击“确定” ,单击“新建” ,配置CLASSPATH=“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar” ,如图 2-7所示图 2-7 CLASSPATH 环境变量配置单击“确定” ,选定双击 Path,在后面加上“%JAVA_HOME%bin;%JAVA_HOME%jrebin” ,如图 2-8 所示 共 58 页 第 13 页 装订线图 2-8 Path 环境变量配置单击“确定”后,完成配置2.5.3 Eclipse 安装成功安装 JDK 并配置好环境变量后,就可以运行 Eclipse.exeEclipse 工作界面如图 2-9 所示 图 2-9 Eclipse 工作界面2.5.4 Android SDK 开发包安装Android SDK 采用了 Java 语言,所以需要先安装 1.5.0 及以上版本直接下载JDK 安装文件安装,方便Android SDK 不用安装,下载后直接解压即可。

    将下载后的 SDK 的压缩包解压到适当的位置,SDK 就安装好了 共 58 页 第 14 页 装订线3 系统需求分析3.1 系统需求分析医学图像处理与分析技术可以给医生提供更清晰、更准确的信息,以利于疾病的诊断和鉴别诊断医学图像分割、医学图像配准以及三维可视化等算法是医学图像处理与分析发展的源动力,而基于这些算法研发的软件平台是医学图像处理与分析前进的加速器现有的医学图像处理与分析软件平台极大地便利了医学影像领域的研究者与应用者,大大加快了医学影像发展的步伐DICOM 格式的图像包含了大影像概念的所有医学图像 ,如 CT、MRI、DSA、CR、超声、核医学以及病理 ,内窥镜等医务工作者需要将这些图像作为科研和教学的内容使用由于图像格式的不同 (与常用的 JPEG、TIF、BMP 等图像格式不兼容 ) ,常用图像处理软件不能对其进行显示、处理、和转换一般需要由 PACS 将 16 位的DICOM 图像转换成 8 位的常用图像格式 ,但转换后的图像会产生信息丢失、图像质量下降等问题本系统主要用于医护人员,医生可以通过 Android 智能手机终端随时随地的了解到病人的病情状况,而且不存在上述所说的问题,并通过对医疗图像进行拖动、旋转、放大缩小操作对病人的疾病状况有更准确明白的了解,及时快速准确的提出病人的病情解决方案,使病人尽早得到及时有效的治疗,减少病人的痛苦并希望在一定程度上减低疾病带来的死亡率。

    从上面的描述中可以基本了解软件的功能需求:(1)显示界面:通过文字和图片显示当前的医学图像;(2)对医学图像进行拖动的功能;(3)对医学图像进行旋转的功能;(4)对医学图像进行缩放的功能 本系统研究目标:(1)了解 Android 应用程序的设计和开发过程;(2)使用多种组件进行 Android 手机平台医学图像软件的开发本软件是基于 Java 语言、Android SDK 开发包,运用 Eclipse 开发工具开发出了针对 Android 手机平台医学图像拖动、旋转、缩放的系统本系统响应速度快、准确率高、信息处理速度快3.2 系统功能分析根据方法论,任何矛盾的解决必须经过三个步骤:发现问题,分析问题和解决问题该系统的建设也不例外,其第一步是发现系统本身的问题域,也就是发现医疗图像处理软件需要解决什么问题,能做些什么,这就是挖掘需求对需求的挖掘,最重要的工作,就是对系统的功能进行解剖把一个复杂的系统分解成为一个个简 共 58 页 第 15 页 装订线单的功能点该软件主要提供以下功能:l)为用户提供医疗图像的显示:当用户启动程序后,能把文件夹 raw 下文件中存储的各种信息用图像的形式显示出来。

    2)为用户提供医疗图像的拖动: 该功能通过接受用户所做的操作指示,根据辨识结果,依据拖动算法,使图像达到相应的拖动效果3)为用户提供医疗图像的旋转:该功能通过接受用户所做的操作指示,根据辨识结果,依据旋转算法,使图像达到相应的旋转效果4)为用户提供医疗图像的缩放: 该功能通过接受用户所做的操作指示,根据辨识结果,依据缩放算法,使图像达到相应比例大小的缩小放大效果 共 58 页 第 16 页 装订线4 系统总体设计4.1系统结构图该系统主要有四个功能模块组成,系统结构图如图 4-1 所示图 4-1 系统结构图4.2 系统功能模块4.2.1 医疗图像的显示功能模块这部分模块实现的功能主要是 DICOM3.0 标准的医疗文件的图像的显示当用户启动程序后,能把文件夹 raw 下文件中存储的各种信息用图像的形式显示出来4.2.2 医疗图像的拖动功能模块这部分模块实现的功能主要是:在显示功能模块的基础上,对图像进行拖动操作,实现对 DICOM3.0 标准的医疗文件的图像的拖动该功能通过接受用户所做的操作指示,根据辨识结果,依据拖动算法,使图像达到相应的拖动效果4.2.3 医疗图像的旋转功能模块 这部分模块实现的功能主要是:在显示功能模块的基础上,对图像进行旋转操 共 58 页 第 17 页 装订线作,实现对 DICOM3.0 标准的医疗文件的图像的旋转。

    该功能通过接受用户所做的操作指示,根据辨识结果,依据旋转算法,使图像达到相应的旋转效果4.2.4 医疗图像的缩放功能模块这部分模块实现的功能主要是:在显示功能模块的基础上,对图像进行缩小放大操作,实现对 DICOM3.0 标准的医疗文件的图像的缩放该功能通过接受用户所做的操作指示,根据辨识结果,依据缩放算法,使图像达到相应比例大小的缩小放大效果综上所述,该软件系统主要由四个功能模块实现,分别是图像的显示、图像的拖动、图像的旋转、图像的缩放图像的拖动、 旋转、缩放功能都是在图像的显示功能基础上实现的 4.3 显示界面规划软件显示界面规划如图 4-2 所示 图 4-2 软件显示界面规划单个医疗图像显示界面规划如图 4-3 所示 共 58 页 第 18 页 装订线 图 4-3 单个医疗图像显示界面规划图软件启动后,进入图 4-2 所示的界面,实现 DICOM 标准的医疗文件图像的显示通过单触点点击,可由图 4-2 跳转到图 4-3 所示的界面基于图 4-3 所示的界面,通过单触点的移动可实现医疗图像的拖动功能并且基于图 4-3 所示的界面,通过双触点的移动缩放还可实现医疗图像的旋转和缩放功能。

    共 58 页 第 19 页 装订线5 详细设计与实现5.1 文件结构与用途在程序开发阶段,首先确定“Android 手机平台医疗图像处理软件”的工程名为 DICOMImageOperation,据程序模块设计的内容,建立 DICOMImageOperation 工程DICOMImageOperation 工程源代码的结构如图 5-1 所示 图 5-1 DICOMImageOperation 工程的源代码文件为了使源代码文件的结构更加清晰,DICOMImageOperation 工程设置了多个命名空间,分别用来实现对图像的各种操作、图像信息的存储,源代码文件的名称以及说如表 5-1 所示表 5-1 DICOMImageOperation 工程的文件用途说明包包 名名 称称文文 件件 名名说说 明明Xujialei.displayAction.java图像旋转缩放的 ActivityXujialei.displayTestDicomDisplay.java图像显示的 ActivityXujialei.displayDicomData.javaDicom 文件信息获取的ActivityXujialei.displayDicomDic.javaDicom 图像信息读取的ActivityXujialei.displayDicomFile.javaDicom 图像信息存储的ActivityXujialei.displayImageData.javaDicom 单个元素解读的Activity 共 58 页 第 20 页 装订线Android 的资源文件保存在/res 的子目录中。

    其中,/res/raw 目录中保存的是dicom 图像文件, /res/values 目录中保存的是用来自定义字符串的文件,/res/layout 目录中保存的是界面显示的 XML 格式的数据文件所有在程序开发阶段可以被调用的资源都保存在这些目录中5.2 系统实现显示界面设置,获得屏幕分辨率显示界面设计屏幕的高度和宽度,还需要扣除控件的高度实现功能代码如下:/* 取得屏幕分辨率大小 */DisplayMetrics dm=new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);displayWidth=dm.widthPixels;/* 屏幕高度须扣除下方Button高度 */displayHeight=dm.heightPixels;a0=a2=R.raw.a241;a1=R.raw.mrabdo;a3=R.raw.mrangio; layout1 = (AbsoluteLayout)findViewById(R.id.layout1);5.2.1 医学图像显示实现的过程 DCM 是比较常用的 DICOM 文件名后缀,直接就是一连串的数字或字符串命名的。

    DCM 文件从本质上说是一个关于信息体实例的数据集,主要包括患者、检查、序列和图像等信息文件的结构主要由文件头和文件结构像素数据两大部分组成,文件头又分为文件引言和数据集两部分,其中文件引言是由 128 个全部置为 00 的字节序列和一个长度为 4 个字节的字符串组成数据集是整个文件中信息量最大的部分,囊括了所有信息实体(患者、图像、检查等)的信息,结构也最为复杂,文件最后的图像数据表示像素,数据结构单一,因此解读文件实际上就是解读数据集功能实现代码如下: if(!jpeg_flag) tmpValue = new bytedicomData.getValue(7fe0,0010).length; System.arraycopy(dicomData.getValue(7fe0,0010), 0, tmpValue, 0, tmpValue.length); else TmpValue = new 共 58 页 第 21 页 装订线bytedicomData.getValue(fffe,e000).length; System.arraycopy(dicomData.getValue(fffe,e000), 0, tmpValue, 0, tmpValue.length); try bitmap=BitmapFactory.decodeByteArray(tmpValue, 0, tmpValue.length); catch(Exception e) System.out.println(ImageData.Exception: + e.getMessage() ); if(jpeg_flag) int k = 0; if(dicomData.isContain(0028,0004) & dicomData.getAnalyzedValue(0028,0004).trim().equals(RGB) rgbMode = true; for(int i=0;iheight;i+) for(int j=0;jwidth;j+) orgPixelk=bitmap.getPixel(j, i)&0 x00ff。

    点击阅读更多内容
    卖家[上传人]:16666666666
    资质:实名认证