Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. #Open the file: in green put the name of the file
  2. df1=pd.read_csv('/Users/JonathanPacheco/Desktop/Spots in tracks statistics.csv')
  3.  
  4.  
  5. df2 = df1.set_index(['TRACK_ID'])
  6.  
  7. q = df1.iloc[1,3]-df1.iloc[0,3]
  8.  
  9. #selection of tracks by duration
  10.  
  11.  
  12. ef = pd.read_csv('/Users/JonathanPacheco/Desktop/Sort.csv')
  13.  
  14. ef1 = ef.set_index(['TRACK_DURATION'])
  15.  
  16. sets = ef1.loc[4.2:, 'TRACK_ID'] # Set trajectories to analyze from time X to the end <<<<<<<<<<<<<<<<<<<<<
  17.  
  18. M = sets.values.tolist()
  19.  
  20.  
  21. for j in M:
  22.  
  23. dfk = df2.loc[j]
  24. dfT = dfk.iloc[:5] #clip trajectories at<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  25.  
  26.  
  27.  
  28. #Parameter input
  29. N = int(len(dfT))
  30. max_time = np.float(N*(q))
  31. frames = np.float(max_time/N)
  32. t_step = frames
  33.  
  34. data = pd.DataFrame({'N':[N],'max_time':[max_time],'frames':[frames]})
  35.  
  36. #print(data)
  37.  
  38. t=np.linspace(q, max_time, N)
  39.  
  40. #function to measure MSD (all displacement)
  41. def alldisplacement(dfT, t_step, coords=['POSITION_X', 'POSITION_Y']):
  42.  
  43.  
  44. tau = t.copy()
  45. shifts = np.divide(tau,t_step).astype(float)
  46. msds_sum = np.zeros(shifts.size)
  47. delta_inv = np.arange(N)
  48. delta = delta_inv[N-1::-1]
  49.  
  50.  
  51.  
  52.  
  53. for i, shift in enumerate(np.round(shifts,0)):
  54. diffs = dfT[coords] - dfT[coords].shift(-shift)
  55. sqdist = np.square(diffs).sum(axis=1)
  56. msds_sum[i] = sqdist.sum()
  57. msd = np.divide(msds_sum,delta)
  58.  
  59.  
  60. msds = pd.DataFrame({'msd':msd})
  61. return msds
  62.  
  63. msd = alldisplacement(dfT, t_step, coords=['POSITION_X', 'POSITION_Y'])
  64.  
  65. print(msd)
  66.  
  67.  
  68. #Saving files seccion
  69.  
  70. b = msd.to_csv('/Users/JonathanPacheco/Desktop/MSD.csv', sep=',',mode='a')
  71.  
  72. b = msd
  73. a = pd.read_csv('/Users/JonathanPacheco/Desktop/MSD.csv')
  74. c = pd.concat ([a,b],axis=1, ignore_index=True)
  75. c.to_csv('/Users/JonathanPacheco/Desktop/MSD.csv', sep=',', index=False)
  76.  
  77. TRACK_ID POSITION_X POSITION_Y POSITION_T
  78. 0 3 1.649 0.368 0.042
  79. 1 3 1.576 0.371 0.084
  80. 2 3 1.651 0.313 0.126
  81. 3 3 1.723 0.340 0.168
  82. 4 3 1.381 0.355 0.210
  83. 5 33 1.324 0.469 0.252
  84. 6 33 1.202 0.540 0.294
  85. 7 33 1.323 0.427 0.336
  86. 8 33 1.197 0.599 0.420
  87. 9 33 1.327 0.519 0.462
  88. 10 33 1.450 0.595 0.504
  89. 11 33 1.684 0.577 0.546
  90. 12 33 1.792 0.678 0.588
  91. 13 53 1.852 0.906 0.630
  92. 14 53 1.762 0.827 0.672
  93. 15 53 1.735 0.961 0.714
  94. 16 53 1.657 1.083 0.756
  95. 17 53 1.897 1.074 0.798
  96. 18 93 1.961 1.126 0.840
  97. 19 93 2.067 1.167 0.882
  98. 20 93 2.046 1.267 0.966
  99. 21 93 1.922 1.228 1.008
  100. 22 93 1.992 1.230 1.050
  101. 23 93 1.945 1.198 1.092
  102. 24 93 2.002 1.224 1.134
  103. 25 93 1.866 1.213 1.176
  104. 26 93 1.851 1.482 1.218
  105.  
  106. Unnamed:0 TRACK_ID TRACK_DURATION
  107. 0 3 7652
  108. 1 33 6676
  109. 2 53 5828
  110. 3 93 20008
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement