{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 7. Functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous chapter we developped a small procedure to segment our image of nuclei. If you develop such a routine you are going to re-use it multiple times, so it makes sense to package it into a re-usable unit.\n", "\n", "We will summarize here how to achieve that in this brief chapter." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<Figure size 432x288 with 0 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#importing packages\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.gray();\n", "\n", "from skimage.external.tifffile import TiffFile\n", "\n", "import skimage.morphology as skm\n", "import skimage.filters as skf" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#load the image to process\n", "data = TiffFile('Data/30567/30567.tif')\n", "image = data.pages[3].asarray()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(image);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us summarize all the necessary steps within one code block" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/gw18g940/miniconda3/envs/improc_env/lib/python3.7/site-packages/skimage/filters/rank/generic.py:119: UserWarning: Bad rank filter performance is expected due to a large number of bins (20304), equivalent to an approximate bitdepth of 14.3.\n", " out_dtype)\n" ] } ], "source": [ "from skimage.measure import label, regionprops\n", "\n", "#median filter\n", "image_med = skf.rank.median(image,selem=np.ones((2,2)))\n", "#otsu thresholding\n", "image_local_threshold = skf.threshold_local(image_med,block_size=51)\n", "image_local = image > image_local_threshold\n", "#remove tiny features\n", "image_local_eroded = skm.binary_erosion(image_local, selem= skm.disk(1))\n", "#label image\n", "image_labeled = label(image_local_eroded)\n", "#analyze regions\n", "our_regions = regionprops(image_labeled)\n", "#create a new mask with constraints on the regions to keep\n", "newimage = np.zeros(image.shape)\n", "#fill in using region coordinates\n", "for x in our_regions:\n", " if (x.area>200):# and (x.eccentricity<0.8):\n", " newimage[x.coords[:,0],x.coords[:,1]] = 1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.image.AxesImage at 0x11d9bf850>" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAHMCAYAAAAXsOanAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3dX8hv113n8c/XtFbxD7ZoQkjCNAOH0VSwOiF0KIg6js2MYnpTOIIShkJu4lBBkMQb8a5X4lxMB4J2POCfcFBLQy/UEBVvHNNGK22SZnqwTnNIpmdERJ2LSOKai+f3M/vsZ/9Ze+/1f71fcDjP83t+z+/Ze+211/ru9deccwIAAMBxX5f7AAAAAFpBYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQSLTAysweNrNXzOyGmT0R6+8AAACUwmKsY2Vmd0j6X5L+g6Sbkj4r6Seccy8F/2MAAACFiNVi9ZCkG865v3LO/ZOkpyU9EulvAQAAFCFWYHWPpFcH3988vQYAANCsd0T6XJt47bY+RzN7TNJjp2//baTjAAAACO1vnHPfMfWDWIHVTUn3Db6/V9Jrwzc4556S9JQkmRkbFgIAgFr877kfxOoK/KykK2Z2v5l9vaSrkp6J9LcAAACKEKXFyjn3ppn9tKTfl3SHpE86516M8bcAAABKEWW5hc0HQVcgAACoxwvOuQenfsDK6wAAAIEQWAEAAARCYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABEJgBQAAEAiBFQAAQCAEVgAAAIEQWAEAAARCYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABEJgBQAAEAiBFQAAyMY5d9vXw+9rRGAFAACyOAdR44Cq5uDqHbkPAAAA9MUncDq/x8xiH05QtFgBAIDkzMwraKqte5DACgAAJHUOqLYETLUEVwRWAAAguT2BUg3BFYEVAABIYjhY/ehnlIrACgAAJGFmxQdGRxFYAQCAZI7O8it9liDLLQAAgGT2tliVHlCd0WIFAACS2RMg1RJUSQRWAAAgoVZnA57RFQgAAIpUU0vVGS1WAAAgmaUV131XYy8ZLVYAAKAoNQdXtFgBAIDkag6elhBYAQCALM7BVQtdgGcEVgAAIAvnXDMB1RljrAAACGDLkgCtBRN7tZgOtFgBABDAliAhxGbEKBOBFQAAB+wNkgiu2kRgBQDARuNg6Ghw5Jz7l3+oG2OsAADYgJYmLKHFCgAADylalMyMgK1yBFYAAKxIEewM13QiuKoXgRUAAIVpcRmCXhBYAQCwIFXrEa1UbSCwAgBgxp5gp6XtWbAdswIBdGNYSVLxYc3eFqStv0debAuBFYDm+FRsLe5RhvqQB9tDVyCAJuxpXWBRRgChEVgBaMaRAIngCmMxWpPO468Yh9UuugIBNCVUcEWlh9DBNnmqDwRWALoxrNjWKs3zz6kM+zV37ZfyDvnlsuG9NH54aXGsI4EVgOZNFdxbgixgaCogaDFACOWcXnMbV7fWUswYKwDVO9qCwHgXbDXOL+Sfy3rdrJrACkCzqOyAPPYGVS0EYQRWALCghYIeSMF3+ZK1B57a7znGWAHACsbP3G6q4iN9sGaYR8b5ZW78VY35ihYrANXbM3try+fs+axWzaXDsLWChVf7c7SVqsYAag6BFYDqzRXqLRXWue0JlJh52Y+le833Ppx6X435hsAKAAYIxi47uhkxXant4+HmbQRWAJpV49NuaY6mYa9T7tFnUCURWAFowNI6VHsq9JCfhbeRfv3YG1S1EIwRWAFoxlyAFWotnRYK/S1iBEIEV21am+V35LNqw3ILAJoz3pNM8hvnQ6WP2I7OnutB7fchLVYAmrS15ar2wrwmPaa176xKlqqoH4EVgK7MVVq0FITD3osXjg7cry24CtEdWNs5T6ErEECzzgX9VGE9XNmZ7pmwfFtmWk3X4fmHmlVZS1r53E9bP682BFYAukZQlUeL6bqUl3zOd62rusY023Lccw9AtZ03XYEAksoxhqS2grkELXTJpHQ0qDq/r4W82sI5HLEaWJnZJ83slpl9cfDae8zsWTP78un/dw9+9qSZ3TCzV8zsQ7EOHEA95oKpqX3lqNDL0HvluNVceu1Jx1DLhpTCZ9LI3LjHGvOhT4vVr0l6ePTaE5Kec85dkfTc6XuZ2QOSrkp63+l3PmFmdwQ7WgDV2VIZxAyuzgW0T0F9LtBrLNRDidUF02q6xpgQ0VI6zT1YDf8fqvncVwMr59yfSPrb0cuPSLp2+vqapA8PXn/aOfeGc+4rkm5IeijQsQKoyNHuvnFrVohgaxhcjb8mmLrd1nTwSbue0jbUuYZceDOlpVa3pfu5pHtwb1rvHWN1l3Pu9dMffl3SnafX75H06uB9N0+vAejI2niTceGZqzAtpQAv2d4Aa3ydW07rpVmnMT67JiUFSr6ODk0IPStwKvUmj8rMHpP0WOC/34Xapt+iL1ua9cevD79vZYZQC45Ooe/xmoVssao9uJLWz6OkPDI+1uHXPse5t8Xqa2Z29+mP3C3p1un1m5LuG7zvXkmvTX2Ac+4p59yDzrkHdx5Dt6aeAFq48VC/kGMl5rrmWJU6j6nrSPdpHrXm/6kHqRLzz9H03RtYPSPp0dPXj0r69OD1q2b2LjO7X9IVSc8fOkJIWu6XZjYVShAz/7U0Q6pmvXTtlaaltC41mJKWH9qWFhseW+0KNLPfkvQDkr7dzG5K+gVJH5d03cw+Kumrkj5y+oMvmtl1SS9JelPS4865t9ZPB2uGTZO++52VmHHRl5B5cKorga7BPEjz222pdPcYfy7pH9bWLsq1csdKeOozs/wHUQnf68WNh9RSFP4tTcseFs6Mm2xDjAfblvJ8iXzq1Kmxn2b2wtxQJra0qQhBFUqV6gFtqmWgtlarpX3kaJmoVwmNFAhvaYLNHLa0qcSeRRZbtLS2UYuDmnNs/1KDXiZvtHpeLUqVJwm2w1m7RnvTmharRtX2FL/Gd1zZ+fvaz913XZwSzjNX5V/TNPSjC6VKZVxrLJuapn/kutWSv1t0vpZ7rh+BVcG4qfanQW1dKkfPs/Tzi6H0+8N37Ma58J4ac4X6HF0Dafw7489GOLHW1qIrsGBHp6S2XjhvmfpdclqEOLacXYZz6xv1bmlR1Km8W3Mexu3I/3WIFcDSYlWBvV0eLd/c4+1Qxq/VUgltPc5Su79SH1cNLZJHVypn5fn2DFuYS7yPEaYsocWqElsvdguF79yYotrPbU/r0riFYykdchTYa7PbYv6tmmzJu7Xn894tXT8elMsQa+FhAquK+N5YLdyAUy0SRyulUirkxYXl7PIGtmvvn5L6XFOm957pz6mFmmhQcj7GulCrjJeYxzGPrsBKnLsAfJqQa+4uCL3X3PhzS0ib0LP75rpASzjXGEoOLGLM3GRAexvmrmOL92hN5nZ0GL9nC1qsKtFrF0Kocyll/FXsJRNauva1SbkcBkFWWCnT07c1GuXYOtSBwKoRvjOLcKGkiqmV8Uhz3VYlpXXNelkUNZXxWEfSs18+9eaWsbF0BVZmat2intcyakHs65aqS3BtEdcQx0DlhyN8hlGcUZ5iL1qsKjPVfEwB4KfEdIpxTLnOc61r42hQVOrK8yjfnpZTgvi+hOyapcUKxUhdkKUe3L20TU0rrVbS8ho9e46jhoCKSrhMPnvBDVe+X/r90vIc4ghxnQmsUKxeCrJYrVY5K/u14Or8niUEK7cjPfz5bic09X/Ih4KaLK1CXsPDTUkIrFCsGAVZzoAj5d8uYUq3T0V1fp9vupRamOcOZPG2LUHV0s9Y+f7C2v0rlXtf5kJgBSSS8qlvXNHnrBDWgo4WApIWzmGvGJvYxrRloeWeryv2I7BCd3IVmFNPwqkCntwV3NalAnIf71Y58lTONPI91xJaNWrLS6kRPIZHYAUklKp7ofTCcmkrHirC25V4LfcEkimubegu8LlVuVvJo1secHxanVtJl6NYbgFIpMQKsjQ1F8wx9vUrNc/sPa7cC9bm/JzSbG019lmOoNT8mhqBFbqTc/A621i0LfTq83N5hTy0LMakl6HaA4gjXfE+wVXt6XMUgRWQQcqCmko4raVuzq1KnOZeQytcjL/RWnA1xyd/8ZC4jDFWKEZvs3DWliPYq6c0LNXctfUdn7O0plBqe2f9pR6TE3ucTw/31Z60O5rXW0SLFYrWQ9ARK8BCfiG7BkurpNaOZ61Fo7YAKMYYuhxSBu01pk8IBFYoSszCq4RFM9eE7mYp8Rxx4RxgTT3plyDUWJmQXaNH/l7tfyuUWNdj6nNrTJ8QCKyAwtQw4wr+fLv+Shv0G7K1KfeenKG0HigcyYcl5d3cCKxQnFaa3I/Ys0bQWOuVQE1CrKfUotru69qOd05v6+alxuB1FCn0wnwlrAC91ZHCqpZz7MnaWLparlnI4wz9Wee0TbFgZS3Xa07vm07HRIsVihXqpq7haarUygrhTQ3q7vGaxTjnmEsi1FCO7LE2s3Ote7D2B4UYaLFCVYZPUT5PVDUN5j663ETJ54bLarxeNR5ziJaXmsqRPXzLnpaCy5gtcgRWKNpcl+Dwa9/9rGooDH3PZe53gFKN7+VauppaD6piKDmNxnlwzpFzILBC8daepnwCkJJv9DlzQVaN54I2hAyGYuXjpYcx9rqbF7IbtdSgecs5HRmnR2DVuGHmOLI/VG5bF9Es+Vz2aO18UL7YQUbMyndpNfDhz6d+5vO5PZgKtHy7DEtKpxxrAxJYNcy3yXP8npJuirG1ArHkY0c4c4X8XMFPvthuLi33BkQ5WoNCbrfSex4anv84XWtMm3GPQMgt1QisGnW0GVeq52ap5TgRxnhK/dTP5l4nr2yzVNkcbXHKfS22lJG5j3VKru62qQCrNnOzckMFVwRWDdraXTYXrZfaT45+hWrWJ18fs7VsyD12aW+FWUo+yZ1+vfDt2VnLFwRWDdk7hmopWqciQilCr0lEnt7PN+1KWuPIZ5xmSXliz/IHJR1/CbYMC5gaUjKu/4at5UtpTWDVgJCF157p/kAs5MH81pY82fN5Oc2N08x9XEO+A8SXrktJ51OKpTSZ+tlUl6HPtSGwqhwVD1oWYjYrW3YcF3Jgb4lKygdbWtTWxsBN/U7PQt3za5/BljYVW2qpCp15Wi5UUa61SsYnn69t2QE/VNB5nPP52lCOJb3m8xh51uczqw2stu5b1IvQGYngCrmkGgtDvvbnm+7DQGAYGBCcLds7Zmrt4YF0f1uK+72qrsC1WWs9FZA9nSv6E3rQs8/q/VQ+ftbK3Bam4+dwdHzU0srp5O+0ig+sfAvYkAvZlS71AojDSqnVNEX7en0Ii4myoFxbZ7L15GharP1+0V2Bews/Bu3FRaWEHLif0YtQZSxl9byj8cWSYgOrtYNf266lpwyVosKhUkMqKcZPkp9Rklj1lU/PTq9ilgFFBla+F985131GSVlBUBkhNgasozcp82KPZXiOcqPIwKrHi18DKiPExr0PIKRQLeDDIUbVbmlzdEG6VgvonMFN64sEogyx81nqyR8xtXQuvZrK77GuYY8D2NdmS/r83tbyqMgWK2l+6qlPtNhLxkl9ngRVyIn8t66Xsg/7kD+27XO5d7hRsYHV2XiRufHrU3oogLlB0LLYy4fUbq7A76Hsa02q69hCvq9FkYHVXFPdnia8llBoAnHUdG/VdKxYN9cLE+I6+9aZmLdn54AiA6u5lqlzX3SvGSRnwNhrmiMfZrxeGHZJcB+2K1ZwtfT5vfLdY3RvmhU5eP1olN3qAL2pdMlxni2mLco0tXr08PWtaghMhuXX3vJP4j6tUaiJGz3tRLJXV+tYHc1ULW/02ep5AVvtmSodev/BWEK0zJd2TvATYrxVDQ8PrSsusDpSIPRQmOTe4LSHNAZqR+Vap7nydXw996zNRNmdTnGBFfylKjzpWkCJQuT/2vL01PEuVcYEWPVZu57jbvEjn4k4ihxjNexn3tLn3GMfcsygh0IZpZgrB+bWu/P9zJoMl56Z+hn3a1zn+qWkeoZrXqYiAytpejag7/tbl6MQ7Sl9e1HbPbWW73t/gp8b8F5SIDA0Pq5Uq49vMdcFF/tYj0xeGP4+8ig2sBqqrQKILUVQxZNQ23yub4kVXYiHihLOI6YaWq98urNyD0HwTcNUi9n6HE/rebsWVQRWKfdSqlXIp1LSuk1HK9tSWj72Bg4lHHsuR7pMQ9szyy33MS9JdXwlpwFuV+XgdTLYtBAVZ+lPughvyxIlpeQPn5WQc8+gzanU892bfyibUJNqAqutS8q3LMY+ibWs8YN9pq7v1P6b4+sdezXoEMZlw9zXuJDr+sVa+DKG0vI46lJFVyAuG1cWS6vVbw3EqIjasadbdy64qqGyaTnvbulyKulabR0btPb+mF1vW8ZVlbITBspTTYsV9pua2ULTOrbaOpAW+/kuFLn197d+zlF7Blz79E7EOP6taVtDa26Laqi/aLFqRKip6Dxxva322ahMQqjX2r189Frmzgu+f3+pXAvVcnVktfIaZmDWbmlNy1InNtBi1Zi9Y0oYi3Jhy9NQ6U9NMdBqlcbRFqeStzapZSHXLcHfEPfFMXOryy8F2KWVxbRYNWTroqrj3+lViNmUUllpWVIhg322tEKXGPCGPI7ULUNb7uVS0rsFPoFUDQisGlZSRV+ivTMhY3dNxBDyuIaVXMnn3ALfiQN09e8Toruc7sD9QqdbKQ+5BFboDktLoDa1rThf4z1W8rHhgu+EgdwPfIyxQldCFPjDWUslFsYMWm/TeH0un/dPfZ1CDXmOVqY6rJW1R2fQxkBghW7EeooucXzLWQ0VHLZZC65YIDW/0sqBWvnk3dytU1MIrNCF2F0TpdzYU9ORU/9NpFNyy+mUXvJKLdejZFtnZZaU5gRWaJ7Pdi6x/14KKVfRL6kQw4WaAqyWcQ38xU6rXGUxgRWaVuoU7RRKOx5A2ndPxriPQ60/1UsrXCwtllOrgZWZ3Wdmf2RmL5vZi2b2sdPr7zGzZ83sy6f/3z34nSfN7IaZvWJmH4p5AsBWLd7IUhmzvoCzUFvSlDzDsISJIlsW06zJ1nMoad9bnxarNyX9rHPuuyR9QNLjZvaApCckPeecuyLpudP3Ov3sqqT3SXpY0ifM7I4YBw9sVUJhHEsLhSnasnUm11jKoKqWbYKmViYf/j8VaJVuaWaf7y4YW16PbTWwcs697pz789PX/yDpZUn3SHpE0rXT265J+vDp60ckPe2ce8M59xVJNyQ9FPrAcytxGX3croSnyZRSTq9vPS0Rju/aQ+Ofp26pCtFCEtvWVqma6qe917XEc9y0QKiZvVfS90r6M0l3Oedely6CLzO78/S2eyT9z8Gv3Ty9VrW9GxxTAeVR4s0WW4/njPKFak2I2Uo118rjGxTmGoQ9XDh2bpX+UlYj9zG3EG4JeWUL78DKzL5Z0u9I+hnn3N8vHPjUDy6lipk9Jukx37+f2nBtjCMVVolrbAAh5c7fPNiUreYtX3Lvt+qTt8d/fynAquF+OLIuYCnn5zUr0MzeqYug6jecc797evlrZnb36ed3S7p1ev2mpPsGv36vpNfGn+mce8o596Bz7sG9Bx/asPn5XBgsPZ2Mu15KXAEWF0q54VKJnedy52nfrvjcx4kLR5aCSLGMxJHPz5HHtq68f1bb8JWpcyh95wvJb1agSfpVSS87535p8KNnJD16+vpRSZ8evH7VzN5lZvdLuiLp+XCHHJ9P//7cysZzF7umzIw6lVrIhLSnYuDeK8fWPJoyT+/5WznWw9vy91ooE9YCqRIXCPXpCvygpJ+S9AUz+/zptZ+X9HFJ183so5K+KukjkuSce9HMrkt6SRczCh93zr0V/Mgz2Jqha22KrV2uQeulVeAt5be1LpHhz+fuvfPPkFcp45ambBn+kaMLMNTfbO1+KO08rITKwMyyHoRvGoSctVBaRmhJjsBqXLHnkurcUxXMISoY7j/UJkaeLXk9sEq9MDeUiZXXF4Rq5iXjplPCg0LrUqXxXOUSojuJfIKahKqHqIvSILCa4Tswfc/nIZ7c6dz6388ZVNX4N0Ka694EtshdRvWAwGokZlR/ZBop/KUuOEq7ljHPf/zAEUOMLosaK5PhzMfxytpTK22jTTXm3d51H1ilHBvDE2d7Sr+GoY8v1zIOsbrkS71+e2Y+EmRhD/JMeJtWXm9N6pkRIRYcxXaxrnMtW+aEOP8c5xrjb5Q6W9d3FtrWbUxynxe2o36oX7eB1TDzpi5YhwVkCYV6i2Kv9lxLULVXqJ0HalHifbi0Zs+Upa1ASjs3zItddsW0Vm70kg+77wqU+rnYvUk9BqgkIVqnprqWciyIGNrWgCW2UBUQs77akHrISOi1sZa6pGsoO0PoNrAqrSBFfEfTfW2Lo9KMj2ttHM7aGJ0cCyL2KEY6k74oRQ95sdvAKufFnarwULZQayqltrTF0tSss6XPiWn8+aWnaygxupR7STvsE6O+YZup23U7xmqoxPEVCGM8XsGnRSb3dhYx+Jzb+D0pz7HEAeWxxaxcppZ2YbxVHWKOsSppbGjL+ZHASm1eWLxtz2yqpc+q2bjCLW28UUnHEFNNXcpIq4egqnXddgXmXKyz9WbQEoVYOb+1gqjk8+nxHol1ziVfZ1xW2xi7pWESw385ji2XbgMr6e0MTMHTjz37zJE/4svZ7Zha738facVsHd3y2T2Vo10HVuOxByn/5lBPGS6nYSA99zQ1fg/SKGkySWt/D/UrMRgOWZeVeH5HdD3GajhYN+Zg2dYyTYtS7IGHealWRC/hXoy5bQ/aNTdGamml/ZjjqvYMsl+aRNPShJWuW6zGUha6Pn3PQO9C3ZOlr0FWynGgDD75YSpPry3uG1OIzy/hwSeErluszsZbzJxfO4onU8Bf6q08uA9Rsr3rHZb8ALGmluNcQ2AVQc0ZGyjN0S6C0p6Cc+8F11JZ1PJaSGN7Z7KnGOKyZ1JQy8s/0BV4Mrf9R4zPBrBNyPtRKu+eLC34q8HUwr+9pGMJQ0lCP+y0dO1osRqYG0C79PO132/N1FNGT0+NiGtthXjfp+TSu+GnzrOlwbuhbVngt+WWkCm5zm9P3s21F2lqtFiNHFnIrPUuwLWnjNCtCujXkcG7NefBmo89hhDXkzRNY+1e7CWokgisJrV2kUPYUjidbygKNKTgk99yd5vMKfGYStHDFlM1m0r7uYfv3uoCugJnHN3ypqUb3udJY6nrpqW0AGILfc/UWKmtHfPcunM1nmtrShhYnxstVh7mtr6Zegou9cl4r7V9oJZeW/oMYM3RAbq1bFkV856pcbzRlqBq6mc1nGMrjqR1y9eJFitPS4V0ixnkyODftRmWLaYX4loKPoatplMPOrUYT37ZG2CUPnB/SahjH7ek03Iej8+krd7SnsAKl8QumHsv5HoaxBlTzUHU2PDB7chCkGufX7IY5c548eca0qEFvaczXYFYdbR5vfebTPJfZ4duU/R6v/TSG9CiYbc914zACiOxxmT0fLNtXbyQ4AohK6pa7r0U48G4t5ACXYH4F7ELtt6a5Y8U4j2kD/xtGeBOvplH2iAFAitISvck13pwdWT81Nyq/62lEcJoKV+kKn9aLHNQHroCkbx5vMWCbWkRPN/uHJarAMKbW/MKiIXAClnX4mohaAg9y4/gCr2JWd5w7yA1AivggFhLJ/BkDRxHUIUcCKyACEIERlMLrQKt4mECrWDweueorPeb2+4npC0LRgK1Czm5JeVuD2wYjSFarDrHzV42gir05uimyksTSULb8re4l/tBYIUswRU70vsh8EXvfHYrGP4DcqMrENkRPABYMrWmm28QFat8IYjDHFqsgEBiFeC07gEXtrZM5Qqq5rYj4v7tAy1WwEEpW9xo3UMPzvl8TyCSY6D60t9kAkp/aLHCJSkKgdoLmuHxpzyX2tMN01sXMU5o2tpixcOfp1jYeO9MYFqd+0KLFbADT6HYY7iUgM/7JFoppfU0SJVG4/t+y99tfZ9UvI0WK0hiMcqtcqUPhXGdjrRE0YpVjpDXgWvaLlqs8C9StcK08DSessWqtwI498DkkPacy9zvtHDftCTENaDlalrtC67SYoVZsZ+US74x1qQMdmpOp622pGvpLTlr+0gOxwaNfwb0asuCq6WOSySwwm1iF/Kl3QB7paz8WkmzJSUWjrEM885cPlobiN1LWpWsxBmLtZtL0/H9MJWOJd0TBFZYFGtMQWsFTKybuqTCIhafNYHWfr+0dFqqILYguGpPa2VfKD73TIqZnyEQWGFViAK8h0og9Dn2nmZTU+mXCtZS0itUUHX09xBeqHFVuN3cMhZrS234fE4ODF7HJVOL8x1pbRpn9lYqiqkB7DEHo7aSbtJ6QLVmbrB37lbRWAU7y3uUicHn+4V4AJkqB6a2P0qNFquRcSE9Nziuh0LOt2Wgh7TY4ujU+uH/Zy0V3r7jKHyV3oIltXX9sF9JebJER+6Tku4xWqzkHyikbJ0oxdyTsm8aTX0elrUcVM05eo4ltOjsXZXbVwnniGPXgWt4IUYZV1K60mLlYW1cR0kXNAafTF/7uiN7hTyn2BVz60grlK7Hh6Y1uTbKjqnrwGopKJoaKLs0gLb1AOtIcFXLTI69QnRFEVSFkXMHgRTXizxRBvb+2y/VOMic90p3XYEhK7BSB87F4lNptXjePqYG/E99v/b+8c9bk+KJfdzdkqrLPsW5UYmXIcSwkFbv8VxK6mbtusVKarMZMrW1afC4bK21tBct3Se0WPVtLS/nnrGKdLpqsUqxPcvU1O9Wb6JWz+uII10Eradn6y2cLQWJWLY0qWdcF4zfm3I3i5bur5p03WIVqxsCkPzHlvXS2tfDOQ7FCLRKDd5KPa5Yls533BodY+HguWWApt7bo9xlTTctVqkHseYY44Eyce3Ril4r6rE943lyLSnQS/1TUp3bTWA1FjvRSxpIB5SCh479ck3V9y3HeltKwHdLlRLWaCrpPhuWAUeGy5TcBdpFYJVr0CDBFbAsdwEYW6gKLVc5Qr55lIIAABqMSURBVPm1TeqZoFv2yyspuBrbcmxL7y3l/JoOrEooFM7BVcmZGkglxe4Fue57nwHNe+Q4nz07KPS4M0VMe1tklh7oS7kmWxodtuz8UYquB6+nVnpmAGIroVDPYe+9n2NJji2LJq8dE2XePkcXW166VqVck6V1EcddhXs+LycCKwDJ5CjUU3f/zwm1O0OOCqSkSqtXsbfPKsHwHqk1qJIa7wocy534uf8+kNtUF0DI7okSBlCvrao/N2B3T/dbaEcHX8+t50fZd8yR9FvaFSL3dZnrEhy+vrQ2YO7jn9NNYFXqBQCwz7hiKPUpfE5pxxt6u6/Szq8WtQQPoYzv4fP3U+d9zlelp0k3XYHc5EC5tt6fw+6CuS623IVvyIVfc5/LUZS/flIHVaVdl7XzrSGokjoKrKTyMhHQo7mC8cgsId+/kcM4wPIJuIaDj2voAkR4PYyp2qqWPNlNV2AurWRoIKSlpQnOP5/7Wa3G57Q0viSlEo4BcdXcZV6jpgOrtUGkMZF5gWVL9+ee+6fGYKDEY451TLV04+SSYyFrrkccXXUFSnkXDwRw2dHurlTdZS3qbaB0yQim2tFFYMW6L0D55gKk4etzXwPwQ29KfF0EVlPrd6SwNG0UwLS5wGnua6AFUyuPx/wb3EPxND3G6iz2ooRzeDKoU45tRHA70jq+2N2AKdeyKmFx1dIRVKXTRWAl5R3Ijjqs5Q0CLqAcW8ryGsaSxQpEqfPSW+0KNLNvMLPnzewvzexFM/vF0+vvMbNnzezLp//fPfidJ83shpm9YmYfinkCR8TKxKH2BEMaR68X1xpI6+g9V8M9G+sYSwwqW+MzxuoNST/knPseSe+X9LCZfUDSE5Kec85dkfTc6XuZ2QOSrkp6n6SHJX3CzO6IcfB7TO3PFSoQYj2Y+ixd9y2Do2soqIE5McqpWK1EIe/Z0u7bufpprxpa6lq0Gli5C/94+vadp39O0iOSrp1evybpw6evH5H0tHPuDefcVyTdkPRQ0KOOJHQGJhOXbalrb2ql7LVrWlohHcrw4WPpHzA0FSQcNffwunTP7vnMnI4ujjt3T1IfpeM1K9DM7jCzz0u6JelZ59yfSbrLOfe6JJ3+v/P09nskvTr49Zun14oRqnIkA7fFtyDuKbjacz+gPjWM7dnbI9BKeexzfzEOtAxeg9edc29Jer+ZfZukT5nZdy+8feoKXrraZvaYpMe8jjIC31WfzwMKfQYWknnrcXSGzNJT5dK2LDXYW4GNz9/395DHuEyLPVM65Gdv/ay1VqDSVoU/uitBCedSWpqmtGkdK+fc30n6Y12Mnfqamd0tSaf/b53edlPSfYNfu1fSaxOf9ZRz7kHn3IM7jjsY3+4dgqp2pBoUWmPrzZFxglPdL7Ri9Sl0K36veWhtQdyptd1KqIuG9WaPwwV8ZgV+x6mlSmb2jZJ+WNKXJD0j6dHT2x6V9OnT189Iumpm7zKz+yVdkfR86AMPbWkczVLwxViqurGW2bK96dNCkNmjWOOgQuqxvF0KoMbBVy4+AVQv5YBPV+Ddkq6dZvZ9naTrzrnPmNmfSrpuZh+V9FVJH5Ek59yLZnZd0kuS3pT0+KkrsSpTGbTHGxrbxFqLJoXQx526qwlh7O3KjjW+h67ly0pKh63lRg/lgJVQCZhZ/oPArJZuhFQTDWqrDFJNja8hLXqztnzBkc8Jcb1j3ku13aclOhJDVJ7mL8wNZepm5XXM87kxQhW+vVgafFqamMc4ToeWgvS9SkuDpVbWtcA4ZrlAUF4232u/NPmrtHshFAKrzvlWquMbZeozWrxBjqg1mIhxrDV3kR6xN2BJzff6tHQNWzqXkswNsF+qQ1qzaVYg2rE2yHDPYP7Sb5bUx5e7sixV6fkkhK2zoEqYNZVzOYQcajjGUh0dT9d6kEVg1SGfgKoHKc+z1MIjZctJL/nqyLUuNZ/4KGFm2hY1p3WJjqwt1tq1ILDqTMgMXHMQluq4a02f2ForSKXlVqfxveKzdl4OU+smbcnDsfI791H7WioTGGPVkVgDTYcDlGsZb5Vq3FNthUWK1bdrS5M1W+6rteCqlNXrp4479zGhXEfWu8uxJMuescVb0GLVgbkn6dBN97UVtikq+NrSBNuEflgpeezinhasUEpJA4S9Fjmu656xj1uPk8CqUzHGQ4yfPFAfAkF/vt1+W3EN4qN82q/k4H/NXAODzz275RwJrBoXa9G+KVQIl9VS4JzVdry5xFplfOvfa1XM801ZJvaihvTzue5rAZZvviSw6lCKBSFj/51a1DZTKqXW8gfXuHwEVeVLVS4sXfej3d4EVg2bmkqfYoxEqcEVY0Muo1LZLkXl3Pt1mSqnjt5Lc+Uhtpu6Nnuuz9w6iaGNJ14cmenqc64EVuhK6MIafaFrPa+99yv3ebnmdvKI4cjsxS0IrDpC4ZIW6b2sxsAhxdP1nB7z09xA6a0zu3w+F8dtzaMprk2o+2bLcRFYdYTC5EKKVquaKkFa8fylXsvJd1HRHvkEWARV8SxtbRZ7nahcfI+XBUIblXsxv9IXgoy9MF3p57+mloVeU0t9XWvOQ6lsSSPyc3hz98S4DpoqY1vN3wRWDSohs5ZwDGtiBFe1PiEPV88fChVwptyTMKacQVWqValLE6Iy7jHdSjK1o8BQa9eHrsAG5c6kNQRVc44ee+60PyrG4n+tBFVDqbsBU/3NGmyd0UW6xTdM56Oz7kLK1XNDYNWglLMsahc6kGg1rfdOp245PVr4G7WKuQYR9ptK81zXIVY96HM+BFadyFVI11C4hZh51JKlSmlLurSefqlXB8fthgEUgVR5xq1Yc+9JeTypMMaqMbn7sGusEJaOeW5cy/D10BvxlmJpoPba4Pbc+RB9In+Vq5WlSXw+m8CqMVOVYa6gqpZCbm1w7Fpw4fOZtVqbBdfbjKxxMJ1q9mQLaVe62pcIqP34a+EzM5iuwAbNBQopo/iab94jx95il0SIrpbW0mQsxIrg527WGlt9a3d0wdGc9iyYWto5hBZjEs6WzyGwalTK9UJaCqrOWjiHGPakC2k57/z020PrZ4lqn5TBRJsy0RWI3Wpds8nX8FxaP9ctfJ8Ge02fLdYqN9IwnhDLiOS8Pmv3nM/55T6H1FKdL4FVo3gaCaunwmePntJnacydTzowFqZMS5NUanhwWFr3bM8EnValOF8Cq0bFWkm7hgIGiMlntuTRz0ccW2erjpcLGI+JW/v9WLbmsz0TdGrPh0uztvfUg1vSnDFWHfIZVzAcSJti8DvQuxYnPpQkxBIgpV6frcflk9daL+996sC5966lHYFV45YywFyA5fsaFQF6FTrfcx+lt7f8yn2tQgY8uc8lBZ86cK4Fb+pnPmlGV2AH1hay3HOj9nBDAkt81rNBGUJfp/G1zz1O6cjf7yEf+4w380kD3zQmsOrIkRuIQAq4bHhP+a7En7sS7k2L44fGWjufmHzu07nf8UVg1RluQCCspdlYPu9HOiHTvpSWnhDnVMq5pBTzPmSMFQCgSb0FCygDgRUAoHmxWwpzBXG5NxzGZQRWAIDm+G6mfsQwWGuxi7fFc0qBwAoA0LyWgwRalsrC4HUAaAyzf28X67zGM0JTiLGrRg8zJ1OixQoAGnKk9YKWD39LK3OnECrwIagKj8AKABoRooInuNouRyDiu0PG1s/AcXQFAkAD1hYm3fL+HF1c2GZu7amjC9ByzY+jxQroBE+n7VraYHiuomQj3v1KT5e5PfDG70EctFgBDQqxLyRPruULMT5mbR+1FrbgCXkOezblzcn3ni/9PI5YS4PhVlMhWmsJrABMaqFC7c3R6xVjxhniCbUVTcvX1id9zu/xmZDgk1YEVkADYjXrU6H2aarCrn3cVYi8XGJr1VqLo8/vwZ9PPiKwAiq3Nahaa+6mtaJOoa9R7RvzzgWHW9Jp64SA3Obu53FLZInHHsNSq9PwZ1vz+lo+IrBCscaZt8SnxRoMC9Xz11vTjuCqPCmCnhDBSWl6Cy5a33Znik9APE6Lubpmrnt8CYEVirF1XZbeF7bbev6+aTNXwPRWIZWMhww/S5Uiq9O358i4qLX3bwmwWG4BTam562KLVEEllUh5esnjIYXKx9wP9YnRRb6GwApZ+ay3sucze+KzHhHakfpat5K3ji6a2Uo64BharFC98fiAcQE3V9i1HFy1fG5YRzfgfsPyYy1YmipvAB8EVshmy8J1UwMNeyzwCKowFjtPtJjnph7OxkEX6lJSPmXwOrIINchw/Ds9DbbOcV6tpGVLrT41H3spepw515qSlgehxQpFOXpjbN1stmatnlcIS+P2Qs4Q6xGBB2qRK68SWKEoFNr+SKvLxgHV8PtWN6Wt9biBkFLdB8wKRFViTomm8gmj1HRsNWjyETPAbqnLFG0rKW8SWKELJd10CGtP0NTSbNKY+0QCNYuVh9krENUIuVXGeCBj7dtw5FRyWh6ZBDF+z3iH+1LOcSzmBskhJ5WgblPbusDvXqPFCkXodfmEI1K1KJTachE6CJgLtGpy5JhrPF+EN9WtHmMh55YRWCG7WAEVgVocJafr0WOrJbjac57DynGuxSvU30KdSs3vR+TY1YPACtkxRmS/Hs5xChtwLw/UD5EvekrP3rXSGhVz7OSWrlECK2SXqsWq5YIjllrSrLcgwOd8x0tNLL1v7vN7S9cebb3Haw3C9hzzVAuvzz3B4HUklXL6dqtTxc/nMVVphjzHEtMvRUvVOH1LNbfjwNiWhVJLuMZI42j+LnWSx9L9G2MB6im0WCGp0m7CmsVYr2vuCa3n61Z6gCXdvmHw0W2h0L4a8vRRIfP01vuKwApJbRk0G/LvtGotuNqSDr2kma+agw3fY2fjYbTs6EPh3t8nsEJSFN7hzQVX467CqYCrtmnUufJPLekztJZW3IsIoYZ7Y/zwMBUwjX925P5gjBWSm1pwcvh6jEUOW69E1sYFLQVXU59TqtSF+NRinDUp/XqWZO06t5CWMfJyLeky1TI7F1wdRYsVihEjqOptfNDSk9jW3ytRrmOsIW2wj2+Lbc0BttR3UJUagRWymGtuDblydM83/Th9x2m99NRWslzXuPZKFZft6QKvNR/Uety1oisQ2YXYi46Cw0+tAdWc2PsWljqlHNgiVJc294EfWqxQpC0z2wiqEBt5rC297akYYv0mgip/tFihCFNPVEsD3H0+Dzgi1sKryGPP4PSlySC15IkjQVUt51gaWqxQDJ+nohqfFhFOjjFVVC7tm7vGS2VS62UR+X4/AisUh2ZnbBG6gmu9wuzR3DX1LWt6Da6wD4EVitXysgEIK9Qip1SU/dhaTsyVLaXnGbY4So8xVija1A0+N86KwqAPMRbtXGrRwGUsbfK20s996/hUHOfdYmVmd5jZX5jZZ07fv8fMnjWzL5/+f/fgvU+a2Q0ze8XMPhTjwNGnqW0HaKXqz1LrgW/lMbedD3nqsvEWSFM/H/9r0dy5l2xpPbul92K/LV2BH5P08uD7JyQ955y7Ium50/cyswckXZX0PkkPS/qEmd0R5nAB4DhaqLYrPYBIYa4FvTatnEepvAIrM7tX0o9K+pXBy49Iunb6+pqkDw9ef9o594Zz7iuSbkh6KMzhApAu7/3XQ2vBlKVBxXNp0lP65FRKXox9DCWc4x60+Mfj22L1y5J+TtI/D167yzn3uiSd/r/z9Po9kl4dvO/m6TUAAUwFVXPv6YFvpVBKRV+bo2mWM81TjMUjKMHYamBlZj8m6ZZz7gXPz5zKZZdyo5k9ZmafM7PPeX4u0L0tFUVPgUSIyo0K8rJQ+afEvLh0PFPHW9rxo1w+swI/KOnHzew/SfoGSd9qZr8u6Wtmdrdz7nUzu1vSrdP7b0q6b/D790p6bfyhzrmnJD0lSWZGjgUmhFxCoPXAYXh+W9Kt9XSJYSqt19I/Rzqf/2aIFdSHs+rIM1iy2mLlnHvSOXevc+69uhiU/ofOuZ+U9IykR09ve1TSp09fPyPpqpm9y8zul3RF0vPBjxwAdhjPksI03+B0HLzU1rLjGwTWdl7I58g6Vh+XdN3MPirpq5I+IknOuRfN7LqklyS9Kelx59xbh48UwCE17W921Pg8p1oaekmLFHzSsuT8dz624f/n14GtrISMQ1cgcFmse7PUyg3lWcqDS/motOUsQt5L3D84ecE59+DUD9jSBugIlQK22BM8Ab1jSxugUFu3oPB5f8ndMahbyYHW2iD2td8DtqDFCijUnpltvmNdgBBqW5R2akHMuXuGoAp70WIFVG5rBUCFgdRKzHNTwRXLKSAEAiugIbW0HKAPtQUotR0vykRXINAIn6CKigOpkNfQK1qsgEL5DrjdupAjsIXvivbkL+ACLVZA4dh9HqUgHwLrCKyAShyt1Bh/hRCmZtURcAFvoysQaNB4TSsqPoRGngKm0WIFVGRLZcZGwwCQHi1WQGWWBrWPgyiCKgBIi8AKqBALGQJAmQisgAoRUAFAmRhjBQAAEAiBFQAAQCAEVgAAAIEQWAEAAARCYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABEJgBQAAEAiBFQAAQCAEVgAAAIEQWAEAAARCYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABEJgBQAAEAiBFQAAQCAEVgAAAIEQWAEAAARCYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABEJgBQAAEAiBFQAAQCAEVgAAAIEQWAEAAARCYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABEJgBQAAEAiBFQAAQCAEVgAAAIEQWAEAAARCYAUAABAIgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABOIVWJnZX5vZF8zs82b2udNr7zGzZ83sy6f/3z14/5NmdsPMXjGzD8U6eAAAgJJsabH6Qefc+51zD56+f0LSc865K5KeO30vM3tA0lVJ75P0sKRPmNkdAY8ZAACgSEe6Ah+RdO309TVJHx68/rRz7g3n3Fck3ZD00IG/AwAAUAXfwMpJ+gMze8HMHju9dpdz7nVJOv1/5+n1eyS9Ovjdm6fXAAAAmvYOz/d90Dn3mpndKelZM/vSwntt4jV36U0XAdpjE+8FAACokleLlXPutdP/tyR9Shdde18zs7sl6fT/rdPbb0q6b/Dr90p6beIzn3LOPTgYswUAAFC11cDKzL7JzL7l/LWkH5H0RUnPSHr09LZHJX369PUzkq6a2bvM7H5JVyQ9H/rAAQAASuPTFXiXpE+Z2fn9v+mc+z0z+6yk62b2UUlflfQRSXLOvWhm1yW9JOlNSY87596KcvQAAAAFMecuDX9KfxBm+Q8CAADAzwtzQ5lYeR0AACAQAisAAIBACKwAAAACIbACAAAIhMAKAAAgEN+V12P7G0n/7/Q/jvt2kZahkJbhkJbhkJbhkJbh9JSW/2ruB0UstyBJZvY5VmEPg7QMh7QMh7QMh7QMh7QMh7S8QFcgAABAIARWAAAAgZQUWD2V+wAaQlqGQ1qGQ1qGQ1qGQ1qGQ1qqoDFWAAAAtSupxQoAAKBq2QMrM3vYzF4xsxtm9kTu4ymdmX3SzG6Z2RcHr73HzJ41sy+f/n/34GdPntL2FTP7UJ6jLpOZ3Wdmf2RmL5vZi2b2sdPrpOdGZvYNZva8mf3lKS1/8fQ6abmTmd1hZn9hZp85fU9a7mBmf21mXzCzz5vZ506vkZY7mNm3mdlvm9mXTuXmvyMtL8saWJnZHZL+m6T/KOkBST9hZg/kPKYK/Jqkh0evPSHpOefcFUnPnb7XKS2vSnrf6Xc+cUpzXHhT0s86575L0gckPX5KM9Jzuzck/ZBz7nskvV/Sw2b2AZGWR3xM0suD70nL/X7QOff+wVIApOU+/1XS7znnvlPS9+gif5KWI7lbrB6SdMM591fOuX+S9LSkRzIfU9Gcc38i6W9HLz8i6drp62uSPjx4/Wnn3BvOua9IuqGLNIck59zrzrk/P339D7ooJO4R6bmZu/CPp2/fefrnRFruYmb3SvpRSb8yeJm0DIe03MjMvlXS90v6VUlyzv2Tc+7vRFpekjuwukfSq4Pvb55ewzZ3Oedely6CBUl3nl4nfT2Z2Xslfa+kPxPpucup6+rzkm5JetY5R1ru98uSfk7SPw9eIy33cZL+wMxeMLPHTq+Rltv9a0n/V9L/OHVR/4qZfZNIy0tyB1Y28RrTFMMhfT2Y2TdL+h1JP+Oc+/ult068RnqeOOfecs69X9K9kh4ys+9eeDtpOcPMfkzSLefcC76/MvEaafm2Dzrnvk8XQ04eN7PvX3gvaTnvHZK+T9J/d859ry62oVsaF91tWuYOrG5Kum/w/b2SXst0LDX7mpndLUmn/2+dXid9V5jZO3URVP2Gc+53Ty+Tngecugf+WBfjKkjL7T4o6cfN7K91MTzih8zs10Va7uKce+30/y1Jn9JFdxRpud1NSTdPLdGS9Nu6CLRIy5HcgdVnJV0xs/vN7Ot1MdDtmczHVKNnJD16+vpRSZ8evH7VzN5lZvdLuiLp+QzHVyQzM12MF3jZOfdLgx+RnhuZ2XeY2bedvv5GST8s6UsiLTdzzj3pnLvXOfdeXZSJf+ic+0mRlpuZ2TeZ2becv5b0I5K+KNJyM+fc/5H0qpn9m9NL/17SSyItL3lHzj/unHvTzH5a0u9LukPSJ51zL+Y8ptKZ2W9J+gFJ325mNyX9gqSPS7puZh+V9FVJH5Ek59yLZnZdF5n/TUmPO+feynLgZfqgpJ+S9IXT2CBJ+nmRnnvcLenaadbP10m67pz7jJn9qUjLUMiX290l6VMXz1B6h6TfdM79npl9VqTlHv9F0m+cGkL+StJ/1ul+Jy3fxsrrAAAAgeTuCgQAAGgGgRUAAEAgBFYAAACBEFgBAAAEQmAFAAAQCIEVAABAIARWAAAAgRBYAQAABPL/AfadUmG71jppAAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 720x720 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,10))\n", "plt.imshow(newimage)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now make a function out of it. You can choose the \"level\" of your function depending on your needs. For example you could pass a filename and a plane index to the function and make it import your data, or you can pass directly an image.\n", "\n", "In addition to the image, you coud pass other arguments if you want to make your function more general. For example, you might not always want to filter objects of the same size or shape, and so you can set those as parameters:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "from skimage.measure import label, regionprops\n", "\n", "def detect_nuclei(image, size = 200, shape = 0.8):\n", " #median filter\n", " image_med = skf.rank.median(image,selem=np.ones((2,2)))\n", " #otsu thresholding\n", " image_local_threshold = skf.threshold_local(image_med,block_size=51)\n", " image_local = image > image_local_threshold\n", " #remove tiny features\n", " image_local_eroded = skm.binary_erosion(image_local, selem= skm.disk(1))\n", " #label image\n", " image_labeled = label(image_local_eroded)\n", " #analyze regions\n", " our_regions = regionprops(image_labeled)\n", " #create a new mask with constraints on the regions to keep\n", " newimage = np.zeros(image.shape)\n", " #fill in using region coordinates\n", " for x in our_regions:\n", " if (x.area>size) and (x.eccentricity<shape):\n", " newimage[x.coords[:,0],x.coords[:,1]] = 1\n", " \n", " return newimage" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now we can test the function (which appears also now in autocompletion):" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUUAAAD8CAYAAADgxrZUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAZiUlEQVR4nO3dXcwcV33H8e8P5wVaQElKEllx1BjJqpqgNiArgFIhSqEJFJHcRHIlKl+k8k0qgVoJ2UVqxR3tBeIqlSygtcRLZPHSWLkojQyoNy1JDEmJk5iYhiaW3RhUIdpepE349+KZJSfj2d2Z2Xk5M/v7SNazz3h25+zszG/PmTnnPIoIzMxsx+vGLoCZWU4cimZmCYeimVnCoWhmlnAompklHIpmZoneQlHSnZLOSDor6XBf2zEz65L66KcoaRfwQ+ADwDngUeAPI+KpzjdmZtahvmqKtwFnI+LfIuJ/gQeAu3ralplZZy7r6XVvAF5Ifj8HvHPZypI8rMbMhvbTiLi2vLCvUFTFstcEn6RDwKGetm9mts6/Vy3sKxTPATcmv+8BzqcrRMRR4Ci4pmhm+ejrmuKjwD5JeyVdARwATvS0LTOzzvRSU4yIlyX9CfBNYBfwhYg43ce2zMy61EuXnMaFcPPZzIZ3KiL2lxd6RIuZWcKhaGaWcCiamSUcimZmCYeimVnCoWhmlnAompklHIpmZgmHoplZwqFoZpZwKJqZJRyKZmYJh6KZWcKhaGaWcCiamSUcimZmCYeimVnCoWhmlnAompklHIpmZgmHoplZwqFoZpZwKJqZJRyKNgs5/P1ym4fLxi6AWVMRgaRLgjD9XdLQxbKZcE3RJmldzTAiXHu0VlxTtMkr1wrTMFzUKs3qck3RJq0q8ByCtgmHos1eTs1oN+vz51C0Wcqxtlhu1jsg8+RQNBvAqvBzOObFoWiTI+mXNcEpBErd8uX+PraF7z7bZKV9Fct3macaMGPeLV+1z3K8HNEX1xRtNqYahGOrU9vepn27NhQlfUHSRUlPJsuukfSwpGeLn1cn/3dE0llJZyTd0VfBbV7aNoPTpvSy1xmzlpN7mJRHAVX9q1p3zurUFP8OuLO07DBwMiL2ASeL35F0M3AAuKV4zv2SdnVWWpudcoh1eVe2fFJPwVjlXbXd8jXcuVsbihHxT8B/lhbfBRwrHh8D7k6WPxARL0XEc8BZ4LaOymozU3eoXp0TMT1xcwrDdWFTd10bTtsbLddHxAWAiLgg6bpi+Q3AvyTrnSuWXULSIeBQy+3bxC2Crk4QLIKxzro5Bku5lpWWcYpN+7kPnez6RkvVnqrc8xFxNCL2R8T+jstgmWt6Ms6l6ZZTDRZ4Tc26zfPmqm0ovihpN0Dx82Kx/BxwY7LeHuB8++LZnLU5uYYIxin0fezSNr3XOtqG4gngYPH4IPBgsvyApCsl7QX2AY9sVsTtlV5TK/8bY9tdvW4bfdaylr3PbRqK5y45r1p7TVHSV4D3Am+RdA74S+DTwHFJ9wLPA/cARMRpSceBp4CXgfsi4pWeyj5rdQ7SPkJi3XC0KV4Da/KaVZPXztmqDvAL2zZ5r3I4ACSNX4jMrDoQ+zpIlx0LVUGxyXab3GTp4nl1XnPZ625LIJTf56pjYUZOVd3T8DC/DK07+cvjfrs4UNed/OWbHUPXGvsMxDrdZrrc1zlaN5Z8ru+7ikMxM01O/q6aek23mT5n0+3mOM53m21T+C3jsc8zMNYJ3mUg524q3YLGuCk3Nw7Fidv0m718t3WT59fVZExtemJ3VYuZY1CsCkCHYzNuPm+5tAneJnQ2Carync/ysq62s2q7deUaKnX21VjXgafKoTgTQx/wXV3PXDXDTY4ncJc18y5fe93NIgdjfW4+b7m2zec+ak7Lpqwa21C1xLa116mOCc+VQ3Em2h702zpnXpv33GctcQhTuVk0NjefMzVGc3ix3W1R1TdvWVh20Vl91Wu5eZsP1xQz03aUR5fqjoOd48nbd1eWdR3ybXwOxYwN1axbtu3y9vvoHpODde9liPe6TTX03Ln5nKGmg/T72vay7cwpEBeGeE917xA3eb0mww/n+IXWB4dipqr68FWt09e2F3wi5S0NxsXvqS4n8tgWDsWWhqhB5TBbiU+izQzRLF7WsnCTvB2HYkPLwrCvjscOpR11TvAc99WyUTtlmwbYupZFjvsmVw7FBlaFXtXIDB+Im2vaoTzHfb7uemFXX6blYzDHfTEFDsUafF0mL1PsbF7nGnHX27N2HIoNNZnn0N/Wm6lTg6qa/HbV+mOqutaXYzm3nUNxjbYnWVcTJlg9U9rfDsK8ufN2z6ZyoubG+83G4lBcIeem2Nyl+zzH/e/Qni+HomWvzUiPPjkQ582haLPTV2h5Wv/t4FDsWY5Nv6lI53qsO3PP4nldSO9oV23fATlPDsUVHGjT0Gc4Ofi2j7vk1NC0v6Fv0PSjzn4dYpKMtCzuizo/DsWafPCv1tcfZFo8v87fkhljQo6uO+mPPQGIufncSJ3rWttYS1x3Pa+rv/q37A9a9fWHrob+Q17rxke7KT8M1xTXqDuMbJvDcNXkGIv1uqxNDTltWpNm8ibvcdX4eofhsByKNdVtwuXCk1h0r69LKOtq2k3D2Tbj5nMDq5ppfTXhmlj1R5e6bn41ea0pT3q6rNa7eLxq3b7KMcX9OCWuKbYwdviVNbmm13VNo+5rTWnChrKqsncViG36V+Z2/M2NQ3HimkyvVV5/U9t0cvb1d2um/GUxV2ubz5JulPRtSU9LOi3pY8XyayQ9LOnZ4ufVyXOOSDor6YykO/p8A9us7SiOTU/CbT+Jc7hUYv2pc03xZeDPIuI3gXcB90m6GTgMnIyIfcDJ4neK/zsA3ALcCdwvaVcfhd9mbQPRJ3O+Vl333fYvoiGtDcWIuBAR3yse/xfwNHADcBdwrFjtGHB38fgu4IGIeCkingPOArd1XfC65t6/a6yQc7h2p05Xn7rr2uYa3X2WdBPwduC7wPURcQF2ghO4rljtBuCF5GnnimWDKofhqjuzZjlJj1UH4vBq32iR9Ebga8DHI+LnKz6gqv+4JIkkHQIO1d3+OlVht+xO7NQ7WudQ/qH7y/U5jDAHq7otzeH9TUmtmqKky9kJxC9FxNeLxS9K2l38/27gYrH8HHBj8vQ9wPnya0bE0YjYHxH72xZ+TZnXLt/GWuNYnX/b7uvyl1j5X3mdqSu/Nwfi8OrcfRbweeDpiPhM8l8ngIPF44PAg8nyA5KulLQX2Ac80l2RNzflA20uJ38dY3Y3ysGUj9Mpq9N8vh34I+AHkh4vlv058GnguKR7geeBewAi4rSk48BT7Ny5vi8iXum85Ik2tZ9F/7CpDZvapF9bV6HRdN+1ae43uZbW1zC4dftrSseN1accvl0ltS7EptfXphaKC03fd9fXIZuEVttQbFrWLt9j1YgVT+s1O6eqLt95RAvTDca6+vjiW1dj3eSu6dhf1MvKXjUOevFzzsfPttn6UJz6MKvFCVl1YvbdnaPORA9TC4smtc3yjZ6pvVertvWhONVALF9HS39Wrdt3WczmYvJTh23zCVnnBsQ275+m2s6XOeWp0exSW1tTnMsBPOfQa9Ik7frznPN+tdUmX1OE13YRqaN8rc0nQF42uTHjz9I2NYtQTK0LxvLoCMvbui+7LgNx7OdbHmbTfK668bBq3SG4X1t75V4B5fDraubrZXw3eXvNqqZYp/Y3ViCWh6PN5ZrmGPoMxDav5c9yXmZTU0yN/Q1fp/Ov+7atV9XvclmfzD62u27GGl/LnKdZhuKY6nb+zWnsdd9N0a4MPXNMVTPdtcL5cyh2qOnY2zGDsc7Ni1zDcUhDjxKy8TkUO9K2BjH0MMM6J7XH9C7n/TF/s7rRMqZNm3ZDBGPdWo67K9k2cyh2ZJNQGyKA2jb7fA3Nto1DsSNzrFnN8T2ZreNQ3DLuh2e2mkNxi7St+bnGaNvEd587tsk0+n3z3eRqdfa/99v2cCh2qE33GvcJrDbU3z9etZ2qsdf+nObPzece+BrcZpbtv77HjJe7Irlr0nZyTbEndWoWY9Q+mv5Z0iGtG25YngVp0/3WpN+mO7Rvj1nWFMechaZcu1iUZdkY2iHH8Za33fR5faoz8W/Vvu1qe2YLs6gpLvsbvWMe+MuuL06haZ379bMuh0Y2Hadu8zfpUFx18i5reg15opcv2I/d9Cr/Sc7y/+VQe5rCZBo2b5NtPjf91l4VCH1bNPtyOXmryjFmILoGZjmZdE0Rmp3AbgK9KpeAhnE/lyFrmlOZt3LbTbKmuElT2AeitbHJMbesdeI/S5GnyYViFweRa4zT1+XnV/cvQG762ulllK7uolv3Jtt8do1vnpo2Zzcdz72s72MXTd11tUt/OedpcjVF217L+nxuoqqXQhevX/c1Vv2RLBvHZGuKm1wg9wGYn/KokcWy9Peq53S17YUu7sLn0LXJ2ptcKG7a5Mi9Y/I2W9akXbZen2XI7bVsOJMLxVSb2qKv4+TPYWJjWntNUdLrJT0i6QlJpyV9qlh+jaSHJT1b/Lw6ec4RSWclnZF0R9eFTu/eOeBeK73u1sc1OMuDP+f+1LnR8hLwvoj4beBW4E5J7wIOAycjYh9wsvgdSTcDB4BbgDuB+yXt6qPwC3UPhrkPC1t1LcsnzTD6vjyTfo5Vo6T8OW9ubSjGjv8ufr28+BfAXcCxYvkx4O7i8V3AAxHxUkQ8B5wFbuu01IU6fb3K36JzD8T0RBm7T9yy2sycT9o+j69lYbgsHK2dWl1yJO2S9DhwEXg4Ir4LXB8RFwCKn9cVq98AvJA8/VyxrPyahyQ9JumxTd5AuSmdnnTbMqyqTuAPfclhXafluYdjX++t7mds7dW60RIRrwC3SroK+Iakt61YvepTueQIiYijwFEASRsfQXVmypmznGaXqdNpebHenGvw6/Zxk647c/4CyU2jztsR8TPgO+xcK3xR0m6A4ufFYrVzwI3J0/YA5zcu6USM1Vxsso2hmnhjlmNMdS/rVK2/bl3rX527z9cWNUQkvQF4P/AMcAI4WKx2EHiweHwCOCDpSkl7gX3AI10XPDdV4TfktbxNhqGNKYdg7PtLrKvXz2FfbYM6zefdwLHiDvLrgOMR8ZCkfwaOS7oXeB64ByAiTks6DjwFvAzcVzS/Z2nddctyU7HrA7vta/bRX7NtU3hRliFP+nJNrbwvNm3Wr7vx0WYf2TCUSW1h/EK00PRA7+P62Sav2XUQbTK8bchQrFvOrj+vtu+x6fPmfJ22Y6ciYn95oSeEaKnq7uqYcvhyWxh7X6zSJri72reb7JecPt+5cyi2sKrz7CqL9fs4wHMKorbvr+8Tv+nnltM+rcu1xM05FCcup+GOOZ+Ic7i5se49OBC74VAcSR8h1uQ1cwjRsiFO5ikGRrkXQ9Vn50DsjkOxoa4Ovi4P3jY3NbouQ7ksTbqe5BjQC8tGRw2tarjmtgxhHZpDsaWxT5KynIbPNemfOZUTOpfyVXX5yuFG35xMej7FKRoqsKq6cQwZlukNpWV3fMcO73VyLZ8DsF8OxQH1XSuqc+2pz+0v205ajqoyDXUtsU5Tc/FlkmsgNtH3579qH005uN18bqhtTWfoZmK5STVmM2vZtnNt9k19dqV1l1C6CPx1/T2n/KXimmILTWoSY18zy+2EzqU8dT6/XMraRN2w2mQEUdU2qi7VbDLCaUyuKW6o/OEPPTuO1de0o/3U1OmcPlSvhzGvZ2/KodjSum/GxTq5NhG31bKaTbp8ip9Xm9CZUlANyc3nDUzx5LH1wThldYcvDhGIU71h5Zqi2cRNMXhy5pqi2YbG6mY09jab3KyZUi3cNUWzllbdTBv6RtuQ8y3W7ZY21RqsQ9Gshar5NKtu0gw5gmksVV8AU+2OA24+W0tz7edXx7qaVnkkz9B/amGVPvvN5nIZYVMORWuk7tCuuc/e0mSS2sW+6HN457ptdF1zW9UxfOqft0MxQ2OPWV5myk2irrRpptYJra6Ug2nIWupcjglfU8xInTGrY107ahqI6fW1qV5wL8v5fawaTOAvs2ZcU8xEnUkIxrpGNZdm0dwtO2b8uTXjmmIGqu5kVpnSXISpoU7KoWrSbWc6H4MDsTmH4sT4IN9RnnRj3ZyNXW+7DX920+BQnKApXavrevzrqimpcryOmUs5rD6HovWq60BcqJpEt/y460BqcvliyvMJbjuHYkZ84tTTtI9gX6rm0awqhz/XafHd55FN4c5uOWDqlrXL97ZJ/8AuVY1WSbl2OH2uKWZiSteelgVC+v99hX0uQbOul0Au5bTmXFMcWbk2U6df2Vi1y/KwtbQsVev1oWm/u8X+7XOIXa7q9H21SzkUM9Dk+lcOze2q0RN9h8+ybdulVtXgvf/Wc/M5Q6sO6hwtm96/D033Qa77bCzeH+u5ppiRqubpqvVstRxq1UNa11zOcSqzHNWuKUraJen7kh4qfr9G0sOSni1+Xp2se0TSWUlnJN3RR8HnbNUB64O52WWGbbTsRs9Uh4kOrUnz+WPA08nvh4GTEbEPOFn8jqSbgQPALcCdwP2SdnVT3O1Rns152+9otp1uf1v2WdOQ25b90katUJS0B/gD4HPJ4ruAY8XjY8DdyfIHIuKliHgOOAvc1k1xbSzpWOOxahnlYXxV45+3rcnclmuKy9WtKX4W+ATwi2TZ9RFxAaD4eV2x/AbghWS9c8Wy15B0SNJjkh5rXGobVNUJNGY4VsmpLGNb1qHcHcvrWRuKkj4MXIyIUzVfs2pvX3LERsTRiNgfEftrvq4NrE7wjRFG65rFPuGrDdlLYMrq3H2+HfiIpA8BrwfeLOmLwIuSdkfEBUm7gYvF+ueAG5Pn7wHOd1loy8tYdzN9cr+qahBAyjXp+tbWFCPiSETsiYib2LmB8q2I+ChwAjhYrHYQeLB4fAI4IOlKSXuBfcAjnZfcBucQmrZtuvG0iU36KX4aOC7pXuB54B6AiDgt6TjwFPAycF9EvLJxSW10aY3QNY/8pJ9NWnN0EDajHA5uSeMXwl5j2XFRNfOMTzqbqFNV9zQ8zM8qLWtq5fAlatYnh6Kt5FqgbRuHoq21asiYQ9PmxhNCWG3lAHQg2hy5pmi1OABtWzgUzcwSDkUzs4RD0cws4VA0M0s4FM3MEg5FM7OEQ9HMLOFQNDNLOBTNzBIORTOzhEPRzCzhUDQzSzgUzcwSDkUzs4RD0cws4VA0M0s4FM3MEg5FM7OEQ9HMLOFQNDNLOBTNzBIORTOzhEPRzCzhUDQzSzgUzcwSDkUzs4RD0cws4VA0M0s4FM3MErVCUdKPJf1A0uOSHiuWXSPpYUnPFj+vTtY/IumspDOS7uir8GZmXWtSU/zdiLg1IvYXvx8GTkbEPuBk8TuSbgYOALcAdwL3S9rVYZnNzHqzSfP5LuBY8fgYcHey/IGIeCkingPOArdtsB0zs8HUDcUA/lHSKUmHimXXR8QFgOLndcXyG4AXkueeK5a9hqRDkh5bNMfNzHJwWc31bo+I85KuAx6W9MyKdVWxLC5ZEHEUOAog6ZL/NzMbQ62aYkScL35eBL7BTnP4RUm7AYqfF4vVzwE3Jk/fA5zvqsBmZn1aG4qSflXSmxaPgd8HngROAAeL1Q4CDxaPTwAHJF0paS+wD3ik64KbmfWhTvP5euAbkhbrfzki/kHSo8BxSfcCzwP3AETEaUnHgaeAl4H7IuKVXkpvZtYxRYx/OU/ST4D/AX46dllqeAsuZ9emUtaplBOmU9Yxy/nrEXFteWEWoQgg6bGkD2S2XM7uTaWsUyknTKesOZbTw/zMzBIORTOzRE6heHTsAtTkcnZvKmWdSjlhOmXNrpzZXFM0M8tBTjVFM7PRjR6Kku4sphg7K+lwBuX5gqSLkp5MlmU3TZqkGyV9W9LTkk5L+liOZZX0ekmPSHqiKOencixnsu1dkr4v6aHMyzmZ6fwkXSXpq5KeKY7Xd+daVgAiYrR/wC7gR8BbgSuAJ4CbRy7Te4B3AE8my/4aOFw8Pgz8VfH45qLMVwJ7i/eya6By7gbeUTx+E/DDojxZlZWdsfBvLB5fDnwXeFdu5UzK+6fAl4GHcv3si+3/GHhLaVmuZT0G/HHx+ArgqlzLGhGjh+K7gW8mvx8BjoxZpqIcN5VC8Qywu3i8GzhTVV7gm8C7Ryrzg8AHci4r8CvA94B35lhOdsbpnwTel4RiduUstlcVitmVFXgz8BzF/Yucy7r4N3bzudY0YxnYaJq0vkm6CXg7O7Ww7MpaNEkfZ2fSkIcjIstyAp8FPgH8IlmWYzmhh+n8evJW4CfA3xaXJT5XzKGQY1mB8a8p1ppmLGOjl1/SG4GvAR+PiJ+vWrVi2SBljYhXIuJWdmpit0l624rVRymnpA8DFyPiVN2nVCwb8rO/PSLeAXwQuE/Se1asO2ZZL2PnctTfRMTb2RnOu+rewdj7dfRQnMo0Y1lOkybpcnYC8UsR8fWcywoQET8DvsPOn6nIrZy3Ax+R9GPgAeB9kr6YYTmBSU3ndw44V7QOAL7KTkjmWFZg/FB8FNgnaa+kK9j52y4nRi5TleymSdPOtEWfB56OiM/kWlZJ10q6qnj8BuD9wDO5lTMijkTEnoi4iZ3j8FsR8dHcygnTms4vIv4DeEHSbxSLfo+dGbSyK+svDXkBc8mF2A+xc+f0R8AnMyjPV4ALwP+x8611L/Br7FyAf7b4eU2y/ieLsp8BPjhgOX+HnWbFvwKPF/8+lFtZgd8Cvl+U80ngL4rlWZWzVOb38uqNluzKyc51uieKf6cX502OZS22fSvwWHEM/D1wda5ljQiPaDEzS43dfDYzy4pD0cws4VA0M0s4FM3MEg5FM7OEQ9HMLOFQNDNLOBTNzBL/D9deFNGlEqPnAAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nuclei = detect_nuclei(image, size = 400)\n", "plt.imshow(nuclei);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to avoid cluttering your notebooks with function definitions and to be able to reuse your functions across multiple notebooks, I also strongly advise you to create your own module files. Those are .py files that group multipe functions and that can be called from any notebook.\n", "\n", "Let's create one, call it my_module.py and copy our function in it. Now we can use the function like this:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import my_module\n", "#or alternatively: from my_module import detect_nuclei" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'image' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-2-363c60d66f97>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mnuclei2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmy_module\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdetect_nuclei\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimage\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'image' is not defined" ] } ], "source": [ "nuclei2 = my_module.detect_nuclei(image)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get an error because in that module, we use skimage functions that were not imported **in the module itself**. We have them in the notebook, but they are not accessible from there. We thus restart the kernel as re-loading a module doesn't work:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/gw18g940/miniconda3/envs/improc_env/lib/python3.7/site-packages/skimage/filters/rank/generic.py:119: UserWarning: Bad rank filter performance is expected due to a large number of bins (20304), equivalent to an approximate bitdepth of 14.3.\n", " out_dtype)\n" ] }, { "data": { "text/plain": [ "<Figure size 432x288 with 0 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.gray();\n", "from skimage.external.tifffile import TiffFile\n", "\n", "data = TiffFile('Data/30567/30567.tif')\n", "image = data.pages[3].asarray()\n", "\n", "import my_module\n", "nuclei2 = my_module.detect_nuclei(image)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(nuclei2);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Your own modules are accessible if they are in the same folder as your notebook or on some path recognized by Python (on the PYTHONPATH). For more details see [here](https://docs.python.org/3.3/tutorial/modules.html)." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 4 }