JFR JMIR表格 形成性研究 2561 - 326 x 卡塔尔世界杯8强波胆分析 加拿大多伦多 v6i6e36687 35749160 10.2196/36687 原始论文 原始论文 量化疼痛的数字身体图:一种生成疼痛频率图的算法的开发和应用 Mavragani 孤挺花 Beissner 弗洛里安 D 迪克西特 阿布 理学学士(荣誉),理学硕士 1
麻醉科 医学系 剑桥大学 希尔路阿登布鲁克医院93号包厢 剑桥,cb20qq 联合王国 44 1223217转889 ad825@cam.ac.uk
https://orcid.org/0000-0001-9543-5901
迈克尔 MBBS, FRCA, PhD, FFPMRCA 1 https://orcid.org/0000-0002-5838-2916
麻醉科 医学系 剑桥大学 剑桥 联合王国 通讯作者:Abhishek Dixit ad825@cam.ac.uk 6 2022 24 6 2022 6 6 e36687 20. 1 2022 27 4 2022 12 5 2022 16 5 2022 ©Abhishek Dixit, Michael Lee。最初发表于JMIR Formative Research (https://formative.www.mybigtv.com), 2022年6月24日。 2022

这是一篇在知识共享署名许可(https://creativecommons.org/licenses/by/4.0/)条款下发布的开放获取文章,该许可允许在任何媒体上不受限制地使用、分发和复制,前提是原始作品首次发表在JMIR Formative Research上,并适当引用。必须包括完整的书目信息,到https://formative.www.mybigtv.com上原始出版物的链接,以及版权和许可信息。

背景

疼痛是一种不愉快的感觉,预示着潜在的或实际的身体伤害。身体疼痛的位置可以通过手绘在2D或3D(人体模型)表面地图上进行交流和记录。徒手疼痛图通常是有效疼痛问卷(例如,简短疼痛清单)的一部分,并使用未划分身体轮廓的2D模板。对图纸的同时分析可以生成疼痛频率图,这在临床上对于识别疾病中常见疼痛的区域是有用的。基于网格的方法(将模板划分为单元格)允许轻松生成疼痛频率图,但是网格的粒度会影响数据捕获的准确性和最终用户的可用性。无网格模板规避了与网格创建和选择相关的问题,并为最类似于纸质图纸的图纸提供了公正的基础。然而,绘制区域的精确捕获在制作疼痛频率图方面提出了相当大的挑战。虽然基于web的应用程序和基于移动的应用程序可以广泛地用于手绘数字绘图,但缺乏从无网格绘图生成疼痛频率图的工具。

客观的

我们试图提供一种算法,可以处理任意数量的无网格2D身体模板上的手绘图,以生成疼痛频率图。我们设想在临床或研究环境中使用该算法,以促进疾病诊断或疾病之间人类疼痛解剖学的细粒度比较,或作为指导监测或发现治疗的结果指标。

方法

我们设计了一个基于网络的工具,使用无网格2D身体模板捕获徒手疼痛图。每个绘图由重叠的矩形(可缩放矢量图形)组成 <矩形>元素)通过在主体模板的同一区域涂鸦创建。在Python中开发并实现了一种算法来计算矩形的重叠并生成疼痛频率图。从2个临床数据集获得的图纸上证明了该算法的实用性,其中一个是临床药物试验(ISRCTN68734605)。我们还使用重叠矩形的模拟数据集来评估算法的性能。

结果

该算法生成了代表身体模板上唯一位置的非重叠矩形。每个矩形都有一个重叠频率,表示在该位置有疼痛的参与者的数量。当转换成HTML文件时,输出可以在web浏览器上呈现为疼痛频率图。输出矩形的布局(垂直-水平)可以根据主体区域的尺寸来指定。输出还可以导出为CSV文件,以便进一步分析。

结论

虽然需要在更大的临床数据集中进一步验证,但目前形式的算法允许从任何2D身体模板上的任意数量的手绘图生成疼痛频率图。

可缩放矢量图形 SVG 痛苦画 疼痛的位置 身体疼痛图 重叠计算 热点图 疼痛频率图 算法
介绍 背景

疼痛是一种不愉快的感觉,表明身体部位可能或已经受到伤害[ 1]。疼痛的位置可以通过绘制到身体模板(例如,简短疼痛清单[ 2])。疼痛图已经在临床和研究中使用了几十年[ 3.]。Jang等[ 4研究报告显示,患者更有信心通过绘图的形式与临床医生交流疼痛的位置,而不是书面描述,临床医生也更喜欢绘图而不是书面描述。数字技术现在已经司空见惯,并规避了与疼痛图的处理和存储相关的问题;因此,疼痛图现在被广泛地以数字图像的形式获取[ 5]。许多基于网络的应用程序和移动应用程序提供数字疼痛模型,包括商业和学术[ 6]。大多数数字疼痛模型使用2D模板,这是人体的全身冠状或矢状视图。2D或3D表面模板通常有性别和体型的选择[ 7- 9]。一个典型的数字疼痛假人包括一个身体模板和自我解释的说明,告诉病人如何指出他们最不舒服的位置。

疼痛频率图是通过同时分析所有数字疼痛图来计算参与者共有的疼痛位置而生成的。为了帮助可视化,这些地图还使用颜色代码来根据它们在被研究样本中出现的频率突出显示身体上的位置。这种图谱在临床上对于确定感觉通常与疾病解剖有关的部位是有用的[ 10 11]以及影响病理主观定位的因素。这些图谱在慢性原发性疼痛综合征中可能是最重要的[ 12],在没有疾病的情况下,由疼痛的部位来定义(例如,慢性背痛)。

生成疼痛频率图的难易程度主要取决于所使用的身体模板的性质。身体模板的解剖位置已预先设定及界定[ 7 13,疼痛图很快就完成了,捕获的数据是二进制的,其中 1表示选择项,和 0表示没有选择。因此,疼痛频率图的生成相对简单,因为只需要推断选择每个位置的参与者的数量[ 14]。然而,由于像素(即x-y坐标,代表身体模板的最小可能分区)被预先分配到更大(因此更少)的解剖区域(例如,协作健康结果信息注册中心[CHOIR]身体模板有74个分区可单击[),因此空间分辨率的损失,这种频率图可能无法完全捕获带下划线的疼痛空间模式。 7])。此外,必须假设疼痛的解剖位置与临床相关或重要。

徒手画的疼痛图,使用身体模板与未划分或空白的身体轮廓,是公正的。一些支持手绘的身体模板使用带有预定义细胞数量的网格(例如,带有3D身体模板的geoain应用程序使用2026个细胞的网格[ 9曼彻斯特数字疼痛人体模型使用了由12800个细胞组成的网格作为其2D身体模板[ 15])。的 网格- 基于模板还允许轻松生成疼痛频率图,因为每个位置(一个细胞)本质上是二进制的,要么被选中,要么不被选中。然而,由于身体模板有各种形状和大小[ 5], body区域的长宽比(宽度与高度的比率)也会发生变化,因此无法标准化网格(no . 1) 放之四海而皆准的).必须评估每个主体模板的最佳网格粒度(分辨率)。网格的粒度决定了最终用户的体验和捕获数据的准确性[ 15]。

网格- 免费的身体模板,顾名思义,克服了网格的创建和选择的问题,为最像纸质图纸的疼痛图提供了一个无假设的基础。可点击位置的数量约为数千个(取决于铅笔的大小)。此外,参与者可以选择在同一位置重复绘画,类似于使用笔和纸的情况。精确捕获绘制的区域,以及没有预定义的位置(细胞),对生成疼痛频率图提出了相当大的挑战。无网格模板上的绘图需要复杂的像素级分析才能生成疼痛频率图,而生成此类图的工具缺乏或无法免费获得[ 16- 18]。

目标

在本文中,我们描述了一种新颖且无偏的算法,专门用于从一般2D全身模板上的徒手疼痛图生成空间疼痛频率图。我们还评估了该算法的Python脚本的性能,并通过从2个临床数据集获得的疼痛图生成疼痛频率图来演示其实用性。

方法 创建数字人体模板(人体模型)

人体的图像轮廓(或模板)嵌入到HTML页面中,以创建数字身体模板(人体模型)来捕获疼痛位置的绘图。

身体模板的响应性(即,突出显示或放大或缩小一个区域的能力)需要向量,这些向量使用线、点和形状来表示身体的不同区域(边界)。使用可缩放矢量图形(Scalable Vector Graphics, SVG),一种基于xml的语言,可以显示矢量并创建响应式主体模板。

通过插入基本的SVG元素(如圆形和矩形),可以将疼痛的位置记录在任何身体模板上。通过将这些形状的位置和大小指定为核心属性来插入它们。例如,圆需要坐标( 残雪 cy)和半径( r),矩形需要坐标( x y)的左上角与 宽度 高度。除了核心属性之外,SVG元素还可以包含与样式相关的属性(例如,填充、可见性和不透明度)和任意数量的带有前缀的自定义属性 数据-(例如,数据区域和数据日期插入)。

在SVG中可以创建圆形和矩形元素:

我们使用了SVG <矩形>元素来记录疼痛的位置,因为两个矩形的交集总是一个矩形(一致的几何形状),这是算法运行所必需的。

我们下载了一幅无性的人体轮廓图(TIFF),它是改编自亨利·海德爵士早期作品中最古老的模板之一[ 19]。该图像有人体的4个二维视图:冠状面(前后)和矢状面(左右)。对图像进行修改,划分出4个不重叠的区域:正面、侧面头部(右)、侧面头部(左)和背面。用来制作区域 可点击的,使用Inkscape Editor(1.1版)对身体图像进行矢量化并转换为SVG [ 20.]。矢量化产生了4个矢量(bezergons),其中每个矢量都有一个相关的边界框,它是包围矢量上所有点的最紧密的拟合矩形( 图1).

为了便于从身体疼痛部位的绘图中获取数据,我们首先开发了 身体疼痛图一个基于linux - apache - perl - mongodb基础设施的工具。该工具的HTML5网页由两列布局组成,其中右列嵌入SVG主体模板,左列包含7个javascript驱动的控件元素( 图2),分别是(1)矩形笔尖的大小( <选择>元素有3个选项,小,中,大,表示尺寸的红色方块:10,30和60)。最小正方形的尺寸基于身体模板(例如,小指)上的最小宽度,(2)放大( < >按钮元素)以允许更近的视图,(3)缩小( < >按钮元素)以允许更宽的视图;(4)Erase ( < >按钮(5)撤消橡皮擦( < >按钮元素)重述先前删除的记录,(6)clear ( < >按钮元素)删除所有录音,以及(7)提交( < >按钮元素)提交图纸以存储在MongoDB数据库中,以便进行分析和重建。可以提交一个空白的身体模板(例如,当参与者没有身体疼痛可画时)。

为了使身体疼痛图作为基于web的工具易于访问,我们将HTML文档放置在运行启用了安全套接字层(SSL)的Apache HTTP web服务器的安全Linux机器上( 图3).此工具可透过网页[ 21]并在现代网络浏览器(如Google Chrome、Mozilla Firefox和Microsoft Edge)上进行了测试。

人体模板(人体模型)显示4个区域。包围每个区域的最紧密的矩形(边界框)以黑色显示。

两栏布局的HTML网页。左列包含所有控件元素(按钮),右列包含Scalable Vector Graphics主体模板。参与者可以点击模板上的任何地方(分为4个区域)来定位他们的疼痛;这里展示的是一幅身体区域的疼痛图,它由不同大小的重叠正方形(相同宽度和高度的矩形)组成。这些图纸被输入到算法中。

每个参与者通过他们的网络浏览器安全地访问身体疼痛图工具。疼痛图被捕获并存储在MongoDB数据库中。疼痛记录的样例JSON文档(表示可伸缩矢量图形元素)作为示例显示,其核心属性为红色。

疼痛频率图生成算法的研究 概述

疼痛频率图是由参与者用矩形笔尖在给定的身体模板上绘制的几幅图叠加而成的。每个参与者的画表明疼痛在身体上的位置,可以由多个重叠的矩形组成。当所有绘图叠加时,矩形重叠的程度令人感兴趣。描述的算法 重叠计算算法Section生成一个疼痛频率图,表示参与者图纸之间矩形中重叠的比例。默认情况下,重叠比例较高的区域(即疼痛更常见的区域)颜色较红。重叠较少的区域呈现较少的红色。白色的区域是主体模板中没有参与者绘制的区域。

重叠计算算法

重叠计算算法的关键步骤是(1)数据分解,(2)创建分区,(3)合并分区创建无重叠矩形,(4)优化无重叠矩形。

数据分解

2D重叠计算的第一步是在给定的2D身体模板上分解来自所有参与者图纸的源数据。

T为参与者总数, P(|P|≤T)为所有参与者的字符串集合, R的所有参与者中可见且唯一的矩形集合 前面区域,和作为集合R的指标集,我们假设P中的所有参与者每人贡献一张图,并且由于每个参与者的图至少包含一个矩形,我们将矩形(指标)与参与者之间的关系定义为满射函数 rectToParticipant

假设每个矩形都有属性 x(左上角的x坐标), y(左上角y坐标), w(宽度) h(高度)我们用函数沿着x轴和y轴分解矩形 coordX coordY

创建分区

在这一步中,我们沿着x轴和y轴创建不重叠的分区。每个分区是一个大小不等的间隔窗口,表示由至少一个矩形包围的区域。

E是域和 C(集合族)是函数的值域 coordX coordY取决于坐标轴。

这个函数 分区对于沿着x和y轴创建分区,定义如下:

合并分区以创建不重叠的矩形

这个步骤包括合并X和Y分区(不重叠的间隔窗口)来创建不重叠的矩形。

Px Dx的定义域和值域 partitionX Py Dy的定义域和值域 分区。

我们定义 O(一组参与者的家庭 P)作为所有重叠部分的集合。这个函数 rectToParticipant用于将矩形映射到它们相应的参与者。

对于任何 o o O)一组不重叠的矩形 R 那么可以定义为

每一个元素 R 对象中唯一的、不重叠的位置 前面区域的重叠频率| 0 |或比例由

优化非重叠矩形

在前面的步骤中,我们生成了不重叠的矩形,其中一些可能是相邻的。

这一步描述了对所有观察到的重叠部分( O).合并矩形很重要,主要有两个原因:(1)优化矩形的尺寸(即尽可能宽或长)和(2)减少输出文件(SVG)的大小,以便web浏览器有效渲染。

r1 r2 是与重叠部分相关联的2个不重叠的矩形 o o O).

这两个矩形 r1 r2 有资格进行水平或垂直合并,前提是满足以下条件之一。

水平合并产生更宽的矩形,而垂直合并产生更长的矩形( 图4).

算法的输入和输出说明。(A) A、B和C是在身体模板上画了重叠的红、蓝、绿矩形的个体。(B)这些重叠的矩形输入到算法中。输出是11个不重叠的矩形(水平布局),在括号中命名为1到11。每个矩形代表一个位置与疼痛的比例。例如,A(1) = 1/3, AB (3) = 2/3, ABC(6) = 3/3。(C)这显示了垂直布局中算法的输出。可以根据疼痛的位置选择布局(水平或更宽的矩形或垂直或更长的矩形)。对于腿部来说,当布局是垂直的时候,矩形可能会更好地可视化,而对于腹部区域来说,水平布局是首选。(D)当输入是由一个人绘制的单幅图时,算法输出的插图(a, B和C是同一个人)。 In this case, the output is simply 5 nonoverlapping rectangles instead of 11 each with a proportion of 1.0. (E) A, B and C are individuals who have drawn red, blue and green rectangles that overlap in a nested fashion, on a body template. These nested rectangles when inputted to the algorithm produce 9 nonoverlapping rectangles, with (F) showing the horizontal and (G) showing the vertical layout. (H) The demonstration of the output (ie, 1 nonoverlapping rectangle) when the input is a single drawing consisting of nested rectangles. This tends to occur when the individual elects to switch between pencil (tip) size: small, medium and large.

算法分析管道构建

为了实现重叠计算算法,我们在Python编程语言版本3.9中开发了一个命令行工作流[ 22],其中包括进一步描述的3个步骤(脚本)。脚本可以以顺序或管道模式运行(使用命名管道命令“|”)。每个脚本执行一个特定的操作,并接受命令行选项和参数形式的参数。这些脚本使用一些核心Python模块,这些模块负责读取命令行参数、解析和验证要处理的SVG,并为工作流中的后续步骤生成输出。以下脚本可通过联系AD获取:

extract_data.py:此脚本仅在疼痛图最初保存为SVG文件(每个参与者一个文件)时使用。脚本提取所有疼痛记录,表示为 <矩形>具有相同宽度和高度属性的元素。该脚本生成CSV输出。输出中的列是(1) 参与者:图纸标识符;(2) x:矩形左上角的x坐标,(3) y:矩形左上角的y坐标,(3) 宽度:矩形的宽度,(4) 高度:矩形的高度(与宽度相同),(5) 地区:主体模板中录音所属的区域(如正面或背面);(6) 可见性:记录的可见性状态(隐藏意味着删除)。该脚本还提供了包含或排除选项文件。这些文件代表了参与者无需在身体模板上绘制或指示的实例。该脚本还允许用户从特定的身体区域(例如,前部或后部)提取数据。

compute_overlap.py:这个脚本实现了重叠计算算法来生成不重叠的矩形。每个矩形表示主体模板上的唯一位置。该脚本接受带有列的CSV格式的输入,即 参与者 x y 宽度 高度, 地区。该脚本返回一个CSV输出,其中行是不重叠的矩形,列(矩形的属性)为(1) x:矩形左上角的x坐标,(2) y:矩形左上角的y坐标,(3) 宽度:矩形的宽度,(4) 高度:矩形的高度,(5) 区域:矩形的面积,(6) 重叠:重叠图纸的标识符,(7) overlap_frequency:重叠标识符的个数,(8) overlap_proportion:重叠标识符的比例。该比例根据图纸总数计算,其中可能包括空图纸。该脚本还允许用户通过提供矩形的重叠范围(频率)和宽度和高度的阈值来过滤输出。

plot_heatmap.py:此脚本在空白SVG主体模板上绘制不重叠的矩形,并生成疼痛频率图(热图)作为HTML文件。疼痛频率图的颜色可以通过其本机名称或十六进制颜色代码(默认为#ff0000或红色)来指定。疼痛频率图上参与者重叠的强度(阴影或梯度)使用SVG元素的不透明度属性显示。不透明度是严格在0到1之间的任何数字。为了获得最佳的颜色编码,每个输出矩形的不透明度计算如下:

算法实现的数据生成 模拟

我们检查了算法的Python脚本的性能 compute_overlap.py在一台运行Ubuntu 18.04的机器(Intel Xeon[R] Silver 4110 CPU@2.10GHz和16gb RAM)上进行了两次独立的模拟。给定一个坐标为1000×1000,原点为(0,0)的XY平面,设 X Y是x轴和y轴上所有自然数的集合。所有有序对的集合 P用笛卡尔积表示 X×Y X Y

模拟1

我们假设每个人的画都是由一个矩形组成的(类似于一只鼠标) 点击在主体模板上)。这种情况极不可能发生;然而,这个模拟的目的是测试算法在给定一组重叠矩形的情况下计算重叠的能力。

本次模拟共生成了10个数据集。第一个数据集由10,000个矩形组成,对于每个连续的数据集,矩形的数量增加10,000个。对于每个数据集,对矩形的原点坐标进行采样,而不从有序对集合( P),维度(宽度和高度)通过替换从10开始到100结束的序列(增量步长为10)进行采样。

模拟2

我们假设一个典型的参与者绘制的疼痛位置由100个矩形组成(相当于100只老鼠) 点击在主体模板上)。在这个模拟中,我们试图评估越来越多的参与者的表现。

