java 绘画心电图_用java程序读取心电图数据并绘制成图片

首先了解一下心电图纸的构成,首先背景是由1mm*1mm的小方格填充的。然后每5个小方格组成 一个大方格,像下面图所示就是心电图的一部分展示效果。心电图在上面绘制的时候 ,横向代表时间(s),纵向代表电压(mv)。

76459cd439aacf8ff789a535e4681a28.png

如果心电图进纸速度是25mm/s(大多数设备是这样的,其他速度也无所谓,后面根据这个参数计算就行了)

那么重点来了,我们知道在心电图数据中有一个increment参数,这个是步进的意思,一般是0.001秒。那么每次步进的距离就是25mm*0.001=0.025mm,如果我们每个小方格是1mm(也就是大方格是5mm),我们在绘制曲线的时候 ,x 轴每次移动就是0.025mm。但我们在计算机中的单位是像素,因此需要将每次的步进换算成像素。这里分两种处理方法介绍:

方法一使用分辨率:假如我们使用72像素/英寸的分辨率(这也是网页中常用的,打印机用的300的)。那么72像素/英寸换算成毫米的话就是72/25.4=2.83464像素(px)/毫米(mm),接着上面的步进计算每次步进距离为:0.025mm*2.83464px/mm=0.07像素(px)。也就是说每次绘制的时候x轴移动距离为0.07像素。(这时的小方格宽度是1mm=2.83464像素)

方法二:相对尺寸,我们假如定义小方格就是12像素(用它代表1mm的长度),那么每次步进的距离就是:0.025mm*12=0.3像素。

两种方式区别在于小方格的尺寸,如果不考虑打印的话,用方法二展示图片感觉更简单。

说完了x轴,下面看看y轴。

上面了解到increment参数影响了x 轴的步进,其实y轴也有一个类似的参数。我们命名为mm_Per_mV。它的作用就是代表纵向距离中一mv(毫伏)的高度是多少毫米。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值