Exemple #1
0
 def test_add(self):
     video = fromarrays((vid, ))
     with self.assertRaises(ValueError):
         list(add(video, ((bg, bg), ) * 128))
     video = fromarrays((vid, ))
     out = add(video, ((bg, ), ) * 128)
     for frames, true_frame in zip(out, vid_add):
         self.assertTrue(np.allclose(frames[0], true_frame))
Exemple #2
0
 def test_multiply(self):
     video = fromarrays((vid, ))
     with self.assertRaises(ValueError):
         list(multiply(video, ((window, window), ) * 128))
     video = fromarrays((vid, ))
     out = multiply(video, ((window, ), ) * 128)
     for frames, true_frame in zip(out, vid_multiply):
         self.assertTrue(np.allclose(frames[0], true_frame))
Exemple #3
0
 def test_normalize(self):
     video = fromarrays((self.vid,))
     fft = rfft2(video)
     fft, = asarrays(normalize_fft(fft),128)
     self.assertTrue(np.allclose(fft, self.fft_norm))
     video = fromarrays((self.vid,))
     fft = rfft2(video)
     fft, = asarrays(normalize_fft(fft, inplace = True),128)
     self.assertTrue(np.allclose(fft, self.fft_norm))
Exemple #4
0
 def test_rfft2_scipy(self):
     set_rfft2lib("scipy")
     video = fromarrays((self.vid,))
     fft, = asarrays(rfft2(video),128)
     self.assertTrue(np.allclose(fft, self.fft))
     
     for kimax, kjmax in ((5,6), (7,7),(4,4)):
         video = fromarrays((self.vid,))
         fft, = asarrays(rfft2(video, kimax = kimax, kjmax = kjmax),128)
         self.assertTrue(np.allclose(fft[:,0:kimax+1], self.fft[:,0:kimax+1,0:kjmax+1])) 
         self.assertTrue(np.allclose(fft[:,-kimax:], self.fft[:,-kimax:,0:kjmax+1]))  
Exemple #5
0
 def test_equivalence_diff_3(self):
     norm = 3
     bg, var = stats(self.test_data1)
     data = multitau.acorr_multi(self.test_data1,
                                 level_size=16,
                                 norm=1,
                                 method="corr",
                                 binning=0)
     data = multitau.normalize_multi(data, bg, var, norm=1)
     x_, out0 = multitau.log_merge(*data)
     data = multitau.ccorr_multi(self.test_data1,
                                 self.test_data1,
                                 level_size=16,
                                 norm=norm,
                                 method="diff",
                                 binning=0)
     data = multitau.normalize_multi(data, bg, var, norm=norm)
     x_, out = multitau.log_merge(*data)
     self.assertTrue(np.allclose(out0, out))
     data, bg, var = multitau.iacorr_multi(fromarrays((self.test_data1, )),
                                           count=64,
                                           level_size=16,
                                           norm=1,
                                           method="diff",
                                           binning=0)
     data = multitau.normalize_multi(data, bg, var, norm=1)
     x_, out = multitau.log_merge(*data)
     self.assertTrue(np.allclose(out0, out))
Exemple #6
0
 def test_cross_equivalence(self):
     for method in ("corr","diff","fft"):
         bg,var = core.stats(test_data1, test_data2, axis = 0)
         data = core.ccorr(test_data1, test_data2,n = 8, norm = 1, method = method)
         out1 = core.normalize(data, bg, var)
         vid = fromarrays((test_data1, test_data2))
         data,bg,var = core.iccorr(vid, count = len(test_data1),chunk_size = 16,n = 8, norm = 1, method = method)
         out2 = core.normalize(data, bg, var)  
         self.assertTrue(np.allclose(out1, out2))              
Exemple #7
0
    def test_multiple(self):
        video = fromarrays((vid, ))
        video = subtract(video, ((bg, ), ) * 128, dtype=FDTYPE)
        video = multiply(video, ((window, ), ) * 128, inplace=True)
        video = add(video, ((bg, ), ) * 128, inplace=True)
        video = subtract(video, ((bg, ), ) * 128, inplace=True)
        out = normalize_video(video, inplace=True)

        for frames, true_frame in zip(out, vid_multiple):
            self.assertTrue(np.allclose(frames[0], true_frame))
Exemple #8
0
    def test_rfft2_numpy(self):
        set_rfft2lib("numpy")
        video = fromarrays((self.vid,))
        fft, = asarrays(rfft2(video),128)
        self.assertTrue(np.allclose(fft, self.fft))
        
        for kimax, kjmax in ((5,6), (7,7),(4,4)):
            video = fromarrays((self.vid,))
            fft, = asarrays(rfft2(video, kimax = kimax, kjmax = kjmax),128)
            self.assertTrue(np.allclose(fft[:,0:kimax+1], self.fft[:,0:kimax+1,0:kjmax+1])) 
            self.assertTrue(np.allclose(fft[:,-kimax:], self.fft[:,-kimax:,0:kjmax+1]))  

        video = fromarrays((self.vid,))
        fft, = asarrays(rfft2(video, kimax = None, kjmax = 6),128)
        self.assertTrue(np.allclose(fft, self.fft[:,:,0:7])) 
        
        video = fromarrays((self.vid,))
        fft, = asarrays(rfft2(video, kimax = 6),128)
        self.assertTrue(np.allclose(fft[:,0:7,:], self.fft[:,0:7,:])) 
        
        with self.assertRaises(ValueError):
            video = fromarrays((self.vid,))
            fft, = asarrays(rfft2(video, kimax = 16),128)
        with self.assertRaises(ValueError):
            video = fromarrays((self.vid,))
            fft, = asarrays(rfft2(video, kjmax = 17),128)
