Files
ECG_by_Diffenert_CNN_Test/some-test/ECG_read_by_wfdb.py
T
2023-04-25 13:16:30 +08:00

44 lines
1.2 KiB
Python

import wfdb
import numpy as np
def getDataset(number, X_data):
# get ECG from mit-bih-arrhythmia-database-1.0.0
print("get data:" + number + " ECG")
record = wfdb.rdrecord('./MIT-BIT/' + number, channel_names=['MLII'])
data = record.p_signal.flatten()
# get R sample and symbol
annotation = wfdb.rdann('MIT-BIT/' + number, 'atr')
Rlocatation = annotation.sample
Rclass = annotation.symbol
X_data.append(data)
wfdb.plot_wfdb(record=record, annotation=annotation, time_units='seconds')
return
def loadData():
numberSet = ['100', '101', '103', '105', '106', '107', '108', '109', '111', '112', '113', '114', '115',
'116', '117', '119', '121', '122', '123', '124', '200', '201', '202', '203', '205', '208',
'210', '212', '213', '214', '215', '217', '219', '220', '221', '222', '223', '228', '230',
'231', '232', '233', '234']
dataSet = []
for n in numberSet:
getDataset(n, dataSet)
return dataSet
def main():
dataSet = loadData()
dataSet = np.array(dataSet)
print(dataSet)
print(dataSet.__sizeof__())
print(dataSet.shape)
print("get ECG data")
if __name__ == '__main__':
main()