{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Intro to Convolutions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set up" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import math,sys,os,numpy as np\n", "from numpy.linalg import norm\n", "from PIL import Image\n", "from matplotlib import pyplot as plt, rcParams, rc\n", "from scipy.ndimage import imread\n", "from skimage.measure import block_reduce\n", "import pickle as pickle\n", "from scipy.ndimage.filters import correlate, convolve\n", "rc('animation', html='html5')\n", "rcParams['figure.figsize'] = 3, 6\n", "%precision 4\n", "np.set_printoptions(precision=4, linewidth=100)" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def plots(ims, interp=False, titles=None):\n", " ims=np.array(ims)\n", " mn,mx=ims.min(),ims.max()\n", " f = plt.figure(figsize=(12,24))\n", " for i in range(len(ims)):\n", " sp=f.add_subplot(1, len(ims), i+1)\n", " if not titles is None: sp.set_title(titles[i], fontsize=18)\n", " plt.imshow(ims[i], interpolation=None if interp else 'none', vmin=mn,vmax=mx)\n", "\n", "def plot(im, interp=False):\n", " f = plt.figure(figsize=(3,6), frameon=True)\n", " # plt.show(im)\n", " plt.imshow(im, interpolation=None if interp else 'none')\n", "\n", "plt.gray()\n", "plt.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MNIST Data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.datasets import fetch_mldata\n", "mnist = fetch_mldata('MNIST original')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['DESCR', 'COL_NAMES', 'target', 'data'])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mnist.keys()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((70000, 784), (70000,))" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mnist['data'].shape, mnist['target'].shape" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((70000, 28, 28), (70000,))" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "images = np.reshape(mnist['data'], (70000, 28, 28))\n", "labels = mnist['target'].astype(int)\n", "n=len(images)\n", "images.shape, labels.shape" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": true }, "outputs": [], "source": [ "images = images/255" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ngiVI6GTUAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(images[0])" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "labels[0]" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plots(images[:5], titles=labels[:5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we can zoom in on part of the image" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(images[0,0:14, 8:22])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Edge Detection" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will look at how to create an Edge detector:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "top=[[-1,-1,-1],\n", " [ 1, 1, 1],\n", " [ 0, 0, 0]]\n", "\n", "plot(top)" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0. , 0. , 0. , 0. , 0. , 0. , 0.1882, 0.9333, 0.9882, 0.9882],\n", " [ 0. , 0. , 0. , 0. , 0. , 0.149 , 0.6471, 0.9922, 0.9137, 0.8157],\n", " [ 0. , 0. , 0. , 0. , 0.0275, 0.698 , 0.9882, 0.9412, 0.2784, 0.0745],\n", " [ 0. , 0. , 0. , 0. , 0.2235, 0.9882, 0.9882, 0.2471, 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0.7765, 0.9922, 0.7451, 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0.298 , 0.9647, 0.9882, 0.4392, 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0.3333, 0.9882, 0.902 , 0.098 , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0.3333, 0.9882, 0.8745, 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0.3333, 0.9882, 0.5686, 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0.3373, 0.9922, 0.8824, 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0.3333, 0.9882, 0.9765, 0.5725, 0.1882, 0.1137, 0.3333],\n", " [ 0. , 0. , 0. , 0.3333, 0.9882, 0.9882, 0.9882, 0.898 , 0.8431, 0.9882],\n", " [ 0. , 0. , 0. , 0.1098, 0.7804, 0.9882, 0.9882, 0.9922, 0.9882, 0.9882],\n", " [ 0. , 0. , 0. , 0. , 0.098 , 0.502 , 0.9882, 0.9922, 0.9882, 0.5529],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ]])" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dims = np.index_exp[10:28:1,3:13]\n", "images[0][dims]" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": true }, "outputs": [], "source": [ "corrtop = correlate(images[0], top)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[ 0. , 0. , 0. , 0. , 0. , 0.1882, 0.9216, 0.9765, 0.7843, -0.2392],\n", " [ 0. , 0. , 0. , 0. , 0.149 , 0.6078, 0.6667, 0.4431, -0.1882, -0.6196],\n", " [ 0. , 0. , 0. , 0.0275, 0.5765, 0.9176, 0.8392, -0.3451, -1.4275, -1.5961],\n", " [ 0. , 0. , 0. , 0.1961, 0.4863, 0.4863, -0.4039, -0.9725, -1.0471, -0.4627],\n", " [ 0. , 0. , 0. , 0.5529, 0.5569, 0.3137, -0.4863, -0.4902, -0.2471, 0. ],\n", " [ 0. , 0. , 0.298 , 0.4863, 0.4824, -0.1216, -0.3098, -0.3059, 0. , 0. ],\n", " [ 0. , 0. , 0.0353, 0.0588, -0.0275, -0.4039, -0.4275, -0.3412, 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , -0.0275, -0.1255, -0.1255, -0.098 , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , -0.3059, -0.3059, -0.3059, 0. , 0. , 0. ],\n", " [ 0. , 0. , 0.0039, 0.0078, 0.3216, 0.3176, 0.3137, 0. , 0. , 0. ],\n", " [ 0. , 0. , -0.0039, -0.0078, 0.0863, 0.6627, 0.8549, 0.8745, 0.6353, 1.1451],\n", " [ 0. , 0. , 0. , 0. , 0.0118, 0.4275, 1.1373, 1.8549, 2.0941, 1.6745],\n", " [ 0. , 0. , -0.2235, -0.4314, -0.4314, -0.2078, 0.0941, 0.2392, 0.2392, 0.0706],\n", " [ 0. , 0. , -0.1098, -0.7922, -1.2784, -1.1686, -0.4863, 0. , -0.4353, -1.2039],\n", " [ 0. , 0. , 0. , -0.098 , -0.6 , -1.5882, -2.4824, -2.9686, -2.5333, -1.6863],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ]])" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corrtop[dims]" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nx3Kie1BWW248uTtMc3uMnj17Nlk/ePBgsj516tRkPdddnD17drJeL+rrbxVoAIQGCCI0QBChAYII\nDRDUEt2zqNwcqqjcHaPVlttzM7d3Z2dnZ7J+5MiRZH3z5s3Jem9vb7Ke+3O49dZbk/V66zperr5H\nB9QhQgMEERogiNAAQYQGCGqJ7ll0lfsFCxZU5Liff/55Rd4nJzdHa/Hixcn6jBnpRYP27duXrL/x\nxhvJ+vHjx5P1m2++OVnv6elJ1hsVVxogiNAAQYQGCCI0QNB4dg3oNrM3zewjM9ttZj8v6h1mtsXM\neotHlqZFSxhP9+y8pF+6+w4zmy7pPTPbIuknkra5+1ozWyNpjaQnqzfU0kVXuT916lSy3tXVlazn\n1uOaN29e6P3nzJmTrC9ZsiRZz80xy80B27p1a7K+c+fOZL2trS1Zz81hy93p2WzGs2vAYXffUTw/\nIWmPpHmSVknaWLxso6T7qzVIoJ6EfqYxs29JWi7pP5I63f1w8VtHJKWnygJNZtyhMbNpkv4q6Rfu\nfsnceR/5/JP8DMSuAWg24wqNmU3RSGD+7O5/K8pDowuhF4/JbcLYNQDNZjzdM9PI2s173P03Y35r\nk6TVxfPVkl6v/PCA+jOe7tl3Jf1Y0odmNtpmeUrSWkmvmtkjkvokPVidIdZebi/O3MfL3J2PixYt\nStZz64AdPXo0Wd+9e3eonlt/LNdVy83Ny81Vy3XtWsV4dg34t6TcjMd7KjscoP4xIwAIIjRAEKEB\ngggNENQSd27m5nqdPn26Iu+Tu0Nz167Y/r1nzpxJ1gcGBpL1/fv3J+u5LtysWbOS9VyXLzcXrtVx\npQGCCA0QRGiAIEIDBBEaIKglumft7e3Jen9/f7I+PJycsJ3dIzK3rlduL8tcdyvXDct1z3Lrnt15\n553Jeu7OU8RwpQGCCA0QRGiAIEIDBBEaIKglume5rlf0zsr3338/WX/zzTeT9aGhoWQ9Nwds6dKl\nyfodd9yRrOfWVbvqqquSdVQGVxogiNAAQYQGCCI0QFA5uwY8Y2aDZraz+PWj6g8XmHjl7BogSc+5\n+7rqDa+6Jk9On353d3eoft9991VsTKh/41n37LCkw8XzE2Y2umsA0JLK2TVAkh43sw/MbAObOqFV\nlLNrwAuSFkpappEr0bOZ72PXADSVkncNcPchd7/g7hclvShpZep72TUAzabkXQNGt9koPCAptl4R\n0KDK2TXgYTNbppHNnA5JeqwqIwTqTDm7Bmyu/HCA+seMACCI0ABBhAYIIjRAEKEBgggNEERogCBC\nAwQRGiCI0ABB5u61O5jZUUl9xZczJX1as4NPPM63vi1w9/SCdJepaWguObDZu+6+YkIOPgE43+bB\nxzMgiNAAQRMZmvUTeOyJwPk2iQn7mQZoVHw8A4JqHhozu9fM9pnZATNbU+vjV1uxnNWwme0aU+sw\nsy1m1ls8Ns1yV9+wAmvTnnNNQ2NmbZKel/RDSUs1ss5AelOWxvWSpHsvq62RtM3dF0vaVnzdLEZX\nYF0q6TuSflr8nTbtOdf6SrNS0gF3/9jdz0l6RdKqGo+hqtz9bUnHLiuvkrSxeL5R0v01HVQVufth\nd99RPD8haXQF1qY951qHZp6k/jFfD6g1lrjtLJb3laQjkjoncjDVctkKrE17zjQCasxH2pVN17JM\nrMD6P812zrUOzaCksUvvdxW1Zjc0urhi8Tg8weOpqNQKrGric651aLZLWmxmPWbWLukhSZtqPIaJ\nsEnS6uL5akmvT+BYKiq3Aqua+Zxr/Y+bxeZPv5XUJmmDu/+6pgOoMjN7WdLdGpnlOyTpaUl/l/Sq\npPkameX9oLtf3ixoSGZ2l6R/SfpQ0sWi/JRGfq5pznNmRgAQQyMACCI0QBChAYIIDRBEaIAgQgME\nERogiNAAQf8FqjqkxkDdheQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(corrtop)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-1, 1, 0],\n", " [-1, 1, 0],\n", " [-1, 1, 0]])" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.rot90(top, 1)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nx3Kie1BWW248uTtMc3uMnj17Nlk/ePBgsj516tRkPdddnD17drJeL+rrbxVoAIQGCCI0QBChAYII\nDRDUEt2zqNwcqqjcHaPVlttzM7d3Z2dnZ7J+5MiRZH3z5s3Jem9vb7Ke+3O49dZbk/V66zperr5H\nB9QhQgMEERogiNAAQYQGCGqJ7ll0lfsFCxZU5Liff/55Rd4nJzdHa/Hixcn6jBnpRYP27duXrL/x\nxhvJ+vHjx5P1m2++OVnv6elJ1hsVVxogiNAAQYQGCCI0QNB4dg3oNrM3zewjM9ttZj8v6h1mtsXM\neotHlqZFSxhP9+y8pF+6+w4zmy7pPTPbIuknkra5+1ozWyNpjaQnqzfU0kVXuT916lSy3tXVlazn\n1uOaN29e6P3nzJmTrC9ZsiRZz80xy80B27p1a7K+c+fOZL2trS1Zz81hy93p2WzGs2vAYXffUTw/\nIWmPpHmSVknaWLxso6T7qzVIoJ6EfqYxs29JWi7pP5I63f1w8VtHJKWnygJNZtyhMbNpkv4q6Rfu\nfsnceR/5/JP8DMSuAWg24wqNmU3RSGD+7O5/K8pDowuhF4/JbcLYNQDNZjzdM9PI2s173P03Y35r\nk6TVxfPVkl6v/PCA+jOe7tl3Jf1Y0odmNtpmeUrSWkmvmtkjkvokPVidIdZebi/O3MfL3J2PixYt\nStZz64AdPXo0Wd+9e3eonlt/LNdVy83Ny81Vy3XtWsV4dg34t6TcjMd7KjscoP4xIwAIIjRAEKEB\ngggNENQSd27m5nqdPn26Iu+Tu0Nz167Y/r1nzpxJ1gcGBpL1/fv3J+u5LtysWbOS9VyXLzcXrtVx\npQGCCA0QRGiAIEIDBBEaIKglumft7e3Jen9/f7I+PJycsJ3dIzK3rlduL8tcdyvXDct1z3Lrnt15\n553Jeu7OU8RwpQGCCA0QRGiAIEIDBBEaIKglume5rlf0zsr3338/WX/zzTeT9aGhoWQ9Nwds6dKl\nyfodd9yRrOfWVbvqqquSdVQGVxogiNAAQYQGCCI0QFA5uwY8Y2aDZraz+PWj6g8XmHjl7BogSc+5\n+7rqDa+6Jk9On353d3eoft9991VsTKh/41n37LCkw8XzE2Y2umsA0JLK2TVAkh43sw/MbAObOqFV\nlLNrwAuSFkpappEr0bOZ72PXADSVkncNcPchd7/g7hclvShpZep72TUAzabkXQNGt9koPCAptl4R\n0KDK2TXgYTNbppHNnA5JeqwqIwTqTDm7Bmyu/HCA+seMACCI0ABBhAYIIjRAEKEBgggNEERogCBC\nAwQRGiCI0ABB5u61O5jZUUl9xZczJX1as4NPPM63vi1w9/SCdJepaWguObDZu+6+YkIOPgE43+bB\nxzMgiNAAQRMZmvUTeOyJwPk2iQn7mQZoVHw8A4JqHhozu9fM9pnZATNbU+vjV1uxnNWwme0aU+sw\nsy1m1ls8Ns1yV9+wAmvTnnNNQ2NmbZKel/RDSUs1ss5AelOWxvWSpHsvq62RtM3dF0vaVnzdLEZX\nYF0q6TuSflr8nTbtOdf6SrNS0gF3/9jdz0l6RdKqGo+hqtz9bUnHLiuvkrSxeL5R0v01HVQVufth\nd99RPD8haXQF1qY951qHZp6k/jFfD6g1lrjtLJb3laQjkjoncjDVctkKrE17zjQCasxH2pVN17JM\nrMD6P812zrUOzaCksUvvdxW1Zjc0urhi8Tg8weOpqNQKrGric651aLZLWmxmPWbWLukhSZtqPIaJ\nsEnS6uL5akmvT+BYKiq3Aqua+Zxr/Y+bxeZPv5XUJmmDu/+6pgOoMjN7WdLdGpnlOyTpaUl/l/Sq\npPkameX9oLtf3ixoSGZ2l6R/SfpQ0sWi/JRGfq5pznNmRgAQQyMACCI0QBChAYIIDRBEaIAgQgME\nERogiNAAQf8FqjqkxkDdheQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "convtop = convolve(images[0], np.rot90(top,2))\n", "plot(convtop)\n", "np.allclose(convtop, corrtop)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs4AAAC0CAYAAACEyqqiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEAZJREFUeJzt3V2oXed9JvDnP7ZyoTZ1pkhtLNua5EIUSuhHItzQwuCZ\nNiUxAfciDM5FY0JBaUhKC81FaCHGFwO9KjRNicdQYxlK0kLS1mHEhEwp4xQmHX/gupFDWjVpsGRT\np/mwY5QSNP33QtvlcHIkL521dPZ+z/n9YKO91nq13nfrPOfwaJ+996ruDgAAcHX/Yd0LAACAESjO\nAAAwgeIMAAATKM4AADCB4gwAABMozgAAMMGNc/5yVf1wkj9O8oYk/5jkv3X3t3YY949JvpPk/ye5\n1N0n58wLc8kuo5JdRiS37Bdzn3H+cJK/6O4TSf5itX0l/6W7f8o3ARtCdhmV7DIiuWVfmFuc70py\nenX/dJJfmnk+2Cuyy6hklxHJLftCzblyYFV9u7tft7pfSb71yva2cV9N8mIu/+rlf3T3A1c556kk\np1abb9n14mClu2v7vqWzu99y+5a3jP0QnnvuuXUvYbbnn3/+n7v76Pb91zO7hw4desuRI0cWfBQc\nNN/+9rdz8eLF6/4zdzV2X2X32LFj617CLE888cS6lzDbTn1hu1ctzlX1v5O8fodDv53k9NbgV9W3\nuvs/7nCOW7r7QlX9SJLPJfm17n70VRdX5XrgLOHstu3rmt39kNs5/6HeBPfdd9+6lzDL6dOn89Wv\nfvVfkvzDtkPXNbvHjh3r973vfQs8Ag6i06dP59lnn82lS5f29Gdusj+ye++99657CbNc/v/Q2KYU\n51d9qUZ3/0J3v2mH258n+aequjlJVn++cIVzXFj9+UKSP01y+7U8EJhDdhnNPffckyRnZZeR3HPP\nPTl69Kifuexrc1/j/EiSe1b370ny59sHVNUPVNVrX7mf5BeTfHHmvDCX7DIq2WVEcsu+MLc4/06S\nt1XV3yf5hdV2qupYVZ1ZjfnRJH9VVX+T5P8l+Z/d/b9mzgtzyS6jkl1GJLfsC7M+x7m7v5Hk53fY\n/1ySO1f3v5LkJ+fMA0uTXUYlu4xIbtkvXDkQAAAmUJwBAGACxRkAACZQnAEAYALFGQAAJlCcAQBg\nAsUZAAAmUJwBAGACxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwBAGACxRkAACZYpDhX1dur\n6stVda6qPrzD8aqqj66OP11Vb15iXphLdhmV7DIiuWV0s4tzVd2Q5A+SvCPJjyd5d1X9+LZh70hy\nYnU7leTjc+eFuWSXUckuI5Jb9oMlnnG+Pcm57v5Kd38vySeT3LVtzF1JHu7LvpDkdVV18wJzwxyy\ny6hklxHJLcNbojjfkuTZLdvnV/uudUySpKpOVdXjVfX4AmuDq1ksu3LLHrsu2b148eLiC4Utrltf\nkF32ysa9ObC7H+juk919ct1rgankllFtze7hw4fXvRyYTHZZhyWK84Ukt23ZvnW171rHwF6TXUYl\nu4xIbhneEsX5sSQnquqNVfWaJHcneWTbmEeSvGf1btm3Jnmxu59fYG6YQ3YZlewyIrlleDfOPUF3\nX6qqDyb5bJIbkjzY3Wer6ldXx+9PcibJnUnOJbmY5L1z54W5ZJdRyS4jklv2g9nFOUm6+0wuh33r\nvvu33O8kH1hiLliS7DIq2WVEcsvoNu7NgQAAsIkUZwAAmEBxBgCACRRnAACYQHEGAIAJFGcAAJhA\ncQYAgAkUZwAAmEBxBgCACRRnAACYQHEGAIAJFGcAAJhAcQYAgAkUZwAAmEBxBgCACRRnAACYYJHi\nXFVvr6ovV9W5qvrwDsfvqKoXq+qp1e0jS8wLc8kuo5JdRiS3jO7GuSeoqhuS/EGStyU5n+Sxqnqk\nu5/ZNvTz3f3OufPBUmSXUckuI5Jb9oMlnnG+Pcm57v5Kd38vySeT3LXAeeF6k11GJbuMSG4Z3uxn\nnJPckuTZLdvnk/zMDuN+tqqeTnIhyYe6++xOJ6uqU0lOJcnx48fzta99bYElclCdPHnyaocXy+7W\n3MIeuC7ZPX78eO69997rsFwOis985jNXO3zd+sJNN920q/XCtdqrNwc+meR4d/9Ekt9P8mdXGtjd\nD3T3ye4+efTo0T1aHlzRpOxuze2erg6u7Jqz62cuG2BXfeHw4cN7tkAOtiWK84Ukt23ZvnW17991\n90vd/fLq/pkkh6rqyAJzwxyyy6hklxHJLcNbojg/luREVb2xql6T5O4kj2wdUFWvr6pa3b99Ne83\nFpgb5pBdRiW7jEhuGd7s1zh396Wq+mCSzya5IcmD3X22qn51dfz+JO9K8v6qupTku0nu7u6eOzfM\nIbuMSnYZkdyyHyzx5sBXfp1yZtu++7fc/1iSjy0xFyxJdhmV7DIiuWV0rhwIAAATKM4AADCB4gwA\nABMozgAAMIHiDAAAEyjOAAAwgeIMAAATKM4AADCB4gwAABMozgAAMIHiDAAAEyjOAAAwgeIMAAAT\nKM4AADCB4gwAABMsUpyr6sGqeqGqvniF41VVH62qc1X1dFW9eYl5YQ65ZVSyy6hkl9Et9YzzQ0ne\nfpXj70hyYnU7leTjC80LczwUuWVMD0V2GdNDkV0Gtkhx7u5Hk3zzKkPuSvJwX/aFJK+rqpuXmBt2\nS24ZlewyKtlldHv1Gudbkjy7Zfv8at/3qapTVfV4VT3+9a9/fU8WB1ewq9zuycrg6vzMZVS7yu7F\nixf3ZHGwcW8O7O4Huvtkd588evToupcDk2zN7brXAtfCz1xGtTW7hw8fXvdyOCD2qjhfSHLblu1b\nV/tgk8kto5JdRiW7bLS9Ks6PJHnP6t2yb03yYnc/v0dzw27JLaOSXUYlu2y0G5c4SVV9IskdSY5U\n1fkk9yY5lCTdfX+SM0nuTHIuycUk711iXphDbhmV7DIq2WV0ixTn7n73qxzvJB9YYi5YitwyKtll\nVLLL6DbuzYEAALCJFGcAAJhAcQYAgAkUZwAAmEBxBgCACRRnAACYQHEGAIAJFGcAAJhAcQYAgAkU\nZwAAmEBxBgCACRRnAACYQHEGAIAJFGcAAJhAcQYAgAkWKc5V9WBVvVBVX7zC8Tuq6sWqemp1+8gS\n88IccsuoZJdRyS6ju3Gh8zyU5GNJHr7KmM939zsXmg+W8FDkljE9FNllTA9FdhnYIs84d/ejSb65\nxLlgr8gto5JdRiW7jG6pZ5yn+NmqejrJhSQf6u6zOw2qqlNJTiXJTTfdlPvuu28Pl8h+89xzz809\nxTXnFjbErrJbVXu0PLiiXfUF2At7VZyfTHK8u1+uqjuT/FmSEzsN7O4HkjyQJMeOHes9Wh/sZFe5\nrSq5Zd1kl1HpC2y0PflUje5+qbtfXt0/k+RQVR3Zi7lht+SWUckuo5JdNt2eFOeqen2tfv9XVbev\n5v3GXswNuyW3jEp2GZXssukWealGVX0iyR1JjlTV+ST3JjmUJN19f5J3JXl/VV1K8t0kd3e3X6uw\nVnLLqGSXUckuo1ukOHf3u1/l+Mdy+eNnYGPILaOSXUYlu4zOlQMBAGACxRkAACZQnAEAYALFGQAA\nJlCcAQBgAsUZAAAmUJwBAGACxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwBAGACxRkAACZQ\nnAEAYALFGQAAJphdnKvqtqr6y6p6pqrOVtWv7zCmquqjVXWuqp6uqjfPnRfmkl1GJbuMSG7ZD25c\n4ByXkvxmdz9ZVa9N8kRVfa67n9ky5h1JTqxuP5Pk46s/YZ1kl1HJLiOSW4Y3+xnn7n6+u59c3f9O\nki8luWXbsLuSPNyXfSHJ66rq5rlzwxyyy6hklxHJLfvBoq9xrqo3JPnpJH+97dAtSZ7dsn0+3//N\n8so5TlXV41X1+MWLF5dcHlzR3Oxuze31WiPsRHYZkb7AqBYrzlX1g0k+leQ3uvul3Z6nux/o7pPd\nffLw4cNLLQ+uaInsbs3tsquDK5NdRqQvMLJFinNVHcrlb4I/6u5P7zDkQpLbtmzfutoHayW7jEp2\nGZHcMrolPlWjkvxhki919+9eYdgjSd6zerfsW5O82N3Pz50b5pBdRiW7jEhu2Q+W+FSNn0vyy0n+\ntqqeWu37rSTHk6S7709yJsmdSc4luZjkvQvMC3PJLqOSXUYktwxvdnHu7r9KUq8yppN8YO5csCTZ\nZVSyy4jklv3AlQMBAGACxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwBAGACxRkAACZQnAEA\nYALFGQAAJlCcAQBgAsUZAAAmUJwBAGACxRkAACZQnAEAYILZxbmqbquqv6yqZ6rqbFX9+g5j7qiq\nF6vqqdXtI3Pnhblkl1HJLiOSW/aDGxc4x6Ukv9ndT1bVa5M8UVWf6+5nto37fHe/c4H5YCmyy6hk\nlxHJLcOb/Yxzdz/f3U+u7n8nyZeS3DL3vHC9yS6jkl1GJLfsB9Xdy52s6g1JHk3ypu5+acv+O5J8\nOsn5JBeSfKi7z17hHKeSnFpt/liSLy+2wO93JMk/X8fzX2+jrz+5/o/hP3X30VcbNDe7e5zbZPyv\n/ejrT2R3N3zd129f5HY1VnanG339yaZkd6niXFU/mOT/JPnv3f3pbcd+KMm/dvfLVXVnkt/r7hOL\nTDxDVT3e3SfXvY7dGn39yWY8Btnde6OvP9mMxzBadjfh32yu0R/DJqx/tNyu1rX2f7c5Rl9/sjmP\nYZFP1aiqQ0k+leSPtn8TJEl3v9TdL6/un0lyqKqOLDE3zCG7jEp2GZHcMrolPlWjkvxhki919+9e\nYczrV+NSVbev5v3G3LlhDtllVLLLiOSW/WCJT9X4uSS/nORvq+qp1b7fSnI8Sbr7/iTvSvL+qrqU\n5LtJ7u4lX1y9ew+sewEzjb7+ZL2PQXbXZ/T1J7K7G77u6ye3u+Prvn4b8RgWfXMgAADsV64cCAAA\nEyjOAAAwwYEszlX19qr6clWdq6oPr3s916qqHqyqF6rqi+tey25MuewqO5Pd9ZLd3ZPd9ZLd3ZHb\n9drE3B641zhX1Q1J/i7J23L5A9YfS/LuHS75ubGq6j8neTnJw939pnWv51pV1c1Jbt562dUkvzTS\n12AdZHf9ZHd3ZHf9ZPfaye36bWJuD+IzzrcnOdfdX+nu7yX5ZJK71ryma9Ldjyb55rrXsVsuu7pr\nsrtmsrtrsrtmsrsrcrtmm5jbg1icb0ny7Jbt8/HDY23q8mVXfzrJX693JUOQ3Q0iu9dEdjeI7E4m\ntxtkU3J7EIszG2J12dVPJfmN7n5p3euBqWSXUckuI9qk3B7E4nwhyW1btm9d7WMPvdplV9mR7G4A\n2d0V2d0AsnvN5HYDbFpuD2JxfizJiap6Y1W9JsndSR5Z85oOlCmXXWVHsrtmsrtrsrtmsrsrcrtm\nm5jbA1ecu/tSkg8m+Wwuv8j8T7r77HpXdW2q6hNJ/m+SH6uq81X1K+te0zV65bKr/7Wqnlrd7lz3\nojad7G4E2d0F2d0IsnuN5HYjbFxuD9zH0QEAwG4cuGecAQBgNxRnAACYQHEGAIAJFGcAAJhAcQYA\ngAkUZwAAmEBxBgCACf4NIdf5/MfjwlcAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "straights=[np.rot90(top,i) for i in range(4)]\n", "plots(straights)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nVFX91mr//Uk+kOQjVXU+yU+S3NOjv5iH4ckuo5JdRiS3HASLvMZ59euUExfdd/+O259P8vkl5oIl\nyS6jkl1GJLeMzpUDAQBgAsUZAAAmUJwBAGACxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwB\nAGACxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwBAGCCRYpzVT1QVc9X1bcvsb+q6nNVdbqq\nnqyqdy0xL8wht4xKdhmV7DK6pZ5xfjDJe19l//uSHF19bSX5wkLzwhwPRm4Z04ORXcb0YGSXgS1S\nnLv7kSQ/eJUhdyd5qC/4VpI3VdWNS8wNeyW3jEp2GZXsMrr9eo3zTUme3bF9ZnXfK1TVVlWdrKqT\n29vb+7I4uAS5ZVR7yu6+rAxeneyy0TbuzYHdfby7j3X3sUOHDq17OTCJ3DKqndld91rgcsgu67Bf\nxflsklt2bN+8ug82mdwyKtllVLLLRtuv4vxwkg+t3i377iQvdfdz+zQ37JXcMirZZVSyy0a7domD\nVNWXktyR5IaqOpPk95NclyTdfX+SE0nuSnI6yY+TfHiJeWEOuWVUssuoZJfRLVKcu/uDr7G/k3x0\niblgKXLLqGSXUckuo9u4NwcCAMAmUpwBAGACxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwB\nAGACxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwBAGACxRkAACZYpDhX1QNV9XxVffsS+++o\nqpeq6onV16eXmBfmkFtGJbuMSnYZ3bULHefBJJ9P8tCrjPlmd79/oflgCQ9GbhnTg5FdxvRgZJeB\nLfKMc3c/kuQHSxwL9ovcMirZZVSyy+iWesZ5il+tqieTnE3yie4+tdugqtpKspUkR44cydbW1j4u\ncXlVte4lzPLFL35x3UuY5b777pt7iMvO7fXXXz93zrU7fvz4upcwS3evewmzLXDu2NM59/vf//7c\neddq9OySZI/n3c985jP7uMTljd4XRj/vTj137NebAx9PcqS7fzHJv0vyp5ca2N3Hu/tYdx87fPjw\nPi0PdrWn3B46dGjfFgiX4JzLqJx32Wj7Upy7++Xu3l7dPpHkuqq6YT/mhr2SW0Ylu4xKdtl0+1Kc\nq+ottfodRFXdvpr3xf2YG/ZKbhmV7DIq2WXTLfIa56r6UpI7ktxQVWeS/H6S65Kku+9P8oEkH6mq\n80l+kuSeHv3FMAxPbhmV7DIq2WV0ixTn7v7ga+z/fC58/AxsDLllVLLLqGSX0blyIAAATKA4AwDA\nBIozAABMoDgDAMAEijMAAEygOAMAwASKMwAATKA4AwDABIozAABMoDgDAMAEijMAAEygOAMAwASK\nMwAATKA4AwDABIozAABMoDgDAMAEs4tzVd1SVX9RVU9V1amq+u1dxlRVfa6qTlfVk1X1rrnzwlyy\ny6hklxHJLQfBtQsc43yS3+3ux6vqjUkeq6qvd/dTO8a8L8nR1devJPnC6k9YJ9llVLLLiOSW4c1+\nxrm7n+vux1e3f5jkO0luumjY3Uke6gu+leRNVXXj3LlhDtllVLLLiOSWg2DR1zhX1VuT/HKSv7po\n101Jnt2xfSav/GH52TG2qupkVZ08d+7cksuDS5qb3Z253d7evlLLhFdYMrvOueyXpfuC8y77ZbHi\nXFWHknwlye9098t7PU53H+/uY9197PDhw0stDy5piezuzO2hQ4eWXSBcwtLZdc5lP1yJvuC8y35Z\npDhX1XW58EPwJ9391V2GnE1yy47tm1f3wVrJLqOSXUYkt4xuiU/VqCR/lOQ73f0Hlxj2cJIPrd4t\n++4kL3X3c3Pnhjlkl1HJLiOSWw6CJT5V49eS/EaSv66qJ1b3/V6SI0nS3fcnOZHkriSnk/w4yYcX\nmBfmkl1GJbuMSG4Z3uzi3N1/maReY0wn+ejcuWBJssuoZJcRyS0HgSsHAgDABIozAABMoDgDAMAE\nijMAAEygOAMAwASKMwAATKA4AwDABIozAABMoDgDAMAEijMAAEygOAMAwASKMwAATKA4AwDABIoz\nAABMoDgDAMAEs4tzVd1SVX9RVU9V1amq+u1dxtxRVS9V1ROrr0/PnRfmkl1GJbuMSG45CK5d4Bjn\nk/xudz9eVW9M8lhVfb27n7po3De7+/0LzAdLkV1GJbuMSG4Z3uxnnLv7ue5+fHX7h0m+k+SmuceF\nK012GZXsMiK55SCo7l7uYFVvTfJIknd298s77r8jyVeTnElyNsknuvvUJY6xlWRrtfnzSb672AJf\n6YYkL1zB419po68/ufKP4dbuPvxag+Zmd59zm4z/vR99/Yns7oXv+/odiNyuxsrudKOvP9mU7C5V\nnKvqUJL/kuS+7v7qRfv+YZL/293bVXVXkn/b3UcXmXiGqjrZ3cfWvY69Gn39yWY8Btndf6OvP9mM\nxzBadjfh72yu0R/DJqx/tNyu1rX2v7c5Rl9/sjmPYZFP1aiq65J8JcmfXPxDkCTd/XJ3b69un0hy\nXVXdsMTcMIfsMirZZURyy+iW+FSNSvJHSb7T3X9wiTFvWY1LVd2+mvfFuXPDHLLLqGSXEcktB8ES\nn6rxa0l+I8lfV9UTq/t+L8mRJOnu+5N8IMlHqup8kp8kuaeXfHH13h1f9wJmGn39yXofg+yuz+jr\nT2R3L3zf109u98b3ff024jEs+uZAAAA4qFw5EAAAJlCcAQBggquyOFfVe6vqu1V1uqo+ue71XK6q\neqCqnq+qb697LXsx5bKr7E5210t2905210t290Zu12sTc3vVvca5qq5J8j+TvCcXPmD90SQf3OWS\nnxurqv5pku0kD3X3O9e9nstVVTcmuXHnZVeT/PpI34N1kN31k929kd31k93LJ7frt4m5vRqfcb49\nyenu/l53/zTJl5PcveY1XZbufiTJD9a9jr1y2dU9k901k909k901k909kds128TcXo3F+aYkz+7Y\nPhMnj7WpC5dd/eUkf7XelQxBdjeI7F4W2d0gsjuZ3G6QTcnt1Vic2RCry65+JcnvdPfL614PTCW7\njEp2GdEm5fZqLM5nk9yyY/vm1X3so9e67Cq7kt0NILt7IrsbQHYvm9xugE3L7dVYnB9NcrSq3lZV\nr0tyT5KH17ymq8qUy66yK9ldM9ndM9ldM9ndE7lds03M7VVXnLv7fJKPJflaLrzI/D9096n1rury\nVNWXkvzXJD9fVWeq6l+ve02X6WeXXf3nVfXE6uuudS9q08nuRpDdPZDdjSC7l0luN8LG5faq+zg6\nAADYi6vuGWcAANgLxRkAACZQnAEAYALFGQAAJlCcAQBgAsUZAAAmUJwBAGCC/wepJTYbNznzsAAA\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "br=[[ 0, 0, 1],\n", " [ 0, 1,-1.5],\n", " [ 1,-1.5, 0]]\n", "\n", "diags = [np.rot90(br,i) for i in range(4)]\n", "plots(diags)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nY4wxxpja8v9i029ma30TLQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rots = straights + diags\n", "corrs = [correlate(images[0], rot) for rot in rots]\n", "plots(corrs)" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": true }, "outputs": [], "source": [ "eights=[images[i] for i in range(n) if labels[i]==8]\n", "ones=[images[i] for i in range(n) if labels[i]==1]" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n0yNcWG6PsNsfLBLsEd60aZPK06ZNU9l9X9q+fbvKdevWDd2/Jj7//HOV//znP6v8+uuvZ32OmuLK\nMAAAALzFZBgAAADeSjsZNsbMMsbsMcasrbLtdGPMq8aYzak/s1v7BSWBWkEU1AmiolYQBXWCbEXp\nGa4QkQdF5H+qbBslIsustZOMMaNS+e7cD6/w6tevH9jmrtPo9taMHTtW5V27doWew/1OcPc7w0VE\nmjZtqrLbT+r2Nn/55Zeh5yyQCvGoVnKtVatWKnfp0kXltWvXiuvll19WuUOHtF/Brri9q/Pnz89o\n/xqqEI/qxP3fWCS4Tvjq1atV/vTTT0OPuWLFCpVr19Zv5VH6f901pX/+85+n3acIKiTBteKu6+32\nCM+dO1flW2+9NeNz7N69W+VJkyap/Oijj6rs9p9W1wvq9qD/9a9/zXhcBVYhCa6TdNw5QnVrCLt1\ncM0116i8devWjM7pfv4MHDgwo/2r07dvX5Xdz69iSntl2Fr7uojsdzZfLyJf3zU2R0R65HhcSCBq\nBVFQJ4iKWkEU1AmyVdOe4WbW2q8vf34sIs3CngyvUSuIgjpBVNQKoqBOEFnWS6tZa60xxn7T48aY\nO0TkjmzPg+QLqxXqBF/jPQVRUSuIgjpBOjW9MrzbGFMmIpL68xsXRLXWzrDWdrDWZtbMiFIRqVao\nE+/xnoKoqBVEQZ0gsppeGV4oIv1FZFLqzwU5G1GRVfflFe4C+OXl5Sq7NywMGTJE5YYNG6o8ZcoU\nld1GdxGR/ft1+9PEiRNVdhdBj7GSrZVca9y4scrLly/P+Tm2bdumsntjzNNPP53zc0ZUsnXifumO\niMjw4cNVdm9ea9u2rcpDhw4NPcfs2bPTjsO9sdf9MocESUytuDeiuTdOul+49O1vfztwjMOHD2c1\nhqNHj6o8ePBglTt37hzY584771Q53U3hMZWYOsmFL774QmX3i3rSadmypco33XRT1mN68cUXVV66\ndGnWx8yXKEurPS0i/ycibYwxHxpjBsiJ4rrcGLNZRC5LZXiOWkEU1AmiolYQBXWCbKW9MmytveUb\nHro0x2NBwlEriII6QVTUCqKgTpAtvoEOAAAA3jJuD1NeTxZyN2dc1K1bN7DtwQcfVNnt7/voo49U\ndvv7pk6dqnLr1q3TjmPYsGEqT58+Pe0+hWatNfk4bhLqpCZ27NihcvPmzXN+jvfee09lt9/9k08+\n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\ndgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n47y6Uq4kae3atV6dkQ/M9UjIqdVek/SepCvN7IiZzVNHuKaa2UFJU0o1IkdWEIKcIBRZQQhygmpV\nPDLsnPv9Oa7K3rm+0FBkBSHICUKRFYQgJ6gW30AHAACAaFV9NglITU1NXr1p06Zu7b9q1aou21pb\nW6tpCRnUq5f/b8/k2nHEK/m5gXfeecerW1pa6tkOgIJ75plnvNrM+76bLmuGt23b1uU+kp+LyTOO\nDAMAACBaDMMAAACIFsMwAAAAosWa4RRMmzbNq6+55pqyt0+uvVm5cmXqPSF7kmuEQ87jCABAtdas\nWePVt99+u1cn34927drl1XfeeWeX+zx16lRK3TUeR4YBAAAQLYZhAAAARIthGAAAANFizXAPJNfa\nPPlk+W95fPfdd7169uzZXn3y5Ml0GgMQhSFDhjS6BWREpfPDIk433HCDVyfnlmHDhpXdf926dV59\n4sSJdBrLKI4MAwAAIFoMwwAAAIgWwzAAAACixZrhAE1NTV69adOmbu3/2WefeXV7e3u1LQGI2IwZ\nMxrdAjKCNcI4m7lz53r18OHDy95+3759Xr158+bUe8oyjgwDAAAgWgzDAAAAiBbDMAAAAKLFmuEA\nS5Ys8eozZ850a/9K5yFGHHr18v/tWSlHN998s1evXr069Z6QTa2trV7d0tLSoE6Qd7t27Wp0C6iD\nxYsXe/W8efO8utLa8qlTp3r1F198kU5jOcGRYQAAAESLYRgAAADRYhgGAABAtFgznDB+/Pgu2269\n9dZu3Ufy/HwHDhyoqicUQ3KNcKU1XHfccYdXNzc3d7nN3r17q28MmXP48OGy1/fu3durR40a5dVt\nbW2p94R8OnToUKNbQMpGjhzZZVtyjXDyMyo//fSTV69fv96rY1sjnMSRYQAAAESLYRgAAADRYhgG\nAABAtBiGAQAAEC0+QJfw1ltvddk2aNCgsvu8//77Xj1nzpw0W0JBvPDCC1599913d2v/+fPnd9mW\nPNE6iuH06dNlrzczrz7//PNr2Q6ABrr88su9esuWLV1uc+WVV5a9j2effdark18mFjuODAMAACBa\nDMMAAACIFsMwAAAAosWa4YQhQ4Z02Zb8soSktWvXevU333yTak8ohv379ze6BeRE8ot7ktkZM2aM\nVyfXjt977721aQy5w3ry/EuuB660PvhszrbOGP+PI8MAAACIVsVh2MxGmlmrme01sz1mdl9p+2Az\n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\nNSiMAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plots(eights[:5])\n", "plots(ones[:5])" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def normalize(arr): return (arr-arr.mean())/arr.std()" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": true }, "outputs": [], "source": [ "filts8 = np.array([ims.mean(axis=0) for ims in pool8])\n", "filts8 = normalize(filts8)" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nHzN8h1mcMyu+AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plots(filts8)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": true }, "outputs": [], "source": [ "pool1 = [np.array([pool(correlate(im, rot)) for im in ones]) for rot in rots]\n", "filts1 = np.array([ims.mean(axis=0) for ims in pool1])\n", "filts1 = normalize(filts1)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plots(filts1)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def pool_corr(im): return np.array([pool(correlate(im, rot)) for rot in rots])" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtAAAABoCAYAAADYUcetAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXt0HOV58H+PfJFkC8uWr8iWhI1tsMHG2NgYG3NRgBCO\nEyiFQsmXBEK/pE1zKB/tSW/JiXMOKaE94SOlaWgaQ5ueuIQPeoi5JIbEEGMIJtiWL1i25QvyVb5J\nsixbkm3p/f6Y2fVqNbM7s/Puri7P75w9mp15dt7Zn57dfXf2nfcRYwyKoiiKoiiKogSjIN8HoCiK\noiiKoih9Ce1AK4qiKIqiKEoItAOtKIqiKIqiKCHQDrSiKIqiKIqihEA70IqiKIqiKIoSAu1AK4qi\nKIqiKEoIInWgRWSUiLwpIjtEZJWIlPrEdYrIBhHZKCKvRGlzIKBe7aNOs4N6tY86zQ7q1T7qNDuo\n176BRJkHWkSeBE4YY/5RRP4aGGWM+RuPuBZjzIgIxzmgUK/2UafZQb3aR51mB/VqH3WaHdRr3yBq\nB3o7cKMx5oiITADeMcZc7hF3yhhzUYTjHFCoV/uo0+ygXu2jTrODerWPOs0O6rVvEHUM9DhjzBEA\nY0wDMM4nrlBEPhSR90XkzohtDgTUq33UaXZQr/ZRp9lBvdpHnWYH9doHGJwuQETeAsYnrgIM8E2P\ncL/T2VXGmMMiMhlYLSKbjTF7Qx9tP0K92kedZgf1ah91mh3Uq33UaXZQr32fqEM4aoGbEn5meNsY\nMyPNY54HXjXG/I/HtswPZoBgjBGv9eo1c9RpdlCv9lGn2UG92kedZgf1ah8/p+lIewY6DSuBB4En\ngS8Bv0gOEJGRwBljzFkRGQMscuOzxtixYxk/fnzKmCNHjqSNufvuu1m2bFnKmGXLlqWNWbx4MYsW\nLUoZ8/7778dj1qxZQ1FREQsWLODDDz+kvb2dr33tazz00EPx+Hx4HT9+PBMmTEgZ09DQkDamvb2d\nGTP8v2fV1tam3A7wyiv2LzjOh1NbFBcXM2zYsJQxZ86cSRtz4sSJyMfywAMPsGLFivj9vup10qRJ\nnDx5ktJSzwvgAdJuB5g2bRrV1dUpY1avXh2PWbVqFcXFxdxwww2sWbOG9vZ2brvtNr71rW/F4/uq\nU4DBgwczdOjQlDFnz55NGzNhwgSmTp2aMmbXrl3xmJ07dzJkyBAmT57M3r17OXfuHI888giPPfZY\nPL6vfl6JCFdddVXKfWzatCltTE1NDbNmzUoZs2XLlnhMTU0NQ4cOZebMmWzbto2zZ88yZ84c/vu/\n/zvx2PKSqyKp+0TGmLQxixcv5oYbbkgZs2bNmrQxK1asYPLkySlj9u7dG4/ZvXs3gwcPpqqqivr6\nes6fP89f/dVf8cgjj8Tj8+F13LhxkXO1vr6ekSNHptxHc3Nz2ph9+/al3J4Loo6BfhK4VUR2AJ8C\nvgcgIvNE5MduzAzgIxHZCPwGeMIYsz1iu/2a+fPnU19fz3PPPce+fftYsGBBfJt6tY86zQ7qNTOW\nLFnC7t27efrpp9mzZw9LliyJb1OnmTN58mROnDjB2rVraWxs7NahUa+ZMWPGDBoaGnjttdc4cuQI\nM2fOjG9Tp5lTWVlJU1MTH3zwAU1NTVRWVsa3qdfeQ6Qz0MaYRuAWj/Xrga+4y78DZkdpZ6BRXFzM\nvffe67nNGKNeLaNOs4N6zYxhw4Z1+7UpEXWaOUOGDOGaa67x3KZeM6OwsND31xV1mjlDhgxhzpw5\nntvUa+8h6hAOAETkduBpnDPay40xTyZtHwr8FJgHHAfuM8Zk7fz78OHDrcTcdNNNVmIqKioyitm7\ndy9vv/02AJ/61Kd6bM+115KSEisxY8aMibQ9m+TaqS2GDBliJcYG27Zt67Gur3otLCyMtB1I+9Ot\nX0xdXR1vvPEGxhjmzp3bY3tfdTpo0CArMWVlZRnFHD9+nO3bnRN1Xq+Jvvh5le5n9aAx48b5TfaQ\nOubQoUNs2LABgClTpvTY3ldztaqqykpMuuEIfjEnTpxg165dGGM8P1v7Yq4WFRWl3UeQmN5A5A60\niBQA/4IzhOMQ8HsR+UXSTwkPA43GmGkich/wj8D9Udv2w1ZHL58daGMMq1ev5t5772X48OG8/PLL\nXg/rk17Hjh0baXuWyalTW/SmDvQnn3zitbpPek33Rh7kjT6TDnRXVxevvfYaDz30EBdddBHPPvus\n18P6pNN8dqCNMdTW1nLNNddQWFjIxo0bvR7W595X0113EjQmk464MYb169dTXV1NcXExq1at8npY\nTp2mG9scNMZWB3rUqFGhY4wx1NXVMWfOHIYOHRr/gpJEn8vV/tSBjjoGGmABUGeMqTfGnANeAJLn\nI7wT+E93+SWczraSgsOHDzNy5EhGjBjBoEGDuPbaa73C1Kt91GlEfD5Q1GsIDh48yOjRoxk5ciSD\nBg3yu7BLnYbk5MmTDBs2jOLiYgoKCrj66qu9wtRrCE6cOMFFF13E8OHDKSgo0Ne/JVpaWiguLqao\nqIiCggLPX6FQr3nFRgd6IrA/4f4Bd51njDGmE2gWkfSnDwYwra2tXHTRhQJDPt9g1at91GlEfGb6\nUK8haGlp6Ta7x4gRntV61WlIOjo6up3d8plBRb2GoK2trdtrvri42CtMnYako6Oj2xAxn2Eg6jWP\nWBkDnQEZzbk30Dh9+jTvv/8+4LyYAqBe7aNOQ7J///70Qeo1LS0tLaxevRpwpocMgDoNQEdHB7t2\n7QKcsbsBUK9paGtrY8uWLYAzBVkA1GkAzp49y969Tl2UgFOMqtccYuMM9EGgMuH+JHddIgeACgAR\nGQSMcGfwUHwoKSmhq6uLRYsWsWjRIs8LM1Cv2UCdRmT06NFeq9VrCEaMGEFXVxfV1dVUV1czadIk\nrzB1GpLCwkKMMUydOpWpU6f6DTdQryEoLi6mq6uLWbNmMWvWLH39WyKWq5MnT2by5Mmaq70QGx3o\n3wNTRaTKvSL0fpwCK4m8ilNoBeBeYLWFdvs1EyZMoLm5mZaWFjo7O1m3bp1XmHq1jzqNSH19vddq\n9RqCiRMn0tjYSHNzM+fPn4+f3UtCnYaktLSUM2fO0NbWRldXl99FhOo1BGVlZbS2tnL69Gk6Ozv1\n9W+JESNG0NbWRnt7O11dXX4XEarXPBJ5CIcxplNEvg68yYVp7GpF5DvA740xrwHLgf8SkTrgBH3g\nSvF8U1BQQHV1NS+99BLGGG655Rb279+PerWPOrVLVVUVzc3N6jUCBQUFLF26lP/4j//AGMO8efNo\naGhQpxEREWbMmMH69esBuPnmmzl06JB6jUBBQQHz5s3j7bffxhjDpZdeqq9/C4gI06ZNo6amBoBb\nbrmFgwcPqtdehJUx0MaYXwGXJa37dsJyB/BHNtoaSMR+ugG48sorY51p9WoZdWqXK664gk2bNqnX\niEybNo1HH300fv+tt95SpxYYM2YM119/PeDMr//666+r14iUl5dTXl4ev6+vfzuMHj06PiTm1ltv\n5dVXX1WvvYhcFVL5EvBPOON1AP7FGPOcjbb7MwEKqahXy6jT6PgUUlGvIQlQSEWdZkCAQirqNSQB\nCqmo0wwIUEhFveaRXBVSAXjBGPNI1PYGCgELqYB6zQbqNAI+hVRAvQYmYCEVUKehCFhIBdRrYAIW\nUgF1GoqAhVRAveaNXBVSAZ1eJRQBC6mAes0G6jQCKSpzqdeABCykAuo0FAELqYB6DUzAQiqgTkMR\nsJAKqNe8katCKgB3i0iNiLwoIp5zMikXCFhIBdRrNlCnEfAppALqNTABC6mAOg1FwEIqoF4DE7CQ\nCqjTUAQspALqNW/kqpDKSmCFMeaciHwFp/Rk1kpO/tEf2RlTn+KnqFC88MILoR/T1tbG6dOn4z+H\n+3Sgc+o1k+fhhQ2vp06dCv2Yo0ePcujQoXhnpLW1lWPHjiWH5dTpnXd6/VgTnmXLluVtP4cOHWLf\nvn3xN3if/01OvT799NOR97F27VoLRwLV1dWhHyMi7Nu3L15EwSNPIcdOV65Mnp00M1J8wQpFiuEX\nvmzevJmPPvoIYwzgO9yoz31ebd261cKRQHt7e0aPaW1tjc9s0tLS4hWWU6ePP/64lf3Mnz/fyn5+\n8pOfhH5Me3s77e3t8SlsDx5MLq8B5NjrPffcE3kfsddeVDLtR5w8ebJbjh44cCBFdGpyUkjFGNPk\nDu8A+Akwz0K7/ZpBgwYBzpmnESNGMHbs2B4x6jUcsYnpp0yZwpQpUzzP6qnT8BQVFWGM4fLLL+fy\nyy+nsrKyR4x6DcfYsWPp7Ozk4Ycf5uGHH2bmzJk9YtRpeEpLS+ns7OS2227jtttu47LLLusRo17D\nUVRURFdXV/z173WyR52GJ9YHKCkpoaSkpNssJzHUa3hKS0upqKiI36KQk0IqIjIh4e6dQM/L9JVu\nDBkyhPPnz3P+/HmMMfEzUYmo13DEJqaPFVE4cuRIjxh1Gp5Ro0Zx+vRpzpw5Q1dXV3ze0kTUazhm\nzJjBgQMHaGho4Ny5c/z617/uEaNOw1NRUcGJEydoamri/Pnz/Pa3v+0Ro17Dkfz69zpTqk7DM3jw\nYDo7O+ns7MQY4ze7kXrNI7kqpPKIiHwOOAc0Ag9Gbbe/IyKMHDmSEydOYIxhzpw5NDY2Jk+irl5D\nICJcdtll1NTUYIyhvLyc1tZWdRoREWHWrFm8//77ANx4441exSnUawgGDRrEY489xqOPPooxhqVL\nl7Jr1y51GpGCggLuuusu/v3f/x1jDJ/97GfZs2ePeo2AiDB79mx+97vfAVBZWUlLS4s6jYiIUFJS\nQnNzMwBLlizh6NGj6rUXkatCKn8H/J2NtgYSRUVF8QterrrqKtavX69eIzJ69Giuu+66+P3du3er\nUwuMHz+e8ePHA3DDDTfE5i9WrxFYuHBht+sOnn32WXVqgdhQA4BZs2bx/PPPq9eIjBs3rlutgtra\nWnVqgcLCwviFhNdddx3vvPOOeu1F2BjCgYgsF5EjIrI5Rcw/i0ide7XoHBvt9meampo4fPiw5zCD\nGOo0PNu2bWPNmjXxCzO8UK/h2LhxI7/61a/iRX+8UKfheeKJJ1i6dClf/OIXfWPUazhefPFFvvOd\n7/D973/fN0adhqempkbfAyzT0tLCsWPHOHHihG+MOs0vVjrQwPPAp/02ishngEuNMdOArwK+VQEU\nh2HDhsVLeHqhTjOjvLw81dyv6jUDKisru53VT0adZsYdd9zBU0895btdvYZn/vz5/Mmf/InvdnWa\nGRUVFfoeYJmioqJUU9ep016AlQ60MWYt0JQi5E7gp27sOqBURMbbaLu/UlhYSEFByn+POs2AkSNH\nMnhwypFL6jUko0eP9iyJnIA6zYCrrroq1fzPoF5DM3ny5HTT6KnTDND3APsMHTpU+wC9HFtnoNOR\nXGzlIN7FVpTgqNPsoF7to06zg3q1jzrNDurVPuo0z+SqkIqSAWfPnqWrq4uWlhY2bNiQ78PpFzQ1\nNXH06FE6OjrYs2dPvg+n39DY2Eh7ezvbt2+nra0t34fTL9iwYQPvvvsujY2NLF++PN+H02+or6+n\ntbWVN99803PKRSU8x48f5/Dhw3R0dLB9+/Z8H06/4dy5c3R1ddHa2sq7776b78PpFyQXUolCrs5A\nHwQSZ6zuUWxF6UnsJ5wRI0Ywd+7c5M3qNANGjRpFZWUlhYWFTJkyxStEvWZAWVkZRUVFXH755Xz6\n0z0uh1CnGTB37lzuu+8+ysrKePjhh71C1GsGVFVVUVJSwm233cYXvvCF5M3qNAPGjBnDpZdeSmFh\nYXyGkyTUawYMGTKEgoICSkpKWLJkSfJmdZoBva2QSgxxb16sBL4IICILgWZjjP/0EkoQ1GkEUpQT\nVa8Zok7tY4xRr5ZJU0pYnWYH9WofdZpnrAzhEJEVwE3AaBHZB3wbGAoYY8yPjTFviMgdIrILOA08\nZKPd/kxjYyMdHR10dXXR0NDAzp07ARCRr6jTzNm6dStNTU2cO3eOtWvXAiAiX0VzNWM++ugjjh8/\nzrlz53jzzTfjc5drrkZj2bJlbNiwgZaWFu6++25AczUqP/vZz9izZw+nT5/mu9/9Ll/+8pcBzdWo\nrF+/Pv4e8NZbbwGaq1E5efJkfAjH8ePH2bzZmSVYc7X3YKuQygMBYr5uo62BQllZWbf706dPZ+3a\ntRhjfhxbp07Dc+WVV3a7/5vf/AZjzL8lrlOv4bjmmmu63V+wYAE///nPNVcjsmzZsm73Fy9erLka\nkc9//vPd7s+aNYunnnpKczUi8+bN63Z/5cqVmqsRKS0t7XZ/9uzZvP7665qrvQhbZ6CXA0uBI8aY\n2R7bbwR+AcSu2vofY8zjNtrurzQ1NdHe3k5BQUG8wlsi6jQztm3bxvHjxyksLOTaa6/tsV29hmfj\nxo0cOXKEwsJCbr755h7b1Wl4nnjiCd577z3Kysr46U9/2mO7Os2MF198kdraWkpKSvjLv/zLHtvV\na3hqampoaGjQ179lWlpa6OjooKCgwLMmhHrNP7Zm4XgeeAZ3TkIf1hhjPmepvX7PsGHDGD58OE1N\nqabXVqdhKS8vp6Kigm3btqUKU68hqKysZMqUKelmilGnIbjjjjv4wz/8Qx5/POXnoToNyfz581m8\neHG3EukeqNcQVFRUMHnyZH39W6aoqIji4uJ0M0ao1zySq0Iq4H+BoeJBgEIqoE5DE6CQCqjXUAQo\nogDqNBQBiqiAOg1NgEIqoF5Doa//7BCgkAqo17ySq2nsABaKyEYReV1EZuaw3f6MOs0O6tU+6tQ+\n6jQ7qFf7qNPsoF7ziKSZ0if4jkSqgFd9xkCXAF3GmDNu/fYfGGOme8SZ6dMvrB4zZgxjxowJfSz3\n3HNP6Md48cYbb1jZT5qfCwNx2WWXsWPHDowxAsGdurEmcR7p8vJyysvLQx/DnDlzMjv4JJIvkMyE\n+++/38KROMScQrhcjc02Ac58nQHOwvTgmWeeyeygs0TyRVaZcOWVV7J169aMczXyAQA/+MEPIu/D\na4x8JixcuNDKfoC8Ov3Rj35kYzecOnXKyn6+8Y1vRN7H1VdfzcaNGzP2mjg2ddiwYUHObvcgk/fi\nZG699dbI+wD45je/mdHjurq6eqzL1OnMmRf6gWPHjmXcuHGhj8dWH8DGZxXY+f8sWLCADz/8MK9e\nBw0alNnBJ1BdXR15HwB/+qd/mtHjvKYGTewDhCEnlQiNMa0Jy78UkX8VkTJjTGNyrM8k7AOeGTNm\nsGPHjvj9ME6h50wJijdhvGbyYTkQmD17Nlu3bo3fD5urSnrUqR3mzp3Lxo0b4/fDes3kBE9/REQw\nxsSHHCR2qMM6veKKK7J9uH2Sa6+9lg8//DB+X71mhoggcqG/7PXlLyg5KaQiIuMTlhfgnPnWN/oI\nqNPsoF7to07to06zg3q1jzrNDuo1/+SkkApwj4j8GXAOaAPus9HuQKK+vh64MIk66tQaiRP+o14j\ns3v3bkBzNRuoU7skF6hCvYYm8QxeV1dX/OyeOrVLbOYo9dp7yEkhFWPMD4Ef2mhroFJVVRUbq/dj\nUKc2SZzwX71G59JLL2XdunWaq1lAndpl+vTpvPvuu+o1Al4zRbjjTNWpRWbOnBkr/KVeewmRh3CI\nyCQRWS0iH4vIFhF5xCfun0WkTkRqRMTO1WgDiNhZvWTUq33UaTQSx+onol7to06j8fHHH3uuV6/B\nMcbQ1dUVv/lNTKBOo7Fp0ybP9eo1f9gYA30eeMwYcwVwHfDnItLtSkD3CtFLjTHTgK8Cz1pod0Cx\nd+/eHuvUq33UaXRiP4snol7to06jU1tb22Odeg2PiFBQUBC/mNBjuzqNyObNm3usU6/5JXIH2hjT\nYIypcZdbgVpgYlLYnbhVCo0x64DSxAHwSnpKSkq8VqtX+6jTiJSWlnqtVq/2UacR0VyNTuKsBomz\nGyShTiMyatQor9XqNY9YLaQiIpcAc4B1SZsmAvsT7h+kZydbScHJkye9VqtX+6jTiPiUn1ev9lGn\nEWls9Jy0QL1mSIq6Euo0IsePH/darV7ziLV5oN1JvV8C/iJxfsKwbN++Pb6caSGV/sioUaNoa2vL\n+PEfffRRfDnTQipKd86cORNfzrSQSn9k9OjRnD59Ot+HoShpGTt2LK2tGX9cdevUZFpIpT/gVZwi\nUxLHpWda8KM/MmHChEhFiNSrg81ctTWN3WCczvN/GWN+4RFyEKhIuD/JXdcDLaTizYIFC3jllVeS\nVwf2qoVUAhPY6UD9sEzH9ddfz4oVK5JXB/aqBEadRqS6uprly5cnrw7sVU/wdCc2nMOjOEVgp1rw\nw5vbb7+durq65NXqNSS9sZDKc8A2Y4xf/dyVwBcBRGQh0GyMOWKp7YGMerWPOs0O6tU+6jQ7qNeQ\nxM7opRgDrU6zg3rNI5HPQIvIYuDzwBYR2QgY4O+AKtziFMaYN0TkDhHZBZwGHora7kDj7bffBroX\n/VCvdlCndvnlL38JqNdsoE7tEvtVT71mTuLP4Yln89SpXV544QVAvfYmInegjTHvAYMCxH09alsD\nmZtvvplXXnmlW9EPUK82UKd2+cxnPsOKFSvUaxZQp3a56667WL58uXqNQPJP4kBsPmh1apH777+f\nZ555Rr32InJSSEVEbhSRZhHZ4N6+GbXdgYZXIRX1ah91Gh2vQirq1T7qNDpehVTUaziCFFJRp9Hx\nKqSiXvOLjYsIY4VUatyZONaLyJvGmO1JcWuMMZ+z0N6AxKuQiot6tY86jYBXIRUX9WofdRoBr0Iq\nLuo1BLGz0GlmOFCnEfAqpOKiXvNErgqpAPheXaCkx6eQCqjXbKBOI+BTnALUazZQpxHQXI1OwEIq\noE4j4VNIBdRr3shVIRWAhSKyUUReF5GZNtsdCPgUUgH1mg3UaQR8CqmAes0G6jQCPoVUQL1mRJr5\nddVpBHwKqYB6zRu5KqSyHqgyxpwRp3b7K8B0r/2sXLkyeb+hj+Vv//ZvQz/GixtvvNHKfmJXz0bB\np5BKYK+rVq2KL48cOZKRI0eGPobp0z13HZqXX37Zyn6yRGCniQ7LysooKysL3dikSZMyPMzu7Nq1\ny8p+bOBTSCWwVxu88847kfeRyXtPjgns9KKLLoovFxYWUlRUFLqx9957L8PD7M6SJUus7McGPoVU\nAnv1Gu8flr//+7+PvI/nn38+8j4g2py4aQjsdM2aNfHlkpKSbrkbFI+aCRnx4IMPWtmPDXwKqQT2\n+sEHH8SXS0tLM+oDLFy4MPRjkrH1+Z/FXA2MlTPQkqaQijGm1Rhzxl3+JTBERDx7G7Gfg7yu7B3I\nLFiwoMe6MF4vueSS+C2TF85AIYzTqVOnxm+ZdJ77K9dff32PdWG8KsEI47S0tDR+y6Tz3F+prq7u\nsU5z1T5hnF588cXxWyad5/7K7bff3mNdGK9VVVXxm/YB7JCTQioiMj5heQEgxhjf386UYKhX+6jT\n7KBe7aNOs4N6tY86zQ7qNb/kpJAKcI+I/BlwDmgD7ova7kDDq5AK6tUK6tQuXoVUUK9WUKd28Sqk\ngnq1gjq1i1chFdRrXslJIRVjzA+BH0ZtayDjVUhFvdpBndrFq5CKerWDOrWLVyEV9WoHdWoXr0Iq\n6jW/2CikUigi69yrQLeIyLc9YoaKyAsiUicivxORyqjtDjS2b0+eVlu9ZgN1Gp0tW7b0WKde7aNO\no7Nhw4Ye69SrfdRpdNat6zm5mXrNLzbmge4AbjbGXI0zhd1n3LE4iTwMNBpjpgFPA/8Ytd2BxpEj\nR7xWq1f7qNOIHDp0yGu1erWPOo3IgQMHvFarV/uo04jU19d7rVavecTKRYSxq0CBQpxhIcmTQd4J\n/Ke7/BLwKRvtDiR85tdUr/ZRpxHRXM0Z6jQimqs5Q51GRHO192FrGrsC9wLCBuAtY8zvk0ImAvsB\njDGdQLNOCxSOsWPHeq1Wr/ZRpxGZMGGC12r1ah91GpHy8nKv1erVPuo0IhUVFV6r1WsesVJIxRjT\nBVwtIiOAV0RkpjFmW4qH+E7wnPwtS+eCdjh48GCQMF9Zn3zySXw500IqAxRfp4nFSzItpNIf8fmp\nMRl9YdvH12liJdNMC6n0R/bs2RMkTHPVPr5ODx8+HF/OtJBKf2Tnzp1Bwny9Jr4vZ1pIRemOtUqE\nAMaYFhF5G7gdSOxAHwAqgEMiMggY4TdXoXaYvamsrPS6kDCw10suuSS7B9h/COx06tSpOT2wvsKU\nKVO8LiQM7FUJTGCnpaWlOT2wvsL06dO9LiTUXLVPYKcXX3xxTg+srzBz5kyvCwkDe62qqsryEQ48\nbMzCMUZESt3lYuBWILmn9yrwJXf5XmB11HYHGseOHfNarV7to04j0tDQ4LVavdpHnUbE55c99Wof\ndRqR/fv3e61Wr3nExhjoi4G3RaQGWAesMsa8ISLfEZGlbsxyYIyI1AGPAn9jod0Bxbhx4wBQr/ZR\np3aJnUFSr/ZRp3aZNGkSoF6zgTq1S2WlM0Odeu092OhA78SpgmNwxt8MBjDGfNsY85obcz9wE3AK\nGApUW2h3QBEbG65e7aNO7aK5mj3UqV26uroA9ZoN1KldNFd7H7maBxrgBWPMXPf2XIT20sZ4TY6f\nSUyQQfsBB/ZHxmceaLDktbm5OW1M4kVzUWKampoibc8BVpw2NqYfNrlx40YrMV6FdjKJsYHPPNBg\nyWsQfIY8hY6pq6uLtD0HWHHa3t6eNsZnaE7omB07dliJsYHPPNCQw1ytra2NHBPkPbO/vK+eOnUq\nbUyKz8tQMZs2bbISY4MUF2fnrA+wb9++yDFBPheDxPQGcjUPNOTwSub+2IFO8cXBitcgL57du3db\niekDHWgrToO8CdTU1FiJ6U2dkmznahCOHz9uJaYPdKCtOO3o6EgbY6tTMpDeV4NgowMd5P07SEyW\nseK0tbU1bczRo0etxGzevNlKjA2ynauJM/X44TMOO1SMdqCTCDAPNMDdIlIjIi+KyCQb7Q4kfOaB\nBvWaDdRpBHzmgQb1mg3UaQR85oEG9ZoN1GkEfOaBBvWaN3I1D/RKYIUx5pyIfAWnco5nxZy5c+em\nbOvQoUMR4/2lAAAIjUlEQVSp3vQAGDJkCMOHD48cM2zYMMaMGRM5ZsKECWmPOdXz6uzs9PtGFtjr\n9OnTU7Z/6tSptDHHjh2LX8zox/Dhw9PGlJWVMW3aNN/tzc3NKbcDfPzxx5Gd7t692+tsRmCn6aax\na2xsTBtz/vx5SkpKUsYMHTo0bUxxcTGjR4+OHGMjV33OdOX0PaCwsJApU6akjGloaEgZM3bsWIYP\nH57qy2va7WDHadRcnTVrVsr26+rq0r7mWltb006HWV9fnzZm586dveZ9taWlxWtTTnO1uLg47Rzy\n6WLSvaeCc4YxXUxtbW3ec3XGjBkp2z9//nzamP3796fNwyAxR44cSTsP9dChQ9PG9Ib31XSf762t\nrWljDh48yMSJE1PGjBgxImVMWVmZlc/OTZs2RXIaI8hoBD8kyJjiUDsU+RZw2hjzlM/2Apza7T1m\n8RYRuwfTDzHGeP5co14zR51mB/VqH3WaHdSrfdRpdlCv9vFzmo7IZ6BFZAxwzhhzMmEe6O8lxUww\nxsSuLrmT7kVW4mT6JPojHl5XoV4joU6zg3q1jzrNDurVPuo0O6jX3o+NIRwXA//pfvspAH4emwca\n+L073cojIvI5nOnuGoEHLbTb31Gv9lGn2UG92kedZgf1ah91mh3Uay/H+hAORVEURVEURenXGGPy\ndgNGAW8CO3B+nihN2HY7TknwnUAXsAHYCLzibh8KvAOcBdqAJzz2/1v3sW3u47/sEfMxcN6NmeOx\n/UbgJM5E5W04M4084hE3CdgPdLhxT3rE3OK2dcaN+U3S9kLgQ6DJ3c9+oDIp5kvAUff5+D2nKF6X\nAi2u13qf9ttwvvG2ebUf0Os9CftoA17LhlM3pgQ4AbQDp4GnPGJSetVc1VzVXNVc1VzVXO3LuZrk\n9K+BzkSvAZ0OyFz1fI7pArJ5A54EvuEu/zXwPXe5ANgFVAFD3H/y5UmP/Zqb1FXAA27CJcc8DqwA\nNvu0/xngfZwCMHXABz4vnlWxBHD/ETs82noAeNddvsn9RybH3Ai87i4PAj4AFiTFPAL8q7u9DnjT\n45/8z9nw6m4/CvzU3f5J7HiT2v9/rrMoXv8AeCdHTv8M+LG7fD9w3CMmpVfNVc1VzVXNVc1VzdW+\nmqseTmuA1gycDshc9bpZmQc6AnfiTLuC+/cud3kBUGeMqTfGnMP5dnFn0mO/AHxsjKkHfo6TEMkx\ndTjfpFK1/wOcJGkDSkVkvEfcWWNMDYAxphWoBZLnabkB+Bc35h33mK/w2FeX+9ev6MwdOC4KcRJ5\nvsc+0l0QkKnXBe6+f+hu/zec5EymAcdZqvbTeW3E+UafC6d3Asvd5deAUo8YSO1Vc1VzVXPVQXNV\nczV2PJqrF+jtuZrs9AUcZ4kEcQoDM1d7kO8O9DhjzBEA41xJGptAeCLOafsYg4D/IyLvi0jsn1kO\n7HEf2wm0Al6Tut4OTPOZZDy5nYP0/AcCLBSRjSLyuojcgvOtap3fvkTkEpx/oldd24UicgbnhbHB\n9Cw6MxH4ifvYt4DjIpI8AWi6idMz9TrRXReL2Q+c92ofeAOo9Gk/rNfVOG8S2XR6QJxiP4dwXrRe\nJRNTedVc1VzVXL2A5qrmquaqz756aa4mP9cDwGAR+TDBa1CnAzFXe5D1DrSIvCUimxNuW9y/n/MI\n9/pGAPAo8CLweeBpEZkcsPmVwGKcb6G/5sI3sjCsB6qMMVfjJPVrwF+435h6ICIlwEs4P0e0+exr\nGM7PCP9LRGZ67ObTOGN/rsUZk5T8nC4BjgGLgFpbXrnw5pWKWPt34Ly4MnEKrgtgCc5zJctOjfs/\nnAQUAZclbV+J8w24gAteNVc1V0FzNRnNVQfNVc3VHvSxXH3eGLOAC7k6yCfOq/3+mKuXGGPmEDBX\nst6BNsbcaoyZnXCb5f5dCRwR97S+iEzAGScGzreVyoTdlAAHjTF7cQa4X+3GXOo+dpAbsyep7Sac\nU/7gJP68pMM7CCTWx5zkrkvcR6sx5oyIDAa+ijMA/V2Pp3oQJxleAv4L5x/kuS93+WWcgfF/kLSf\nA0CFMabFfa5lxpjGhH00GWPOGWNuxXHUadFrKc5Ys5iTCmCwV/vu3UZ6Oo21k9Yrzk9rLwE/BM56\nfMu26tRdPo3zc891SftpMsbcYoyZzQWvmqtormquaq5qrmqu9oNcTXY6CeeLBQleWwngtB/naux5\neeVKD/I9hGMlF+Yt/BLwC3f598BUEakSkbHAHwMrxZlYfBHOZOE/A2aKSBXOt45z7v7iuIkj7s1r\nkvGVwBfd7cOAZuP+7JGwj9i4nedwx+wkJnPSvv7JbWOdz75miEipu7wEKMa5+jW2fQzOTzZfEmfi\n9D/GuRo0+TnF8Js4PVOvK3G+qf65iAzFebNY49O+4Hww+LUfxOtz7uN/hzOlYrLXyE5dVgP/211+\nAOdq3e0+zwv8c+VBd1lzVXNVc1VzVXNVczV5X705VxOdDsU56/zLhHYX4ZzlD+IUBl6u9sSEuOLQ\n9g0owzlVvgNnypWR7vp5OONrduCMfznsCmkA/q8bU4jzJhSbbuVJd/13gKXu8sc4CdCFM33J3+C8\neX0l4Rh24nxD7XLbeSgxBvhznG9gBuebyw6chL49KW6xu4/YdCu1HjHfdbedcff1o8RjBma5zzM2\nhc0+nJ9KEp/TPwBb3bjfANMte/0sF6Zb8mu/OcHroWRnAb1+33V6Budb7/ZsOHWX5yY4PQ38k0dM\nSq8RnWquaq6mdaq5qrmK5qrmanZz9es4eVaHM9PHZvc578HpcAdxOiBz1eumhVQURVEURVEUJQT5\nHsKhKIqiKIqiKH0K7UAriqIoiqIoSgi0A60oiqIoiqIoIdAOtKIoiqIoiqKEQDvQiqIoiqIoihIC\n7UAriqIoiqIoSgi0A60oiqIoiqIoIdAOtKIoiqIoiqKE4P8D/i7/RQjaBSgAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plots(pool_corr(eights[0]))" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def sse(a,b): return ((a-b)**2).sum()\n", "def is8_n2(im): return 1 if sse(pool_corr(im),filts1) > sse(pool_corr(im),filts8) else 0" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(126.77776, 181.26105)" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sse(pool_corr(eights[0]), filts8), sse(pool_corr(eights[0]), filts1)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[5223, 287]" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[np.array([is8_n2(im) for im in ims]).sum() for ims in [eights,ones]]" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[166, 5892]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[np.array([(1-is8_n2(im)) for im in ims]).sum() for ims in [eights,ones]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def n1(a,b): return (np.fabs(a-b)).sum()\n", "def is8_n1(im): return 1 if n1(pool_corr(im),filts1) > n1(pool_corr(im),filts8) else 0" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "[np.array([is8_n1(im) for im in ims]).sum() for ims in [eights,ones]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "[np.array([(1-is8_n1(im)) for im in ims]).sum() for ims in [eights,ones]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [conda root]", "language": "python", "name": "conda-root-py" }, "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.6.1" }, "nav_menu": {}, "toc": { "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 6, "toc_cell": false, "toc_section_display": "block", "toc_window_display": false }, "widgets": { "state": { "0468b419a96749ec9b4cb1abdd4626f7": { "views": [] }, "2d3eeb645fa442fcb882ae96a9387e3d": { "views": [] }, "32cface5fd2d422480c840a0dbb1852d": { "views": [] }, "3d7fbc924d804aa1b0b751d1c4d9d42a": { "views": [] }, "60b62dbd86494ef0bc136aef4657b05f": { "views": [ { "cell_index": 8 } ] }, "879e65eadeba4a66bd0759b2918fa9f0": { "views": [] }, "8cd5af0fc89d43d4ae9b786c1f886bee": { "views": [] }, "c3a89a0403354dd19a296fd30376a143": { "views": [] }, "c997f4ebd8874aaea6ea7b699afc9a27": { "views": [] }, "ff487921e8134858a58437f0558fd42f": { "views": [] } }, "version": "1.1.2" } }, "nbformat": 4, "nbformat_minor": 1 }