#!/usr/bin/env python # coding: utf-8 # In[1]: # %load tutorial-part2.py import sys sys.path.append('/Users/alex/Documents/OpenPIV/alexlib/openpiv-python') # In[2]: import openpiv.tools import openpiv.process import openpiv.scaling import numpy as np get_ipython().run_line_magic('matplotlib', 'inline') # In[18]: frame_a = openpiv.tools.imread( 'test001.png' ) frame_b = openpiv.tools.imread( 'test002.png' ) import pylab pylab.imshow(np.c_[frame_a,np.ones((frame_a.shape[0],20)),frame_b],cmap=pylab.cm.gray) # In[4]: get_ipython().run_cell_magic('time', '', "u, v, sig2noise = openpiv.process.extended_search_area_piv( frame_a.astype(np.int32), frame_b.astype(np.int32), \n window_size=24, overlap=12, dt=0.02, \n search_area_size=64, sig2noise_method='peak2peak' )\nx, y = openpiv.process.get_coordinates( image_size=frame_a.shape, window_size=24, overlap=12 )\nu, v, mask = openpiv.validation.sig2noise_val( u, v, sig2noise, threshold = 2.5 )\nu, v = openpiv.filters.replace_outliers( u, v, method='localmean', max_iter=10, kernel_size=2)\nx, y, u, v = openpiv.scaling.uniform(x, y, u, v, scaling_factor = 96.52 )\nopenpiv.tools.save(x, y, u, v, mask, 'exp1_001_extended.txt' )\nopenpiv.tools.display_vector_field('exp1_001_extended.txt', scale=100, width=0.0025)\n") # In[14]: get_ipython().run_cell_magic('time', '', "u, v= openpiv.pyprocess.piv( frame_a, frame_b, corr_method='fft', window_size=24, overlap=12, dt=0.02, sig2noise_method='peak2peak' )\nx, y = openpiv.pyprocess.get_coordinates( image_size=frame_a.shape, window_size=24, overlap=12 )\nu, v, mask = openpiv.validation.sig2noise_val( u, v, sig2noise, threshold = 2.5 )\nu, v = openpiv.filters.replace_outliers( u, v, method='localmean', max_iter=10, kernel_size=2.5)\nx, y, u, v = openpiv.scaling.uniform(x, y, u, v, scaling_factor = 96.52 )\nopenpiv.tools.save(x, y, u, v, mask, 'exp1_001_fft.txt' )\nopenpiv.tools.display_vector_field('exp1_001_fft.txt', scale=10, width=0.0025)\n") # In[15]: get_ipython().run_cell_magic('time', '', "u, v= openpiv.pyprocess.piv( frame_a, frame_b, corr_method='direct', window_size=24, overlap=12, dt=0.02, sig2noise_method='peak2peak' )\nx, y = openpiv.pyprocess.get_coordinates( image_size=frame_a.shape, window_size=24, overlap=12 )\nu, v, mask = openpiv.validation.sig2noise_val( u, v, sig2noise, threshold = 2.5 )\nu, v = openpiv.filters.replace_outliers( u, v, method='localmean', max_iter=10, kernel_size=2.5)\nx, y, u, v = openpiv.scaling.uniform(x, y, u, v, scaling_factor = 96.52 )\nopenpiv.tools.save(x, y, u, v, mask, 'exp1_001_direct.txt' )\nopenpiv.tools.display_vector_field('exp1_001_direct.txt', scale=10, width=0.0025)\n") # In[11]: a = np.loadtxt('exp1_001_extended.txt') b = np.loadtxt('exp1_001_fft.txt') c = np.loadtxt('exp1_001_direct.txt') fig,ax = pylab.subplots(1,2) ax[0].scatter(a[:,2]-b[:,2],a[:,3]-b[:,3]) ax[1].scatter(b[:,2]-c[:,2],b[:,3]-c[:,3]) #ax[1].set_aspect(1) #ax[1].set_xticks([-.2,.2]) #ax[1].set_yticks([-.2,.2]) ax[0].set_xlabel('pixel/dt') ax[1].set_xlabel('pixel/dt') ax[0].set_ylabel('differences'); # In[ ]: