Skip to content

Instantly share code, notes, and snippets.

@jeanpat
Created June 1, 2014 16:48
Show Gist options
  • Select an option

  • Save jeanpat/a518c1a81ff189e8fe73 to your computer and use it in GitHub Desktop.

Select an option

Save jeanpat/a518c1a81ff189e8fe73 to your computer and use it in GitHub Desktop.
Ipython notebook: generate some model images (uppercase letters) and build a graph from their skeleton
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "SkeletonToGraph"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": "import networkx as nx\nfrom PIL import Image, ImageDraw, ImageFont\nimport mahotas as mh",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": "def branchedPoints(skel, showSE=True):\n X=[]\n #cross X\n X0 = np.array([[0, 1, 0], \n [1, 1, 1], \n [0, 1, 0]])\n X1 = np.array([[1, 0, 1], \n [0, 1, 0], \n [1, 0, 1]])\n X.append(X0)\n X.append(X1)\n #T like\n T=[]\n #T0 contains X0\n T0=np.array([[2, 1, 2], \n [1, 1, 1], \n [2, 2, 2]])\n \n T1=np.array([[1, 2, 1], \n [2, 1, 2],\n [1, 2, 2]]) # contains X1\n \n T2=np.array([[2, 1, 2], \n [1, 1, 2],\n [2, 1, 2]])\n \n T3=np.array([[1, 2, 2],\n [2, 1, 2],\n [1, 2, 1]])\n \n T4=np.array([[2, 2, 2],\n [1, 1, 1],\n [2, 1, 2]])\n \n T5=np.array([[2, 2, 1], \n [2, 1, 2],\n [1, 2, 1]])\n \n T6=np.array([[2, 1, 2],\n [2, 1, 1],\n [2, 1, 2]])\n \n T7=np.array([[1, 2, 1],\n [2, 1, 2],\n [2, 2, 1]])\n T.append(T0)\n T.append(T1)\n T.append(T2)\n T.append(T3)\n T.append(T4)\n T.append(T5)\n T.append(T6)\n T.append(T7)\n #Y like\n Y=[]\n Y0=np.array([[1, 0, 1], \n [0, 1, 0], \n [2, 1, 2]])\n \n Y1=np.array([[0, 1, 0], \n [1, 1, 2], \n [0, 2, 1]])\n \n Y2=np.array([[1, 0, 2], \n [0, 1, 1], \n [1, 0, 2]])\n \n Y2=np.array([[1, 0, 2], \n [0, 1, 1], \n [1, 0, 2]])\n \n Y3=np.array([[0, 2, 1], \n [1, 1, 2], \n [0, 1, 0]])\n \n Y4=np.array([[2, 1, 2], \n [0, 1, 0], \n [1, 0, 1]])\n Y5=np.rot90(Y3)\n Y6 = np.rot90(Y4)\n Y7 = np.rot90(Y5)\n Y.append(Y0)\n Y.append(Y1)\n Y.append(Y2)\n Y.append(Y3)\n Y.append(Y4)\n Y.append(Y5)\n Y.append(Y6)\n Y.append(Y7)\n \n bp = np.zeros(skel.shape, dtype=int)\n for x in X:\n bp = bp + mh.morph.hitmiss(skel,x)\n for y in Y:\n bp = bp + mh.morph.hitmiss(skel,y)\n for t in T:\n bp = bp + mh.morph.hitmiss(skel,t)\n \n if showSE==True:\n fig = plt.figure(figsize=(4,5))\n tX =['X0','X1']\n tY =['Y'+str(i) for i in range(0,8)]\n tT =['T'+str(i) for i in range(0,8)]\n ti= tX+tY+tT\n SE=X+Y+T\n print len(SE), len(ti)\n n = 1\n ti = iter(ti)\n for se in SE:\n #print next(ti)\n #print se\n mycmap = mpl.colors.ListedColormap(['black','blue','red'])\n ax = fig.add_subplot(4,5,n,frameon=False, xticks=[], yticks=[])\n title(str(next(ti)))\n imshow(se, interpolation='nearest',vmin=0,vmax=2,cmap=mycmap)\n n = n+1\n fig.subplots_adjust(hspace=0.1,wspace=0.08)\n #ax_cb = fig.add_axes([.9,.25,.1,.3])#\n color_vals=[0,1,2]\n #cb = mpl.colorbar.ColorbarBase(ax_cb,cmap=mycmap, ticks=color_vals)\n #cb.set_ticklabels(['back', 'hit', 'don\\'t care'])\n \n plt.show()\n return bp > 0\n\ndef endPoints(skel):\n endpoint1=np.array([[0, 0, 0],\n [0, 1, 0],\n [2, 1, 2]])\n \n endpoint2=np.array([[0, 0, 0],\n [0, 1, 2],\n [0, 2, 1]])\n \n endpoint3=np.array([[0, 0, 2],\n [0, 1, 1],\n [0, 0, 2]])\n \n endpoint4=np.array([[0, 2, 1],\n [0, 1, 2],\n [0, 0, 0]])\n \n endpoint5=np.array([[2, 1, 2],\n [0, 1, 0],\n [0, 0, 0]])\n \n endpoint6=np.array([[1, 2, 0],\n [2, 1, 0],\n [0, 0, 0]])\n \n endpoint7=np.array([[2, 0, 0],\n [1, 1, 0],\n [2, 0, 0]])\n \n endpoint8=np.array([[0, 0, 0],\n [2, 1, 0],\n [1, 2, 0]])\n \n ep1=mh.morph.hitmiss(skel,endpoint1)\n ep2=mh.morph.hitmiss(skel,endpoint2)\n ep3=mh.morph.hitmiss(skel,endpoint3)\n ep4=mh.morph.hitmiss(skel,endpoint4)\n ep5=mh.morph.hitmiss(skel,endpoint5)\n ep6=mh.morph.hitmiss(skel,endpoint6)\n ep7=mh.morph.hitmiss(skel,endpoint7)\n ep8=mh.morph.hitmiss(skel,endpoint8)\n ep = ep1+ep2+ep3+ep4+ep5+ep6+ep7+ep8\n return ep > 0\n\ndef pruning(skeleton, size):\n '''remove iteratively end points \"size\" \n times from the skeleton\n '''\n for i in range(0, size):\n endpoints = endPoints(skeleton)\n endpoints = np.logical_not(endpoints)\n skeleton = np.logical_and(skeleton,endpoints)\n return skeleton",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": "def edges_from_C8skel(c8skeleton):\n '''given a skeleton defined on c8 neighborhood (use mahotas),\n \\ returns labeled edges\n '''\n branchedP = branchedPoints(c8skeleton, showSE = False) > 0\n endP = endPoints(c8skeleton) > 0\n edges = np.logical_not(branchedP)*c8skeleton\n label_edges,ne = mh.label(edges)\n return label_edges",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": "def add_bp_to_graph(Graph, labels_branchpoints):\n labels = np.arange(1, labels_branchpoints.max()+1)\n label_bp = {}\n for lab in labels:\n pos = np.where(labels_branchpoints==lab)\n row = int(pos[0])\n col = int(pos[1])\n label_bp[lab] = lab\n Graph.add_node(lab, pos= (row,col), label=lab)\n return label_bp",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": "def add_ep_to_graph(Graph, im_labels_endpoints):\n label_ep = {}\n first_endpoint = Graph.number_of_nodes()+1\n labels = np.where(mh.histogram.fullhistogram(np.uint16(im_labels_endpoints))[:]==1)[0]\n n=0\n for lab in labels:\n pos = np.where(im_labels_endpoints==lab)\n row = int(pos[0])\n col = int(pos[1])\n nodeIndex = first_endpoint + n\n Graph.add_node( nodeIndex, pos= (row,col), label=lab)\n label_ep[lab]= nodeIndex\n n = n+1\n return label_ep",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": "def C8skeleton_to_graph(skeletonC8):\n #images processing: extraction of branchedpoints, end-points, edges\n ep = endPoints(skeletonC8)\n bp = branchedPoints(skeletonC8, showSE = False)\n ## Label branched-points\n l_bp,_ = mh.label(bp)\n ## Label the edges\n l_edges = edges_from_C8skel(skeletonC8)\n ##Make end-points with the same label than their edge\n l_ep = ep*l_edges \n \n ##edges between branched-points\n endpoints_labels = np.where(mh.histogram.fullhistogram(np.uint16(l_ep))[:]==1)[0]\n edges_bp = np.copy(l_edges)\n for l in endpoints_labels:\n edges_bp[np.where(edges_bp == l)]=0\n #edges between end-points and branched points\n edges_ep_to_bp = l_edges * np.logical_not(edges_bp > 0)\n \n #Building graph\n ## Add branched points first\n G=nx.Graph()\n lab_bpTonode = add_bp_to_graph(G, l_bp)\n ## Add end-points\n lab_epTonode = add_ep_to_graph(G, l_ep)\n ##Link end-points to branched-points\n ###labels of bp\n branchedpoints_labels = np.where(mh.histogram.fullhistogram(np.uint16(l_bp))[:]==1)[0]\n for lab in branchedpoints_labels:\n pos = np.where(l_bp == lab)\n row = int(pos[0])\n col = int(pos[1])\n #search label(s) of edges in image containing edges between ep and bp\n ## first get the neighborhood of the curent bp\n neigh_epbp = edges_ep_to_bp[row-1:row+1+1,col-1:col+1+1]\n labels_in_neigh = np.where(mh.histogram.fullhistogram(np.uint16(neigh_epbp))[:]<>0)[0]\n #print neigh_epbp, labels_in_neigh[1:]\n #get node(s) of attribute label= labels_in_neigh ! may be more than one, think to a list\n for lab_ep in labels_in_neigh[1:]:\n #search for nodes f attribute label= lab_ep\n w = np.sum(l_edges==lab_ep)\n #print 'linking ',lab, lab_ep, ' weight ',w\n G.add_edge(lab_bpTonode[lab],lab_epTonode[lab_ep],weight=w)# \n ##\n ##Now try to link branched points between them\n ##\n bps_neighborhood = {}\n branchedpoints_labels = np.where(mh.histogram.fullhistogram(np.uint16(l_bp))[:]==1)[0]\n for lab in branchedpoints_labels:\n pos = np.where(l_bp == lab)\n row = int(pos[0])\n col = int(pos[1])\n #search label(s) of edges in image containing edges between ep and bp\n ## first get the neighborhood of the curent bp\n neigh_epbp = edges_bp[row-1:row+1+1,col-1:col+1+1]\n labels_in_neigh = np.where(mh.histogram.fullhistogram(np.uint16(neigh_epbp))[:]<>0)[0]\n bps_neighborhood[lab]=labels_in_neigh[1:].tolist()\n #print bps_neighborhood\n \n ## Build the dictionnary of edges see (http://stackoverflow.com/questions/21375146/pythonic-inverse-dict-non-unique-mappings)\n invert_is_edges = {item: [key for key in bps_neighborhood if item in bps_neighborhood[key]] for value in bps_neighborhood.values() for item in value}\n ## Addeges to graph\n for ed in invert_is_edges.keys():\n ## first get edge size -> its weight\n w = np.sum(edges_bp==ed)\n vertex1 = invert_is_edges[ed][0]\n vertex2 = invert_is_edges[ed][1]\n #print ed,w\n G.add_edge(vertex1,vertex2,weight=w)\n ## This is it !!\n return G",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": "def makeLetterImage(character, size):\n image = Image.new(\"RGBA\", (600,150), (255,255,255))\n draw = ImageDraw.Draw(image)\n font = ImageFont.truetype(\"verdana.ttf\", size)\n \n draw.text((5, 0), character, (0,0,0), font=font)\n img_resized = np.array(image.resize((300,75), Image.ANTIALIAS))\n letter = img_resized[0:40,0:30,0]<64\n r1 = mh.bbox(letter)[0]\n r2 = mh.bbox(letter)[1]\n c1 = mh.bbox(letter)[2]\n c2 = mh.bbox(letter)[3]\n letter = letter[r1-1:r2+1,c1-1:c2+1]\n return letter",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": "imA = makeLetterImage(\"A\", 70)\nimB = makeLetterImage(\"B\", 70)\nimH = makeLetterImage(\"H\", 70)\nimO= makeLetterImage(\"O\", 70)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": "skeletonB = mh.thin(imB)\nBgraph = C8skeleton_to_graph(skeletonB)\n\nskeletonA = mh.thin(imA)\nAgraph = C8skeleton_to_graph(skeletonA)\n\nskeletonO = mh.thin(imO)\nOg = C8skeleton_to_graph(skeletonO)",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": "linking 1 1 weight 2\nlinking 4 7 weight 2\n{1: [2, 3], 2: [3, 4, 5], 3: [2, 4, 6], 4: [5, 6]}\nlinking 1 1 weight 2\nlinking 2 2 weight 3\nlinking 3 6 weight 12\nlinking 4 8 weight 12\n{1: [3, 4], 2: [3, 5], 3: [4, 7], 4: [5, 7]}\n{}\n"
}
],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": "figsize(6,6)\nsubplot(221,xticks=[],yticks=[])\nimshow(imA, interpolation='nearest')\nsubplot(222,xticks=[],yticks=[])\nnx.draw(Agraph)\nsubplot(223,xticks=[],yticks=[])\nimshow(skeletonO, interpolation='nearest')\nsubplot(224,xticks=[],yticks=[])\nnx.draw(Og)",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": "<matplotlib.figure.Figure at 0x3235a90>"
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": "import string",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": "alphabet = list(string.ascii_uppercase)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": "ilphabet = []\nfor l in alphabet:\n imLetter = makeLetterImage(l, 70)\n skeletter = mh.thin(imLetter)\n BP = branchedPoints(skeletter, showSE=False)\n EP = endPoints(skeletter)\n ilphabet.append(skeletter+10*BP+3*EP)#np.uint(skeletter) +",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 72
},
{
"cell_type": "code",
"collapsed": false,
"input": "figsize(10,10)\nfor im,n in zip(ilphabet, range(1,27)):\n subplot(6,5,n,xticks=[],yticks=[])\n imshow(im,interpolation='nearest')",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": "<matplotlib.figure.Figure at 0x3216c10>"
}
],
"prompt_number": 73
},
{
"cell_type": "code",
"collapsed": false,
"input": "gralphabet = []\nilphabet = []\nfor l in alphabet:\n imLetter = makeLetterImage(l, 70)\n skeletter = mh.thin(imLetter)\n print l\n gralphabet.append(C8skeleton_to_graph(skeletter))\n ",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": "A\nB\nC\nD"
},
{
"output_type": "stream",
"stream": "stdout",
"text": "\nE\nF\nG"
},
{
"output_type": "stream",
"stream": "stdout",
"text": "\nH\nI\nJ\nK"
},
{
"ename": "TypeError",
"evalue": "only length-1 arrays can be converted to Python scalars",
"output_type": "pyerr",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-75-776d5253f624>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mskeletter\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmh\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mthin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimLetter\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mprint\u001b[0m \u001b[0ml\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m \u001b[0mgralphabet\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mC8skeleton_to_graph\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mskeletter\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 8\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-30-18929c12993f>\u001b[0m in \u001b[0;36mC8skeleton_to_graph\u001b[1;34m(skeletonC8)\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[1;31m## Add branched points first\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[0mG\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mGraph\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 23\u001b[1;33m \u001b[0mlab_bpTonode\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0madd_bp_to_graph\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mG\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0ml_bp\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 24\u001b[0m \u001b[1;31m## Add end-points\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[0mlab_epTonode\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0madd_ep_to_graph\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mG\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0ml_ep\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-4-091810c1f148>\u001b[0m in \u001b[0;36madd_bp_to_graph\u001b[1;34m(Graph, labels_branchpoints)\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mlab\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mlabels\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mpos\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwhere\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlabels_branchpoints\u001b[0m\u001b[1;33m==\u001b[0m\u001b[0mlab\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mrow\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpos\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[0mcol\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpos\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[0mlabel_bp\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mlab\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlab\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mTypeError\u001b[0m: only length-1 arrays can be converted to Python scalars"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": "\n"
}
],
"prompt_number": 75
},
{
"cell_type": "code",
"collapsed": false,
"input": "print len(gralphabet)\nfigsize(10,15)\nfor g,n in zip(gralphabet, range(1,11)):\n subplot(4,3,n)\n nx.draw(g)",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": "10\n"
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAANmCAYAAADASD7xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0VNXexvHvTJJJMmmEjgiKoKIoCAgiXJogoBSRoiC9\nN1EslPtiuYpeBQRBMVSRIr2IKFWkCKL0IkWlg5RQQ9qkznn/GPCGZFKQzEzK81lrFjB7n5nfQEie\ns8/e+5gMwzAQEREREZcye7oAERERkfxAoUtERETEDRS6RERERNxAoUtERETEDRS6RERERNxAoUtE\nRETEDRS6RERERNxAoUtERETEDRS6RERERNxAoUtERETEDRS6RERERNxAoUtERETEDRS6RERERNxA\noUtERETEDRS6RERERNxAoUtERETEDRS6RERERNxAoUtERETEDRS6RERERNxAoUtERETEDRS6RERE\nRNxAoUtERETEDRS6RERERNxAoUtERETEDRS6RERERNxAoUtERETEDRS6RERERNzA29MF3Ilr166x\nfft2rl69io+PD0WLFuXJJ5/Ex8fH06WJiIiI3CJXhq5du3YRNmYMS775hqoWC4UNgySTiVOGwXkv\nL3q//DK9+vXjrrvu8nSpIiIiIgCYDMMwPF1EVsXFxdHtxRfZum4dfePi6GG3UzRVn9+Aib6+zDeZ\neP/jj3n51Vc9UaqIiIjILXJN6IqPj+fZunUpvH8/M202/DLpfwJ41mql/euv886IEe4oUURERCRd\nuWYife+OHSm4fz/zshC4AMoAm2JjmTl2LF/PmuXq8kREREQylCtGug4fPsxTVaty3GbDP1VbPWAb\n/5ucdjdwOEX7r0D7IkU4ev48Xl5eri9WRMRN4uLi2Lp1K5cvX8Zut1OwYEGefPJJgoKCPF2aiDiR\nKybSTxw3jp6JiWkCF4AJ+ALons6xNYDCcXGsXr2apk2buqxGERF3OXHiBJMnTGD61KmUNZkoCZgN\ng4smE/sTE2nfvj39XnuNRx55xNOlikgKOX6kKyYmhtJFi7I3NpZSTtrrAx2BHhm8xlfAotq1WfnT\nTy6pUUTEHQzD4IN332X86NF0sdvpm5DA/an6nAWmenkxxWKhxQsvMGHaNLy9c8X5tUiel+ND17Zt\n2xjQqBE7IyOdttcHDgIG8CDwIVA3VZ8rQFl/fyJiY11ZqoiIyxiGwaC+ffl5zhy+j4mheCb9o4C2\n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\nWq18ZDZzAEc4OAH8CLxktVLez4+4F15g69693HPPPZ4tOgeKjIwkKIN7UVbHMWneB+gM1AJWpuoT\nDERqTpeISLbTPl2SYzRq1IhGBw+ya9cuJo4dS9tNm4iIisLXx4diRYrwUu/ehHXrRoECBTxdao4V\nGBhIzB2uOowGAn19s6cgERH5m8kwMjgtFpFc5dixY9R89FHO2Gy3LDoAuA78CtTFcba1AOgD7MUx\ngf6m9cCb5cqx+8gRd5QsIpJv6PKiSB5StmxZHn74Yb5x0paIYxuOojgm0n8BfMutgQtgYkAAPQcN\ncm2hIiL5kEa6RPKYRYsWMaFHDzZFRd32seeAR/z9OXnhAsHBwdlfnIhIPqaRLpE8pmXLlpy2Wpl3\nm8fZgVf9/enSpYsCl4iIC2ikSyQP+u2332hQsybToqNpkYX+ycAAX18OVajA2p9/xs/Pz9Uliojk\nOxrpEsmDHn30UVasX0/fAgUY4u3NqXT6GTg2SG1itXKsalW+W79egUtExEU00iWSh505c4Yx//0v\ns2fNopbJRMuYGArhmFR/ymRiekAA9gIF6D94MH369sViSb3mUUREsotCl0g+EBMTw7x58/hp5Uqu\nXb6MxWKhaKlSvNC5M/Xq1cN0h3t7iYhI5hS6RERERNxAc7pERERE3EChS0RERMQNFLpERERE3ECh\nS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE\n3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpE\nRERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQN\nFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RE\nRMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3ECh\nS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE\n3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpERERE3EChS0RERMQNFLpE\n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\nSUVORK5CYII=\n",
"text": "<matplotlib.figure.Figure at 0x46221d0>"
}
],
"prompt_number": 76
},
{
"cell_type": "code",
"collapsed": false,
"input": "",
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment