{"cells": [{"execution_count": null, "cell_type": "code", "source": ["import os\n", "import cv2\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "import json"], "outputs": [], "metadata": {"_cell_guid": "d411810b-dabc-42be-83f7-cf388951596d", "collapsed": true, "_uuid": "8612bc051dc4bdf141061557ad5095cfe1a53b00"}}, {"execution_count": null, "cell_type": "code", "source": ["DSB_DATA_PATH = '../input/data-science-bowl-2018/'\n", "EDA_DATA_PATH = '../input/exploratory-analysis/'\n", "OUTPUT_PATH = './'\n", "\n", "TRAIN_PREFIX = 'stage1_train/'\n", "MASK_PATH_EXPR = os.path.join(DSB_DATA_PATH,TRAIN_PREFIX)+'{}/masks/{}.png'\n", "IMAGE_PATH_EXPR = os.path.join(DSB_DATA_PATH,TRAIN_PREFIX)+'{}/images/{}.png'"], "outputs": [], "metadata": {"_cell_guid": "ee4105f0-2e68-4ed3-bf5f-b6bc1ecdc0e1", "collapsed": true, "_uuid": "fef61b21715c8f07a7adfda01c2ec9104e255dd6"}}, {"cell_type": "markdown", "source": ["## Mask with holes"], "metadata": {"_cell_guid": "da862210-c69f-409c-a774-01f3912257d4", "_uuid": "cec49e2cb0c608c61f3f27d689f73e0d3eb0bdee"}}, {"execution_count": null, "cell_type": "code", "source": ["def show_mask_and_image(image_id,mask_id,cx,cy,radius,enhance=False):\n", "    mask = cv2.imread(MASK_PATH_EXPR.format(image_id,mask_id),cv2.IMREAD_GRAYSCALE)\n", "    image = cv2.imread(IMAGE_PATH_EXPR.format(image_id,image_id))\n", "    image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)\n", "    clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(3,3))\n", "    if enhance:\n", "        for channel in range(image.shape[2]):\n", "            image[:,:,channel] = clahe.apply(image[:,:,channel])\n", "\n", "    fig,ax = plt.subplots(1,2,figsize=(20,20))\n", "    ax[0].imshow(image[cy-radius:cy+radius,cx-radius:cx+radius,:])\n", "    ax[0].set_title('image')\n", "    ax[1].imshow(mask[cy-radius:cy+radius,cx-radius:cx+radius])\n", "    ax[1].set_title('mask')\n", "    plt.show()"], "outputs": [], "metadata": {"_cell_guid": "f8209681-46eb-4cf9-8aa9-bf520be42663", "collapsed": true, "_uuid": "c094483030275cf4d1ed9250746ff7b834b0f2c3"}}, {"execution_count": null, "cell_type": "code", "source": ["image_id = '5d21acedb3015c1208b31778561f8b1079cca7487399300390c3947f691e3974'\n", "mask_id='5e6e650a28e22f651817b2edeacbf93a960adf633f1dbef69ecea585ef35d544'\n", "cx = 385\n", "cy = 490\n", "radius = 55\n", "show_mask_and_image(image_id,mask_id,cx,cy,radius,True)"], "outputs": [], "metadata": {"_cell_guid": "2fd92a25-8fc1-4524-9400-efe82b6e44be", "_uuid": "a126354efab73a6c0a9dc19f6df948e7228ce9cc"}}, {"cell_type": "markdown", "source": ["## Mask with one pixel gap"], "metadata": {"_cell_guid": "b287b453-1304-44d1-acb4-e963df397ff7", "_uuid": "ba9a8f669e32e01ab01145bf458048d331de6cd8"}}, {"execution_count": null, "cell_type": "code", "source": ["image_id = '55f98f43c152aa0dc8bea513f8ba558cc57494b81ae4ee816977816e79629c50'\n", "mask_id='e5b2747c30db016c8318c1df1391708b85c290d8a80d62e013b14ceb759c998e'\n", "cx = (102 + 77)//2\n", "cy = (255 + 242)//2\n", "radius = 40\n", "show_mask_and_image(image_id,mask_id,cx,cy,radius)"], "outputs": [], "metadata": {"_cell_guid": "3b4baf57-1c09-4ab8-964d-f1adf18d6bb0", "_uuid": "b9d7b238130ea5c620e55cdcc3ffd761e408b1d8"}}, {"cell_type": "markdown", "source": ["The single pixel on the right is separated from the actual mask. But looking at the image now it looks like the mask itself might be incorrect."], "metadata": {"_cell_guid": "66365041-a264-4f34-9cd9-546c78e8ef94", "_uuid": "ca1483bc990e52d3e8d13690d84ef043173ab8cb"}}, {"execution_count": null, "cell_type": "code", "source": ["image_id = 'a0afead3b4fe393f6a6159de040ecb2e66f8a89090abf0d0bf5b8e1d38ae667c'\n", "mask_id='52a0da01e7292a55903c626bad32cb224d74013aed8dcee98b2b5c2ff0d8adc0'\n", "cx = (260 + 281)//2\n", "cy = (357 + 352)//2\n", "radius = 40\n", "show_mask_and_image(image_id,mask_id,cx,cy,radius,True)"], "outputs": [], "metadata": {"_cell_guid": "e026fd2f-bbf5-4ab6-8cb4-8773194748d7", "_uuid": "fe366e6813838d21f7eeb2abeb6d94b6946ab9d3"}}, {"execution_count": null, "cell_type": "code", "source": [], "outputs": [], "metadata": {"collapsed": true}}], "nbformat_minor": 1, "nbformat": 4, "metadata": {"kernelspec": {"name": "python3", "display_name": "Python 3", "language": "python"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "mimetype": "text/x-python", "version": "3.6.4", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "file_extension": ".py"}}}