├── README.md ├── draw_pdf.m ├── main_new.m ├── medfilter.m ├── QRSclinical.m ├── ecgdataread.m ├── find_m_pair.m ├── find_zeros.m ├── write2file.m ├── correction_R.m ├── detection_Rwave.m ├── filter_baseline.m ├── maximum_value_find.m ├── threshold_process.m ├── NewCallback.m └── combine_pdf.py /README.md: -------------------------------------------------------------------------------- 1 | # Clinical-ECG-data-processing- 2 | 临床心电数据处理,包括滤波,R波提取以及画图 3 | -------------------------------------------------------------------------------- /draw_pdf.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/draw_pdf.m -------------------------------------------------------------------------------- /main_new.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/main_new.m -------------------------------------------------------------------------------- /medfilter.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/medfilter.m -------------------------------------------------------------------------------- /QRSclinical.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/QRSclinical.m -------------------------------------------------------------------------------- /ecgdataread.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/ecgdataread.m -------------------------------------------------------------------------------- /find_m_pair.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/find_m_pair.m -------------------------------------------------------------------------------- /find_zeros.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/find_zeros.m -------------------------------------------------------------------------------- /write2file.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/write2file.m -------------------------------------------------------------------------------- /correction_R.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/correction_R.m -------------------------------------------------------------------------------- /detection_Rwave.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/detection_Rwave.m -------------------------------------------------------------------------------- /filter_baseline.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/filter_baseline.m -------------------------------------------------------------------------------- /maximum_value_find.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/maximum_value_find.m -------------------------------------------------------------------------------- /threshold_process.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sherry0901/Clinical-ECG-data-processing-/HEAD/threshold_process.m -------------------------------------------------------------------------------- /NewCallback.m: -------------------------------------------------------------------------------- 1 | function output_txt = myfunction(obj,event_obj) 2 | % Display the position of the data cursor 3 | % obj Currently not used (empty) 4 | % event_obj Handle to event object 5 | % output_txt Data cursor text string (string or cell array of strings). 6 | 7 | pos = get(event_obj,'Position'); 8 | output_txt = {['X: ',num2str(pos(1),6)],... 9 | ['Y: ',num2str(pos(2),4)]}; 10 | 11 | % If there is a Z-coordinate in the position, display it as well 12 | if length(pos) > 2 13 | output_txt{end+1} = ['Z: ',num2str(pos(3),6)]; 14 | end 15 | -------------------------------------------------------------------------------- /combine_pdf.py: -------------------------------------------------------------------------------- 1 | # -*- coding:utf-8*- 2 | import sys 3 | import importlib 4 | importlib.reload(sys) 5 | 6 | 7 | import os 8 | import os.path 9 | from PyPDF2 import PdfFileReader,PdfFileWriter 10 | import time 11 | time1=time.time() 12 | 13 | 14 | # 使用os模块walk函数,搜索出某目录下的全部pdf文件 15 | ######################获取同一个文件夹下的所有PDF文件名####################### 16 | def getFileName(filepath): 17 | file_list = [] 18 | for root,dirs,files in os.walk(filepath): 19 | for filespath in files: 20 | # print(os.path.join(root,filespath)) 21 | file_list.append(os.path.join(root,filespath)) 22 | 23 | return file_list 24 | ##########################合并同一个文件夹下所有PDF文件######################## 25 | def MergePDF(filepath,outfile): 26 | output=PdfFileWriter() 27 | outputPages=0 28 | pdf_fileName=getFileName(filepath) 29 | for each in pdf_fileName: 30 | print(each) 31 | # 读取源pdf文件 32 | input = PdfFileReader(open(each, "rb")) 33 | 34 | # 如果pdf文件已经加密,必须首先解密才能使用pyPdf 35 | if input.isEncrypted == True: 36 | input.decrypt("map") 37 | 38 | # 获得源pdf文件中页面总数 39 | pageCount = input.getNumPages() 40 | outputPages += pageCount 41 | print(pageCount) 42 | 43 | # 分别将page添加到输出output中 44 | for iPage in range(0, pageCount): 45 | output.addPage(input.getPage(iPage)) 46 | 47 | 48 | print("All Pages Number:"+str(outputPages)) 49 | # 最后写pdf文件 50 | outputStream=open(filepath+outfile,"wb") 51 | output.write(outputStream) 52 | outputStream.close() 53 | print('finished') 54 | 55 | if __name__ == '__main__': 56 | 57 | patient='张桂招' 58 | path='E:/素雅/研究生/心律失常判别及临床实验/临床实验/9.11/'+patient 59 | ls = os.listdir(path) 60 | count = 0 61 | for i in ls: 62 | if os.path.isdir(os.path.join(path,i)): 63 | count += 1 64 | for n in range(count): 65 | num=str(n+1) 66 | file_dir = 'E:/素雅/研究生/心律失常判别及临床实验/临床实验/9.11/'+patient+'/PDF'+num 67 | out='/'+patient+num+'.pdf' 68 | MergePDF(file_dir,out) 69 | time2 = time.time() 70 | print(u'总共耗时:' + str(time2 - time1) + 's') 71 | n +=1 72 | 73 | --------------------------------------------------------------------------------