使用Windows Mobile 5.0设备绘制医疗波形

目录

介绍

定义

适用范围


介绍

前段时间,我开发了一个用于医疗监控的原型实时监控控制台。这个技巧解释了我的工作。

定义

  • ECG意为心电图​​,表示心脏组织电活动的图表。
  • SPO2表示氧合血红蛋白饱和度,或简称为血液中氧气的百分比。对于一个正常休息的成年人来说,这可能是9599左右。
  • 呼吸意味着一次吸气和一次呼气。对于一个正常休息的成年人来说,这可能是每分钟1620次。

适用范围

生物医学监测器用于重症监护应用,在这些应用中,患者的重要器官功能会受到持续监测。如果这样的监控器将数据流式传输到Windows Mobile手机等手持设备,我们就可以实现随时随地的监控设备。这可以帮助医学专家在不离开座位的情况下立即监测任何患者。

当前的演示从静态整数数组中获取值。但是,我很快会将其移至蓝牙以绘制真正的实时数据。我自己在运行Windows Mobile 5.0i-mate K-JAM设备上测试了代码。但是,此代码应在任何PPC 2003兼容设备上运行。

该应用程序的工作非常简单,如下所述:

public partial class Form1 : Form
{   
    //create variables for storing current and previous points
    int x, p, q, r, y, px, pp, pq, pr, py = 0; 

    //create colored pens for drawing 
 
    Pen yelgpen = new Pen(Color.YellowGreen);
    Pen redpen = new Pen(Color.Red);
    Pen graypen = new Pen(Color.Gray);
    Pen blackpen = new Pen(Color.Black); 

    //fill the points to be plotted in integer arrays 
 
     int[] ECGArray = new int[] 

    { -5, -14, -10, -8, -9, -7, 0, 121, 108, -24, -34, -18, -19, -16, -19, -17, 
    -11, -11, -10, -1, 13, 33, 45, 47, 46, 37, 12, -12, -24, -23, -25, -21, -20, 
    -17, -19, -14, -12, -13, -12, -13, -8, -9, -5, -8, 10, 21, 19, 4, -10, 
    -11, -11, -12, -8, -12, 0, 121, 108, -24, -23, -18, -21, -16, -15, -14,  
    -10, -12, -7, 5, 26, 43, 46, 46, 41, 21, -1, -18, -24, -19, -22, -21,  
    -18, -18, -16, -13, -10, -12, -11, -8, -10, -8, -7, 0, 18, 24, 9, -7,  
    -13, -11, -9, -8, -10, 0, 121, 108, -24, -33, -17, -20, -19, -17, -14, 
    -13, -11, -8, 2, 19, 35, 47, 50, 43, 29, 7, -15, -29, -22, -25, -20,  
    -16, -19, -17, -16, -12, -11, -11, -10, -11, -9, -6, 0, 13, 23, 15, -2,  
    -11, -10, -10, -8, -7, -15, 0, 121, 108, -24, -20, -19, -20, -16, -12,  
    -14, -15, -11, -2, 12, 30, 41, 48, 44, 34, 16, -5, -21, -22, -21, -20,  
    -20, -13, -15, -15, -17, -14, -13, -9, -10, -10, -11, -8, 5, 23, 22, 4,  
    -9, -10, -12, -10, -10, -11, 0, 121, 108, -24, -28, -18, -19, -16, -16,  
    -16, -15, -13, -8, 4, 21, 39, 44, 46, 38, 45, 24, -1, -23, -28, -27, -25,  
    -20, -21, -18, -18, -14, -14};

     int[] SPO2Array = new int[]  
    { 10, 9, 9, 9, 9, 9, 9, 10, 12, 16, 20, 25, 31, 37, 41, 45, 47, 47,  
    46, 42, 38, 33, 27, 23, 20, 17, 15, 15, 16, 16, 18, 18, 19, 19, 18, 18, 17,  
    16, 15, 13, 13, 11, 11, 11, 10, 10, 9, 9, 9, 9, 9, 9, 10, 12, 16, 20, 25,  
    31, 37, 41, 45, 47, 47, 46, 42, 38, 33, 27, 23, 20, 17, 15, 15, 16, 16, 18,  
    18, 19, 19, 18, 18, 17, 16, 15, 13, 13, 11, 11, 11, 10, 10, 9, 9, 9, 9, 9,  
    9, 10, 12, 16, 20, 25, 31, 37, 41, 45, 47, 47, 46, 42, 38, 33, 27, 23, 20,  
    17, 15, 15, 16, 16, 18, 18, 19, 19, 18, 18, 17, 16, 15, 13, 13, 11, 11, 11,  
    10, 10, 9, 9, 9, 9, 9, 9, 10, 12, 16, 20, 25, 31, 37, 41, 45, 47, 47, 46,  
    42, 38, 33, 27, 23, 20, 17, 15, 15, 16, 16, 18, 18, 19, 19, 18, 18, 17, 16,  
    15, 13, 13, 11, 11, 11, 10, 10, 9, 9, 9, 9, 9, 9, 10, 12, 16, 20, 25, 31,  
    37, 41, 45, 47, 47, 46, 42, 38, 33, 27, 23, 20, 17, 15, 15, 16, 16, 18, 18,  
    19, 19, 18, 18, 17, 16, 15, 13, 13, 11, 11, 11, 10, 10, 10, 10 };

     int[] respArray = new int[] { 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52,  
    53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56,  
    56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58,  
    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 57,  
    57, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55,  
    54, 54, 54, 54, 54, 53, 53, 53, 52, 52, 51, 51, 51, 50, 50, 50, 49,  
    49, 49, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 45, 45, 44, 44, 44,  
    43, 43, 42, 42, 41, 41, 41, 40, 40, 39, 39, 38, 38, 38, 37, 37, 37,  
    36, 36, 36, 36, 35, 35, 35, 35, 34, 34, 34, 34, 34, 33, 33, 33, 33,  
    33, 32, 32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31,  
    31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 34,  
    34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 39, 39, 40, 40,  
    40, 41, 41, 42, 42, 42, 43, 43, 44, 44, 45, 45, 45, 45, 46, 46, 46,  
    46, 47, 47, 47, 47, 48, 48, 49, 49, 49, 49, 49, 49 };

现在,使用计时器让图形移动:

private void timer1_Tick(object sender, EventArgs e)
{     
 //we are drawing on the form itself
 Graphics g = this.CreateGraphics();

            //traverse through the points one by one to get moving graphs
            for (int i = 0; i < ECGArray.Length; i++)
            {
                //e.Graphics.DrawLine(pen, 10, 10, 100, 100);
                if (x > this.Width - 10)
                {
                    x = 0;
                    pp = 0;
                    pq = 0;
                    pr = 0;
                    px = 0;
                }
                x += 1;

                //draw ECG
                p = 70 - (ECGArray[i] / 6 + 50);
                g.DrawLine(yelgpen, px, pp, x, p);
                g.DrawLine(yelgpen, px, pp + 60, x, p + 60);
                g.DrawLine(yelgpen, px, pp + 120, x, p + 120);
                //draw SPO2
                q = ((SPO2Array[i] * -1) / 2 + 200);
                g.DrawLine(graypen, px, pq, x, q);
                //draw respiration
                r = (respArray[i] / 2 + 220);
                g.DrawLine(redpen, px, pr, x, r);
                //draw erasebar to erase previous content at current location
                g.DrawRectangle(blackpen, 0, 0, x + 1, this.Height);
                
                //store current point as previous point
                pp = p;
                pq = q;
                pr = r;
                px = x;            
            }
    }

不要忘记启用计时器。我已将定时器间隔设置为1ms以获得良好的扫描速度。

https://www.codeproject.com/Tips/14327/Drawing-Medical-Waveforms-using-a-Windows-Mobile-D

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Windows Mobile设备中心是一个用于Windows操作系统的应用程序,它允许用户将Windows设备连接到移动设备。该程序通常在Windows Vista和Windows 7系统中出现,并且在Windows 10系统中的使用可能会出现问题。 为了解决在Windows 10中使用Windows Mobile设备中心的问题,微软发布了一个Win10补丁。这个补丁通过更新Windows Mobile设备中心的兼容性,使其能够在Windows 10系统中正常工作。 这个Win10补丁只需要用户下载并安装即可,安装过程中可能需要重启计算机。用户只需在Microsoft官方网站上搜索“Windows Mobile设备中心Win10补丁”,即可找到下载地址。此外,用户也可以在Windows设备的官方网站上找到更多关于该补丁的信息。 总之,Windows Mobile设备中心Win10补丁是一个用于解决Windows 10操作系统中Windows Mobile设备中心使用问题的有效方法。用户只需按照提示下载并安装补丁,就能更方便地在Windows 10上连接并管理移动设备。 ### 回答2: 最近,Windows Mobile设备中心Win10补丁备受关注。而这个补丁主要是为了解决Windows10系统无法与Windows Mobile设备中心进行正常连接的问题。如果你的Windows10系统一直无法连接设备,也可以试试安装这个补丁,这有可能会解决你的问题。 安装这个补丁后,Windows Mobile设备中心就能够在Windows10系统内正常运行和连接了。用户能够在Windows10上同步文件、音乐、照片、应用等等,给用户带来了更好的使用体验。 不过需要注意的是,这个补丁是适用于Windows10 32-bit和64-bit的系统的,而且还要求系统版本大于1703。在安装之前,用户同样需要卸载现有的Windows Mobile设备中心,并重启电脑。 总之,这个补丁帮助用户解决了连接Windows Mobile设备的问题,并增强了系统和设备之间的兼容性,推动了用户体验更加智能化和便捷化的发展趋势。 ### 回答3: Windows Mobile 设备中心是一个桌面应用程序,用于连接 Windows 电脑与 Windows 移动设备,以便在两个设备之间同步数据、文件等内容。然而,对于 Windows 10 用户来说,由于操作系统的更新导致该应用程序无法正常工作,需要通过下载和安装一个补丁来解决这个问题。 该补丁的安装步骤很简单。首先,需要在 Microsoft 官方网站上下载名称为“Windows Mobile 设备中心驱动更新”的程序。安装该程序后,重启电脑并将 Windows 移动设备连接到电脑上。此时,应该能够正常通过 Windows Mobile 设备中心同步数据和文件了。 需要注意的是,该补丁目前仅适用于 32 位版本的 Windows 10。同时,如果在使用过程中出现问题,可以尝试重新连接设备或者重新启动电脑。如果问题依然存在,建议通过 Microsoft 支持网站联系技术支持中心解决问题。 总的来说,下载和安装 Windows Mobile 设备中心的补丁是解决在 Windows 10 中无法正常同步数据的有效方法。尽管下载和安装过程简单,但需要注意程序的适用范围和相关事项,以确保问题得到有效解决。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值