{"cells":[{"metadata":{},"cell_type":"markdown","source":"# PANDA color histograms by mask label","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport os\nimport zipfile\nimport matplotlib.pyplot as plt\n%matplotlib inline\nimport cv2\nimport skimage.io\nfrom PIL import Image","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"BASE_PATH = '../input/prostate-cancer-grade-assessment'\n\n# cvs files\ntrain = pd.read_csv(f'{BASE_PATH}/train.csv').set_index('image_id')\n# test = pd.read_csv(f'{BASE_PATH}/test.csv').set_index('image_id')\n# submission = pd.read_csv(f'{BASE_PATH}/sample_submission.csv').set_index('image_id')\n\n# image and mask directories\ntest_dir  = f'{BASE_PATH}/test_images'\ndata_dir = f'{BASE_PATH}/train_images'\nmask_dir  = f'{BASE_PATH}/train_label_masks'","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Config","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"level = 1   # [0,1,2]\nbins=256","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# select image_id\n# image_id = train.index[2]   # train index\nimage_id = '4517c109e23cf3b572373db82b519303'   # image_id","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# View image","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"train.loc[image_id,:]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"biopsy = skimage.io.MultiImage(os.path.join(data_dir, f'{image_id}.tiff'))\nmaskfile = skimage.io.MultiImage(os.path.join(mask_dir, f'{image_id}_mask.tiff'))\n\nplt.figure(figsize=(12,10))\nplt.subplot(1,2,1)\nplt.title('image_id:{}\\nisup_grade:{}'\n          .format(image_id, train.loc[image_id, 'isup_grade']))\nplt.imshow(biopsy[level])\nplt.subplot(1,2,2)\nplt.imshow(maskfile[level][:,:,0])\nplt.title('data_provider:{}\\ngleason_score:{}'\n          .format(train.loc[image_id, 'data_provider'], train.loc[image_id, 'gleason_score']))\nplt.colorbar()\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(image_id, biopsy[level].shape, train.loc[image_id, 'data_provider'], \n      'isup_grade :', train.loc[image_id, 'isup_grade'], train.loc[image_id, 'gleason_score'])","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Color Histogram","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"def color_hist(img, maskno):\n    img = img.reshape(-1,3)\n    plt.hist(img, color=[\"red\", \"green\", \"blue\"], histtype=\"step\", bins=bins)\n    plt.title('image_id:{}\\ndata_provider:{}\\nmask label:{}'\n          .format(image_id, train.loc[image_id, 'data_provider'], maskno))\n    plt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"idx = maskfile[level][:,:,0]>0\ncolor_hist(biopsy[level][idx], 'non-zero')\nfor i in np.unique(maskfile[level][:,:,0]):\n    idx = maskfile[level][:,:,0]==i\n    color_hist(biopsy[level][idx], i)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}