Repository for M.A.I.L system's analysis server.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import pandas as pd
  2. import os
  3. import sys
  4. target_dir = str(sys.argv[1])
  5. full_list = os.listdir(target_dir)
  6. csv_list = [file for file in full_list if file.startswith('cam')]
  7. csv_list = sorted(csv_list)
  8. #csv_list = [cam1.csv,cam2.csv]
  9. #print(csv_list)
  10. d1 = pd.read_csv(os.path.join(target_dir,csv_list[0]))
  11. if len(csv_list) != 1 :
  12. d2 = pd.read_csv(os.path.join(target_dir,csv_list[1]))
  13. d2['x'] = 1920 - d2['x']
  14. df_conc = pd.concat([d1,d2])
  15. else:
  16. df_conc = d1
  17. if len(d1) == 0 and len(d2) == 0:
  18. dummy_dic = {'x':[0,1920], 'y':[1080,0], 'z':[1.0,5.0], 'frame':[1,1900]}
  19. df_conc = pd.DataFrame(dummy_dic)
  20. df_conc.sort_values(by='frame')
  21. df_conc.drop_duplicates(['frame'])
  22. #print(df_conc)
  23. df_global = pd.DataFrame(index=range(0,int(df_conc['frame'].iloc[-1])+1), columns=['x','y','z','frame'])
  24. df_global['frame'] = list(range(1, int(df_conc['frame'].iloc[-1]+2)))
  25. df_global = df_global.astype({'frame':'int'})
  26. #print(df_global)
  27. df_global = pd.concat([df_global,df_conc])
  28. df_global=df_global.sort_values(by = ['frame'])
  29. df_global = df_global.drop_duplicates(['frame'], keep='last')
  30. df_global = df_global.reset_index(drop=True)
  31. df_global = df_global.interpolate()
  32. df_global = df_global.interpolate(method='values')
  33. #print(df_global)
  34. df_global['x'] = 10 * ((df_global['x'] - df_global['x'].min()) / (df_global['x'].max() - df_global['x'].min())) - 5
  35. df_global['y'] = 10 * ((df_global['y'] - df_global['y'].min()) / (df_global['y'].max() - df_global['y'].min())) - 5
  36. df_global['z'] = 2.7 * ((df_global['z'] - df_global['z'].min()) / (df_global['z'].max() - df_global['z'].min())) + 0.3
  37. #print(df_global)
  38. df_global = df_global.fillna(0)
  39. df_summary = df_global[df_global['frame']% 30 == 1]
  40. #print(df_summary)
  41. df_global.to_csv(os.path.join(target_dir,'coordinate.csv'))
  42. df_summary.to_csv(os.path.join(target_dir,'coordinate_summary.csv'))