Exemple #9
0
    def test_show_matplotlib(self):
        set_showlib("matplotlib")
        video = fromarrays((vid, vid))
        with self.assertRaises(ValueError):
            show_fft(video, mode="wrong")

        video = show_video(video)
        video = show_fft(video, mode="real")
        video = show_fft(video, clip=256)

        video = show_diff(video)
        video = play(video, fps=100)
        video = load(video, 128)
 def test_equivalence_norm_2(self):
     norm = 2
     bg, var = stats(self.test_data1)
     data= multitau.acorr_multi(self.test_data1, level_size = 16, norm = norm)
     data = multitau.normalize_multi(data,bg,var, norm = norm)
     x_, out0 = multitau.log_merge(*data)
     data = multitau.ccorr_multi(self.test_data1,self.test_data1, level_size = 16, norm = norm)
     data = multitau.normalize_multi(data,bg,var, norm = norm)
     x_, out = multitau.log_merge(*data)
     self.assertTrue(np.allclose(out0,out))
     
     data,bg,var = multitau.iacorr_multi(fromarrays((self.test_data1,)),count = 64, level_size = 16,  norm = norm)
     data = multitau.normalize_multi(data,bg,var, norm = norm)
     x_, out = multitau.log_merge(*data)
     self.assertTrue(np.allclose(out0,out))
Exemple #11
0
import matplotlib.pyplot as plt

from cddm import conf
import numpy as np

#setting this to 2 shows progress bar
conf.set_verbose(2)

SHAPE = (512, 512)

vid = np.load("simple_brownian_ddm_video.npy")
nframes = len(vid)

#obtain frames iterator
video = fromarrays((vid, ))
##apply blackman window
window = blackman(SHAPE)
video = apply_window(video, (window, ))
#perform rfft2 and crop data
video = rfft2(video, kisize=64, kjsize=64)
#load all frames into numpy array
#video, = asmemmaps("brownian_single_camera_fft", video, nframes)

#compute and create numpy array
video, = asarrays(video, nframes)
np.save("simple_brownian_ddm_fft.npy", video)

v1 = np.load("simple_brownian_cddm_video_0.npy")
v2 = np.load("simple_brownian_cddm_video_1.npy")
nframes = len(v1)
Exemple #12
0
#v1[3000:] = v1[3000:] + v1[0]
#v2[3000:] = v2[3000:] + v2[-1]

v1 = v1 + np.random.randn(64, 33)
v2 = v2 + np.random.randn(64, 33)

v1 = v1 - v1[:2].mean(axis=0)[None, ...]
v2 = v2 - v2[:2].mean(axis=0)[None, ...]

t1 = np.load("simple_brownian_cddm_t1.npy")
t2 = np.load("simple_brownian_cddm_t2.npy")

nframes = len(v1)

v = fromarrays((v1, v2))

data, bg, var = iccorr_multi(v,
                             t1,
                             t2,
                             level=5,
                             chunk_size=64,
                             auto_background=True,
                             period=PERIOD,
                             binning=True,
                             stats=True,
                             norm=1,
                             show=True)
#data, bg, var = ccorr_multi(v1,v2 , t1,t2, n=2**5, period = PERIOD, binning = True, norm = 0, stats = True)
#data2 = ccorr_multi(v1,v2 , t1,t2, n=2**4, period = PERIOD, binning = False, norm = 2)
Exemple #13
0
 def test_crop(self):
     video = fromarrays((vid, ))
     with self.assertRaises(ValueError):
         list(crop(video, roi=((0, 4), 0, 2)))
     out, = asarrays(crop(video, roi=((0, 2), (0, 2))), 128)
     self.assertTrue(np.allclose(out[:], vid[:, 0:2, 0:2]))
Exemple #14
0
 def test_mask(self):
     m = vid[0] > 0.
     video = fromarrays((vid, ))
     out, = asarrays(mask(video, m), 128)
     self.assertTrue(np.allclose(out, vid[:, m]))
Exemple #15
0
 def test_load(self):
     video = fromarrays((vid, ))
     with self.assertRaises(ValueError):
         video = load(video)
     video = load(video, 128)
     video = load(video)
Exemple #16
0
 def test_normalize(self):
     video = fromarrays((vid, ))
     out = normalize_video(video)
     for frames, true_frame in zip(out, vid_normalize):
         self.assertTrue(np.allclose(frames[0], true_frame))
Exemple #17
0
 def test_memmaps(self):
     video = fromarrays((vid, ))
     with self.assertRaises(ValueError):
         video = asmemmaps("deleteme", video)
     video = asmemmaps("deleteme", video, 128)