{"cells":[{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"9c39b0c5-d47d-fba4-73fb-51824c1bd16e"},"outputs":[],"source":"import os\nimport numpy as np\nimport tifffile as tiff\nimport cv2\nimport matplotlib.pyplot as plt\n\n\ndef stretch_8bit(bands, lower_percent=2, higher_percent=98):\n    out = np.zeros_like(bands)\n    for i in range(3):\n        a = 0 \n        b = 255 \n        c = np.percentile(bands[:,:,i], lower_percent)\n        d = np.percentile(bands[:,:,i], higher_percent)        \n        t = a + (bands[:,:,i] - c) * (b - a) / (d - c)    \n        t[t<a] = a\n        t[t>b] = b\n        out[:,:,i] =t\n    return out.astype(np.uint8)    \n    \ndef M(image_id):\n    filename = os.path.join('..', 'input', 'sixteen_band', '{}_M.tif'.format(image_id))\n    img = tiff.imread(filename)    \n    img = np.rollaxis(img, 0, 3)\n    return img\n\nimage_id = '6120_2_2'\nm = M(image_id)\nimg = np.zeros((837,851,3))\nimg[:,:,0] = m[:,:,4] #red\nimg[:,:,1] = m[:,:,2] #green\nimg[:,:,2] = m[:,:,1] #blue\nplt.imshow(stretch_8bit(img))"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"ffdd20fb-5c81-55d2-e40e-464d2d1945ca"},"outputs":[],"source":"inDir = '../input'\n\n\n# read the training data from train_wkt_v4.csv\ndf = pd.read_csv(inDir + '/train_wkt_v4.csv')\n\n# grid size will also be needed later..\ngs = pd.read_csv(inDir + '/grid_sizes.csv', names=['ImageId', 'Xmax', 'Ymin'], skiprows=1)\n\nmask = generate_mask_for_image_and_class((500,500),\"6120_2_2\",4,gs,df)\ncv2.imshow(\"mask.png\",mask*255)\n"}],"metadata":{"_change_revision":0,"_is_fork":false,"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.6.0"}},"nbformat":4,"nbformat_minor":0}