diff --git a/assignments/04_assignment.ipynb b/assignments/04_assignment.ipynb index 91c1f95..60689e6 100644 --- a/assignments/04_assignment.ipynb +++ b/assignments/04_assignment.ipynb @@ -17,7 +17,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -63,7 +63,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -74,7 +74,7 @@ " sample_images.append(\n", " np.array(Image.open(direc+'4.2.0'+str(number)+'.tiff'))\n", " )\n", - "for name in ['house', 'ruler.512']:\n", + "for name in ['house']:\n", " sample_images.append(\n", " np.array(Image.open(direc+name+'.tiff'))\n", " )" @@ -82,30 +82,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "def qualify_noise(img):\n", " \"\"\"Qualify the noise based on the std of a gaussian model.\n", @@ -119,30 +98,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAArkAAAK+CAYAAACmWwYMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAGOhJREFUeJzt3V+srXl91/HPdziADAgm1pxTSzpTNMTUBFtqipEad6V/SBuHKyO1pgkXvbEKaUxT0sSwufHOVhK9IVBsDdSmk6LVUAsGl4ZqgJah/JkhNZIZoPSc2IhYJDGt/Lw420k9hzN77T9r7bM+83olk1lnz28/5xsenrXf51m/s9astQIAAE0euOoBAADgsolcAADqiFwAAOqIXAAA6ohcAADqiFwAAOpsFbkz8+Mz86mZ+cTMvHtmnrfrwQAA4LxOjdyZ+dNJ/l6SV661XpHkWpLX73owAAA4r2tbrntOkhfOzNeSPJjki7sbCQAALubUO7lrrS8m+UdJPpfkd5L8j7XWv9v1YAAAcF6n3smdmT+R5HVJHkry5SSPzszfWmu95451Ph8YAICdW2vNaWu22a7wPUk+u9b670kyM7+c5C8nec+dC9fSuYfo+Pg4x8fHVz0G5+T8HS7n7rDNTBI/93ZrdtYWrr/DdfvaO902767wuSR/aWb+2Nw+6muSPHGB2QAAYKe22ZP7kSSPJnksyW8lmSRv3/FcAABwblu9u8Ja661J3rrjWbgiR0dHVz0CF+D8HS7nDq6O66/fXNZel5lZ9uQC8GxhT+4+7G5PLodrZrb6i2c+1hcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOqdG7sy8fGYem5mPnfz7yzPzxn0MBwAA5zFrre0XzzyQ5AtJXrXW+vwd/22d5VgAcMhmJomfe7s10RbcaWay1prT1p11u8L3JPmvdwYuAADcT84auX8zyS/sYhAAALgs17ZdODPPTfJIkjffa83x8fHTj4+OjnJ0dHSB0QAAeLbbbDbZbDZn/r6t9+TOzCNJ/s5a67X3+O/25ALwrGFP7j7Yk8vddrEn94diqwIAAAdgqzu5M/NgkqeSvGyt9fv3WONOLgDPGu7k7oM7udxt2zu5Z3oLsVN+Q5ELwLOGyN0HkcvddvUWYgAAcN8TuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADU2SpyZ+YlM/NLM/PEzHx6Zl6168EAAOC8rm257m1J3rfW+hszcy3JgzucCQAALmTWWs+8YObFSR5ba/2ZU9at044FAC1mJomfe7s10RbcaWay1prT1m2zXeFbkvzezLxrZj42M2+fmRdcfEQAANiNbbYrXEvyyiQ/ttb6jZn5x0nenOQtdy48Pj5++vHR0VGOjo4uZ0p26saNh3Pr1lNXPUa169cfys2bT171GABwcDabTTabzZm/b5vtCteT/Oe11stOfv1dSX5yrfXX71hnu8KB8pLbPnjJDdp47twHz53c7dK2K6y1biX5/My8/ORLr0ny+AXnAwCAnTn1Tm6SzMxfSPKOJM9N8tkkb1hrffmONe7kHih3I/bB3Qho47lzHzx3crdt7+RuFblb/oYi90B5ot4HT9TQxnPnPnju5G6X+e4KAABwUEQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1RC4AAHVELgAAdUQuAAB1rm2zaGaeTPLlJF9L8gdrre/c5VAAAHARW0Vubsft0VrrS7scBgAALsO22xXmDGsBAOBKbRuuK8mvzcxHZ+ZHdzkQAABc1LbbFV691vrdmflTST4wM0+stT5056Lj4+OnHx8dHeXo6OhShgQAuEw3bjycW7eeuuoxql2//lBu3nzywsfZbDbZbDZn/r5Za53tG2bekuT311o/fcfX11mPxf1hZnL7Zj27M3F9QBfPnfuwu+dO528fdnP+ZiZrrTlt3anbFWbmwZl50cnjFyb5viSfuviIAACwG9tsV7ie5L0zs07Wv3ut9f7djgUAAOd35u0K9zyQ7QoHy0s2+2C7ArTx3LkPtisctvt8uwIAABwakQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAna0jd2YemJmPzcyv7HIgAAC4qLPcyX1Tksd3NQgAAFyWrSJ3Zl6a5AeSvGO34wAAwMVteyf3Z5L8RJK1w1kAAOBSXDttwcz8YJJba62Pz8xRkrnX2uPj46cfHx0d5ejo6OITApS6cePh3Lr11FWPUe/69Ydy8+aTVz0GcE6bzSabzebM3zdrPfPN2Zn5h0n+dpI/TPKCJH88yS+vtX7kjnXrtGNxf5qZuEm/axPXB3dy7e3Lbq4/528fdvfc6fztw+6uvbXWPW+6Pr3uLL/5zPzVJH9/rfXI1/lvIvdAudD3QeRyN9fevojcwyVyD9vVRq73yQUAoM6Z7uQ+44HcyT1Y/jS7D+7kcjfX3r64k3u43Mk9bO7kAgDApRK5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANQRuQAA1BG5AADUEbkAANS5dtqCmXl+kv+Y5Hkn6x9da71114MBAMB5nRq5a63/PTPfvdb66sw8J8mvz8yvrrU+sof5AADgzLbarrDW+urJw+fndhivnU0EAAAXtFXkzswDM/NYkptJPrDW+uhuxwIAgPM7dbtCkqy1vpbk22fmxUn+5cx861rr8TvXHR8fP/346OgoR0dHlzQmAADPRpvNJpvN5szfN2udbefBzPyDJP9rrfXTd3x9nfVY3B9mJnag7NrE9cGdXHv7spvrz/nbh909dzp/+7C7a2+tNaetO3W7wsx8w8y85OTxC5J8b5LPXHxEAADYjW22K3xjkp+bmQdyO4p/ca31vt2OBQAA53fm7Qr3PJDtCgfLSzb7YLsCd3Pt7YvtCofLdoXDdp9vVwAAgEMjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqCNyAQCoI3IBAKgjcgEAqHNq5M7MS2fmgzPz6Zn55My8cR+DAQDAec1a65kXzNxIcmOt9fGZeVGS30zyurXWZ+5Yt047FvenmUni3O3WxPXBnVx7+7Kb68/524fdPXc6f/uwu2tvrTWnrTv1Tu5a6+Za6+Mnj7+S5Ikk33TxEQEAYDfOtCd3Zh5O8m1JPryLYQAA4DJc23bhyVaFR5O86eSO7l2Oj4+ffnx0dJSjo6MLjgcAwLPZZrPJZrM58/eduic3SWbmWpJ/k+RX11pvu8cae3IPlH1J+2BPLndz7e2LPbmHy57cw3af78k98bNJHr9X4AIAwP1km7cQe3WSH07y12bmsZn52My8dvejAQDA+Wy1XWGrA9mucLC8ZLMPtitwN9fevtiucLhsVzhsh7FdAQAADobIBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKCOyAUAoI7IBQCgjsgFAKDOqZE7M++cmVsz84l9DAQAABe1zZ3cdyX5/l0PAgAAl+XUyF1rfSjJl/YwCwAAXAp7cgEAqHPtMg82M5d5OO5w/fpDuXnzyaseg/vMjRsP59atp656jGquPYCrs9lsstlszvx9s9Y6fdHMQ0n+9VrrFc+wZiWnH4uLmGxzvs581Jk4d7u2m3OXOH/74do7bM7f4fLcedh2d+2ttU69s7rtdoU5+QcAAO5727yF2HuS/KckL5+Zz83MG3Y/FgAAnN9W2xW2OpDtCnvgJbfD5SW3w+baO2zO3+Hy3HnYDmO7AgAAHAyRCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAEAdkQsAQB2RCwBAHZELAECdrSJ3Zl47M5+Zmd+emZ/c9VAAAHARp0buzDyQ5J8k+f4kfz7JD83Mn9v1YAAAcF7b3Mn9ziT/Za311FrrD5L8iySv2+1YAABwfttE7jcl+fwf+fUXTr4GAAD3pWuXe7i53MNxl5ld/W/s3O3a7s5d4vztnmvvsDl/h8tz52Hb7fl7ZttE7u8k+eY/8uuXnnzt/7PW8v8UAADuC9tsV/hokj87Mw/NzPOSvD7Jr+x2LAAAOL9T7+Sutf7PzPzdJO/P7Sh+51rriZ1PBgAA5zRrraueAQAALtWFP/HMB0Ucrpl558zcmplPXPUsnM3MvHRmPjgzn56ZT87MG696JrY3M8+fmQ/PzGMn5+8tVz0TZzMzD8zMx2bG9r0DMzNPzsxvnVx/H7nqeTibmXnJzPzSzDxx8jPwVfdce5E7uScfFPHbSV6T5Iu5vX/39Wutz5z7oOzNzHxXkq8k+fm11iuueh62NzM3ktxYa318Zl6U5DeTvM61dzhm5sG11ldn5jlJfj3JG9dafuAeiJn58STfkeTFa61Hrnoetjczn03yHWutL131LJzdzPyzJP9hrfWumbmW5MG11v/8emsveifXB0UcsLXWh5K4yA/QWuvmWuvjJ4+/kuSJeP/qg7LW+urJw+fn9t+PsHfsQMzMS5P8QJJ3XPUsnMvkEl7JZv9m5sVJ/spa611Jstb6w3sFbnLxk+yDIuCKzczDSb4tyYevdhLO4uTl7seS3EzygbXWR696Jrb2M0l+Iv5gcqhWkl+bmY/OzI9e9TCcybck+b2ZedfJdqG3z8wL7rXYn2TggJ1sVXg0yZtO7uhyINZaX1trfXtuv/f4q2bmW696Jk43Mz+Y5NbJKykTnyZwiF691vqLuX03/sdOtu5xGK4leWWSf7rWemWSryZ5870WXzRyt/qgCODynexFejTJP19r/aurnofzOXmp7d8nee1Vz8JWXp3kkZN9nb+Q5Ltn5ueveCbOYK31uyf//m9J3pvbWy85DF9I8vm11m+c/PrR3I7er+uikeuDIg6fOxGH62eTPL7WettVD8LZzMw3zMxLTh6/IMn3JvGXBg/AWuun1lrfvNZ6WW7/zPvgWutHrnoutjMzD568ApaZeWGS70vyqaudim2ttW4l+fzMvPzkS69J8vi91m/zsb7P9Jv5oIgDNjPvSXKU5E/OzOeSvOX/bebm/jYzr07yw0k+ebKvcyX5qbXWv73aydjSNyb5uZN3qHkgyS+utd53xTPBs8H1JO+dmZXbDfTutdb7r3gmzuaNSd49M89N8tkkb7jXQh8GAQBAHX/xDACAOiIXAIA6IhcAgDoiFwCAOiIXAIA6IhcAgDoiFwCAOv8XoeFwZRpRWgIAAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "def qualify_sharpness(img):\n", " \"\"\"Qualify the sharpness based on the average pixel differences.\"\"\"\n", @@ -167,7 +125,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -188,22 +146,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "3" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "images_for_jpeg = sample_images[3::]\n", + "images_for_jpeg = sample_images[2::]\n", "len(images_for_jpeg)" ] }, @@ -213,35 +160,16 @@ "metadata": {}, "outputs": [], "source": [ - "images10 = [jpeg_quality_filter(img, 10) for img in sample_images]\n", - "images50 = [jpeg_quality_filter(img, 10) for img in sample_images]\n", - "images80 = [jpeg_quality_filter(img, 10) for img in sample_images]" + "images10 = [jpeg_quality_filter(img, 10) for img in images_for_jpeg]\n", + "images50 = [jpeg_quality_filter(img, 10) for img in images_for_jpeg]\n", + "images80 = [jpeg_quality_filter(img, 10) for img in images_for_jpeg]" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0\n" - ] - }, - { - "ename": "NameError", - "evalue": "name 'images10' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mimg\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimages_for_jpeg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0mcompressed_images\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mimages10\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mimages50\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mimages80\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m plt.bar(range(len(compressed_images)),\n\u001b[1;32m 11\u001b[0m [ssim(img, comp) for comp in compressed_images])\n", - "\u001b[0;31mNameError\u001b[0m: name 'images10' is not defined" - ] - } - ], + "outputs": [], "source": [ "def ssim(img, filtered_img):\n", " \"\"\"The SSIM similarity measure. Use the parameters from the paper \n",