From ed35db265a7727172216ee24b9cbf1a4622ca42a Mon Sep 17 00:00:00 2001 From: Skudalen Date: Fri, 25 Jun 2021 15:28:20 +0200 Subject: [PATCH] test: test the load and denoise funcs together --- Handle_emg_data.py | 2 +- Signal_prep.py | 10 +++++----- Test_functions.py | 15 ++++++++++++--- __pycache__/Handle_emg_data.cpython-38.pyc | Bin 19849 -> 19853 bytes __pycache__/Signal_prep.cpython-38.pyc | Bin 2635 -> 2634 bytes 5 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Handle_emg_data.py b/Handle_emg_data.py index 437ae9a..2c034fe 100644 --- a/Handle_emg_data.py +++ b/Handle_emg_data.py @@ -447,7 +447,7 @@ class CSV_handler: def get_df_from_data_dict(self, subject_nr, which_arm, round, emg_nr): data_type = self.data_type container = self.data_container_dict.get(subject_nr) - df = container.dict_list[round - 1].get(which_arm)[emg_nr] + df = container.dict_list[round - 1].get(which_arm)[emg_nr - 1] return df diff --git a/Signal_prep.py b/Signal_prep.py index 5186b17..b678861 100644 --- a/Signal_prep.py +++ b/Signal_prep.py @@ -52,8 +52,8 @@ def sure_threshold_filter(cA, cD): ''' # soft filtering of wavelet trans with the 40% lowest removed -def soft_threshold_filter(cA, cD): - cA_filt = pywt.threshold(cA, 0.4 * cA.max()) +def soft_threshold_filter(cA, cD, threshold): + cA_filt = pywt.threshold(cA, threshold * cA.max()) cD_filt = cD return cA_filt, cD_filt @@ -71,16 +71,16 @@ def inverse_wavelet(df, cA_filt, cD_filt): return y_new_values # Takes in handler and detailes to denoise. Returns arrays and df -def denoice_dataset(handler:Handler.CSV_handler, subject_nr, which_arm, round, emg_nr): +def denoice_dataset(handler:Handler.CSV_handler, subject_nr, which_arm, round, emg_nr, threshold): df = handler.get_df_from_data_dict(subject_nr, which_arm, round, emg_nr) N = get_xory_from_df('x', df) N_trans, cA, cD = wavelet_db4_denoising(df) - cA_filt, cD_filt = soft_threshold_filter(cA, cD) + cA_filt, cD_filt = soft_threshold_filter(cA, cD, threshold) y_values = inverse_wavelet(df, cA_filt, cD_filt) df_new = Handler.make_df_from_xandy(N, y_values, emg_nr) - return N, y_values, df_new + return df_new diff --git a/Test_functions.py b/Test_functions.py index e0f997a..dd5ade5 100644 --- a/Test_functions.py +++ b/Test_functions.py @@ -1,3 +1,4 @@ +from matplotlib import lines from numpy import load from Handle_emg_data import * import matplotlib.pyplot as plt @@ -66,11 +67,19 @@ def test_total_denoising(): # Original df: df = handler.get_df_from_data_dict(3, 'left', 3, 3) print(df.head) - plot_df(df) + # Denoised df: - N_trans, y_values, df_denoised = denoice_dataset(handler, 3, 'left', 3, 3) + df_denoised = denoice_dataset(handler, 3, 'left', 3, 3, 0.2) print(df_denoised.head) - plot_df(df_denoised) + + x = get_xory_from_df('x', df) + y1 = get_xory_from_df('y', df) + y2 = get_xory_from_df('y', df_denoised) + + figure, axis = plt.subplots(1, 2) + axis[0].plot(x, y1) + axis[1].plot(x, y2) + plt.show() test_total_denoising() diff --git a/__pycache__/Handle_emg_data.cpython-38.pyc b/__pycache__/Handle_emg_data.cpython-38.pyc index 06146b197f3c3286f6071650a091142fa96b06da..f736d9e9ffab49374cd0f3c1f89911a7d199b710 100644 GIT binary patch delta 677 zcmeC2&DcAekvEi=mx}=i@~&P@IKPqiDhuPS$&Xpm85Jgbv!;qG17(WDfrKVo5kH8n z03uW-A7^b~gD^MyvV}1+s!v|Rt}O)-0jbac5t<-E3q&YQe#u_Ls5v=}!;evO^HvTe zJ{xVI_$?lf#GKON>_p$hqSWjn9WYdbI$;Y88+&h0Vn>OZg@%Y0DYvf%v8%!VE;1g9vsI z!2u#TfkYHraei7!KtPcNNW^M$x^^g7t3F|^w^%X~i&9`3Ijs_j*9fu`rg6ImKO>{j zs=43Z4B>^1Dc44O=SMcR}9da5aagBKjKVDHHS9eRs1IX|x?F*7f<2pHVX zUKWfplWV+ehk{Lo97%?ZSJo&3QohhG)Q)MSK2IU_Klv%R%B z+#q5~ljnK+GpbE~=dHx81k&LJBD^O{`&csiOb+$2Q*{R^WGVuwFJcC&c;m4@4c`Jt! zpN$q!{1%T#VoqsscA{@$QEGOPHkwd=agh#4h!3JFzbw%yHL)bINO!WZxDT5?$Y6ub zsp9S|JW-rEsc9wgIhn;JQImH_uNFX9tqf8ozqwduDIX`u<q~F?qM8yt*lfX9gnJ zK?Dbg-~@3N<{%Nv&FR{qXj)ZqX}!ggkyw-h)5vL+NUX*v7Lc7VjoUr= z85#8^ANSPcm1L-8uVD{n&}8x}(wfZZrKSK5T5za>y(SBCF=ujqUP)qRUTP6AsO5bm zCdYdzFiK2r@UpRh$6%2d$UABvf(1lC!Vko<0uk0A!WKl>fe435%o3A%yhHd^fILk` zNE%=S#(ciFHisibOmXreZ+}MB$)CKHxD`Q~TtS2z&;gc=?vo>Z>{OjV3Ym&P>Wi2` zY}Q+h6}K2Gi$G4l#gdYlTmp3P9v?GyZ;&i+)a0K&O03R6cGP4AUnOp^Mt2~$$a@mA J_~aB{O#r3ul;!{c diff --git a/__pycache__/Signal_prep.cpython-38.pyc b/__pycache__/Signal_prep.cpython-38.pyc index 0fe993dbc14aa7fc130ab77325efa7c8339a156f..4d044ddc21bc21e27fac82593334e2bc3c74044c 100644 GIT binary patch delta 455 zcmYL_J4*vW5XWzK@15Kw$l(hFg{XO8AYxQ}s2j(}kyR-A(*{|p`3QmK-H_!%?$@$}J@MbmyEoWw7w9#Yq!73s# zMhpz#V2t?Kh>S5;0+=#EfZ69Q+Wsu=1N|Y&aY)K`O|IV0`&}FsEaydQ`rgYF|dbRISI$eIzqY1Q+^`A10SrR z=x~)%>BIyZQji`B6(rWk1_uJ{AXLa9)On|Dm$196=#H}{GICo#IK^C^wn$zs5S9r4 zVhR}bZL)}MNCEaVj%0<_jXyV54 l>`=ixfhLv_VVST&_<0&;(^TAQpUpl>R_Uxsh&A&MzX55GSX=-A delta 472 zcmX|7Jxc>Y5WU^K+xti^iUdR?7)8MgC=szZB<9P?A{J2#3B+h}o)8o_hgj^ABBh;M zDG13Au&}eSu(61>h50qkYRrRqGsDhf-s~{>nRE|b*U^O@#eLPgShZv5kSRnN zqLT)Sv_9fm6QYj?T2dQefjJU{V@?8G)jV7|e|%8*&U=KVKr*tUkhMDDRlCV%p!amP z42i9%H}kAm4=&mf6uZ9#lLcc7W#ovP0nNE3qH)El|XTvK+Km@))Oko zXDdJNp^9g)oRVxSng$w?#%YJ`NZa;NNtW$3l#|!?KH8M;c53Nww;GF;t4H