本次模拟共生成了10个数据集。第一个数据集由100个参与者组成,对于每个连续的数据集,我们增加100个参与者的数量。对于每个参与者,从一组有序对( P),维度(宽度和高度)通过替换从10开始到100结束的序列(增量步长为10)进行采样。

每个模拟生成10个CSV文件供算法分析。CSV文件由以下列组成,即 参与者 x y 宽度 高度, 地区。对于这两个模拟,只有一个区域(XY平面);因此, 地区被简单地标记为 xy平面

实际

最后,我们使用了来自2个临床数据集的数字疼痛图;第一个数据集(数据集1)包括23名被筛选参加临床药物试验的个体(ISRCTN68734605) [ 23],第二个数据集(数据集2)包括30名慢性背痛患者,他们被招募到另一项研究中[ 24]。疼痛图以MongoDB文档的形式存储( 图3),这些文件按照插入的日期和时间被组织成子文件。用于绘图的虚拟笔尖是一个正方形,一个SVG <矩形>元素,其中宽度和高度属性是相同的( 图2).

结果 模拟

模拟是为了评估该算法的Python脚本的性能 compute_overlap.py。模拟显示,脚本的执行时间(秒)作为输入矩形数量的函数线性增加( 图5),对于100,000个矩形,最多需要400秒(模拟1)。假设一个典型的参与者绘图由100个矩形组成,1000个参与者绘图的执行时间为300秒(模拟2)。

模拟以评估算法的Python脚本- compute_overlap.py的性能。y轴显示脚本的执行时间(以秒为单位),x轴显示脚本处理的矩形数量。脚本的输出,非重叠矩形的数量显示为红色。图(A)显示了脚本在模拟1中生成的数据集上的性能,其中每个参与者绘制的矩形数量被设置为1,图(B)显示了模拟2中生成的数据集上的性能,其中每个参与者绘制的矩形数量被设置为100。

实际

我们首先从MongoDB数据库中存储的2个数据集中提取所有绘图(具有相同宽度和高度属性的元素)到CSV文件中。数据集1产生4016条记录,数据集2产生4167条记录,按参与者标识符和插入日期和时间排序。参与者的特征从两个数据集有关 身体疼痛图运动总结于 表1

为了生成疼痛频率图,我们只使用了来自2个临床数据集的可见且唯一(不相同)的记录。来自同一参与者的相同录音( <矩形>具有完全覆盖的元素)根据记录的最后可见性状态进行过滤。如果可见性被隐藏(意思是擦除),记录被排除。这个练习产生了2个CSV文件(每个数据集一个文件),分别有3242行和3993行,表示所有4个区域(即正面、侧面(右)、侧面(左)和背面)的唯一和可见的记录 表2

CSV数据集由Python脚本独立处理 compute_overlap.py在一台运行Ubuntu 18.04的机器上(Intel(R) Xeon (R) Silver 4110 CPU @ 2.10GHz和16 GB RAM)该脚本在4秒内处理了第一个CSV数据集,并生成了6653个不重叠的矩形,重叠频率在1到8之间。第二个CSV数据集在7秒内被处理,产生6010个不重叠的矩形,重叠频率从1到21不等。每个不重叠的矩形代表二维身体模板上的一个唯一位置,并带有重叠频率,表示在该位置有疼痛的参与者的数量。

随后使用Python脚本将2个临床数据集的非重叠矩形绘制在身体模板上 plot_heatmap.py,生成数据集1 ( 图6)和数据集2 ( 图7).

参与者在使用身体疼痛图工具时,用铅笔和橡皮擦点击2个临床数据集。

特征 数据集1 数据集2
参与者,N 23 30.
点击次数,平均值(SD)
铅笔一个 174.6 (208.5) 138.9 (108.2)
橡皮擦b 16.7 (32.7) 1.5 (4.2)
可见和独特的铅笔点击,平均(SD) 141.0 (176.5) 133.1 (105.5)
铅笔平均尺寸c,均值(SD) 26.6 (10.3) 25.2 (6.0)

一个每次铅笔点击表示疼痛位置的记录,并创建一个可缩放的矢量图形 <矩形>元素具有相同的宽度和高度属性(一个正方形)。

b单击橡皮擦隐藏先前插入的可缩放矢量图形 <矩形>元素。

c根据可见的和独特的铅笔点击记录(绘制)疼痛位置。

在每个区域为2个临床数据集制作了可见和独特的铅笔记录一个

特征 数据集1 数据集2
录音,N 3242 3993
地区,n (%)
前面 1381 (42.6) 800 (20.0)
侧(右) 80 (2.5) 0 (0.0)
侧(左) 103 (3.2) 11 (0.3)
回来 1678 (51.7) 3182 (79.7)

一个数据来自可伸缩矢量图形绘图,并提供给算法的Python脚本以生成疼痛频率图。

从筛选临床药物试验的患者(N=23)中获得的徒手疼痛图(数据集1)产生的疼痛频率图说明。在交互式地图(HTML格式)中,用户可以滑动渐变条上的黑色指针(如图中所示),根据重叠阈值(即<=重叠比例)查看位置,并将地图保存为PNG文件。

从诊断为慢性原发性背痛的患者(N=30)获得的徒手疼痛图(数据集2)绘制的疼痛频率图。

讨论 主要研究结果

在身体模板上绘制疼痛位置在研究和疼痛临床中得到了越来越广泛的应用。这些通常是调查问卷的一部分(例如,简短疼痛量表[ 25])。身体疼痛的地形图通常被总结为疼痛频率图,但依赖于数字化的纸质图,这是劳动密集型的,可能不适合大规模的研究[ 26]。尽管徒手数字绘图工具可用于捕获疼痛位置,但它们通常仅限于特定的身体模板[ 6]。其他工具可将身体分割(例如CHOIR身体地图[ 7]和密西根州地图[ 13]),它可以很容易地生成疼痛频率图,但缺乏所需的分辨率。

在本文中,我们首先描述了身体疼痛图[ 21],这是一个基于web的平台,用于将徒手疼痛图捕获为SVG <矩形>元素,然后详细描述了从图纸中生成疼痛频率图的算法。我们进一步将该算法的实现描述为基于python的分析管道,并在2种不同的模拟中测试了其性能。我们通过生成疼痛频率图( 图6 图7),查阅从23名经筛选参加临床药物试验的病人的手绘图(ISRCTN68734605) [ 23]和30例诊断为慢性原发性背痛的患者[ 24]。

该算法的主要优点是可以处理来自任何未划分的主体模板的数据。换句话说,身体模板不需要使用固定数量的网格来划分(例如,geoain,在3D人体模型上渲染的身体表面图[ 9]和Manchester Digital Pain Manikin [ 15])或用解剖标记划分区域(如CHOIR [ 7])。只有主体模板的轮廓或周长需要标定。无标签和无网格的方法是公正的,允许参与者自由地画出他们身体疼痛的位置,密切模仿在纸上画画的体验。虽然用户不太可能在整个空间内绘制,但考虑到徒手绘画的性质,他们可以在同一区域内重复绘制。这导致了冗余的数据,这通常不是大多数临床研究人员感兴趣的。我们的算法在无网格空间中处理原始(源像素)数据来解决这个问题,并且在这样做时,它也实现了无损压缩。

该算法接受单个CSV(纯文本)文件,其中包含捕获为矩形的疼痛记录,并生成不重叠的矩形。每个不重叠的矩形是身体模板上的唯一位置,并带有重叠频率,表示该位置疼痛的参与者数量。输出,当转换成HTML文件时,可以在现代web浏览器(例如,Google Chrome, Mozilla Firefox或Microsoft Edge)上可行地呈现,或者以所需的分辨率打印以发布,正如我们为2个临床数据集所示。该算法还包含了优化疼痛频率图显示的特征。矩形可以在水平(更宽)或垂直(更长; 图4).例如,对于腿部,垂直布局可能会更好地显示矩形,而对于腹部等较宽的区域,首选水平布局。

由于个体可以在身体模板上自由绘制,因此算法产生的输出(即不重叠的矩形)具有很高的粒度。给定所需的空间信息(身体区域内的x-y坐标),可以回顾性地创建网格并根据需要重新分配细胞和解剖标签。该算法的输出可以使用线性代数进行坐标变换,并进行标记,以便与其他具有解剖标签(例如手臂和腿)的身体地图集或模板在性质上保持协调[ 7]。无偏输出也可以训练为任何2D身体模板内给定的疼痛障碍提供界限。一个解剖标记(如肩部)的区域的划分或边界也可以通过任何一组个体的反馈来确定。还可以从汉诺威医学院(Hannover Medical School)提供的针对性别的身体模板中获取图纸[ 8],然后使用坐标变换在性别中立的模板上协调算法的输出,以进行性别之间的比较。

限制

该算法生成不重叠的矩形,不需要知道二维体模板内的区域边界。因此,输出中的一些矩形可能部分落在这些区域之外。当绘图包含主体区域的边界(或接近边界)时,就会发生这种溢出。对于生成疼痛频率图来说,这不是问题,因为落在区域之外的矩形可以使用SVG轻松地屏蔽(隐藏)。对于其他分析目的,可以通过以下方法(1)将主体模板划分为小区域并应用边界框校正以按区域过滤输出的非重叠矩形或(2)创建一个即精巧地填充整个主体模板,确保 <矩形>元素在区域边界内。通过这种方法,将绘图添加到实际参与绘图中,并在组合数据集上执行算法。在得到的输出中,只有两个元素共有的不重叠矩形图纸与实际图纸保留,其余部分(重叠频率为1)丢弃。

该算法经过优化,仅为至少有一个参与者绘制的身体模板的位置生成疼痛频率数据。添加绘图将允许在模板中表示(在疼痛频率图中)没有参与者绘制的身体位置,也可能需要进行推断统计。随着绘图是特定于主体模板的,不需要重新创建,并且该方法可以应用于预期数据集(绘图),前提是它们是使用相同的主体模板获得的。

与前期工作比较

软件工具(R软件包、CHOIR Body Map [ 27])最近被用于生成共生地图。该地图显示了在一个数据集中,身体模板上的两个位置同时被患者认可的次数。但是,这些工具仅适用于CHOIR主体模板[ 7],参与者只能点击74个预定义位置。

为带有边界或网格的身体模板生成疼痛频率图是很简单的,因为位置是预定义和固定的,并且需要推断选择每个位置的参与者的数量[ 14]。

在研究中,使用无边界和无网格的身体模板进行徒手绘图,使用定制的工具同时分析他们的绘图。这些工具并非在公共领域内免费提供[ 16- 18]。其他研究[ 28 29]将他们的图纸(最初保存为PNG图像)转换为NIfTI格式[ 30.]并使用脑功能磁共振成像(FMRIB)软件库提供的图像处理工具进行分析[ 31]。

我们的算法和之前研究中使用的其他方法的主要目的是生成疼痛频率图,这需要同时分析参与者提供的所有手绘图。以前的研究将徒手疼痛图存储为位图图像(例如PNG);因此,生成疼痛频率图需要对所有像素进行提取和分析[ 16- 18 28 29]。

我们的算法处理图形,其中疼痛位置用矩形表示(笔尖是一个正方形,本质上是一个矩形)。这有几个优点,例如,来自图纸的输入可以简单地存储为CSV(纯文本)文件,因为所有位置都表示为带有属性的矩形 x y 宽度, 高度。这也比从图纸中存储和提取像素更有效。输出还包括矩形,可以存储为CSV文件进行统计分析和可视化使用图像(例如,SVG和PNG)。我们使用SVG是因为它允许以所需的分辨率重建和可视化输入和输出矩形。CSV存储还有助于合并使用相同主体模板获得的多个独立数据集,以便进行组合分析。

结论

长期以来,身体图谱一直被用于研究和临床实践,以促进疼痛和其他感觉之间的交流[ 32]。绘图工具的选择或身体部位的选择取决于研究问题的性质和参与者。临床验证任何用于捕捉身体感觉地形的数字工具都是很重要的[ 33]。我们的算法主要是为了有效地显示和打印疼痛频率图而开发的,但是输出(即不重叠的矩形)可以很容易地进行统计分析(例如,不同患者队列之间或同一患者队列在多个时间点上的疼痛频率图的统计比较)。虽然我们在研究中选择了数字化和使用特定的身体模板,但所描述的算法可以处理任何2D身体模板上的任意数量的手绘图,以生成疼痛频率图。算法生成的非重叠矩形可以进行解剖标记或映射到网格上,以便于与其他身体模板进行分析和协调。

我们的徒手疼痛绘图工具(身体疼痛图[ 21])使用独立于分辨率和基于XML文档对象模型的SVG技术。然而,我们的算法也可以从使用其他技术(如HTML5)创建的图纸中生成疼痛频率图 <帆布>元素),前提是疼痛位置被捕获为矩形,并且位置属性(即, x y 宽度, 高度)是可访问的。

由于该算法已经作为Python命令行工作流实现,因此可以通过cron守护进程(Linux环境)调度自动疼痛频率图构建,并使用几个标准(例如,矩形的区域,重叠频率,宽度和高度)过滤和可视化输出。Python脚本可通过联系对应作者(AD)获取。

我们设想在临床或研究环境中使用该算法,以促进疾病诊断或疾病之间人类疼痛解剖学的细粒度比较,或作为指导监测或发现治疗的结果指标。

缩写 唱诗班

协作健康结果信息注册中心

FMRIB

脑功能磁共振成像

SSL

安全套接字层

SVG

可缩放矢量图形

作者要感谢Ingrid Scholtes和Gill Ison帮助我们获得了这两个数据集中使用的数字疼痛图,并感谢Alasdair Kerslake测试身体疼痛图工具。他们还想感谢Folkert Tangerman对算法的反馈。AD目前由英国医学研究委员会和Versus关节炎基金(MR/W002426/1)和Advanced Pain Discovery平台支持。临床数据集(数据集1和2)来自英国医学研究委员会(MR/J013129/1)和Versus Arthritis(赠款21538)资助的独立项目。

没有宣布。

