{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Binary operations" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "import numpy as np\n", "import skimage\n", "#import matplotlib\n", "#matplotlib.use('Agg')\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import urllib\n", "#import ipyvolume as ipv\n", "import ipywidgets as ipw\n", "from IPython.display import clear_output\n", "\n", "if not os.path.isfile('Samples/confocal2.tif'):\n", " if not os.path.isdir('Samples'):\n", " os.mkdir('Samples')\n", " #url = 'https://cildata.crbs.ucsd.edu/media/images/41678/41678.tif'\n", " url = 'https://cildata.crbs.ucsd.edu/media/images/41694/41694.tif'\n", " urllib.request.urlretrieve(url, 'Samples/confocal2.tif');\n", "\n", "image = skimage.io.imread('Samples/confocal2.tif')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#image = image[:,:,2]>3\n", "subimage = (image[:,:,2]>3)[350:380,550:580]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "truc = np.random.randn(10)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def def_erode(xpos,binary_type,filtersize, threshold, subimage):\n", " #filtersize = 3\n", " subimage = (image[:,:,2]>threshold)[360:390,560:590]\n", " subimage_modif = subimage.copy()\n", " X,Y = np.meshgrid(np.arange(subimage.shape[0]-filtersize+1),np.arange(subimage.shape[1]-filtersize+1))\n", " indices = np.stack((np.ravel(X),np.ravel(Y)),axis = 0).T\n", " #for i in range(0,xpos):\n", " for j in range(0,xpos):\n", " subimage2 = subimage[indices[j,0]:indices[j,0]+filtersize,\n", " indices[j,1]:indices[j,1]+filtersize]\n", " filtered = np.zeros(subimage.shape)\n", " filtered[indices[j,0]:indices[j,0]+filtersize,indices[j,1]:indices[j,1]+filtersize] = 1\n", " filtered[filtered ==0] = np.nan\n", "\n", " if binary_type == 'erode':\n", " if np.sum(subimage2)0:\n", " subimage_modif[indices[j,0],indices[j,1]] = 1\n", " if np.sum(subimage2)