引用本文: 李詩琪, 聶涌, 王俊清, 李康, 沈彬. LLMKA:基于Matlab的下肢骨肌運動分析工具箱. 中國修復重建外科雜志, 2022, 36(5): 525-533. doi: 10.7507/1002-1892.202202033 復制
骨肌運動分析可從人眼觀察到的運動特征軌跡計算出作用于骨骼系統的凈外力,推斷出肌肉骨骼的內部狀態[1-5]。商用的具有圖形界面的骨肌運動分析平臺操作簡單,但價格昂貴,且沒有開源,導致不能對肌骨模型及分析流程進行深度個性化定制[6-7]。一些開源骨肌運動分析程序,各步驟配置繁瑣且耗時、耗力,例如使用OpenSim進行骨肌運動分析,通常需要5個步驟 [Scale、Inverse Kinematics(IK)、Residual Reduction Algorithm(RRA)、Static Optimization(SO)、Joint Reaction Analysis(JRA)][8-10];各步驟都需先設置配置文件,再執行該步驟,其設置過程既繁冗又易出錯[11]。臨床研究人員需等待此步驟執行完后方可對下一步進行配置,整個骨肌運動分析流程較為碎片化,大大加重了臨床研究人員的疲勞程度,難以保證數據質量及科研實施效率。因此亟待開發一種簡單易用的工具箱,管控需繁瑣配置的骨肌運動分析流程,提升骨肌運動分析效率。
Matlab功能強大且應用于眾多領域,現有許多基于Matlab開發的工具箱,如Biomechanical ToolKit(Barre 等, 2014)利用Matlab和生物力學工具箱(btk)將實驗數據轉換為OpenSim兼容的文件[12];MOtoNMS(Alice Mantoan等,2015)處理來自不同運動捕捉設備的實驗數據,然后生成可由神經肌肉骨骼建模輸入的文件[13];針對肌肉彌散張量MRI示蹤的Matlab工具箱,可完成文件輸入、圖像配準、去噪和擴散張量計算的預處理任務等功能[14];針對圖像處理的Matlab工具箱,實現了讀取、存儲、顯示、加噪、去噪、增強、邊緣檢測、圖像分割等功能[15]。因此,可利用Matlab強大的數學計算能力及調用接口能力,來管控骨肌運動分析流程。
本研究基于Matlab開發了一種工具箱LLMKA(Lower Limbs Musculoskeletal Kinematics Analysis),通過對比使用該工具箱與使用OpenSim進行骨肌運動分析,驗證其是否能在保證骨肌運動分析過程和結果一致性的前提下提高骨肌運動分析效率。
1 研究方法
1.1 LLMKA工具箱的設計
1.1.1 功能設計
采用“批處理馭繁瑣操作”的設計理念,繪制設計框架(圖1)。利用Matlab強大的數據處理能力和調用OpenSim庫能力[16-21],實現自動骨肌運動分析(圖1綠色方框);并要求該工具箱可批處理多個患者(圖1黑色方框)。選用以下幾個步驟方可進行骨肌運動分析[8]:① 模型縮放:基于患者靜態實驗數據對通用OpenSim模型進行縮放,以此來滿足特定受試者。② 逆運動學分析:將患者的三維標簽軌跡轉化為廣義坐標軌跡(關節角度和/或平移)。③ 殘差縮減算法:最大程度地減少建模和標記數據處理錯誤的影響。④ 靜態肌力優化:將每個瞬間的凈關節力矩分解為單個肌肉力[21]。⑤ 關節力分析:計算約束身體運動的關節力。

1.1.2 程序設計
① 界面設計:根據設計框架采用Matlab界面編程設計LLMKA界面(圖2)。界面包含Button Set板塊和Patient Information板塊,Button Set板塊包含Select Folder按鈕(功能對應圖1藍色方框)和Run按鈕(功能對應圖1黑色方框),Patient Information板塊用于展示患者姓名(第1列)和骨肌運動分析完成進度(第3列),并在第2列中輸入患者體質量數據(功能對應圖1灰色方框)。

② 文件存取設計:LLMKA工具箱文件存放位置見圖3。圖3a展示的輸入文件存放位置中,setupFiles文件夾存放著進行骨肌運動分析五步驟所需的配置文件模板,modelFiles文件夾存放著OpenSim通用模型,patientsData文件夾存放著需進行骨肌運動分析的N例患者并以患者名字建立文件夾,文件夾內存放其靜態和動態實驗數據。圖3b展示了使用LLMKA工具箱對患者A進行骨肌運動分析后的輸出文件存放位置。

a. 輸入文件存放位置;b. 輸出文件存放位置
Figure3. Document storage locationa. Input file storage location; b. Output file storage location
③ 主要程序設計:首先通過函數式編程預先定義執行模型縮放、逆運動學分析、殘差縮減算法分析、靜態肌力優化分析、關節力分析五步驟的功能函數[22]。骨肌運動分析工作流程(圖4):基于圖3a setupFiles文件夾中的通用配置文件,再根據當前患者信息將其設置為該患者在此步驟的特定配置文件,并保存配置文件(如圖3b下方文件所示),再使用run函數運行該步驟。

橢圓框對應圖1相應步驟的橙色方框
Figure4. Flow chart of the musculoskeletal kinematics analysisThe oval box corresponded to the orange box of the corresponding step in Fig.1
最后,基于Matlab的Application compiler將該程序打包為獨立應用程序exe,應用程序圖標見圖5a,它可以在不安裝Matlab的電腦上使用LLMKA工具箱。圖5b是安裝LLMKA應用程序圖標,安裝完成后即可在電腦桌面得到圖5a所示圖標。

a. LLMKA應用程序圖標;b. LLMKA 安裝應用程序圖標
Figure5. The toolbox icon of LLMKAa. LLMKA application icon; b. LLMKA installation application icon
1.2 LLMKA工具箱的驗證
1.2.1 軟硬件環境
硬件環境:電腦型號,hp ProOne 400 G5 23.8-in ALL-in-one;處理器,Intel(R)Core(TM)i3-8100T CPU@3.10GHz;內存,8 192MB RAM;系統類型,64位;顯卡,inter(R)UHD Graphics 630。軟件環境:Windows 10 企業版;LLMKA.exe(基于MatlabR2020b開發);OpenSim4.2。
1.2.2 患者來源
臨床研究人員進行膝關節骨關節炎患者的步態研究時,招募了120例膝關節內側骨關節炎患者,通過光學動作捕捉系統(Oqus300;Qualisys公司,瑞典)和測力臺(Bertec公司,美國)采集患者的步態實驗數據,采樣頻率290 Hz,采樣時間約3 s。使用LLMKA工具箱對這些數據進行骨肌運動分析。
1.2.3 骨肌運動分析過程和結果一致性檢驗
選擇1位骨肌運動分析臨床研究人員,分別采用LLMKA工具箱和OpenSim兩種方法,對同1例膝關節內側骨關節炎患者進行骨肌運動分析,記錄并比較兩種方法分析步驟和結果,驗證這兩種方法進行骨肌運動分析的過程是否具有一致性。因運行模型縮放步驟后輸出結果為OpenSim模型文件(osim格式),不易對比分析,因此采用檢驗后續步驟結果一致性的方法反證模型縮放結果的一致性。其余四步驟運行后輸出結果為表格形式,因此繪制4個Bland-Altman圖對應四步驟運行結果一致性檢驗,以此查驗兩種方法得到的逆運動學分析結果、殘差縮減算法結果、靜態肌力優化結果、關節力分析結果是否具有一致性[23]。用黑色虛線表示差值平均值為 0的基準線,未用其他線表示一致性界限的上下限,數據點越靠近基準線,則兩方法的分析結果一致性越高。
1.2.4 骨肌運動分析時間和效率檢驗
研究人員使用LLMKA工具箱對120例患者進行骨肌運動分析,并記錄完成分析的操作步驟和分析總時間、人工參與時間。由于120例患者骨肌運動分析數據已通過LLMKA工具箱獲得,無需再重復使用OpenSim進行分析,因此OpenSim對120例患者進行骨肌運動分析的操作步驟和分析總時間,根據1例患者的數據進行估算。因為使用OpenSim進行骨肌運動分析有五步,每步驟運行時間平均為2 min,研究人員一般等待上一步驟執行完后再對下一步驟進行配置,因此使用OpenSim進行骨肌運動分析的總時間即為人工參與時間。最后對比兩種方法在骨肌運動分析過程中所花費的總時間、人工參與時間以及操作步驟。
2 結果
2.1 骨肌運動分析過程和結果一致性檢驗
使用LLMKA工具箱對1例患者進行骨肌運動分析,需進行模型縮放、逆運動學分析、殘差縮減算法、靜態肌力優化、關節力分析五步驟,分別對應于使用OpenSim對同一例患者進行骨肌運動分析的Scale、IK、RRA、SO、JRA五步驟[6]。因此,使用LLMKA工具箱進行骨肌運動分析與使用OpenSim的分析過程具有一致性。并且使用LLMKA工具箱或使用OpenSim運行某步驟后,輸出結果數目一致。見表1。

