基于Android平台的脑电日常监护系统设计及实现∗

2018-07-31 02:06王萍萍梁晓峰邱本胜戴亚康郑以山
计算机与数字工程 2018年7期
关键词:脑电电信号监护

王萍萍 梁晓峰 刘 燕 张 晴 邱本胜 戴亚康 郑以山

(1.中国科学技术大学信息科学技术学院医学影像中心 合肥 230027)(2.中国科学院苏州生物医学工程技术研究所医学影像中心 苏州 215163)(3.西安交通大学软件学院 西安 710049)(4.南京第二医院重症监护科 南京 210003)

1 引言

近年来,随着人们生活方式和生活习惯的改变,大脑疾病已经成为威胁人类健康的主要原因之一,例如癫痫(Epilepsy),阿尔茨海默病(AD),肝性脑病等(HE)[1~2],人们对能够长期监护脑部疾病的医疗仪器需求日益增大。目前,检测脑部疾病的方式有很多,包括核磁共振(MRI)、计算机断层扫描(CT)、正电子断层扫描(PET)、脑电图(EEG)等。其中,脑电富含大量的大脑神经活动信息[3],其检测方法具有无创性、无辐射性、成本低廉和可长时间监护等优点,广泛应用于脑病的诊断、康复和其他脑科学研究[4~5]。

传统脑电监护系统普遍存在体积大、价格昂贵、不易搬动等局限性,并且需要专业医护人员操作,不适合长时间检测,也不利于患者自我日常监护[6]。同时,随着通信技术的发展,以及低成本、高性能的智能手机逐渐普及,为脑病患者日常的自我监护提供了契机[7]。本文依托可穿戴式技术与现代通信技术,提出了一种基于Android平台的脑电日常监护系统,其中,脑电监护APP可实现用户注册、登录、脑电信号读取、储存、历史查询、异常预警等移动端应用功能。

本系统实现了患者随时随地观测自身脑电波数据,掌握大脑的健康状态,当脑电异常时能够及时预警并通知亲人或医护人员,有效降低因救护不及时而导致的意外风险。此外,本系统为病人长期监护降低了成本,丰富了临床脑病研究的数据库,具有重要的社会意义和医疗价值。

2 系统整体结构

本穿戴式脑电日常监护系统整体结构如图1所示,包括穿戴式脑电采集模块、脑电处理模块、智能手机监护端、云端监护中心。首先,穿戴式脑电采集模块采用干电极技术对患者原始脑电信号进行采集,采集点在大脑的额极部位;然后,脑电处理模块对原始信号进行去噪、放大、AD转化、时频转换等处理;接着,利用蓝牙通信技术将数据传输到智能手机监护端,用户完成正常登录后,跳转主界面,完成脑电信号读取、储存、历史查询、预警等功能;最后,云端监护中心对读取到的脑电信号进行大数据分析与算法处理,实时对大脑健康状态进行评估,输出风险报告并反馈给智能手机监护端。

图1 系统整体框架

3 穿戴式脑电采集与处理

传统的脑电采集设备采用的是以湿电极为基础的多导联脑电极帽,此类设备体积大、专业性强、操作复杂,易带来皮肤不适感,因此,只能局限于医院或科研单位使用,并不适合患者日常佩戴。

本系统的硬件部分以穿戴式技术为基础,适合患者日常使用,主要包括脑电数据采集与数据处理两个过程。流程如图2所示,具体来说:1)脑电信号采集单元选用干电极作为脑电传感器[8],非侵入式的干电极佩戴简单、舒适,精度高,广泛用于穿戴式产品[9];2)脑电预处理单元选用NeuroSky公司的TGAM模块,它是一款专业的、消费级脑电处理模块[10],该模块经过信号的滤波、放大、模数转化等几个关键步骤,将干电极采集到的原始模拟信号转化数字信号;3)微处理器单元采用低功耗、高性价比的STC12LE5A60S2,其作为脑电信号处理的总指挥中心,主要完成脑电信号的特征参数提取、综合分析及硬件预警功能;4)无线通信模块采用超低功耗DX-BT05 4.0主从一体蓝牙模块,负责与An⁃droid平台的无线通信。

图2 脑电设备数据采集与处理流程

4 Android手机智能监护终端

智能手机的便携性与普及性为穿戴式实时监护系统的实现提供了必要条件。本系统基于An⁃droid Studio(AS)平台开发的智能手机监护APP,主要完成用户注册、登录、数据读取、数据储存、图形化显示、历史纪录、异常预警等移动端应用功能,下面将详细逐一阐述此APP的实现方法与过程。

4.1 开发平台

