{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Comparison with vectorized and original functions\n", "#### Edited by Erich Zimmer\n", "#### Created at 20210817, 2109 CTZ" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from openpiv.pyprocess import find_first_peak,\\\n", " vectorized_correlation_to_displacements\n", "from openpiv.tools import imread\n", "from numpy import log\n", "from glob import glob" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vectorized solution for subpixel estimation" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 1., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N = 64\n", "\n", "corr = np.zeros((N,N))\n", "\n", "corr[2:5,2:5] = 1\n", "corr[3,3] = 2\n", "corr[3,4] = 3\n", "corr[3,5] = 1\n", "corr" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "pos,height = find_first_peak(corr)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((3, 4), 3.0)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos,height" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from openpiv.pyprocess import find_subpixel_peak_position" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3.0, 3.769577293545741)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_subpixel_peak_position(corr) " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 0 bad peak(s)\n" ] }, { "data": { "text/plain": [ "array([[3. ],\n", " [3.76957734]])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.flip(vectorized_correlation_to_displacements(corr[np.newaxis, :, :]) + np.floor(corr.shape[0] / 2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## let's find some corner cases" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2., 1., 3., ..., 0., 0., 0.],\n", " [1., 1., 1., ..., 0., 0., 0.],\n", " [1., 1., 1., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# peak on the border \n", "corr = np.zeros((N,N))\n", "\n", "corr[:3,:3] = 1\n", "corr[0,0] = 2\n", "corr[0,2] = 3\n", "corr[0,3] = 1\n", "corr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Corner case 1: peak on the border\n", "\n", "it is disregarded in our function because we cannot define well the subpixel\n", "position. Or do we? " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(nan, nan)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_subpixel_peak_position(corr)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 1 bad peak(s)\n" ] }, { "data": { "text/plain": [ "array([[nan, nan]])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.flip(vectorized_correlation_to_displacements(corr[np.newaxis, :, :]) + np.floor(corr.shape[0] / 2))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [1., 1., 1., ..., 0., 0., 0.],\n", " [1., 1., 1., ..., 0., 0., 0.],\n", " [2., 1., 3., ..., 0., 0., 0.]])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# peak on the border \n", "corr = np.flipud(corr)\n", "corr" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(nan, nan)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_subpixel_peak_position(corr)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 1 bad peak(s)\n" ] }, { "data": { "text/plain": [ "array([[nan, nan]])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.flip(vectorized_correlation_to_displacements(corr[np.newaxis, :, :]) + np.floor(corr.shape[0] / 2))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 1., 1., 1.],\n", " [0., 0., 0., ..., 1., 1., 5.],\n", " [0., 0., 0., ..., 3., 1., 2.]])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corr = np.fliplr(corr)\n", "corr[-2,-1]=5\n", "corr" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(nan, nan)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_subpixel_peak_position(corr)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 1 bad peak(s)\n" ] }, { "data": { "text/plain": [ "array([[nan, nan]])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.flip(vectorized_correlation_to_displacements(corr[np.newaxis, :, :]) + np.floor(corr.shape[0] / 2))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "## Corner case 2: negative value next to peak - the log(n<0) fails" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.5, -0.5, -0.5, ..., -0.5, -0.5, -0.5],\n", " [-0.5, -0.5, -0.5, ..., -0.5, -0.5, -0.5],\n", " [-0.5, -0.5, 0.5, ..., -0.5, -0.5, -0.5],\n", " ...,\n", " [-0.5, -0.5, -0.5, ..., -0.5, -0.5, -0.5],\n", " [-0.5, -0.5, -0.5, ..., -0.5, -0.5, -0.5],\n", " [-0.5, -0.5, -0.5, ..., -0.5, -0.5, -0.5]])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corr = np.zeros((N,N))\n", "\n", "corr[2:5,2:5] = 1\n", "corr[3,3] = 2\n", "corr[3,4] = 3\n", "# corr[3,5] = 1\n", "corr -= 0.5\n", "corr" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3.0, 3.75)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_subpixel_peak_position(corr) # automatically uses parabolic method" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 0 bad peak(s)\n", "Found 1 negative correlation indices resulting in NaNs\n", "Fallback for negative indices is a 3 point parabolic curve method\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Research\\miniconda3\\envs\\OpenPIV\\lib\\site-packages\\openpiv\\pyprocess.py:1152: RuntimeWarning: invalid value encountered in log\n", " nom2 = log(cd) - log(cu)\n", "C:\\Users\\Research\\miniconda3\\envs\\OpenPIV\\lib\\site-packages\\openpiv\\pyprocess.py:1153: RuntimeWarning: invalid value encountered in log\n", " den2 = 2 * log(cd) - 4 * log(c) + 2 * log(cu)\n" ] }, { "data": { "text/plain": [ "array([[3. ],\n", " [3.74999997]])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.flip(vectorized_correlation_to_displacements(corr[np.newaxis, :, :]) + np.floor(corr.shape[0] / 2))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "## Corner case 3: zero next to the peak - the log(0) fails" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 1., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corr = np.zeros((N,N))\n", "\n", "corr[2:5,2:5] = 1\n", "corr[3,3] = 2\n", "corr[3,4] = 3\n", "# corr[3,5] = 1\n", "corr" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3.0, 3.5230088020336483)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_subpixel_peak_position(corr)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 0 bad peak(s)\n" ] }, { "data": { "text/plain": [ "array([[3. ],\n", " [3.52395087]])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.flip(vectorized_correlation_to_displacements(corr[np.newaxis, :, :]) + np.floor(corr.shape[0] / 2))" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.0 3.5239508804084627\n", "3.0 3.5249733967346586\n", "3.0 3.75\n", "3.0 3.75\n", "3.0 3.600000095999977\n", "2.9999999999999996 3.600000143999948\n" ] } ], "source": [ "eps = 1e-7\n", "for method in ['gaussian','parabolic','centroid']:\n", " i,j = find_subpixel_peak_position(corr,method)\n", " print(i,j)\n", " i,j = find_subpixel_peak_position(corr+eps,method)\n", " print(i,j)\n" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 0 bad peak(s)\n", "[3.] [3.52532142]\n", "Found 0 bad peak(s)\n", "[3.] [3.75]\n", "Found 0 bad peak(s)\n", "[3.] [3.60000014]\n" ] } ], "source": [ "for method in ['gaussian','parabolic','centroid']:\n", " j, i = vectorized_correlation_to_displacements(corr[np.newaxis, :, :], subpixel_method = method) + np.floor(corr.shape[0] / 2)\n", " print(i, j)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Speed increase demonstration" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "import pylab" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "frame_a = imread('../test11/A001_1.tif')\n", "frame_b = imread('../test11/A001_2.tif')\n", "pylab.imshow(np.c_[frame_a,np.ones((frame_a.shape[0],20)),frame_b],\n", " cmap=pylab.cm.gray)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "window_size = 32\n", "overlap = 16\n", "from openpiv.pyprocess import sliding_window_array, get_field_shape,\\\n", " get_coordinates, fft_correlate_images, correlation_to_displacement\n", "n_rows, n_cols = get_field_shape(\n", " frame_a.shape, \n", " window_size, \n", " overlap\n", " )\n", "x, y = get_coordinates(frame_a.shape, window_size, overlap)\n", "\n", "aa = sliding_window_array(\n", " frame_a, \n", " window_size, \n", " overlap\n", ")\n", "\n", "bb = sliding_window_array(\n", " frame_b, \n", " window_size,\n", " overlap\n", ")\n", "corr = fft_correlate_images(\n", " aa, bb,\n", " correlation_method='circular',\n", " normalized_correlation = True\n", ")" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['original', 'vectorized']\n" ] } ], "source": [ "from openpiv.pyprocess import find_all_first_peaks, find_all_second_peaks, find_second_peak\n", "peaks_v = find_all_second_peaks(corr)[0]\n", "peaks_o = []\n", "for i in range(len(corr)):\n", " (k, m), _ = find_second_peak(corr[i,:,:])\n", " peaks_o.append([i, k, m])\n", "print(['original', 'vectorized'])\n", "for i in range(len(peaks_v)):\n", " #print(peaks_o[i], peaks_v[i])\n", " if peaks_v[i][1] != peaks_o[i][1] or peaks_v[i][2] != peaks_o[i][2]:\n", " print(False)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 2.4 s\n" ] } ], "source": [ "%%time\n", "u_o, v_o = correlation_to_displacement(\n", " corr, \n", " n_rows,\n", " n_cols,\n", " subpixel_method='gaussian'\n", " )" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 7 bad peak(s)\n", "Wall time: 139 ms\n" ] } ], "source": [ "%%time\n", "u_v, v_v = vectorized_correlation_to_displacements(\n", " corr,\n", " n_rows,\n", " n_cols,\n", " subpixel_method='gaussian',\n", " #eps = 1e-7\n", ")" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[u original, u vectorized]\n", "[[-2.36462159 -2.36462164]\n", " [-2.42157285 -2.42157292]\n", " [-2.77813517 -2.77813518]\n", " [-2.96134029 -2.96134032]\n", " [-2.84248631 -2.84248631]\n", " [-2.90768447 -2.90768447]\n", " [-2.90936752 -2.90936757]\n", " [-2.97392531 -2.97392533]\n", " [-2.99476203 -2.99476203]\n", " [-3.01880578 -3.01880582]\n", " [-3.02868449 -3.0286845 ]\n", " [-2.98723134 -2.98723136]]\n", "(-0.9060849644695009, -0.9060849644084041)\n" ] } ], "source": [ "# slight descrepancies possibly caused by setting eps to 1e-10\n", "print('[u original, u vectorized]')\n", "print(np.stack((u_o[0, 0:12], u_v[0, 0:12])).T)\n", "print((np.nanmean(u_o), np.nanmean(u_v)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vectorized solution for signal-to-noise calculation" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "from openpiv.pyprocess import vectorized_sig2noise_ratio,\\\n", " sig2noise_ratio" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 2.14 s\n" ] } ], "source": [ "%%time\n", "peak2peak_o = sig2noise_ratio(corr, 'peak2peak')" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 352 ms\n" ] } ], "source": [ "%%time\n", "peak2peak_v = vectorized_sig2noise_ratio(corr, 'peak2peak')" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 359 ms\n" ] } ], "source": [ "%%time\n", "peak2mean_o = sig2noise_ratio(corr, 'peak2mean')" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 126 ms\n" ] } ], "source": [ "%%time\n", "peak2mean_v = vectorized_sig2noise_ratio(corr, 'peak2mean')" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[original, vectorized]\n", "[[1.61201217 1.61201215]\n", " [1.5020463 1.50204635]\n", " [1.73240251 1.73240256]\n", " [1.77473094 1.77473092]\n", " [1.76908846 1.76908851]\n", " [1.75000703 1.75000703]\n", " [1.81941186 1.81941187]\n", " [2.08015068 2.0801506 ]\n", " [2.25951863 2.25951862]\n", " [2.30283364 2.30283356]]\n", "(1.5191245577911836, 1.5191245)\n" ] } ], "source": [ "print('[original, vectorized]')\n", "print(np.stack((peak2peak_o[0:10], peak2peak_v[0:10])).T)\n", "print((peak2peak_o.mean(), peak2peak_v.mean()))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[original, vectorized]\n", "[[2.5578121 2.55781221]\n", " [2.50379342 2.50379348]\n", " [2.71928305 2.7192831 ]\n", " [2.86304537 2.86304545]\n", " [2.81330995 2.81330991]\n", " [2.58982385 2.58982396]\n", " [2.67415584 2.67415595]\n", " [2.98705016 2.98705006]\n", " [3.23796155 3.23796153]\n", " [3.39735257 3.39735246]]\n", "(2.5274274497989397, 2.5267768)\n" ] } ], "source": [ "print('[original, vectorized]')\n", "print(np.stack((peak2mean_o[0:10], peak2mean_v[0:10])).T)\n", "print((peak2mean_o.mean(), peak2mean_v.mean()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Test for bias errors" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "from openpiv.pyprocess import correlation_to_displacement, fft_correlate_images, get_field_shape\n", "files = glob('../test14/*')\n", "files_a = files[::2]\n", "files_b = files[1::2]" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n", "Found 0 bad peak(s)\n" ] } ], "source": [ "bias_error_original = []\n", "bias_error_vectorized = []\n", "window_size = 32\n", "overlap = 16\n", "real_disp = 3\n", "n = 1/32\n", "for i in range(len(files_a)):\n", " frame_a = imread(files_a[i])\n", " frame_b = imread(files_b[i])\n", " n_rows, n_cols = get_field_shape(\n", " frame_a.shape, \n", " window_size, \n", " overlap\n", " )\n", " aa = sliding_window_array(frame_a, window_size, overlap)\n", " bb = sliding_window_array(frame_b, window_size, overlap)\n", " corr = fft_correlate_images(aa, bb, 'circular', False)\n", " u_o, v_o = correlation_to_displacement(corr, n_rows, n_cols, 'gaussian')\n", " u_v, v_v = vectorized_correlation_to_displacements(corr, n_rows, n_cols, 'gaussian')\n", " u_o = u_o[2:-2, 2:-2] # extract valid components\n", " u_v = u_v[2:-2, 2:-2]\n", " v_o = v_o[2:-2, 2:-2] \n", " v_v = v_v[2:-2, 2:-2]\n", " bias_error_original.append(np.hypot(real_disp,real_disp) - np.nanmean(np.hypot(u_o, v_o))) \n", " bias_error_vectorized.append(np.hypot(real_disp,real_disp) - np.nanmean(np.hypot(u_v, v_v)))\n", " real_disp += n" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.set_ylabel('Bias error [px]')\n", "ax.set_xlabel('Real u and v displacements [px]')\n", "ax.plot(np.mgrid[3:4+n:n], bias_error_original)\n", "ax.plot(np.mgrid[3:4+n:n], bias_error_vectorized)\n", "ax.legend(\n", " ['orginal', 'vectorized'],\n", " loc = 'upper right'\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }