logproc.py 1013 B

123456789101112131415161718192021222324252627282930313233
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. LEAD_FILE = "/tmp/lead_history.log"
  4. F_FILE = "/tmp/f_history.log"
  5. LEAD_PROCESSED_IMG = "/tmp/lead_history_processed.png"
  6. F_PROCESSED_IMG = "/tmp/f_history_processed.png"
  7. SEP = ","
  8. NODES = 5 # nuber of nodes logged
  9. with open(LEAD_FILE) as f:
  10. buf = f.read()
  11. nodes = buf.split(SEP)[:-1]
  12. node_log = []
  13. for i in range(0, len(nodes), NODES):
  14. assert (nodes[i]==nodes[i+1]==nodes[i+2]==nodes[i+3]==nodes[i+4])
  15. node_log+=[int(nodes[i])]
  16. freq_single_lead = sum(np.array(node_log)==1)/float(len(node_log))
  17. print("single leader frequency: {}".format(freq_single_lead))
  18. plt.plot(node_log)
  19. plt.savefig(LEAD_PROCESSED_IMG)
  20. with open(F_FILE) as f:
  21. buf = f.read()
  22. nodes = buf.split(SEP)[:-1]
  23. node_log = []
  24. for i in range(0, len(nodes), NODES):
  25. assert (nodes[i]==nodes[i+1]==nodes[i+2]==nodes[i+3]==nodes[i+4])
  26. node_log+=[float(nodes[i])]
  27. plt.plot(node_log)
  28. plt.savefig(F_PROCESSED_IMG)