-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathprocess_2Ds.py
44 lines (30 loc) · 1.31 KB
/
process_2Ds.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import numpy as np
from scipy.ndimage import gaussian_filter1d
import argparse
def vnect_smoothing(vnect_2Ds):
n_frames = len(vnect_2Ds)
vnect_2Ds = vnect_2Ds.reshape(n_frames, -1).T
for i in range(len(vnect_2Ds)):
vnect_2Ds[i] = gaussian_filter1d(vnect_2Ds[i], 2)
vnect_2Ds = (vnect_2Ds.T).reshape(n_frames, -1, 2)
return vnect_2Ds
def vnect_mdd_loader(filename):
with open(filename) as f:
content = f.readlines()
content = np.array([ x.strip().split("," ) for x in content][1:])
content = np.array([ np.array(list(map(float,x))) for x in content] )[:,1:].reshape(len(content),-1,2)
return content
def main(input_path,output_folder,smoothing):
data = vnect_mdd_loader(input_path)
if smoothing:
data = vnect_smoothing(data)
np.save(output_folder+"vnect_2ds.npy",data)
return 0
if __name__ == '__main__':
### config for fitting and contact calculations ###
parser = argparse.ArgumentParser(description='arguments for predictions')
parser.add_argument('--input', type=str, default="./VNect_data/ddd.mdd")
parser.add_argument('--output', type=str, default="./VNect_data/")
parser.add_argument('--smoothing', type=int, default=0)
args = parser.parse_args()
main(args.input,args.output,args.smoothing)