PhysioNet是一個由美國國家通用醫學科學院(NIGMS)和國家生物醫學成像和生物工程院(NIBIB)共同支持的面向科研人員免費提供生理信號庫和其處理工具的一個資源網站或者項目。目前項目內容主要分為兩個:PhysioBank和PhysioToolkit,也就是生理信號庫和處理工具箱。
有小伙伴留言說能不能介紹一下WFDB 的python版本的用法,今天我就來講講WFDB for Python.
同一個庫,不管支持什么樣的開發語言,其功能是不變的。所以Python版的具體功能可以看前面Matlab版的文章。
一、安裝
安裝Pyhton的庫或者包最簡單的就是用pip安裝。沒有pip或者不會的自己上網想辦法吧!pip超級簡單:
>>pip install wfdb
安裝WFDB會涉及到很多其他的Python包,不過不用擔心,pip方法一并自動安裝了。安裝過程和結果如下截圖:
第一條紅線是安裝輸入的命令,注意我前面的py - 3 -m對于很多小伙伴來說應該是多余的,因為我安裝了兩個版本的python,所以必須在前面指定要安裝WFDB的python版本。第二紅線清楚表明了在安裝WFDB的時候,哪些相關的的包也被安裝了。
二、嘗鮮
像Matlab版本一樣,WFDB的功能包括從生理庫中讀取生理信號,注釋以及處理等,下面就介紹幾個簡單但使用的函數。具體的介紹可以查看官方說明網站:
https://wfdb.readthedocs.io/en/latest/
1.獲取PhysioNet所有庫名稱列表:
dbs = wfdb.get_dbs()
print(dbs)
這個列表其實在網站https://physionet.org/physiobank/database/中也可以查看查看
2.獲取某個數據庫的所有信號記錄列表
從第一個數據庫列表中我們知道了有個叫做mitdb的庫,也是我們常用的ECG信號庫,所以這里我想獲取他所有信號記錄的列表:
recs_list = wfdb.get_record_list('mitdb')
print(recs_list)
3.下載我們需要的ECG記錄
以上兩個函數提供了數據庫和記錄的信息,但是只是查看,我們要處理的前提還得先獲取某個(某些)記錄。
函數dl_datanase可以下載我們想要的信號記錄。比如剛剛提到的mitdb庫,我們要下載其中的某些信號怎么辦?
db_dir = 'mitdb'???? #指定數據庫,這里是‘mitdb’
dl_dir = 'C:\\Users\zhang\Desktop\Programm_learn\Python\WFDB'? #指定數據下載到本地的路徑,注意C:\\是霜斜線
records = ['100','101','102']? #想要的記錄名稱,從上面的列表可以看出,如果全部使用'all',或者省略這個參數,這里我下三個
wfdb.dl_database(db_dir,dl_dir,records) #下載函數及其參數
注:程序運行沒問題,可是下載一直沒有成功,python一直處于下載狀態。目前還沒有找到原因,等解決這個問題再寫下一篇!