由于運行殘差縮減算法和靜態肌力優化后得到的輸出結果有多個,因此Bland-Altman 圖中采用不同顏色或形狀代替某步驟的不同輸出文件。結果顯示,使用LLMKA工具箱進行骨肌運動分析,在逆運動學分析、殘差縮減算法、靜態肌力優化、關節力分析四步驟中得到的輸出變量與使用OpenSim對應步驟得到的數據偏差均落在0值基準線[24],表明這兩種方法得到的結果完全一致。見圖6。

a. 逆運動學分析結果;b. 殘差縮減算法結果;c. 靜態肌力優化結果;d. 關節力分析結果
Figure6. Bland-Altman grapha. Inverse kinematics analysis results; b. Residual reduction algorithm results; c. Static optimization results; d. Joint reaction analysis results
2.2 骨肌運動分析時間和效率檢驗
2.2.1 操作步驟比較
以1例患者為例,使用OpenSim進行骨肌運動分析需在2個平臺操作、完成10個流程、操作129次;使用LLMKA工具箱只需在1個平臺操作、完成4個流程、操作6次,其中點擊Select Folder按鍵的操作步驟有3次是指點擊按鍵、選擇文件、確定文件。見圖7。

a. 使用OpenSim;b. 使用LLMKA工具箱
Figure7. Comparison of the operation process and operation steps of two methods on a patienta. Using the OpenSim; b. Using the LLMKA toolbox
隨患者數量增加,使用OpenSim進行骨肌運動分析的操作步驟呈線性增加,而使用LLMKA工具箱分析的操作步驟則呈緩慢增加。當需處理120例患者時,使用LLMKA工具箱比使用OpenSim操作步驟減少99.19%。見圖8。

