mv_ec_stats.jl 942 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using JSON
  2. using Glob
  3. raw_ec_records = [JSON.parsefile(a) for a in ARGS]
  4. # 3x3 arrays of counts, 2 symbols, 4 levels
  5. ec_stats = zeros(9, 2, 4)
  6. for frames in raw_ec_records
  7. for frame in frames
  8. key_levels = ["mvf-l1" => 1, "mvf-l2" => 2, "mvf-l3" => 3, "mvf-l4" => 4]
  9. for key in keys(key_levels)
  10. if haskey(frame, key)
  11. for r in frame[key]
  12. sym = r[1] + 1
  13. ctx = r[3] + 1
  14. ec_stats[ctx, sym, key_levels[key]] += 1
  15. end
  16. end
  17. end
  18. end
  19. end
  20. for level in 1:4
  21. totals = ec_stats[:,1,level] .+ ec_stats[:,2,level]
  22. totals[find(isnan,totals)] = 0.0
  23. probs = ec_stats[:,1,level] ./ totals
  24. probs[find(isnan,probs)] = 0.0
  25. probs = int(round(probs * 32768))
  26. println("LEVEL $level:")
  27. println("Probabilties:")
  28. println(probs)
  29. println("Totals:")
  30. println(totals)
  31. println()
  32. end