伍尔夫 CJ 这个叫疼痛的东西是什么? J临床投资 2010 11 120 11 3742 4 10.1172 / JCI45178 21041955 45178 PMC2965006 Poquet N C 简易疼痛量表(BPI) J Physiother 2016 01 62 1 52 10.1016 / j.jphys.2015.07.001 26303366 s1836 - 9553 (15) 00075 - 2 帕尔默 H 疼痛图表;描述一种可以从器质性疼痛诊断出功能性疼痛的技术 N Z Med J 1949 04 48 264 187 213 18138692 张成泽 一个 MacLean D 陆军 J 身体图:通过绘图改善疼痛症状的交流 计算系统中的人为因素SIGCHI会议论文集 2014 CHI '14:计算系统中的人为因素CHI会议 2014年4月26日至5月1日 加拿大安大略省多伦多 10.1145/2556288.2557223 Shaballout N Neubert T Boudreau 年代 Beissner F 从纸质到数字化的疼痛图应用:方法论里程碑的系统回顾 移动医疗Uhealth 2019 09 05 7 9 e14569 10.2196/14569 31489841 v7i9e14569 PMC6753689 阿里 SM WJ McBeth J 迪克森 工作组 范德维尔 SN 智能手机上的数字人体模型自我报告疼痛:对移动应用程序的系统回顾 Eur J Pain 2021 02 25 2 327 38 10.1002 / ejp.1688 33113241 PMC7839759 谢瑞 KH Ziadni 女士 香港 J 鲟鱼 晶澳 Salmasi V 在香港 J 克莱默 E 艾尔 Pacht T 奥尔森 G Darnall 双相障碍 花王 麦基 年代 协作健康结果信息注册主体图的开发和验证 疼痛代表 2021 6 1 e880 10.1097 / PR9.0000000000000880 33490848 painreports - d - 20 - 0072 PMC7813550 汉诺威主体模板 Figshare 2022-04-26 https://figshare.com/articles/dataset/Hannover_Body_Template/7637387/9 Kaciroti N DosSantos 曼氏金融 莫拉 B Bellile 埃尔 Nascimento 道明 Maslowski E Danciu TE Donnell 一个 达席尔瓦 房颤 感官分辨三维身体疼痛移动应用测量与传统视觉模拟量表疼痛测量:验证研究 移动医疗Uhealth 2020 08 19 8 8 e17754 10.2196/17754 32124732 v8i8e17754 PMC7468641 范登阿米尔 J Fuge J Pitceathly 理查德·道金斯 浆果 年代 麦金太尔 Z 汉娜 毫克 Chinnery PF 慢性疼痛在线粒体疾病中很常见 Neuromuscul Disord 2020 05 30. 5 413 9 10.1016 / j.nmd.2020.02.017 32334903 s0960 - 8966 (20) 30057 - 2 PMC7306151 El-Damanawi R 哈里斯 T 考利 目前 债券 年代 桑福德 RN 威尔金森 IB Casteleijn NF 霍根 MC Karet Frankl Hiemstra 特遣部队 开发一种以患者为中心的工具,用于常染色体显性多囊肾病的疼痛测量和评估 临床肾脏病 2021 11 14 11 2338 48 10.1093 / ckj / sfaa259 34754429 sfaa259 PMC8573025 尼古拉斯 Vlaeyen JW Rief W Barke 一个 阿齐兹 比诺里 R 科恩 埃弗斯 年代 Giamberardino Goebel 一个 Korwisi B Perrot 年代 Svensson P 年代 Treede R IASP慢性疼痛分类工作组 IASP对ICD-11中慢性疼痛的分类:慢性原发性疼痛 疼痛 2019 01 160 1 28 37 10.1097 / j.pain.0000000000001390 30586068 00006396-201901000-00004 布鲁梅特写 C 问题 R Goesling J D 莫泽 年代 佐拉斯 J 威廉姆斯 D Clauw D 哈塞特 一个 密歇根人体地图的初步验证 疼痛 2016 06 157 6 1205 12 10.1097 / j.pain.0000000000000506 26835782 00006396-201606000-00006 PMC4868633 改变 BJ 安德森 NP 吉尔曼 AG) J 一整支 广告 仅通过患者报告的疼痛分布的分层聚类就可以确定不同的慢性疼痛亚组,这些亚组因疼痛强度、质量和临床结果而不同 《公共科学图书馆•综合》 2021 8 4 16 8 e0254862 10.1371 / journal.pone.0254862 34347793 玉米饼- d - 21 - 09864 PMC8336800 范德维尔 SN Beukenhorst 艾尔 阿里 SM 詹姆斯 B 席尔瓦 P McBeth J 迪克森 工作组 开发一种移动数字人体模型来测量疼痛的位置和强度 Stud健康技术信息 2020 06 16 270 946 50 10.3233 / SHTI200301 32570521 SHTI200301 Rosner J Lutolf R Hostettler P 威利格 Clijsen R Hohenauer E 巴贝罗 Curt 一个 Hubli 定量疼痛图评价脊髓损伤后神经性疼痛 脊髓 2021 05 16 59 5 529 37 10.1038 / s41393 - 021 - 00616 - 6 33594250 10.1038 / s41393 - 021 - 00616 - 6 PMC8110478 粗糙 C 法拉 D Mangili F Azzimonti l Araujo LS Williamon 一个 巴贝罗 使用数字疼痛图分析音乐家疼痛的位置和程度 疼痛Pract 2018 01 18 1 53 66 10.1111 / papr.12581 28466572 PMC6849566 巴贝罗 Moresi F 饰演 D •加蒂 R Egloff 法拉 D 使用一种新的疼痛图分析方法对疼痛程度和疼痛位置进行重测 Eur J Pain 2015 09 19 8 1129 38 10.1002 / ejp.636 25565607 Beissner F 布伦纳 F 芬克 迈斯纳 K TJ Napadow V 安慰剂诱导的躯体感觉:三种不同安慰剂干预的多模态研究 《公共科学图书馆•综合》 2015 4 22 10 4 e0124808 10.1371 / journal.pone.0124808 25901350 玉米饼- d - 14 - 40891 PMC4406515 之1.2 2022-04-26 https://inkscape.org/ 身体疼痛图 剑桥大学 2022-04-26 https://pain.medschl.cam.ac.uk/body-pain-map/preview/61c797000aff0789b65d01e6 Python 3.9.0 Python 2022-04-26 https://www.python.org/downloads/release/python-390/ 伯纳德·希利 SA 目前 亚伯拉罕 McNaughton 巴勒斯坦权力机构 梅农 DK MC 超极化激活的环核苷酸门控离子通道在神经性疼痛中的作用:伊伐布雷定在慢性周围神经性疼痛患者中的概念验证研究 疼痛代表 2021 11 6 4 e967 10.1097 / PR9.0000000000000967 34712888 painreports - d - 21 - 0077 PMC8547924 RS Fibro v1.0 NHS健康研究局 2022-05-03 https://www.hra.nhs.uk/planning-and-improving-research/application-summaries/research-summaries/rs-fibro-v10/ 简要的痛苦清单用户指南 BPI用户指南 2022-04-26 https://www.mdanderson.org/documents/Departments-and-Divisions/Symptom-Research/BPI_UserGuide.pdf Caseiro Woznowski-Vu 一个 De Oliveira 作为 里斯 FJ 边缘国脚 TH 从纸质到数字化身体图:疼痛区域的可靠性研究 疼痛Pract 2019 07 19 6 602 8 10.1111 / papr.12780 30884135 emcramer / CHOIRBM GitHub 2022-04-27 https://github.com/emcramer/CHOIRBM Neubert T Dusch 岩溶 Beissner F 设计一个用于绘制身体症状的平板电脑软件应用程序:可用性评估和再现性分析 移动医疗Uhealth 2018 05 30. 6 5 e127 10.2196 / mhealth.8409 29848470 v6i5e127 PMC6000481 Ellingsen D Beissner F 莫赫Alsady T Lazaridou 一个 Paschali 浆果 Isaro l Grahl 一个 J 一整支 广告 爱德华兹 RR Napadow V 一张图片胜过千言万语:将纤维肌痛从数字疼痛图中广泛存在的疼痛与疼痛灾难和大脑跨网络连接联系起来 疼痛 2021 05 01 162 5 1352 63 10.1097 / j.pain.0000000000002134 33230008 00006396-202105000-00008 PMC8049950 NIfTI:神经影像信息技术倡议 国立卫生研究院 2022-05-08 https://nifti.nimh.nih.gov/ FMRIB软件库v6.0 目前 2022-04-26 https://fsl.fmrib.ox.ac.uk/fsl/fslwiki Schott GD 疼痛的制图:疼痛地图的发展贡献 Eur J Pain 2010 09 14 8 784 91 10.1016 / j.ejpain.2009.12.005 20079670 s1090 - 3801 (09) 00273 - 0 人体测绘研究 卫生社会科学研究方法手册 2019 新加坡 施普林格
Baidu
map