1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: NMR(核磁共振)仪器控制软件开发 基于 DRAW2D 的 FID图和 Spectrum 图处理 姓 名: 学 院: 软件学院 系: 软件工程 专 业: 软件工程 年 级: 学 号: 指导教师: 职称: 年 月摘要 核磁共振产生的脉冲序列在时间域上的响应函数,被称为 FID(自由感应衰减 )信号。在计算机屏幕上,模拟 FID 信号得到的图形,称为 FID 图形。用计算机对 FID 信号, 进行傅立叶变换,可以得到频率域的核磁共振谱。在计算机上,模拟核磁共振谱得到的图形,称为 Spectrum图。 如何 高 效的显示和处理 FID 图和 Spe
2、ctrum 图,一直是核磁共振谱仪研制中的一个难题,因为 FID 图和 Spectrum 图的结构非常复杂,它们又包 含了坐标轴和网格等子图。另外为了提高用户与图形之间的交互性, 又需要 FID 图和 Spectrum 图具有高效的处理 用户 事件的能力。 本文的主要目的就是为了解决如何高效的显示和处理 FID 图和 Spectrum 图。为了实现这一目标,本文对 FID 图和 Spectrum 图做了详细 的需求分析。在此基础上,本文运用 JAVA 的最新技术 DRAW2D,架构了 FID 图和 Spectrum 图的层次结构, 用 DRAW2D 库设计了 FID 图和Spectrum 图的
3、类图 , 这为显示和处理 FID 图和 Spectrum 图提供了基础。另外,为了高效的显示和处理 FID 图和 Spectrum 图, 提高用户和图形之间的交互性, 本文介绍 了 几种矢量数据压缩算法,并设计和实现了一种新的矢量数据压缩算法 。 为了让 FID 图显示在屏幕上,本文实现了用户坐标系与设备坐标系的转换。 本文还简单的介绍了整个项目的需求分析和模块划分,对 FID 图和 Spectrum 图处理过程中用到的 JAVA 最新技术 SWT,JFACE, RCP, DRAW2D,SVN 也作了简单的介绍。 关键词 : 核磁共振 ; FID; Spectrum; DRAW2D; 矢量数据
4、压缩算法 Abstract The response function which The NMR(nuclear magnetic resonance) produces in the time domain is called FID (Free Induction Decay) signal. The graph which we simulate the FID signal on the computer screen is called FID graph. By computer, we carries on the Fourier transformation to the F
5、ID signal, then we can obtain the spectrum of the nuclear magnetic resonance in the frequency domain. On the computer, the graph which we simulate the spectrum is called the Spectrum graph. How effectively display and process the FID graph and the Spectrum graph is always a difficult problem in nucl
6、ear magnetic resonance spectrometer development, because both the FID graphs structure and the Spectrum graphs structure are extremely complex, they have contained subgraphs such as coordinate axis graph and grid graph. Moreover in order to enhance the communion between the user and the graph, the F
7、ID graph and the Spectrum graph needs to have the ability that can effectively process the users event. This thesiss main purpose is to solve the problem that how can we effectively display and process the FID graph and the Spectrum graph. In order to achieve this goal, this thesis has made the deta
8、iled demand analysis to the FID graph and the Spectrum graph. In this foundation, this thesis utilize JAVAs newest technical DRAW2D to build the hierarchical structure of FID graph and the Spectrum graph, and design the class diagrams of FID graph and the Spectrum graph. It provides the foundation o
9、f how to demonstrate and process the FID graph and the Spectrum graph. Moreover, in order to effectively demonstrate and process the FID graph and the Spectrum graph, and enhances the interaction between the user and the graphics, this thesis introduces several kinds of vector data compression algor
10、ithm. In addition to that,it designes and implements a new kind of vector data compression algorithm. In order to display the FID graph and the Spectrum graph on the screen, this thesis implements the transformation between the user coordinate system and uquipment coordinate system. This thesis also
11、 simply introduces the demand analysis and the module division of the entire project, Moreover, this thesis makes a simple introduction of JAVAs newest technology such as SWT, JFACE, RCP, DRAW2D that we use during the process of FID graph and the Spectrum graph. Key words: NMR; FID; Spectrum; DRAW2D
12、; VDCA(Vector Data Compression Algorithm) 目录 第 1 章 引言 . 1 1.1 课题背景及研究意义 . 1 1.2 本文工作内容 . 1 第 2 章 系统开发环境 . 3 2.1 本文开发环境 . 3 2.1.1 开发工具介绍 . 3 2.1.2 其他 . 5 2.2 JAVA 新技术简介 . 5 2.2.1 SWT. 5 2.2.2 JFACE . 7 2.2.3 RCP . 7 2.2.4 DRAW2D . 8 第 3 章 系统设计 . 11 3.1 需求分析 . 11 3.2 系统流程图 . 12 3.3 系统模块划分 . 12 3.3.1 系
13、统模块的定义 . 12 3.3.2 系统模块的关系 . 15 3.4 使用 RCP 开发系统界面 . 16 第 4 章 FID 图和 Spectrum 图处理 . 24 4.1 需求分析 . 24 4.1.1 FID 图的定义 . 24 4.1.2 Spectrum 图的定义 . 24 4.1.3 图形 (FID 图、 Spectrum 图 )基本操作 . 25 4.1.4 坐标系转换 . 26 4.1.5 矢量数据压缩算法 . 28 4.2 功能要求 . 34 4.2.1 FID 图处理的功能需求 . 34 4.2.2 Spectrum 图处理的功能需求 . 38 4.3 使用 DRAW2D
14、 搭建图形框架 . 39 4.4 详细设计 . 40 4.5 模块实现 . 44 第 5 章 总结 . 47 致 谢 . 48 参考文献 . 49 Contents chapter 1. Introduction . 1 1.1 Backgrounds and research significance of this thesis. 1 1.2 Contents of this thesis. 1 chapter 2. System development environment . 3 2.1 Development environment of this thesis . 3 2.1.1
15、 Introduction of development kits . 3 2.1.2 Other conditions . 5 2.2 Introduction of newest JAVA technologies . 5 2.2.1 SWT. 5 2.2.2 JFACE . 7 2.2.3 RCP . 7 2.2.4 DRAW2D . 8 chapter 3. System design . 11 3.1 Software demand analysis . 11 3.2 System flow chart . 12 3.3 Software module division. 12 3.
16、3.1 Definition of system modules . 12 3.3.2 Relationship of system modules . 15 3.4 Software surface design by RCP . 16 chapter 4. FID graph and Spectrum graph processing . 24 4.1 Analysis of software demand . 24 4.1.1 Definition of FID graph. 24 4.1.2 Definition of Spectrum graph . 24 4.1.3 Basic p
17、rocessing of graph. 25 4.1.4 Transformation of Coordinate system . 26 4.1.5 Vector data compression algorithm . 28 4.2 Function request . 34 4.2.1 Function request of FID graph . 34 4.2.2 Function request of Spectrum graph . 38 4.3 DRAW2D framework . 39 4.4 Detailed designment. 40 4.5 Realization of
18、 this module . 44 Chapter 5. Conclusions . 47 Acknowledgements . 48 References . 49 NMR(核磁共振)仪器控制软件开发 基于 DRAW2D 的 FID 图和 Spectrum 图处理 1 第一章 引言 1.1 课题背景及研究意义 核磁共振技术早期仅限于原子核的磁矩、电四极矩和自旋的测量,随后则被广泛地用于确定分子结构,用于对生物在组织与活体组织的分析、病理分析、医疗诊断、产品无损检测等诸多方面。还可以用来观测一些动态过程(如生化过程、化学过程等)的变化。 其突出优点有:速度快、绿色环保、对操作人员的健康没有影响
19、。 核磁共振的基本原理是 :是将 物质放在 特殊的磁场中,用无线电射频脉冲激发 物质内的原子核 ,引起原子核共振,并吸收能量。在停止射频 脉冲 后, 原子核按特定频率发出射电信号,并将吸收的能量释放出来,被体外的接受器收录,经电子 计算机 处理获得图像 。通过对图像的分析,可以获取物质的相关性质。 为贯彻落实国家中长期科学和技术发展规划纲要( 2006-2020 年),提升国产科学仪器设备的市场竞争力,增强科研自主装备能力,有效支撑我国科技自主创新 和经济社会发展,2006 年初科学技术部向全国各界征集“十一五”科学仪器研究开发项目建议。科技部共收到842 份建议,经充分凝练,召开 20 多次
20、会议征求 300 多位专家意见,历时十个月,最后确定“十一五”前三年精选 13 个课题为重点攻关内容,“ 300MHZ500MHZ 核磁共振波谱仪的研制”为其中之一。 该课题目标是:“从自主创新研究核磁共振波谱仪核心技术入手,发展核磁共振应用软件,系统集成核磁共振波谱仪,建立国家核磁共振波谱仪研制平台,提高和增强核磁共振及相关领域的持续创新能力和国际竞争力。” 目前, 国家在该领域的 研究仍然属于空白,国内核磁共振领域的研究都是依赖国外几家大厂商生产的核磁共振设备。尽管我国已进口 350 多台谱仪,总价值超过一亿美元,却依旧远远无法满足科研需求,这种局面显然已成为自主创新的桎梏, 这种局面显然
21、已成为自主创新的桎梏,迫切需要 在国家中长期科学和技术规划纲要指引下探询一条实现核磁共振谱仪研 -学 -产相结合的道路,实现核磁共振谱仪自主创新与集成。 1.2 本文工作内容 本论文以 核磁共振控制软件的开发 为背景, 讨论如何高效的显示和处理 FID图和 SpectrumNMR(核磁共振)仪器控制软件开发 基于 DRAW2D 的 FID 图和 Spectrum 图处理 2 图的难题。本文一共有 5 章,第 1章为引言,介绍了项 目的背景和研究意义;第 2章概述了系统的开发环境,并且对本文使用的 JAVA 最新技术 :SWT、 JFACE、 RCP、 DRAW2D 和 SVN 做了一个简单的介
22、绍;第 3 章分析了核磁共振控制软件的系统需求和模块划分,简单的介绍了整个项目;第 4 章是本文的重点,分析和研究了 FID 图和 Spectrum 图的显示和处理过程,用DRAW2D 技术分析了 FID 图和 Spectrum 图的图形层次,并且用这项技术实现了对 FID 图和Spectrum 图的显示和处理。为了能高效的显示 FID 图和 Spectrum 图,本文第 4 章介绍了矢量数据压缩算法,它主 要用于对 FID 数据进行压缩。另外,为了能够让 FID 图和 Spectrum 图显示在屏幕上,第 4 章还介绍了如何在用户坐标系和设备坐标系之间的转换。本文第 4 章将通过需求分析,功能需求,使用 DRAW2D 搭建图形框架,详细设计,和模块实现 5 个小节来说明 FID 图和 Spectrum 图的实现;第 5章总结了本文遇到的难题和解决方案。本文通过上述 5章内容,解决了如何高效的显示和处理 FID 图和 Spectrum 图的难题。