analyse_GW_3D.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. from scipy import signal
  4. import numpy as np
  5. import math
  6. from mpl_toolkits import mplot3d
  7. import easygui
  8. from master_funcs import *
  9. import dataframe_image as dfi
  10. import dill
  11. %matplotlib qt
  12. patients=['PB_T2_3_1', 'PB_T2_3_2', 'PB_T2_3_3', 'PB_T2_4_2', 'PB_T2_5_1', 'PB_T2_6_1', 'PB_T2_6_2', 'PB_T3_23_1', 'PB_T3_23_3', 'PB_T3_24_1', 'PB_T3_24_2', 'PB_T3_24_3']
  13. for z in patients:
  14. print(z)
  15. GW_3D='/home/user/owncloud/3D_videos/GW_3D/'+z+'_P3_GW_DLC_3D.csv'
  16. data = pd.read_csv(GW_3D, delimiter=",", skiprows=0, header=[1,2])
  17. coln=data.columns
  18. zero='grid_top_left'
  19. x='grid_top_right'
  20. y='grid_bottom_left'
  21. data=transform(data, zero, x, y)
  22. vel, acc=vel_acc(data, '3D')
  23. fault_reset=0
  24. max_s, last_s=max_step(data)
  25. ff=[max_s]
  26. for i in range(0, last_s):
  27. if (fault_reset==0) and ((data['forepaw_right', 'z'][i]-data[zero, 'z'][i])<0):
  28. print('foot fault at', i)
  29. ff.append(i)
  30. fault_reset=1
  31. if (fault_reset==1) and ((data['forepaw_right', 'z'][i]-data[zero, 'z'][i])>0):
  32. fault_reset=0
  33. if z=='PB_T2_3_1':
  34. footfault_3d=pd.DataFrame([ff], index=[z])
  35. else:
  36. footfault_3d_temp=pd.DataFrame([ff], index=[z])
  37. footfault_3d=footfault_3d.append(footfault_3d_temp)
  38. footfault_3d.columns=['Non Foot Fault']+['Frame #']*(footfault_3d.shape[1]-1)
  39. dfi.export(footfault_3d, '/home/user/owncloud/thesis_figures/DLC_GW_3d.png')
  40. patients=['PB_T2_3_1', 'PB_T2_3_2', 'PB_T2_3_3', 'PB_T2_4_2', 'PB_T2_5_1', 'PB_T2_6_1', 'PB_T2_6_2', 'PB_T3_23_1', 'PB_T3_23_3', 'PB_T3_24_1', 'PB_T3_24_2', 'PB_T3_24_3']
  41. for z in patients:
  42. print(z)
  43. dill.load_session('/home/user/Documents/Master/GW_'+z+'_data.pkl')
  44. pred_rfc = best_model.predict(X_test)
  45. det=np.where(pred_rfc)
  46. if z=='PB_T2_3_1':
  47. footfault_FI_3d=pd.DataFrame(det, index=[z])
  48. else:
  49. footfault_FI_3d_temp=pd.DataFrame(det, index=[z])
  50. footfault_FI_3d=footfault_FI_3d.append(footfault_FI_3d_temp)