2.2.2 時間比較
以1例實驗數據采樣時間為1.79 s的患者為例,使用OpenSim進行骨肌運動分析,需先在Matlab平臺將實驗數據轉化為OpenSim可識別的格式(用時2 min 58 s),然后在OpenSim平臺完成后續流程(用時10 min 57 s),合計13 min 55 s。使用LLMKA工具箱進行骨肌運動分析,僅需在當前軟件提供的圖形用戶界面進行操作,在界面上選擇文件夾并輸入患者體質量,然后點擊運行(人工參與時間27 s,程序運行4 min 32 s),合計4 min 59 s。
采用LLMKA工具箱對120例患者進行骨肌運動分析的人工參與時間為0.079 1 h(4 min 45 s),程序運行約9.15 h,總時間為9.229 1 h。根據1例患者的分析時間估算得到使用OpenSim進行骨肌運動分析的總時間(人工參與時間)約為27.83 h。可見與使用OpenSim相比,使用LLMKA工具箱的分析總時間減少了66.84%,人工參與時間減少了99.72%。
3 討論
本研究開發的LLMKA 工具箱,是應用OpenSim 接口函數保證骨肌運動分析過程和結果一致性[25],應用函數式+命令式編程顯著提高骨肌運動分析效率[22],實現一鍵對多例患者進行骨肌運動分析的批處理功能。
2021年Bedo等[18]建立了BOPS工具箱,通過Matlab批量處理常用OpenSim程序,促進肌肉骨骼建模和模擬;但BOPS工具箱未能批處理Scale以及RRA的OpenSim程序,且使用BOPS工具箱需要臨床用戶將實驗數據轉化為OpenSim可識別的格式。而本研究開發的LLMKA工具箱是首個從實驗數據進行骨肌運動分析,且是獨立執行的軟件,程序執行不用打開OpenSim軟件和安裝Matlab軟件,更適合臨床用戶使用。另外,LLMKA工具箱的圖形界面操作步驟少,在輸入患者體質量數據后點擊Run按鍵,即可對大批量患者進行骨肌運動分析,用戶無需再操作。實驗結果也表明使用LLMKA工具箱對120例患者進行骨肌運動分析,與使用OpenSim相比,分析總時間減少66.84%,人工參與時間僅需4 min 45 s,操作步驟減少99.19%。
LLMKA工具箱依托OpenSim在肌肉骨骼建模和運動方面已成熟的技術,保證了使用LLMKA工具箱和使用OpenSim進行骨肌運動分析的過程和結果具有一致性,因此120例患者的個體差異或采樣時間差異不會影響分析過程和結果的一致性。而面對使用OpenSim需繁瑣配置且各步驟之間未建立連接的不足,LLMKA工具箱可自動設置配置文件再運行,程序的設置速度快于人工設置,且連接骨肌運動分析的各步驟,多例患者可按順序等待分析。所以每例患者的分析過程不需要人工參與,使用該工具箱僅需2次點擊+輸入體質量數據即可對大批量患者進行分析,避免研究人員使用OpenSim對120例患者進行骨肌運動分析需點擊15 480次的疲勞情況,使研究人員從繁冗的步驟和重復過程中解放出來;且該程序實現批處理功能,也可在夜間工作。因此我們可以合理預想,隨著患者數量的增加,使用LLMKA工具箱比使用OpenSim進行骨肌運動分析的效率更高。
在骨肌運動分析時間和效率檢驗實驗中,因為120例患者的骨肌運動分析結果已由LLMKA工具箱得到,無需再花費研究人員的大量時間使用OpenSim重復該分析過程。因此,在排除因研究人員疲勞而造成的誤操作情況下,使用OpenSim對每例患者進行骨肌運動分析的操作步驟一樣。使用OpenSim進行骨肌運動分析總時間,是隨患者實驗數據采樣時間的不同以及研究人員對OpenSim的熟練狀態而變化的。同一項目120例患者的步態實驗數據采樣時間變化很小,約為2 s,所以本研究取采樣時間最接近2 s的1例患者為代表,并選用對OpenSim很熟練的研究人員進行操作。因此,對120例患者進行分析的總時間和操作步驟約等于1例的結果乘以120例。
綜上述,LLMKA是基于Matlab開發,旨在保證骨肌運動分析過程和結果一致性前提下提高分析效率的工具箱,其能對多位患者進行骨肌運動分析。經驗證,與使用OpenSim進行骨肌運動分析相比,使用LLMKA工具箱能顯著減少操作步驟和人工參與時間,且將臨床研究人員從繁瑣重復的操作中解放出來。LLMKA是一個持續開發的工具箱,將來會包括骨肌運動分析結果的參數處理程序,為研究人員提供建議,避免人工尋找比對參數的疲勞性,使其有更多精力投入到骨肌運動分析結果的臨床意義研究。
利益沖突 在課題研究和文章撰寫過程中不存在利益沖突;項目經費支持沒有影響文章觀點和對研究數據客觀結果的報道
倫理聲明 研究方案經四川大學華西醫院生物醫學倫理分委會批準[2016年審(200)號]
作者貢獻聲明 李詩琪:工具箱的設計、文章撰寫;聶涌:審核工具箱功能、指導文章寫作;王俊清:患者數據采集并行對比實驗;李康、沈彬:文章審閱
骨肌運動分析可從人眼觀察到的運動特征軌跡計算出作用于骨骼系統的凈外力,推斷出肌肉骨骼的內部狀態[1-5]。商用的具有圖形界面的骨肌運動分析平臺操作簡單,但價格昂貴,且沒有開源,導致不能對肌骨模型及分析流程進行深度個性化定制[6-7]。一些開源骨肌運動分析程序,各步驟配置繁瑣且耗時、耗力,例如使用OpenSim進行骨肌運動分析,通常需要5個步驟 [Scale、Inverse Kinematics(IK)、Residual Reduction Algorithm(RRA)、Static Optimization(SO)、Joint Reaction Analysis(JRA)][8-10];各步驟都需先設置配置文件,再執行該步驟,其設置過程既繁冗又易出錯[11]。臨床研究人員需等待此步驟執行完后方可對下一步進行配置,整個骨肌運動分析流程較為碎片化,大大加重了臨床研究人員的疲勞程度,難以保證數據質量及科研實施效率。因此亟待開發一種簡單易用的工具箱,管控需繁瑣配置的骨肌運動分析流程,提升骨肌運動分析效率。
Matlab功能強大且應用于眾多領域,現有許多基于Matlab開發的工具箱,如Biomechanical ToolKit(Barre 等, 2014)利用Matlab和生物力學工具箱(btk)將實驗數據轉換為OpenSim兼容的文件[12];MOtoNMS(Alice Mantoan等,2015)處理來自不同運動捕捉設備的實驗數據,然后生成可由神經肌肉骨骼建模輸入的文件[13];針對肌肉彌散張量MRI示蹤的Matlab工具箱,可完成文件輸入、圖像配準、去噪和擴散張量計算的預處理任務等功能[14];針對圖像處理的Matlab工具箱,實現了讀取、存儲、顯示、加噪、去噪、增強、邊緣檢測、圖像分割等功能[15]。因此,可利用Matlab強大的數學計算能力及調用接口能力,來管控骨肌運動分析流程。
本研究基于Matlab開發了一種工具箱LLMKA(Lower Limbs Musculoskeletal Kinematics Analysis),通過對比使用該工具箱與使用OpenSim進行骨肌運動分析,驗證其是否能在保證骨肌運動分析過程和結果一致性的前提下提高骨肌運動分析效率。
1 研究方法
1.1 LLMKA工具箱的設計
1.1.1 功能設計
采用“批處理馭繁瑣操作”的設計理念,繪制設計框架(圖1)。利用Matlab強大的數據處理能力和調用OpenSim庫能力[16-21],實現自動骨肌運動分析(圖1綠色方框);并要求該工具箱可批處理多個患者(圖1黑色方框)。選用以下幾個步驟方可進行骨肌運動分析[8]:① 模型縮放:基于患者靜態實驗數據對通用OpenSim模型進行縮放,以此來滿足特定受試者。② 逆運動學分析:將患者的三維標簽軌跡轉化為廣義坐標軌跡(關節角度和/或平移)。③ 殘差縮減算法:最大程度地減少建模和標記數據處理錯誤的影響。④ 靜態肌力優化:將每個瞬間的凈關節力矩分解為單個肌肉力[21]。⑤ 關節力分析:計算約束身體運動的關節力。

