Created
August 16, 2013 11:52
-
-
Save jeanpat/6249222 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "Chromosomes overlapp" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "\"\"\"\nCreated on Tue Oct 23 08:06:37 2012\n\n@author: Jean-Patrick\n\"\"\"\nimport os\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport skimage.io as sio\nimport skimage as sk\nimport skimage.viewer as viewer\nfrom skimage.draw import ellipse\nfrom skimage.measure import find_contours, approximate_polygon, \\\n subdivide_polygon\nimport cmath\nfrom math import pi\nimport itertools\n \ndef addpixelborder(im):\n x,y = im.shape\n dy = np.zeros((y,))\n \n im = np.vstack((im,dy))\n im = np.vstack((dy,im))\n \n im = np.transpose(im)\n x,y = im.shape\n \n dy = np.zeros((y,))\n im = np.vstack((im,dy))\n im = np.vstack((dy,im))\n im = np.transpose(im)\n return im\n\ndef angle(p1,p2,p3):\n '''get the angle between the vectors p2p1,p2p3 with p a point\n '''\n z1=complex(p1[0],p1[1])\n z2=complex(p2[0],p2[1])\n z3=complex(p3[0],p3[1])\n v12=z1-z2\n v32=z3-z2\n #print v12,v32\n angle=(180/pi)*cmath.phase(v32/v12)\n return angle\n \ndef angleBetweenSegments(contour):\n angles = []\n points = list(contour)\n points.pop()\n #print 'contour in def',len(contour)\n l = len(points)\n for i in range(len(points)+1):\n #print 'i',i,' i-1',i-1,' (i+1)%l',(i+1)%l\n prv_point=points[(i-1)%l]\n mid_point=points[i % l]\n nex_point=points[(i+1)%l]\n \n angles.append(angle(prv_point,mid_point,nex_point))\n return angles\n\ndef quadArea(A,B,C,D):\n x1 = A[0]\n y1 = A[1]\n x2 = B[0]\n y2 = B[1]\n x3 = C[0]\n y3 = C[1]\n x4 = D[0]\n y4 = D[1]\n #sign +/- if direct/indirect quadrilateral\n return 0.5*(x1*y2+x2*y3+x3*y4+x4*y1-x2*y1-x3*y2-x4*y3-x1*y4)\n\ndef maximalQuad(A,B,C,D):\n maxarea = 0\n for quad in itertools.permutations((A,B,C,D)):\n area = quadArea(quad[0],quad[1],quad[2],quad[3])\n if area > maxarea:\n maxarea = area\n maxquad = quad\n return maxquad\n \n", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 1 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "user=os.path.expanduser(\"~\")\n#workdir=os.path.join(user,\"QFISH\",\"JPPAnimal\",\"JPP52\",\"11\",\"DAPI\",\"particles\")\n#image='part25.png'\n#QFISH/CytoProject/Jpp48/1/DAPI/particles/part9.png\nworkdir=os.path.join(user,\"QFISH\",\"CytoProject\",\"Jpp48\",\"1\",\"DAPI\",\"particles\")\nimage='part9.png'\ncomplete_path=os.path.join(workdir,image)\n#print complete_path\nim = sio.imread(complete_path)\nim = addpixelborder(im)\noriginal_im = np.copy(im)\nfig, ax1= plt.subplots(ncols=1, figsize=(10, 10))\n#subplot(111,xticks=[],yticks=[])\ncontours = find_contours(im, 0.01)\np = subdivide_polygon(contours[0], degree=5, preserve_ends=True)\n#coord = approximate_polygon(p, tolerance=1.5)\ncoord2 = approximate_polygon(p, tolerance=2)\n\n\nax1.imshow(im, interpolation='nearest', cmap=plt.cm.gray)\n\ncontour0=contours[0]\npf=contours[-1]\nangles = angleBetweenSegments(coord2)\ntable = np.array([coord2[0][0],coord2[0][1],angles[0]])\nfor i in range(len(angles[1:])):\n current = np.array([coord2[i][0],coord2[i][1],angles[i]])\n table = np.vstack((table,current))\n\n\npos = table[np.where(np.logical_and(table[:,2]>80, table[:,2]<145))]\nneg = table[np.where(np.logical_and(table[:,2]>-130, table[:,2]<0))]\nflat = table[np.where(np.logical_and(table[:,2]>=-180, table[:,2]<=-140))]\n\nfor n, contour in enumerate(contours):\n ax1.plot(contour[:, 1], contour[:, 0], linewidth=4)\n ax1.plot(coord2[:, 1], coord2[:, 0], linewidth=1, color='r')\n #ax1.plot(coord2[:, 1], coord2[:, 0], linewidth=1, color='y')\nax1.scatter(contour0[0][1],contour0[0][0],s=150, c='m',marker='o')\nax1.scatter(pf[0][1],pf[0][0],s=150, c='y',marker='*')\n\n#print table[pos]\nax1.scatter(pos[:,1], pos[:,0], s=200, c='r')\nax1.scatter(neg[:,1], neg[:,0], s=200, c='y')\nax1.scatter(flat[:,1], flat[:,0], s=200, c='g')\n\nplt.show()", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAJMCAYAAAA/nEsGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8XHW9//HXzGQme9ssTbrSdAG6UMpWQNYiFBS1wr3X\nlkVBULmCcPWHC1ivUFRouVwFERFFRLxeFa6KgAhCgYJsDVtpbaGlpS1tabM0SZt9ksz5/TH5zpz5\n5sx0mTaTTN7Px2MezZz1O2k7n/P5rj7HcRxERETS4M90AUREZPBTMBERkbQpmIiISNoUTEREJG0K\nJiIikjYFExERSdt+B5NFixYxbtw4jj76aI4++mieeOKJ2L7Fixdz6KGHMnXqVJ566qkDUlARERm4\ncvb3RJ/Px7XXXsu1116bsH3NmjU8+OCDrFmzhm3btnHWWWexbt06/H4lQSIi2Sqtb3iv8Y6PPPII\nF154IcFgkKqqKqZMmUJ1dXU6txERkQEurWDyk5/8hFmzZvGFL3yBpqYmAD788EPGjRsXO2bcuHFs\n27YtvVKKiMiAlrKaa+7cuezYsaPP9ptvvpkrr7ySG264AYDvfve7fP3rX+e+++7zvI7P59urbSIi\nkln7PcOWcwBs3LjROeKIIxzHcZzFixc7ixcvju0755xznFdffbXPOQfo1v3qxhtvzHQR9tlgK/Ng\nK6/jqMz9YbCV13EGZ5nT+V7e72qu7du3x35++OGHmTlzJgDz5s3jD3/4A+FwmI0bN/Lee+9x/PHH\n7+9tRERkENjv3lzXXXcdK1aswOfzMXHiRH7+858DMH36dObPn8/06dPJycnh7rvvVpWWiEiW2+9g\n8pvf/CbpvoULF7Jw4cL9vfSANWfOnEwXYZ8NtjIPtvKCytwfBlt5YXCWOR2+3nqy/r+xz7f/DT0i\nInLApfO9rJGEIiKSNgUTERFJm4KJiIikTcFERETSpmAiIiJpUzAREZG0KZiIiEjaFExERCRtCiYi\nIpI2BRMREUmbgomIiKRNwURERNKmYCIiImlTMBERkbQpmIiISNoUTEREJG0KJiIikjYFExERSZuC\niYiIpE3BRERE0qZgIiIiaVMwERGRtCmYiIhI2hRMREQkbQomIiKSNgUTERFJm4KJiIikTcFERETS\npmAiIiJpUzAREZG0KZiIiEjaFExERCRtCiYiIpI2BRMREUmbgomIiKRNwURERNKmYCIiImlTMBER\nkbQpmIiISNoUTEREJG0KJiIikjYFExERSZuCiYiIpE3BRERE0qZgIiIiaVMwERGRtCmYiIhI2hRM\nREQkbQomIiKSNgUTERFJm4KJiIikTcFERETSpmAiIiJpUzAREZG0KZiIiEjaFExERCRtCiYiIpI2\nBRMREUmbgomIiKRNwURERNKmYCIiImlTMBERkbQpmIiISNoUTEREJG0KJiIikjYFExERSZuCiYiI\npE3BRERE0qZgIiIiaVMwERGRtCmYiIhI2hRMREQkbQomIiKSNgUTERFJm4KJiIikTcFERETSpmAi\nIiJpUzAREZG0KZiIiEjaFExERCRtCiYiIpI2BRMREUmbgomIiKRNwURERNKmYCIiImlTMBERkbQp\nmIiISNoUTEREJG0KJiIikjYFExERSZuCiYiIpE3BRERE0qZgIiIiaVMwERGRtCmYiIhI2hRMREQk\nbQomIiKStpxMF0BEBq+6ujp27txJbm4uY8aMITc3N9NFkgxRZiIi+6Szs5Pf/e53nDJrFoeOG8e8\n449nzsyZjCkt5WtXXsnatWszXUTJAJ/jOE5GbuzzkaFbi8h+2rBhA+fOmcP4pia+0tLCp4hXb2wG\nfpGTw73BINd84xv850034fP5Mlha2VfpfC8rmIjIXtm6dSsnHXUU1zc2clUkkvS4HcDHCwr41H/8\nB99bvLj/CihpUzARkYPunJNP5vTly1nY07PHY2uB4woK+P1TT3HyyScf/MLJAZHO9/JBazN58skn\nmTp1Koceeii33nrrwbqNiPSDtWvXsuKtt/j6XgQSgArg6+3t/PS22w5uwWTAOCi9uXp6erj66qtZ\nunQpY8eOZfbs2cybN49p06YdjNsddJFIhB07dmS6GCIZ88NbbuHyri5MX62nOYtH+DRhQknPCTvw\np8e6+eUv13PuuQX9U9As4/f7GTVqVKaLsVcOSjCprq5mypQpVFVVAXDBBRfwyCOPDNpgsnv3bsaO\nHZvpYohkzHDgkd6ff8pVXM1PY/ty6aCTXMCjsT0CX/oSwBeAXx30cmabiooKampqMl2MvXJQgsm2\nbdsYP3587P24ceNYvnx5n+MWLVoU+3nOnDnMmTPnYBRHRNLUxSksYyJPcxg385/4iHAmz/AF7uPT\nPMIbHMs3uY1X+UiSK9zX+6cCykCybNkyli1bdkCudVCCyd52B3QHExEZiPzAvbRxOYuA8XzADdzE\n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\n2TsNmzdzY++/tRHs5hjeYCOTuJ3/x9e4A/DxLoltUld2dHDej3/M9d/5zoDr/LBXweTyyy/n8ccf\np6KiglWrVgHQ0NDAggUL2Lx5M1VVVTz00EOMGBGt71u8eDG/+tWvCAQC3HnnnZx99tkH7xNIUj6i\nT6B2hpAsexhGtAqkljHU0kMdu3rbGqbxmqtKybx2M4z4tBD9IcKYMfczduwv8PkKYv+ZzBeyV9aQ\n7Is91ZOyXe/vdYzXWhz2zLQmcLmPSVZd5r6+eeJOtRKhefIfPvwmXnnl2+zaNYm985nYTw7Rqq6m\nHli3JvkZgUAX37qk78K0tbVw6qljPDMTs829DomRbECi1ySOhvl9pQpe5u/N/bs12YH9u3S3q9iZ\ng50VuZn7m2O9Blra+5Kt27KzpSWhE3o5DfyRf+MMnuOb3MZtfKvP/Y8B2lpbqa+vjw0aHSj2Kphc\ndtllXHPNNVzi6kmwZMkS5s6dy7e+9S1uvfVWlixZwpIlS1izZg0PPvgga9asYdu2bZx11lmsW7du\nwEXRzPAD58I+1qdHtQFPMIwGz6AQ/zmXCvIZSSdldNBMiFryqCWfWvKp6/15NXk853pfSz6NhIhw\nOvC5A/Nx0xAI7GTcuK8RCtX3vg+Qk9NEQcH+91jKRvn5OznjjG/Q0jKCSCTxv3NPTze7dk3h7be/\nieMkn+49lUCgi0WLPsMxxzybsP2dd6C9Pcj48eP3u+xDXdhxKLS3kcvHeYL1TOFurvI8rzAQSFnN\nlil7FUxOPfVUNm3alLDt0Ucf5fnnnwfg0ksvZc6cOSxZsoRHHnmECy+8kGAwSFVVFVOmTKG6upoT\n3V1FhqR84C9EB7S5t7al7MKa+L6FTvzUEYm1N5j2h43AcqZTyxLqOIRaKqinnG7270skk3Jy6jj8\n8KvJz38/9kQbf+qLPwWbJ0C7msrrwcX9JOo+FuJPkOaJ1msQm5312L173NvcA+JsXtN5uK8L8ad4\nUx7zZ6peSsOG9QA9CU+/fr+fcePWMGzY7bz00lfp6dlTNWOiYLCDG264gFNOeaTPvj//OciZZ57L\nyJEjEwYkmskWTWZiZ1nuz2H/Ltvb47MUm/P3Zup4cx2v7MXc3/ydpFrdMdU9kt3T/W8t1YqR9nWD\nwSD5gQD1PT19Hi0/ZCwR/DgeWX8P0BAOx2qBBpL9bjOpqamJ9SiorKyMzR/z4YcfJgSOcePGsW3b\n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\ngiBEzP8Dc0LmE6vHKyoAAAAASUVORK5CYII=\n" | |
} | |
], | |
"prompt_number": 18 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 4, | |
"metadata": {}, | |
"source": "neg is a table containing points coordinates with a negative angle between vectors starting from that point" | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "neg[:,0:3]", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 4, | |
"text": "array([[ 117.03124939, 82.00000057, -114.97592621],\n [ 98.00000052, 84.96875058, -74.09936894],\n [ 89.00000065, 104.03124929, -97.90399103],\n [ 116.99999939, 106.03124933, -102.89160021]])" | |
} | |
], | |
"prompt_number": 4 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "neg[0,0:2]", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 5, | |
"text": "array([ 117.03124939, 82.00000057])" | |
} | |
], | |
"prompt_number": 5 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 4, | |
"metadata": {}, | |
"source": "Let's make combinations of four points" | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "coord = []\nfor r in range(0, neg[:,0:2].shape[0]):\n coord.append(neg[r,0:2])\nquad_it = itertools.combinations(coord,4)\n\nq=next(quad_it)\nq", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 6, | |
"text": "(array([ 117.03124939, 82.00000057]),\n array([ 98.00000052, 84.96875058]),\n array([ 89.00000065, 104.03124929]),\n array([ 116.99999939, 106.03124933]))" | |
} | |
], | |
"prompt_number": 6 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 4, | |
"metadata": {}, | |
"source": "maxquad is the permutation of four points of maximal area, it corresponds to a direct quadrilateral:" | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "maxQuad = maximalQuad(*q)\nprint maxQuad\nprint quadArea(*maxQuad)\n", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": "(array([ 117.03124939, 82.00000057]), array([ 116.99999939, 106.03124933]), array([ 89.00000065, 104.03124929]), array([ 98.00000052, 84.96875058]))\n504.500921106\n" | |
} | |
], | |
"prompt_number": 7 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "from matplotlib.patches import Polygon\np = Polygon(maxQuad, alpha=0.5, color='b' )\nfig, ax1= plt.subplots(ncols=1, figsize=(8, 8))\nax1.imshow(np.transpose(im), interpolation='nearest', cmap=plt.cm.gray)\nax1.scatter(neg[:,0], neg[:,1], s=100, c='y')\nax1.add_artist(p)", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 8, | |
"text": "<matplotlib.patches.Polygon at 0xb3603ac>" | |
}, | |
{ | |
"output_type": "display_data", | |
"png": "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\npqaJqKxSqVTRMqu4StaziqF0Gli29euYZZH0szWtok5hS6pbL5NjeJ0nUTkwIiYiIgoQI2IiKiuJ\nHFPjNcQAAAgvSURBVK0uWrrwSgqtrAhaR7wSwerCLLmtC8KsbltyvMHBwaL96Qhb9iORMQCMjo7m\nrW+dJ1E5MCImIiIKEC/EREREAfJMTW/btg3/9V//hYaGBrz88ssAgK997Wv4xS9+gVgshhUrVuBH\nP/oRFi5cCADYuXMnfvjDHyIcDuO73/0uNm7cOPOPgIhmPSuta6WNJeVsjf+1xiXrdLWkwvW4ZK+i\nruHh4aLbQ0ND2WWSppb/chpEmimeEfFtt92GPXv25C3buHEjDh48iBdffBGrVq3Czp07AQCHDh3C\no48+ikOHDmHPnj340pe+xAHwREREPjwj4muuuQbHjx/PW9bW1pa9/dGPfhQ//elPAQC7du3C1q1b\nEY1G0dzcjJUrV2Lfvn24+uqry3/WRDRrFQ77AXLRpI5qBwYGAAB1dXXZZXK/35d4q4e07EcPQbKG\nPkmEq89FonIdEct+ZL0XX3zR85yIpuusqqZ/+MMfYuvWrQCAt99+O++i29TUhJ6eHnO77du3Z2+3\ntraitbX1bE6DiIhoVunq6kJXV1dJ6077QvyNb3wDsVgMt9xyy6TrOI5jLtcXYiIiokpTGGTu2LFj\n0nWndSH+93//dzzxxBP41a9+lV22bNkydHd3Z///rbfewrJly6azeyKaww4fPgwAWLduXXaZpHl1\ncZWwpjK01tP0FItCUs56rLJVrCWpZl0kdvr0aQD5BVxyzjrVTTQTpjx8ac+ePfjmN7+JXbt25VU2\nbtq0CY888ggSiQSOHTuGo0eP4qqrrirryRIREVUaz4h469atePrpp3Hq1CksX74cO3bswM6dO5FI\nJLJFWx/72MfwwAMPoKWlBVu2bEFLSwsikQgeeOCBSVPTRFT5dCRpdcISkUjunyH5cq+HCsm21hSK\nVqcuTYq19LZWFy3Zn3TT0sskwieaKZ4X4ocffrho2bZt2yZd/95778W999579mdFRERUJdhZi4iI\nKECc9IGIZoRO6a5du7bofumEpWtNrKkGJeVs/dSl09q60Eq4rlu0TAq4dGpa0tW6uIspaTpXGBET\nEREFiBExEc24V155BQBw2WWXZZdJoZXVh1pHutIVSxdjSRSto2Cr25Zsa02rqKNvKdJiFExBYERM\nREQUIF6IiYiIAsTUNBGdMzr1e8kllwDITxtbY4Elha1TyTI5g9VhS7OKvyQNrccWv/HGG77nTjRT\nGBETEREFiBExEQXCikKbm5uLlkkRlhUt6+5dEjnrCNuakrFwaleioDEiJiIiChAvxERERAFiapqI\nZg2mjakaMSImIiIKkONazVhn8oCOY/Z/nS7XdbPdc4iIiMohFAqVdSpfr2vfnE9NO46TNycpERHR\nXMLUNBERUYB4ISYiIgoQL8REREQB4oWYiIgoQLwQExERBYgXYiIiogDxQkxERBQgXoiJiIgCxAsx\nERFRgHghJiIiClDFXIi7urqCPgU6h/h6Vw++1tWlGl9vXohpTuLrXT34WleXany9K+ZCTERENBfx\nQkxERBSgQOYjJiIiqjazZj7ic3zdJyIimtWYmiYiIgoQL8REREQB4oWYiIgoQHP+Qrxnzx6sXr0a\nl156Ke67776gT4dmQHNzM6688kqsX78eV111FQCgr68PbW1tWLVqFTZu3Ij+/v6Az5Kma9u2bWhs\nbMQVV1yRXeb1+u7cuROXXnopVq9ejaeeeiqIU6azYL3e27dvR1NTE9avX4/169fjySefzN5XFa+3\nO4elUil3xYoV7rFjx9xEIuGuW7fOPXToUNCnRWXW3Nzsvvfee3nLvva1r7n33Xef67qu29HR4d59\n991BnBqVwTPPPOPu37/fXbt2bXbZZK/vwYMH3XXr1rmJRMI9duyYu2LFCjedTgdy3jQ91uu9fft2\n91//9V+L1q2W13tOR8T79u3DypUr0dzcjGg0is9+9rPYtWtX0KdFM8AtqLbfvXs32tvbAQDt7e14\n/PHHgzgtKoNrrrkGixYtyls22eu7a9cubN26FdFoFM3NzVi5ciX27dt3zs+Zps96vQF7RE21vN5z\n+kLc09OD5cuXZ/+/qakJPT09AZ4RzQTHcfDJT34SGzZswIMPPggA6O3tRWNjIwCgsbERvb29QZ4i\nldlkr+/bb7+Npqam7Hr8zFeO733ve1i3bh1uv/327E8R1fJ6z+kLMZuDVIff/va3eOGFF/Dkk0/i\n+9//Pn7zm9/k3e84Dt8LFczv9eVrP/d98YtfxLFjx3DgwAFceOGF+OpXvzrpupX4es/pC/GyZcvQ\n3d2d/f/u7u68b09UGS688EIAwJIlS3DjjTdi3759aGxsxMmTJwEAJ06cQENDQ5CnSGU22etb+Jl/\n6623sGzZskDOkcqnoaEh+4XrjjvuyKafq+X1ntMX4g0bNuDo0aM4fvw4EokEHn30UWzatCno06Iy\nGhkZweDgIABgeHgYTz31FK644gps2rQJnZ2dAIDOzk5s3rw5yNOkMpvs9d20aRMeeeQRJBIJHDt2\nDEePHs1W0tPcdeLEieztn/3sZ9mK6mp5vc95i8tyikQiuP/++3H99dcjnU7j9ttvx5o1a4I+LSqj\n3t5e3HjjjQCAVCqFW2+9FRs3bsSGDRuwZcsWPPTQQ2hubsZjjz0W8JnSdG3duhVPP/00Tp06heXL\nl+PrX/867rnnHvP1bWlpwZYtW9DS0oJIJIIHHnigIlOVlazw9d6xYwe6urpw4MABOI6Diy++GP/2\nb/8GoHpe73M+6QMRERHlzOnUNBER0VzHCzEREVGAeCEmIiIKEC/EREREAeKFmIiIKED/HyDOBj9r\nYyH+AAAAAElFTkSuQmCC\n" | |
} | |
], | |
"prompt_number": 8 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "from skimage.draw import polygon\nprint im.shape", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": "(164, 128)\n" | |
} | |
], | |
"prompt_number": 9 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 4, | |
"metadata": {}, | |
"source": "With skimage, let's convert the quadrilateral coordinates into a quadrilateral image" | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "overlapp = np.zeros(im.shape, dtype=int)\nprint overlapp.shape\nx = np.asarray([int(r[0]) for r in maxQuad])\ny = np.asarray([int(r[1]) for r in maxQuad])\nprint x\nprint y\nrr,cc = polygon(x, y)\noverlapp[rr,cc] = True\ncut = np.logical_and(im>0,np.logical_not(overlapp))\nsubplot(121, xticks=[],yticks=[])\nfigsize(12,12)\nimshow(cut, interpolation ='nearest')\nsubplot(122, xticks=[],yticks=[])\ntitle('overlapp domain')\nimshow(overlapp, interpolation ='nearest')", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": "(164, 128)\n[117 116 89 98]\n[ 82 106 104 84]\n" | |
}, | |
{ | |
"output_type": "pyout", | |
"prompt_number": 10, | |
"text": "<matplotlib.image.AxesImage at 0xb1aad4c>" | |
}, | |
{ | |
"output_type": "display_data", | |
"png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADgCAYAAACgq7WoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADRlJREFUeJzt3V1sU/UbwPGnc5hsczNdh7JuUswMkcbgBVxsxgsSjReG\nqETErWYBTVSMGnxJvNDNWqeCL4nTxBg10QvMvEMisPoSdLB4wYx6RVSiUIeM6NBFLYvrXp7/Bf8d\n1r2wF9qn55x+P4mJ9BxOf22P3/3262kNqKoKAMBESaEHAADFhOgCgCGiCwCGiC4AGCK6AGCI6AKA\nIaIL+EAqlZKSkhKZmJgo9FBk1apVcvDgQfP7rayslFQqZX6/i1Va6AEA8JdAICCBQMD8fv/991/z\n+1wKZrqAx42NjRV6CFgEogvk0Q8//CAbNmyQYDAo1113nezbt09ERI4cOSK1tbUy9QOhH3/8sVx/\n/fUiIjIxMSG7du2Sa665RmpqauTuu++WoaEhETm/lPD+++9LJBKRm2++ecbM8oMPPpBoNCpVVVXS\n0NAg7777rrOtp6dH6uvrZefOnbJ8+XK5+uqrpaury9m+bds22b59u9xyyy1SVVUlGzZskP7+/jkf\n4+7duyUSiUhNTY289NJLWdtGRkbksccek7q6Oqmrq5PHH39cMplM1jheffVVueKKKyQcDsvevXul\nu7tbVq9eLaFQSHbt2uUcq6+vT5qamiQYDEo4HJZHH31URkdHne0lJSVy/Phx5zE8/PDDsnHjRqmq\nqpLGxkZnW8EpgLzIZDLa0NCgO3fu1NHRUf3yyy+1srJSjx07pqqqDQ0N+sUXXzj7b968WV9++WVV\nVe3s7NSmpiY9deqUZjIZffDBB7WlpUVVVU+cOKGBQEC3bt2qw8PD+t9//zm3jY+Pq6rqgQMH9Pjx\n46qqeujQIS0vL9fvvvtOVVW/+uorLS0t1SeffFIzmYweOnRIKyoq9KefflJV1a1bt2plZaX29vbq\nyMiI7tixQ2+88cZZH+PRo0f1sssuc/Z94okntLS0VA8ePKiqqu3t7drU1KSDg4M6ODioN9xwg7a3\nt2eNo6OjQ8fGxvS9997TUCiksVhM0+m0Hj16VMvKyjSVSqmq6rfffqtHjhzR8fFxTaVSumbNGu3s\n7HTGEggE9JdffnEeQygU0m+++UbHxsb0nnvu0ebm5ot9SXOC6AJ5cvjwYV2xYkXWbS0tLfrcc8+p\nqmpbW5ved999qqr6zz//aEVFhfb396uq6po1a5xwqaoODAzosmXLdHx83AnsiRMnnO3TozvdHXfc\noW+88Yaqno/d8PCws33Lli3a0dGhqueCNRl4VdV0Oq2XXHKJ/vbbbzOOm0gksvY9e/asXnrppc7Y\nGxoaNJlMOts/++wzXbVqlTOOsrIynZiYcJ6DQCCgfX19zv7r1q3TvXv3zvqYXn/9dd20aZPz56nR\n3bZtm95///3Otu7ubr322mtnPY41lheAPBkYGJCrrroq67ZIJCKnTp0SEZGWlhbZs2ePZDIZ2bNn\nj6xbt87ZP5VKyaZNmyQYDEowGJRoNCqlpaXy+++/O8eafuypksmkNDY2SigUkmAwKN3d3fLnn386\n24PBoJSVlWWN6/Tp0yJy7o2w+vp6Z1tFRYVUV1fLwMDAjPs5ffp01r7l5eUSCoWynoNIJOL8eeXK\nlVnHCYVCztLI5HiuvPJKZ3tZWZmcPXtWRESOHTsmGzdulNraWrn88svlmWeeyXpM000/TjqdnnNf\nS0QXyJNwOCwnT57MWrf99ddfnUhFo1GJRCKSTCalq6tLYrGYs9/KlSvl008/laGhIeef4eFhqa2t\ndfaZ6wqBkZERufPOO+Wpp56SP/74Q4aGhuTWW2/NGsfk8aaOKxwOi4iIqsrJkyedbel0Wv766y9n\n+1S1tbVZ+w4PD2eFMBwOZ13G1d/fP+txFuKhhx6SaDQqP//8s/z999/y4osvuuISucUiukCeNDY2\nSnl5ubzyyisyOjoqPT09sn//fmlubnb2icVi0tnZKb29vXLXXXc5t2/fvl2efvpp5w2swcFB+eST\nTxZ0v5lMRjKZjNTU1EhJSYkkk0n5/PPPZ+wXj8dldHRUent75cCBA1n3393dLV9//bVkMhlpb2+X\npqYmqaurm3GMzZs3y/79+519n3322awQtrS0yAsvvCBnzpyRM2fOyPPPPy+tra0LehzTpdNpqays\nlPLycvnxxx/l7bffnnNfdfE31hJdIE+WLVsm+/btk2QyKcuXL5dHHnlEdu/eLatXr3b2aWlpkcOH\nD8tNN90k1dXVzu07duyQ2267zbmCoKmpSfr6+pzts81yJ2+rrKyUN998U7Zs2SLV1dXy0Ucfye23\n356174oVK5yrAFpbW+Wdd95xxhUIBCQWi0kikZBQKCTff/+9fPjhh7M+xmg0Km+99ZbEYjEJh8NS\n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\nRHQBwND/AC20k2BYqBXwAAAAAElFTkSuQmCC\n" | |
} | |
], | |
"prompt_number": 10 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 4, | |
"metadata": {}, | |
"source": "The overlapping domain is removed from the original image to yield chromosomal elements. Those elements are labelled, too small elements are merged to the overlapping domain: " | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "import mahotas as mh\nlabcut = sk.morphology.label(cut, neighbors=4)\nlabsize = mh.labeled.labeled_size(labcut)\n#print labsize\n#print labsize < 2\n#print np.where(labsize < 2)\nsmallimage = labcut==np.where(labsize < 2)\nlabcut = mh.labeled.remove_regions(labcut,4)\nmh.labeled.relabel(labcut, inplace=True)\noverlapp = (labcut.max()+1)* (smallimage+overlapp > 0)\nfigsize(4,4)\nsubplot(121,xticks=[],yticks=[])\ntitle(str(mh.labeled.labeled_size(labcut)[1:]))\n#print np.histogram(labcut, bins=1)\nimshow(labcut, interpolation = 'nearest')\nsubplot(122,xticks=[],yticks=[])\ntitle('overlapp lab:'+str(overlapp.max()))\nimshow(smallimage+overlapp, interpolation = 'nearest')", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 11, | |
"text": "<matplotlib.image.AxesImage at 0xb62f22c>" | |
}, | |
{ | |
"output_type": "display_data", | |
"png": "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\n" | |
} | |
], | |
"prompt_number": 11 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "from matplotlib import colors\ntestim = np.array([[0,1,1,0],[0,2,0,0],[0,0,3,3],[4,0,0,0]])\nelements = [labcut==l for l in range(1,labcut.max()+1)]\n#print len (elements)\nfigsize(6,6)\n \nelements2=[]\nmycmap = colors.ListedColormap(['black','red','cyan','blue','green','yellow'])\nbounds = [0,1,2,3,4,5]\nmynorm = colors.BoundaryNorm(bounds, mycmap.N+1)\n\nfor imlab in range(1,labcut.max()+1):\n cur = labcut == imlab\n cur = cur * imlab\n #print imlab, cur.min(), cur.max()\n elements2.append(cur)\n subplot(2,2,imlab, xticks=[],yticks=[])\n title(str(cur.max())+' label='+str(imlab))\n #print cur.max()\n imshow(cur, interpolation='nearest',cmap=mycmap, norm=mynorm)\n\n \n ", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"png": "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\nwARiB8AEYgfABGIXRbz8BHAuYgfABGIHwARiB8AEYgfABGIHwARiB8AEYgfABGIHwARiF2W8sBhw\nJmIHwARiFwOs7gDnIXYATCB2AEwgdg7Gw2EgeohdjEQSKleE2wPJw///X7GXGpdbQVAIHOwKJ3ih\n/cSwsouhYL8VrOSAcIS2KmRllyDEDYgWv4L5iWJlF2NPfgtYxQGxMPIKj5VdHBA3IB6evcJjZQdg\nFHn6Co/YATCB2AEwgdgBMIHYATCB2AFIoPi9VoHYATCB2AEwgdgBMIHYATCB2AEYRfhzMQDGETsA\no8SzX8bCu54ASHLBvVaPlR2AJBb8i5JZ2QFIQqH/5QWxA+BA0f8zMmIHwAFi/zeyPGcHIMHi82YA\nxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnE\nDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQO\ngAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6ACcQOgAnEDoAJxA6A\nCcQOgAkuv9/vT/QgACDWWNkBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHY\nATCB2AEwgdgBMIHYATBh1MTuwIEDmjVrVlDX9Xq9Wrx4cVi3E8m2QKiY19Hj6NgtWrRIEydOVHZ2\ntkpLS7V58+ao7NflcsV127/++kuvvvqq8vPzNW7cOJWXl+uHH34IewwYHX7//Xd5PJ6oRSbe8/rf\nvvnmG6WkpGjv3r0R7SeWHB27devW6Y8//lB3d7d+/PFH7dy5UydPnox4v5G8X2k422ZmZmrfvn36\n888/9eDBA3m9XtXX1+vRo0dhjwPJb8WKFaqsrIw4NI/Fe14/1tXVpS1btuill16K2rHEgqNjV1ZW\nJo/HE/jv1NRUFRQUBLXt6tWrVVxcrHHjxqmiokLnz58PXOZyudTT06P58+crOztb06ZN0/Xr1wOX\nd3Z2at68eSooKFBpaal27twZ0XGMGTNGL7zwglJSUjQ4OKiUlBTl5+crLS0tov0ieR0+fFg5OTl6\n/fXXQwqNk+b1Y+vWrdPq1auVl5cXlf3FiqNjJ0nLly/X2LFjVVZWpg0bNmjq1KlBbVdZWam2tjZ1\ndXVpwYIFqqurU19fn6T//hY7duyY6uvrA5fX1tbK5/NpcHBQ1dXVKi8vV2dnp1paWrRjxw6dOnVq\n2NsZP368cnJyhv1qbGwcct0pU6YoPT1dS5YsUXNzM7Ezqru7W5s2bdKXX34Z8orKafP6l19+0ZUr\nV/TBBx+Ef4fEiz8JDA4O+n/66Sd/Xl6e/+LFi8NeZ//+/f6ZM2c+dR85OTn+69ev+/1+v3/Tpk3+\nV155Zcj+J06c6G9tbfVfuHDBX1xcPGTbLVu2+JcuXRrYdtGiRWEfS29vr7+pqclfWFjof/jwYdj7\nQfL66KOP/I2NjX6/3+/3er3PnE9OntcDAwP+ioqKwM/knDlz/Hv37g1pH/GUmujYBsPlcmnOnDmq\nq6vToUOHVFlZOeI227dv1759+9TZ2SmXy6Xu7m7dv38/cHlRUdGQ/RcVFQWu29nZqZycnMDlPp9P\ns2fPjsqxpKWladWqVdq9e7daWlpUU1MTlf0iOVy7dk0tLS26evWqpNCfK3PSvN69e7emTJky5Ocx\n1OOJp6SI3WP9/f1BPS/Q2tqqbdu26cyZMyorK5Mk5ebmDvlG3LlzJ/DvwcFBdXR0qLCwUG63WyUl\nJWpvbx92308+AZuZmfnUJ2XXr1+vtWvXDnvZwMCAxo4dO+KxYHQ5e/asbt26peLiYknSo0eP5PP5\ndOPGDV26dOmZ2zptXp85c0Znz57ViRMnJEl///23rl69qra2NjU1NY1wT8SfY2N37949tbS0qLq6\nWh6PR6dPn9b333+v06dPj7jtw4cPlZqaqvz8fPX19Wnr1q3q7u4ecp3Lly+rublZ1dXVampqksfj\n0YwZMyRJWVlZamxs1KpVq5SWlqYbN26op6dHFRUV//ObK5gzqhcvXlR/f78qKyvl8/nU1NSknp6e\nwO3BjoaGBr377ruS/rsK2r59u27duqU9e/aMuK3T5vWBAwfU29sbOJa3335bdXV1WrZsWVD3Rbw5\n9gSFy+XSnj17VFRUpLy8PG3cuFHffvutpk+f/tTrP/5NVFVVpaqqKk2ePFmTJk1Senp64Dfp4+vW\n1tbqyJEjys3N1cGDB3X06FG53W653W4dP35c165dU2lpqSZMmKCGhobApPr37QSrt7dXK1euVH5+\nvoqLi3Xu3DmdPHlSmZmZYd47SFbp6ekqKChQQUGBnnvuOWVmZio9Pf2pj1icPK/HjRs35FjS0tKU\nnZ2trKysMO+d2OJDsgGY4NiVHQBEE7EDYAKxA2ACsQNgwjNfeuLkP+pF5Cyfm2Juj27DzW1WdgBM\nIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwg\ndgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2\nAEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYA\nTCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBM\nIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwg\ndgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2AEwgdgBMIHYATCB2\nAEwgdgBMSE30AOLKG+L/BzBquPx+v/+pF7pc8RxLeLxGbjMGnvGtH/WSYm4jbMPN7eSMnTfRA3iC\nN9EDCA+xw2jlzNh5Y38TCeFN9ABGRuwwWg03t8N/zs4bwmXPui4AxEFsTlB4Y7JXAAhb6LHzRn8Q\nABBrob3OzhubQQBArAUfO2/sBgEAscZfUAAwIbjYeWM7CACINVZ2seBN9AAAPInYATBh5Nh5Yz8I\nAIg1VnYATCB2AEwgdgBMIHYATCB2AEwI7v3svHEaTTLzJnoAoeP97BCqWEyZWHwrovt+dpZ5Ez0A\nIDFcrtgELx6IXbC8iR4AgEgQuyd5Ez0AwNmSdXUX/GdQeOMwmljzJnoAzsJzdghHtKdNvJ6zC+0D\nd7zRHlIMeRM9AOcjdgiHjdhJzouIN9EDSF7EDuGI5rSJ1bcheh+l6I3WkMKQyNseZYgdQpXMLz2J\n7HNjvZEOKc77xRDEDqGyGzskNWKHUCVz7PhzMQAmEDsAQUn2BwLEDoAJxA6ACcQOgAnEDoAJxA6A\nCcQOgAnEDoAJxA6ACcQOwIiS/QXFErEDYASxA2ACsQNgArEDYAKxA/BMo+HkhETsABhB7ACYQOwA\nmEDsAJhA7AAkTDw/94jYAXiq0XImViJ2AIwgdgBMIHYAEiLen1NO7ACYQOwAmJCa6AEAcK7HDzWj\neVY23g9fH2NlB2BE0QpUokInETsAQYo0VIkMnUTsAIQg3GAlOnQSsQMQolDD5YTQScQOQBhcruAi\n5pTQSZyNBRABJ8VsJKzsAJjg8vtH0/saAMDwWNkBMIHYATCB2AEwgdgBMIHYATDh/wBoYyHVMd9w\nPAAAAABJRU5ErkJggg==\n" | |
} | |
], | |
"prompt_number": 12 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 5, | |
"metadata": {}, | |
"source": "Supposing that there are two chromosomes, let's make combinations of of two elements in the set of four elements. Two of those combinations are in a list called assemble:" | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "candidates_it = itertools.combinations(elements2,2)\ncandidates = [c for c in candidates_it]\nassemble = []\nfor c in candidates:\n image = np.zeros(im.shape, dtype = int)\n for i in c:\n image = image + i\n image = image+overlapp\n #image = image > 0\n assemble.append(image)\n", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 13 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "figsize(5,5)\nconvexhull00 = sk.morphology.convex_hull_image(assemble[0])\ncontour00 = mh.bwperim(convexhull00)\nsubplot(111, xticks=[],yticks=[])\nimshow(2*contour00+assemble[0], interpolation = 'nearest')\n\n", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 14, | |
"text": "<matplotlib.image.AxesImage at 0xb5de04c>" | |
}, | |
{ | |
"output_type": "display_data", | |
"png": "iVBORw0KGgoAAAANSUhEUgAAAOgAAAElCAYAAADuqK6mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAABrVJREFUeJzt3U1S21gYhtGrriygGfReMoNZyBpgCdkDYi/KICsgmbVn\nvRx2oB7Y4t/GP5L1+vqcKgqDwWjy1CdLuqLp+74vQKS/5t4AYD2BQjCBQjCBQjCBQjCBQrAvm55s\nmuZY2wFnbd3Zzo2BLt2NvCmcta4tpZRyefN7448tmv+m35YY92uf2SJQOEDXllKeg1xcLL+9+HG9\n8dcuVwPlvEJ9z3tQCGaCMrrL/uvT420n5luLi+vVa62+PtNJaoJCMBOU0QyTc5h+Y3g5Sc9xipqg\nEMwEZRSX/ddRJ+dbi4vrUrrV69+2k/2dNALlIFPs1q79W8OpmtvJ/1QMu7gQzARlL8ecnINzPPVi\ngkIwE5SdzDE533r629119QeMBMr2uvbpyqAIP8rTtb61hmoXF4IJlK19tkRsDpc3vyO3aywChWDe\ng3LSaj/1YoJCMIFCMLu4VOHVudFSqjntYoJCMIFCMIFCMIFCMAeJqEpti7pNUAgmUKqyuLhe3b+o\nnXtTRiFQCCZQqlTLCheBQjCBQjCnWahSLTe6NkEhmEAhmEAhmEAhmINE1OmxLWW4Hrdrl59P8GCR\nCQrBBMrWFj/n+3cP50qgEMx7UOry2M69BaMSKHWoLMyBXVwIJlDqd9suP7p23u3Yg0AhmEAhmEAh\nmEDZzWNb7RHTRALlfAwHirp21s3YhUAhmEAhmEAhmECpw9/t8qMyrsXlvAyLtrv29dehTFAIJlAI\nJlAIJlD244qioxAoBBMoBHOahf2c+jnHl6dbgk+1mKAQTKAQTKAQTKAQTKCct/BF3AKFYAKFYAKF\nYC5UYHsv787+Y8btOCMCheBF3HZxIZhAqUtl9yYSKAQTKAQTKAQTKARzmgUGgadbTFAIJlAIJlAI\nJlDqVMnFCgKFt27b1wsDZiRQCCZQCCZQCCZQCCZQWCfgjn8ChWACpV4VLN4WKAQTKAQTKAQTKARr\n+r7v1z7ZNKWUuyNuDuku+6+llFIWF9czb8kOHtvDX6NbvcYki7jvy7oMTVAIJlAIJlAIJlAIJlDY\nxkyLuAUKwQQKwQQKwdxZnp0sfp7QBQoVMEEhmEBhF0e+y4JAIZhAIZhA2c9jO84qETYSKAQTKASz\nYJv9dO3y87CAOfHueVPvgner1z94EbcF23CSBArBBArBBArBBArBrGaBfQ1Hb7v29dcjMkEhmEAh\nmEAhmEAhmEDhUBPeklOgEEygEEygjMPi7UkIFIIJFIIJFMYywS05BQrBXCzPfo5wofjBhtuwnPAB\nLBMUggkUggkUgnkPCmMa+b25CQrBBArBBArBBArBBApTGGkRt0AhmEAhmEAZj/+6PTqBQjCBQjCB\nQjCBMj7vRZ8deJcFgUIwgUIwgXKYCf/tAQKFaBZsU6X+V/Pue823uxm2pBy0iFugTOexfb6z3sQ+\nCvKdrn1+nHgXwg/YxYVgJigna6upuU7XjrUZHxtpQpugEMwEZVrDFUUjvBc9aGIeW9c+Px6m6R4H\niwRKpJOK8TNdu/y8x26vXVwIZoJyHFvs6lY1NT/StTv/igkKwUxQZlP9xFzj4eaqlFLK99urT3/W\nBIVgJihH0f+5Xz263/hz5+D7z3+XD7ry6ZFdgTKZ5yj5yMPN1ae7uXZxIZhAIZhAIZhAGceBd6/j\nYwKFYAKFYAKFYAKFYALlbPT/nN61vwKFYAKFYAKFYAKFYAKFYAKFYAKFYBZsMzoLtTd7uidRc/Xp\nz5qgEEygEEygEMx7UDiSXd57DkxQCGaCMp7VPV7b1Zftn7k2JMs+k3MgUJjQw83VXmEO7OJCMBMU\nRjTszg4OmZ6lmKAQzQSFHb2dki8dOjHfEiisPB1tHf772BpjR7iJXVwIZoIymfbb3Fvw3kN/VUr5\neEo+T8b2SFvzORMUgjV93/drn2yaUsrdETcHztF9WZehCQrBBArBBArBBArBBArBBArBBArBBArB\nBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArB\nBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArB\nBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArB\nBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBBArBmr7v+7VPNs0xtwXO1roM\nv+zzS8Bx2MWFYAKFYAKFYAKFYAKFYP8DoP4nX9PUVuAAAAAASUVORK5CYII=\n" | |
} | |
], | |
"prompt_number": 14 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "def contourNegCorners(im, angle0=-130, angle1 = 0):\n contours = find_contours(im, 0.01)\n subpol = subdivide_polygon(contours[0], degree=5, preserve_ends=True)\n coord = approximate_polygon(subpol, tolerance=1.5)\n angles = angleBetweenSegments(coord)\n table = np.array([coord[0][0],coord[0][1],angles[0]])\n for i in range(len(angles[1:])):\n current = np.array([coord2[i][0],coord2[i][1],angles[i]])\n table = np.vstack((table,current))\n neg = table[np.where(np.logical_and(table[:,2]>angle0, table[:,2]<angle1))]\n return neg", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 15 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 5, | |
"metadata": {}, | |
"source": "Let's visualize all combinations of two elements+overlapp domain." | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "from mahotas.polygon import convexhull as mhcvxh\nsquare = np.array([[1, 1, 1],[1, 1, 1], [1, 1, 1]])\nprint len(assemble)\nn=1\ncontour = mh.bwperim(im > 0)\nfigsize(12,12)\nchromosomes = {}\nfor im in assemble:\n subplot(2,3,n,xticks=[],yticks=[])\n cvxh = sk.morphology.convex_hull_image(im)\n ratio =100 * ((1.0*np.sum(im>0)) / (1.0*np.sum(cvxh > 0)))\n lab,_ = mh.label(im>0, Bc=square)\n prop = sk.measure.regionprops(lab,properties=['Eccentricity','ConvexArea','Area'])\n Ecc = prop[0]['Eccentricity']\n Area = prop[0]['Area']\n CVXArea = prop[0]['ConvexArea']\n #print Ecc, str(100.0*Area/CVXArea)[0:5]\n labim, nim = mh.label(im)\n negcorners = contourNegCorners(im>0)\n #\n cont = sk.measure.find_contours(im,0.01)\n pol = subdivide_polygon(cont[0], degree=5, preserve_ends=True)\n coord_pol = approximate_polygon(pol, tolerance=3)\n angles_pol = angleBetweenSegments(coord_pol)\n #print angles_pol\n\n table_im = np.array([coord_pol[0][0],coord_pol[0][1],angles_pol[0]])\n for i in range(len(angles_pol[1:])):\n current_im = np.array([coord_pol[i][0],coord_pol[i][1],angles_pol[i]])\n table_im = np.vstack((table_im,current_im))\n neg_dom = table_im[np.where(np.logical_and(table_im[:,2]>-110, table_im[:,2]<0))]\n \n #Build a dict to filter assembled chromosomes\n chromosomes[ratio] = im \n \n title('cc='+str(nim)+' r='+str(ratio)[0:5]+' Ecc:'+str(100*Ecc)[0:4]+' corner='+str(len(neg_dom)))\n imshow(im, interpolation = 'nearest',cmap=mycmap)\n convexhull = mhcvxh(im>0)\n plot(convexhull[:,1], convexhull[:,0],linewidth=1, color='w')\n plot(coord_pol[:, 1], coord_pol[:, 0], linewidth=2, color='c')\n if len(neg_dom)>0:\n scatter(neg_dom[:,1],neg_dom[:,0],s=100,c='white')\n #scatter(negcorners[:,1], negcorners[:,0], s=100, c='y')\n n =n +1", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": "6\n" | |
}, | |
{ | |
"output_type": "display_data", | |
"png": "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\nAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBRI+p\n5QAAIABJREFUAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUA\nAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICt\nEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgB\nAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABg\nawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRa\nAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA\n2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqB\nFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAA\nALZGoAUAAICtEWgBAABgawRaAAAA2BqBFgAAALZGoAUAAICtEWgBAABga3ENtPfcc4+WLl2q5ORk\nXXHFFWP62t/85jdVUlKirKwsnX766Xr//fd73P+HP/xB8+bNU3p6umbNmqVXX3015nra29v1xS9+\nUZMnT1ZOTo6uu+46BYPBXo/btm2bkpOTtWrVqj5ruv/+++V0OpWRkRFdvF6vqqurD+/NdrNlyxad\nccYZysrK0hFHHKG1a9f2uH/t2rVasGCBvF6vFixYoMcffzzmejo6OnTllVdq+vTp8nq9WrJkiZ55\n5pkRq9MOdu/erdNPP11paWmaN2+e1q1bF++SRl2ittmVK1eqqKhIXq9XpaWluuuuu/pd186dO/Xx\nj39cXq9X+fn5uuWWW6L37d27V+eff75yc3NVVFSk1atXKxQKxVxPIrTZdevWae7cuUpLS9MZZ5yh\n8vLymOuhzUpf+9rXtGjRIrndbn3961+PdzmjLp7ttb82Jg1+Gxurjb3yyivR+4fyHseivQ70/2Ow\n29juBpMfxqMht1cTR4899phZu3atueaaa8zll19+WOsKBoODfuzjjz9uiouLza5du0woFDK33nqr\nOfroo6P3P/fcc2batGnmzTffNMYYU1lZaSoqKmKu68477zSnnHKKaWhoMLW1tWbZsmVmzZo1vR73\nsY99zJx88slm1apVfdb1m9/8xpx88smDfh9DFQgEzBFHHGF+/OMfm3A4bF588UWTlpZmPvzwQ2OM\nMTU1NSY1NdU888wzxhhjnnzySZOammpqa2t7rau1tdXceeedpqyszBhjzF//+leTkZFhdu/ePWr1\nHyocDptwODxi6wsEAkN6/LJly8yXvvQl4/f7zaOPPmqysrJi/q7Gk0Rts++9957x+XzGGGM++OAD\nU1BQYJ5++umY62pvbzelpaXmxz/+sWlrazPt7e1m06ZN0fsvuugic/nll5v29nZTXV1tFi1aZH7y\nk5/EXFe822xtba3JzMw0jzzyiGlvbzc333yzWbZsWcx10WaN+e1vf2uefvpp84lPfMJ8/etfH7E6\nElW82utAbWwo29iB2thQ3uNot1dj+v//MZRtbHeDyQ+jwW7tdcBAW15ebi666CKTn59vcnNzzfXX\nXx+97xe/+IWZN2+eycjIMPPnzzfr168fUrFdbr/99iE3tjVr1piLL77YrFy50ni9XvOrX/1q0M/9\n9re/bVasWBG9/t5775nk5OTo9RNOOMH8+te/HtS6li5dav70pz9Frz/00EOmpKSkx2Mefvhhs2LF\nCnPnnXealStX9rmu3/zmN+akk07q8/7D/Vu8++67Jj09vcdty5cvN1/72teMMca89tprZtKkST3u\nz8/PN2+88UafNXV35JFHmscee2xQjw2FQuauu+4yM2fONBkZGeaYY44xe/bsidaxdOlSk5mZaY49\n9ljzj3/8I/q8U0891dx2223mIx/5iElNTTXbt283lmWZe++91xxxxBEmKyvLXHfddT1e61e/+pWZ\nN2+eyc7ONmeddVZ0g26MMZZlmZ/+9Kdm1qxZprS0dFC1G2PM1q1bTVJSkmlpaYnedsopp5h77713\n0OsYLROxzXb3wQcfmMmTJ5t33nkn5v0///nPzSmnnNLna82ePbtHGL755pvN5z73uZiPjXeb/fnP\nf25OPPHE6H2tra0mJSXFbN26tc+auptIbba7lStXmjvvvHNYzx1p47G9DtTGhrKNHaiNdRnMexzt\n9mpM//8/hrONHWx+ONREbK/9BtpgMGiOPPJIc+ONN5q2tjbj9/vNq6++aowx5o9//KOZPHmyefvt\nt40xxmzfvj36Js477zyTlZUVczn//PN7vc5tt902rMbmdrvN448/bowxxufzmQcffLDP183Kyor+\nMd98801TUlJiPvzwQ9PR0WFuvvlmc9FFF0Xfs8fjMd/97nfNrFmzzJQpU8z1118f7f051NKlS80f\n//jH6PXf//73xrIs09TUZIwxprGx0cyePdtUVFSYNWvWDDvQDvdvce2115prr73WGBN74/jRj340\n+t6bm5tNcXGxeeKJJ0wwGDR//vOfTUlJiWlra+uz5i7V1dUmOTl50BvSu+++2yxatCja07Rp0yZT\nX19v6uvrTVZWlvn9739vQqGQefjhh012drbZv3+/MSbS2KZNm2bef/99EwqFTEdHh7Esy5x//vmm\nsbHRlJeXm/z8/Og34LVr15pZs2aZDz74wIRCIfOtb33LfOQjH4nWYVmWWb58uWloaDB+v98YY8yi\nRYv6/Ax1NeTHHnvMzJs3r8d7Wr16tVm9evWg3v9omYhttss111xjUlNTjdPpND/72c/6rOOKK64w\nq1atMuecc47Jy8szp512mnn33Xej969evdqsWrXKtLW1mb1795qFCxeatWvXxlxXvNrsJz/5SWOM\nMZ///Oejj+2yaNEi8+ijj/b5/rtMtDbbXaIE2vHaXvtrY0Pdxt5///0mLS3N5OXlmdmzZ5tvfvOb\nMXuLB/MeR7u9GtP//4+hbmOHkh8ONRHba7+B9h//+IfJz883oVCo133Lly/vczfcUA332+Opp556\nWK9pWZZxuVymtLTU7Nq1yxhjTEVFhbEsyxx77LGmurra1NXVmRNPPNHcdtttfa7nxBNPNLW1taaq\nqsocd9xxxuFwmOrqamNMZINz9913G2PMoHpoXS5Xjz/urFmzjDEj87fo6OgwpaWl5u677zYdHR3m\n2WefNR6Px5x99tnRxzzxxBMmNTXVuFwuk5qaap566qlBrffMM880V1999YCP7TJnzhzzl7/8pdft\nDzzwgDn++ON73HbCCSeY+++/3xhjzGmnndZrSIdlWea1116LXl+xYoX53ve+Z4wx5uyzz+7RsxAK\nhUxqaqopLy+PPvdvf/vboOvuXuehu3aHs9EYaROxzXYXDofN3/72N5ObmxvdnXmoj33sY8btdptn\n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\nJP121y79oKZG2zt3LxR7fLpl6uv6f0WPK8W5SVKypAOSpssz83eaLmm6pLxt2xTMzdWm2lptrKnR\nB01NKmtvV43DoabUVIXS0yO7R/vaRbp/f8/A+/rr0vvvj8WvBUhMBQXSJZdI554rpaRIko73puiW\nkjp9Iu8HclgvxXjSPkn79Meuq9dc0+PeSNyV5kk6R9JUY5TZ0SGH36+A369tfr+2tLdrp9+vCr9f\n+/1+hTIzpcWLpQceiOytIdRinMrIyFBJSUmf28ji4mLV19dHA2t5ebm2bdumF198MXq9rq5Omj5d\nuvRSuc4+U0ETiXjLs/+pL099WGdk/UuWJb3auFiS5BtngZYxtDhsbrdbU6ZM6dUAuzdOY4zKysp6\nNMby8nKV7dmjDwoKVH/uudKMGZKkyUm1unXqg7qy6CklO2IfVGKp58fWIalYiobcrmWaMcoMBtXh\n8+k9v18b/X596PerzOfTPr9fzX5/7/E5liV99avSP/4xqPefqOPxJMbkYYhKSyPjY884Q3I6JUnn\n5GTolqnrdUrmd2VZAwfKQ9vmYHUF3q5lmjHKDAR0/9ateqG+Xk63W6HFi6X09Egb7QNjaJFonE6n\niouL++3UcblcvbaP3ZeKigp1dHT0/SKLFum8By/Tk/UnSJIcCmnFpJf05ZI/aEnG9h4P/fKOq/T9\nPZfpO6W/1a3T7h/Fdz6wkWyvBFoMKDc3t9+GmJeXp6qqqn4bY1NTU8+VOhzSaadJq1ZFvlFKKkmq\n0a1TH9J/FD2tpD6CbJehbjT7CrxTjVFKR4faOwPvsw0Nerrr6OyvflV6++0B152oG0eJDSQGafHi\nSJBdtkyS5JT08dRUfWP+X3Vk+n9Laur36d0NN9D2JTkcVtHmzdpVX690t1ttixcrnJHR5+MJtBhr\nmZmZ/W4jCwsLtW/fvn63kQ0NDUN/YcuSPvKRSNtduFCSlOLw6z+KntaXpvxRM1KqYz5tza7L9Y2y\nz2rN9Mf19Rn/dThv/bBxUBhGTFJSUsze1e6L3+9XeXm59uzZE21877zzTvRyVVWVQqHQ4F6w6yjp\nVaukadMkSVOTqvXVaQ/q8sJnBwyywxWWtLdzebX7HZYlJSXJkZSkYkkzCgp0psuldRUVcv3wh/Ic\neaTasrNHpSYgriwrcuDlZZdJ8+dLklIdlv6zyOjGkl9pWvJDirSc+PI7HNq1YIEcmzerpb5e6Rs3\n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\nH8ZGMO6JEj3lAAAAAElFTkSuQmCC\n" | |
} | |
], | |
"prompt_number": 16 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 5, | |
"metadata": {}, | |
"source": "Let's extract the two chromosomes from the chromosomes dictionary" | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "chromkeys = chromosomes.keys()\nchromkeys.sort()\ntwoHighestRatio = chromkeys[-2:]\nr1=twoHighestRatio[0]\nr2=twoHighestRatio[1]\nchrom1=chromosomes[r1]\nchrom2=chromosomes[r2]\nfigsize(10,10)\nsubplot(221,xticks=[],yticks=[])\nimshow(chrom1, interpolation='nearest')\nsubplot(222,xticks=[],yticks=[])\nsegmented1 = (chrom1>0)*original_im\nimshow(segmented1, interpolation='nearest', cmap=pylab.cm.gray)\nsubplot(223,xticks=[],yticks=[])\nimshow(chrom2, interpolation='nearest')\nsubplot(224,xticks=[],yticks=[])\nsegmented2 = (chrom2>0)*original_im\nimshow(segmented2, interpolation='nearest', cmap=pylab.cm.gray)", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "pyout", | |
"prompt_number": 25, | |
"text": "<matplotlib.image.AxesImage at 0xca71cac>" | |
}, | |
{ | |
"output_type": "display_data", | |
"png": "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\nS4/1XQntmPPz8/D0v1gsQgZhPp9HAwht2871m9/85ma/4C0YrXOTNe3F0UgSv5hfNXcZGAwjEPgw\nO8cZu8eGvL2vAAAZ+klEQVSa0+DV8vjx46jPgLRZvdBKBmVZajabSdqUBHyAYKUGP9vAAoLlchlm\nDpycnIT9Z2dnIVD44osvXuZXuzG532GUDAAAABkC5N12lmAYmQFDhmAoyBC8uh49eiTponXxbDYL\nMwhms1m0EJLx++y/nfV6HQ1WtNLA6elptH8omQGT+x3GGAJk2Q36NgKDYQUDAIbgyy+/lHQRGHir\n1SoEB15d16FU4NdG8E2HrGSwXC5DyeC3v/3tzV78HaFkAAAAKBngel5GpmC4mQFKBkNByQDmzTff\nDE//4/FYk8lEUrwyouf7EPhFjCxD0DTNoDMDud9hBAS4tpsMCoYbDEgEBMNBQADPygdFUUTBgWel\nBGtGVFVV2G6aJmxbSWKomGUAAACyyBDguTxvtmDYmQFDhmAoyBDgMm+88YakeI0D6WJWgu9N4BsX\n/e53v7ulK3y5KBkAN4KAYCgICIA8SgYAACDrGhkCACkyBMPA7zAg75lLBgAA4NVAyQAAABAQAAAA\nAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAIC\nAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAA\nIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACAC\nAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIA\nACACAgAAIGl81Yuj0ei2rgMYlPV6fdeXgGvgdxiQl/sddmVAsPHBS7gUYMg+vOsLAIAbR8kAAAAQ\nEAAAAAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIA\nACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAg\nAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAIC\nAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAA\nIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACAC\nAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIA\nACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAg\nAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAIC\nAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAA\nIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACAC\nAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIA\nACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIAICAAAgAgIAACACAgAAIGl81xcA\n5HygD6O/f6gP7uhKAODZ/ehHP9LXX38tSVqtVvrlL395x1f0dAQE2AlpAJD6f+u/Ctv/M/rZy74c\nAHgm//AP/yBJOjk5kSSdnp6qaRpJ0tnZmf7iL/5C0m4HB5QMAAAAGQLcnadlBS7jswU3icwDgGfx\nT//0T5Kk+Xyutm0lSWVZSpLqutbR0ZEkqSgK9X0vSWrbVu+9956kTbbA+G3Ttm1432KxCNur1UrL\n5TI6tus6PXny5IW+DxkCAABAhgC363mzAreBcQoAnuaf//mfJW0yAfP5XJI0nU7VdZ0k6fj4OLzu\nWQbh6OgobLdtq6qqto6zTEDXdVosFuEzbEyCpK0MwWq10rvvvitpk014nmwBAQFeql0OAK5iwQGB\nAfBq+5d/+Zdwg5Y26X9pc+OeTqdhezabSVK4aVdVpfF4c4u9d+9e9hySojKAJK3X6xAwdF0XAgxf\nliiKIgQK9r62bcO+qqr0zjvvSJI+++yza39XSgYAAIAMAW7WUDMCl/l/678iSwC8Qn76059KUvT0\n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\nhGUAAAAASUVORK5CYII=\n" | |
} | |
], | |
"prompt_number": 25 | |
}, | |
{ | |
"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