In [2]:
import os
import csv
import sys
import scipy.optimize as opt
import scipy.stats as stat
from operator import itemgetter
import random
import numpy as np
import numpy.ma as ma
import numpy.linalg as la
import numpy.testing as npt

from brain_diffusion.msd import fillin2, MSD_iteration, vectorized_MMSD_calcs

In [17]:
n = 6
p = 2
df = np.zeros((p*n, 12))
for i in range(1, p+1):
    df[(i-1)*n:i*n, 0] = np.ones(n) + i - 1
    df[(i-1)*n:i*n, 1] = np.ones(n) + i - 1
    df[(i-1)*n:i*n, 2] = np.linspace(0, 10, n) + 2 + i
    df[(i-1)*n:i*n, 3] = np.linspace(0, 10, n) + i
    df[(i-1)*n:i*n, 4] = np.linspace(0, 10, n) + 3 + i
    df[(i-1)*n:i*n, 5] = np.zeros(n)
    df[(i-1)*n:i*n, 6:13] = np.zeros((n, 6))
np.savetxt("../Traj_test_data_1.tif.csv", df, delimiter=",")
folder = '../'
name = 'test_data'
total1, frames, xs_m, ys_m, x_m, y_m = MSD_iteration(folder, name)

In [32]:
total1 == p


Out[32]:
True

In [27]:
df[:, 3]


Out[27]:
array([  1.,   3.,   5.,   7.,   9.,  11.,   2.,   4.,   6.,   8.,  10.,
        12.])

In [33]:
n = 6
p = 2
df = np.zeros((p*n, 12))
for i in range(1, p+1):
    df[(i-1)*n:i*n, 0] = np.ones(n) + i - 1
    df[(i-1)*n:i*n, 1] = np.ones(n) + i - 1
    df[(i-1)*n:i*n, 2] = np.linspace(0, 10, n) + 2 + i
    df[(i-1)*n:i*n, 3] = np.linspace(0, 10, n) + i
    df[(i-1)*n:i*n, 4] = np.linspace(0, 10, n) + 3 + i
    df[(i-1)*n:i*n, 5] = np.zeros(n)
    df[(i-1)*n:i*n, 6:12] = np.zeros((n, 6))
np.savetxt("../Traj_test_data_1.tif.csv", df, delimiter=",")
folder = '../'
name = 'test_data'
total1, frames, xs_m, ys_m, x_m, y_m = MSD_iteration(folder, name)
geoM2xy, gSEM, SM1x, SM1y, SM2xy = vectorized_MMSD_calcs(frames, total1, xs_m, ys_m)

test1 = np.array([0.,  1.38629436, 2.07944154, 2.99573227, 3.4657359,
                  3.95124372, 4.27666612, 4.60517019, 4.85203026, 5.09986643,
                  5.29831737,  0.,  0.,  0.])

test2 = np.array([ 0., 0., 0., 0., 0., 0.,  0.,  0.,  0.,  2.54993321, 2.64915868, 0., 0., 0.])

test3 = np.array([[0.,    0.],
                  [2.,    2.],
                  [4.,    4.],
                  [10.,   10.],
                  [16.,   16.],
                  [26.,   26.],
                  [36.,   36.],
                  [50.,   50.],
                  [64.,   64.],
                  [0.,   82.],
                  [0.,  100.],
                  [0.,    0.],
                  [0.,    0.],
                  [0.,    0.]])

In [46]:
dist = ma.log(ma.masked_equal(SM2xy, 0))

geoM2xy = ma.mean(dist, axis=1)
gSEM = stat.sem(dist, axis=1)

In [47]:
g


Out[47]:
masked_array(data =
 [[-- --]
 [1.3862943611198906 1.3862943611198906]
 [2.0794415416798357 2.0794415416798357]
 [2.995732273553991 2.995732273553991]
 [3.4657359027997265 3.4657359027997265]
 [3.9512437185814275 3.9512437185814275]
 [4.276666119016055 4.276666119016055]
 [4.605170185988092 4.605170185988092]
 [4.852030263919617 4.852030263919617]
 [-- 5.099866427824199]
 [-- 5.298317366548036]
 [-- --]
 [-- --]
 [-- --]],
             mask =
 [[ True  True]
 [False False]
 [False False]
 [False False]
 [False False]
 [False False]
 [False False]
 [False False]
 [False False]
 [ True False]
 [ True False]
 [ True  True]
 [ True  True]
 [ True  True]],
       fill_value = 0.0)

In [48]:
gSEM


Out[48]:
array([ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ,
        0.        ,  0.        ,  0.        ,  0.        ,  2.54993321,
        2.64915868,  0.        ,  0.        ,  0.        ])

In [ ]: