1 """@namespace IMP.emseqfinder.compute_dynamic_threshold
2 Determine a threshold for an EM map."""
8 def compute_threshold(map_path):
11 with mrcfile.open(map_path, permissive=
True)
as mrc:
12 data = mrc.data.astype(np.float32)
15 data = data[np.isfinite(data)]
18 data = data[(data > np.percentile(data, 1))
19 & (data < np.percentile(data, 99))]
22 return np.percentile(data, 99.9)
26 threshold = compute_threshold(sys.argv[1])
27 print(round(threshold, 4))
30 if __name__ ==
'__main__':