考虑到以Android系统为基础的智能手机占据着市场主导地位,且其具有开源性和免费性优势[11],本系统以Android Studio为开发平台,实现了穿戴式脑电实时监护系统中Android手机客户端的开发。Android Studio自推出以来得到了广大Android开发者的使用和认可,在多种场景中都有广泛的应用[12]。

一般来说,Android开发包括如下几个基本流程:1)配置Java环境,创建安卓设备,包括虚拟设备或者外界硬件设备;2)创建安卓项目,包括开发应用所用到的全部代码和资源文件;3)构建并运行程序;4)应用的调试及性能测试[13]。

4.2 APP总设计流程

本脑电监护智能APP设计流程如图3所示:1)首先,APP初始化,将脑电采集有关的第三方jar包和类添加到活动中、声明蓝牙适配器等;2)用户首次使用APP先进入注册界面,并将用户的注册信息存入数据库;3)进入用户登录界面,当输入的用户名、密码与数据库匹配时,进入主界面单元;4)用户主界面包括脑电常识、脑病常识、脑电数据读取、数据储存、图形化显示、历史查询、定位、异常预警等功能。

图3 脑电监护智能手机APP设计流程图

4.3 用户注册单元

对于新用户,只有先注册才能正常登录,用户注册界面如图4所示,需要注册如下信息:用户名、密码、确认密码、邮箱、年龄、身高、体重、性别。同时为注册按钮设置监听事件,注册成功后,将这些用户数据存在数据库中以便下次查询,同时APP界面显示“注册成功”。

4.4 用户登录单元

用户登录界面如图5所示,当输入的用户名、密码与数据库匹配时,才能进入用户主界面。登录方法设置了手动登录、腾讯QQ授权登录、自动登录三种,下面将逐一阐述实现方法。

手动登录:为“登录”按钮设置监听事件,用户在输入框输入账号和密码,检验输入的账号和密码与注册时数据库的信息是否匹配,当匹配时,flag返回值为ture,跳转主界面。同时若用户点击取消按钮,则启动finish()函数,退出当前登录程序。

腾讯授权登录:腾讯公司专门开放了相关的平台,提供了QQ、微信、腾讯微博、腾讯游戏等API,以便于个人用户和企业用户开发自己的第三方应用。授权需要向腾讯提出接口申请、获取接口ID和密码并将第三方jar包导入并集成到自己的APP中。当点击QQ登录按钮后,进入Tencent类的登录函数login(),若登录成功,login()函数调用mTen⁃cent.login语句执行qq校验登录操作。

自动登录:利用SharePreferences类实现登录界面“记住密码”和“自动登录”功能。SharePreferenc⁃es可以通过Editor对象来操作,步骤如下:1)利用context获取SharePreferences对象;2)根据edit()方法获取Editor对象;3)利用Editor对象储存数据;4)利用commit()方法提交数据。

图4 用户注册界面

图5 用户登录界面

4.5 用户主界面单元

用户正常登录后,则跳转主界面MainActivity,主界面如图6所示,这些模块有助于对脑病患者脑电波的日常记录、监护与康复,并在异常时及时预警。在本系统现阶段的工作基础上,逐一阐述各模块的实现方法。

会计信息化发展的一个必要前提是有一个构建完善的会计信息化共享平台。但是,我国现有水平还没有达到理想的程度。虽然会计行业利用云计算创建了平台,但是会计信息化平台需要更高的技术支持和资金投入。我国此领域起步较晚,相关技术不够成熟,一定程度上阻碍了会计信息化的发展进程。

4.5.1 脑电信号读取

脑电信号的读取是通过蓝牙无线传输技术完成的,读取界面如图7所示。当患者点击connect按钮之后,Android设备扫描并连接脑波采集设备,然后对采集设备上传的数据进行分类,提取有用的脑电信息。具体采集流程如下:1)在MainActivity创建一个Handler,用于处理从采集设备上传上来的数据;2)初始化并实例实例化一个tgDevice,调用其connect()方法,可以完成Android手机和脑波采集设备的连接。当连接成功之后,配置采集设备的参数;3)对采集设备上传的数据进行分类处理,来区分不同类型的采集数据。数据类型包括脑电原始数据、佩戴信号强度、眨眼强度、不同频段脑电功率等;4)数据采集时间即为数据上传到安卓设备的时间,通过调用安卓系统函数System.currentTimeMi⁃llis()来生成。

图6 用户主界面

图7 脑电信号读取

4.5.2 脑电信号保存

用一个Record按钮监听保存操作,当患者点击Record按钮之后,界面显示“开始纪录数据”,Re⁃cord按钮随即变成Stop,点击Stop按钮,页面跳转到如图8所示的保存界面,支持用户自定义选择保存路径与文件夹,同时支持创建新文件夹、文件名等。FileManageActivity用于实现文档保存界面,通过适配LocalFileAdapter把SD卡目录列表显示成图形化界面,方便患者查看;通过onCreateContext⁃Menu方法,生成一个上下文菜单;页面底部设有两个监听按钮,“添加”按钮会调用oncreateAlertDialog方法,弹出对话框,用于患者创建文件或者文件夹;点击“确定”按钮,则会结束当前文件操作页面,并把路径传给MainActivity,onActivityResult会监听到传递来的路径,进行文件的创建或者覆盖,之后调用输出流,把文件写入SD卡中。

4.5.3 脑电信号图形化显示

图形化的显示,使得普通用户也可便捷、清晰、一目了然地查询和了解脑电数据及其走势。如图9所示,APP绘制了两种图表供用户查看。脑电原始数据曲线图不断动态刷新,横轴为采集到的数据编号,纵轴表示数据值;不同脑波频域功率值柱状图,横轴为波段分布,纵轴为功率大小。表格的绘制使用了第三方框架MPAndroidChart,图表的noti⁃fyDataSetChanged和invalidate函数会监听到数据的变化,刷新图表视图。

图8 脑电数据保存

图9 信号图形化显示

4.5.4 历史纪录查询

历史数据查询功能,方便用户查看自己的大脑历史健康状况。历史查询界面如图10所示,图10(a)是历史纪录的图形化显示,点击图10(b)中最下面的添加按钮,用户可以在文件浏览页面选择自己的脑波数据,当用户选择了某一条保存的数据后,系统会自动将数据上传到远程服务器,远程服务器利用脑波诊断算法计算出用户当前的大脑健康状况并反馈给用户。包括:1)实例化HttpURLConnec⁃tion对象,用于管理网络请求和连接;2)实例化DataOutputSream对象,用于向服务器传输字节流;3)实例化FileInputStream对象,用于把缓存文件上传到服务器;4)远程服务器调用脑波分析算法分析用户上传的脑电波数据,得出用户的脑波健康状况,并将得到的结论保存在远程数据库中;5)当用户向服务器请求查看历史记录的时候,远程服务器会查询数据库,并把查询到的历史记录拼接成Json格式的字符串,传送到安卓端,安卓端使用第三方开源框架Xutils,对服务器返回的Json字符串进行解析,进而生成一张直观的历史数据列表,方便用户查看。

图10 历史查询界面

4.5.5 实时定位

实时定位界面如图11所示,在APP中加入了基于高德地图开放的API接口开发实时定位功能,用户可以查看自己当前的位置,并且可以进行周边搜索。引入定位功能,一方面为了方便用户查看自己的位置,另一方面,APP会自动保存用户的地址信息,如果用户需要发送紧急短信,系统会自动在短信中添加用户当前位置。实现方法如下:1)添加com.amap.api.maps.MapView控件并初始化;2)设置定位参数,包括监听、定位的类型等;3)amapLoca⁃tion.getAddress()获取到用户的当前位置;4)利用安卓的SharedPreferenecs来保存用户的定位信息。

图11 实时定位界面

4.5.6 异常预警与紧急联系人

当病人突发脑病时,若身边无亲人或医护人员是很危险的。因此,本实时脑电监护APP专门设置紧急联系人功能,可提前预置短信内容,界面如图12(a)所示。突发脑病时可以快捷打电话给联系人或者发送预置短信,结果如图12(b)所示。

图12 紧急联系人界面

5 云监护中心设计

云监护中心与智能手机平台通信,用于脑病算法实现、大脑健康预测,后台数据库。如图13所示,云监护中心采用大数据分析与个体数据相结合的算法,实时对患者的大脑健康进行评估,确定预警的阈值,实时输出健康报告并反馈给智能手机平台,让用户及时了解自己的大脑健康状态。将云监护中心接入医疗信息系统、科研机构信息系统,可方便建立患者的个人健康档案,实现脑电数据共享互通、提高健康管理的效率和精准度。

图13 云监护中心设计流程

6 结语

针对当前脑病监护系统专业性强、成本高、不便携带的不足,本文设计了一种基于Android平台的穿戴式脑电日常监护系统。本系统以Android智能手机作为监护终端,并依托穿戴式传感技术、无线通信技术,实现了患者在日常生活中的脑电实时监护,同时与云监护平台相结合,在健康管理、移动医疗、日常监护等工程实践领域均具有广泛的应用价值。

猜你喜欢
脑电电信号监护
认知控制的层级性:来自任务切换的脑电证据*
工作记忆负荷对反馈加工过程的影响:来自脑电研究的证据*
基于联合聚类分析的单通道腹部心电信号的胎心率提取
护娃成长尽责监护 有法相伴安全为重
儿童监护机器人设计
我国成年监护制度之探讨与展望
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
乒乓球运动员在经验相关图形识别中的脑电相干性分析
神奇的太阳