コード例 #1
0
ファイル: auto_correlate_multi.py プロジェクト: inwwin/cddm
from cddm.viewer import MultitauViewer
from cddm.video import multiply, normalize_video
from cddm.window import blackman
from cddm.fft import rfft2, normalize_fft
from cddm.multitau import iacorr_multi, normalize_multi, log_merge

import numpy as np

from examples.conf import NFRAMES, SHAPE, KIMAX, KJMAX, DATA_PATH
#: see video_simulator for details, loads sample video
import examples.video_simulator as video_simulator
import importlib
importlib.reload(video_simulator)  #recreates iterator

#: create window for multiplication...
window = blackman(SHAPE)

#: we must create a video of windows for multiplication
window_video = ((window, ), ) * NFRAMES

#:perform the actual multiplication
video = multiply(video_simulator.video, window_video)

#: if the intesity of light source flickers you can normalize each frame to the intensity of the frame
#video = normalize_video(video)

#: perform rfft2 and crop results, to take only first kimax and first kjmax wavenumbers.
fft = rfft2(video, kimax=KIMAX, kjmax=KJMAX)

#: you can also normalize each frame with respect to the [0,0] component of the fft
#: this it therefore equivalent to  normalize_video
コード例 #2
0
"""tests for video processing functions"""

import unittest
import numpy as np
from cddm.video import subtract, multiply, normalize_video, random_video, asmemmaps,\
     asarrays, fromarrays, load, crop, show_video, show_fft, show_diff, play, add, \
     mask
from cddm.conf import FDTYPE, set_showlib
from cddm.window import blackman

video = random_video((32, 8), count=128, dtype="uint8", max_value=255)
vid, = asarrays(video, count=128)

bg = vid.mean(0)
window = blackman((32, 8))

vid_subtract = vid - bg[None, ...]
vid_multiply = vid * window[None, ...]
vid_add = vid + bg[None, ...]
vid_normalize = vid / (vid.mean((1, 2))[:, None, None])
vid_multiple = vid_subtract * window[None, ...]
vid_multiple = vid_multiple / (vid_multiple.mean((1, 2))[:, None, None])


class TestVideo(unittest.TestCase):
    def setUp(self):
        pass

    def test_memmaps(self):
        video = fromarrays((vid, ))
        with self.assertRaises(ValueError):