1.1.2 程序設計
① 界面設計:根據設計框架采用Matlab界面編程設計LLMKA界面(圖2)。界面包含Button Set板塊和Patient Information板塊,Button Set板塊包含Select Folder按鈕(功能對應圖1藍色方框)和Run按鈕(功能對應圖1黑色方框),Patient Information板塊用于展示患者姓名(第1列)和骨肌運動分析完成進度(第3列),并在第2列中輸入患者體質量數據(功能對應圖1灰色方框)。

② 文件存取設計:LLMKA工具箱文件存放位置見圖3。圖3a展示的輸入文件存放位置中,setupFiles文件夾存放著進行骨肌運動分析五步驟所需的配置文件模板,modelFiles文件夾存放著OpenSim通用模型,patientsData文件夾存放著需進行骨肌運動分析的N例患者并以患者名字建立文件夾,文件夾內存放其靜態和動態實驗數據。圖3b展示了使用LLMKA工具箱對患者A進行骨肌運動分析后的輸出文件存放位置。

a. 輸入文件存放位置;b. 輸出文件存放位置
Figure3. Document storage locationa. Input file storage location; b. Output file storage location
③ 主要程序設計:首先通過函數式編程預先定義執行模型縮放、逆運動學分析、殘差縮減算法分析、靜態肌力優化分析、關節力分析五步驟的功能函數[22]。骨肌運動分析工作流程(圖4):基于圖3a setupFiles文件夾中的通用配置文件,再根據當前患者信息將其設置為該患者在此步驟的特定配置文件,并保存配置文件(如圖3b下方文件所示),再使用run函數運行該步驟。

橢圓框對應圖1相應步驟的橙色方框
Figure4. Flow chart of the musculoskeletal kinematics analysisThe oval box corresponded to the orange box of the corresponding step in Fig.1
最后,基于Matlab的Application compiler將該程序打包為獨立應用程序exe,應用程序圖標見圖5a,它可以在不安裝Matlab的電腦上使用LLMKA工具箱。圖5b是安裝LLMKA應用程序圖標,安裝完成后即可在電腦桌面得到圖5a所示圖標。

a. LLMKA應用程序圖標;b. LLMKA 安裝應用程序圖標
Figure5. The toolbox icon of LLMKAa. LLMKA application icon; b. LLMKA installation application icon
1.2 LLMKA工具箱的驗證
1.2.1 軟硬件環境
硬件環境:電腦型號,hp ProOne 400 G5 23.8-in ALL-in-one;處理器,Intel(R)Core(TM)i3-8100T CPU@3.10GHz;內存,8 192MB RAM;系統類型,64位;顯卡,inter(R)UHD Graphics 630。軟件環境:Windows 10 企業版;LLMKA.exe(基于MatlabR2020b開發);OpenSim4.2。
1.2.2 患者來源
臨床研究人員進行膝關節骨關節炎患者的步態研究時,招募了120例膝關節內側骨關節炎患者,通過光學動作捕捉系統(Oqus300;Qualisys公司,瑞典)和測力臺(Bertec公司,美國)采集患者的步態實驗數據,采樣頻率290 Hz,采樣時間約3 s。使用LLMKA工具箱對這些數據進行骨肌運動分析。
1.2.3 骨肌運動分析過程和結果一致性檢驗
選擇1位骨肌運動分析臨床研究人員,分別采用LLMKA工具箱和OpenSim兩種方法,對同1例膝關節內側骨關節炎患者進行骨肌運動分析,記錄并比較兩種方法分析步驟和結果,驗證這兩種方法進行骨肌運動分析的過程是否具有一致性。因運行模型縮放步驟后輸出結果為OpenSim模型文件(osim格式),不易對比分析,因此采用檢驗后續步驟結果一致性的方法反證模型縮放結果的一致性。其余四步驟運行后輸出結果為表格形式,因此繪制4個Bland-Altman圖對應四步驟運行結果一致性檢驗,以此查驗兩種方法得到的逆運動學分析結果、殘差縮減算法結果、靜態肌力優化結果、關節力分析結果是否具有一致性[23]。用黑色虛線表示差值平均值為 0的基準線,未用其他線表示一致性界限的上下限,數據點越靠近基準線,則兩方法的分析結果一致性越高。
1.2.4 骨肌運動分析時間和效率檢驗
研究人員使用LLMKA工具箱對120例患者進行骨肌運動分析,并記錄完成分析的操作步驟和分析總時間、人工參與時間。由于120例患者骨肌運動分析數據已通過LLMKA工具箱獲得,無需再重復使用OpenSim進行分析,因此OpenSim對120例患者進行骨肌運動分析的操作步驟和分析總時間,根據1例患者的數據進行估算。因為使用OpenSim進行骨肌運動分析有五步,每步驟運行時間平均為2 min,研究人員一般等待上一步驟執行完后再對下一步驟進行配置,因此使用OpenSim進行骨肌運動分析的總時間即為人工參與時間。最后對比兩種方法在骨肌運動分析過程中所花費的總時間、人工參與時間以及操作步驟。
2 結果
2.1 骨肌運動分析過程和結果一致性檢驗
使用LLMKA工具箱對1例患者進行骨肌運動分析,需進行模型縮放、逆運動學分析、殘差縮減算法、靜態肌力優化、關節力分析五步驟,分別對應于使用OpenSim對同一例患者進行骨肌運動分析的Scale、IK、RRA、SO、JRA五步驟[6]。因此,使用LLMKA工具箱進行骨肌運動分析與使用OpenSim的分析過程具有一致性。并且使用LLMKA工具箱或使用OpenSim運行某步驟后,輸出結果數目一致。見表1。

由于運行殘差縮減算法和靜態肌力優化后得到的輸出結果有多個,因此Bland-Altman 圖中采用不同顏色或形狀代替某步驟的不同輸出文件。結果顯示,使用LLMKA工具箱進行骨肌運動分析,在逆運動學分析、殘差縮減算法、靜態肌力優化、關節力分析四步驟中得到的輸出變量與使用OpenSim對應步驟得到的數據偏差均落在0值基準線[24],表明這兩種方法得到的結果完全一致。見圖6。

a. 逆運動學分析結果;b. 殘差縮減算法結果;c. 靜態肌力優化結果;d. 關節力分析結果
Figure6. Bland-Altman grapha. Inverse kinematics analysis results; b. Residual reduction algorithm results; c. Static optimization results; d. Joint reaction analysis results
2.2 骨肌運動分析時間和效率檢驗
2.2.1 操作步驟比較
以1例患者為例,使用OpenSim進行骨肌運動分析需在2個平臺操作、完成10個流程、操作129次;使用LLMKA工具箱只需在1個平臺操作、完成4個流程、操作6次,其中點擊Select Folder按鍵的操作步驟有3次是指點擊按鍵、選擇文件、確定文件。見圖7。

a. 使用OpenSim;b. 使用LLMKA工具箱
Figure7. Comparison of the operation process and operation steps of two methods on a patienta. Using the OpenSim; b. Using the LLMKA toolbox
隨患者數量增加,使用OpenSim進行骨肌運動分析的操作步驟呈線性增加,而使用LLMKA工具箱分析的操作步驟則呈緩慢增加。當需處理120例患者時,使用LLMKA工具箱比使用OpenSim操作步驟減少99.19%。見圖8。

2.2.2 時間比較
以1例實驗數據采樣時間為1.79 s的患者為例,使用OpenSim進行骨肌運動分析,需先在Matlab平臺將實驗數據轉化為OpenSim可識別的格式(用時2 min 58 s),然后在OpenSim平臺完成后續流程(用時10 min 57 s),合計13 min 55 s。使用LLMKA工具箱進行骨肌運動分析,僅需在當前軟件提供的圖形用戶界面進行操作,在界面上選擇文件夾并輸入患者體質量,然后點擊運行(人工參與時間27 s,程序運行4 min 32 s),合計4 min 59 s。
采用LLMKA工具箱對120例患者進行骨肌運動分析的人工參與時間為0.079 1 h(4 min 45 s),程序運行約9.15 h,總時間為9.229 1 h。根據1例患者的分析時間估算得到使用OpenSim進行骨肌運動分析的總時間(人工參與時間)約為27.83 h。可見與使用OpenSim相比,使用LLMKA工具箱的分析總時間減少了66.84%,人工參與時間減少了99.72%。
3 討論
本研究開發的LLMKA 工具箱,是應用OpenSim 接口函數保證骨肌運動分析過程和結果一致性[25],應用函數式+命令式編程顯著提高骨肌運動分析效率[22],實現一鍵對多例患者進行骨肌運動分析的批處理功能。
2021年Bedo等[18]建立了BOPS工具箱,通過Matlab批量處理常用OpenSim程序,促進肌肉骨骼建模和模擬;但BOPS工具箱未能批處理Scale以及RRA的OpenSim程序,且使用BOPS工具箱需要臨床用戶將實驗數據轉化為OpenSim可識別的格式。而本研究開發的LLMKA工具箱是首個從實驗數據進行骨肌運動分析,且是獨立執行的軟件,程序執行不用打開OpenSim軟件和安裝Matlab軟件,更適合臨床用戶使用。另外,LLMKA工具箱的圖形界面操作步驟少,在輸入患者體質量數據后點擊Run按鍵,即可對大批量患者進行骨肌運動分析,用戶無需再操作。實驗結果也表明使用LLMKA工具箱對120例患者進行骨肌運動分析,與使用OpenSim相比,分析總時間減少66.84%,人工參與時間僅需4 min 45 s,操作步驟減少99.19%。
LLMKA工具箱依托OpenSim在肌肉骨骼建模和運動方面已成熟的技術,保證了使用LLMKA工具箱和使用OpenSim進行骨肌運動分析的過程和結果具有一致性,因此120例患者的個體差異或采樣時間差異不會影響分析過程和結果的一致性。而面對使用OpenSim需繁瑣配置且各步驟之間未建立連接的不足,LLMKA工具箱可自動設置配置文件再運行,程序的設置速度快于人工設置,且連接骨肌運動分析的各步驟,多例患者可按順序等待分析。所以每例患者的分析過程不需要人工參與,使用該工具箱僅需2次點擊+輸入體質量數據即可對大批量患者進行分析,避免研究人員使用OpenSim對120例患者進行骨肌運動分析需點擊15 480次的疲勞情況,使研究人員從繁冗的步驟和重復過程中解放出來;且該程序實現批處理功能,也可在夜間工作。因此我們可以合理預想,隨著患者數量的增加,使用LLMKA工具箱比使用OpenSim進行骨肌運動分析的效率更高。
在骨肌運動分析時間和效率檢驗實驗中,因為120例患者的骨肌運動分析結果已由LLMKA工具箱得到,無需再花費研究人員的大量時間使用OpenSim重復該分析過程。因此,在排除因研究人員疲勞而造成的誤操作情況下,使用OpenSim對每例患者進行骨肌運動分析的操作步驟一樣。使用OpenSim進行骨肌運動分析總時間,是隨患者實驗數據采樣時間的不同以及研究人員對OpenSim的熟練狀態而變化的。同一項目120例患者的步態實驗數據采樣時間變化很小,約為2 s,所以本研究取采樣時間最接近2 s的1例患者為代表,并選用對OpenSim很熟練的研究人員進行操作。因此,對120例患者進行分析的總時間和操作步驟約等于1例的結果乘以120例。
綜上述,LLMKA是基于Matlab開發,旨在保證骨肌運動分析過程和結果一致性前提下提高分析效率的工具箱,其能對多位患者進行骨肌運動分析。經驗證,與使用OpenSim進行骨肌運動分析相比,使用LLMKA工具箱能顯著減少操作步驟和人工參與時間,且將臨床研究人員從繁瑣重復的操作中解放出來。LLMKA是一個持續開發的工具箱,將來會包括骨肌運動分析結果的參數處理程序,為研究人員提供建議,避免人工尋找比對參數的疲勞性,使其有更多精力投入到骨肌運動分析結果的臨床意義研究。
利益沖突 在課題研究和文章撰寫過程中不存在利益沖突;項目經費支持沒有影響文章觀點和對研究數據客觀結果的報道
倫理聲明 研究方案經四川大學華西醫院生物醫學倫理分委會批準[2016年審(200)號]
作者貢獻聲明 李詩琪:工具箱的設計、文章撰寫;聶涌:審核工具箱功能、指導文章寫作;王俊清:患者數據采集并行對比實驗;李康、沈彬:文章審閱