{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd \nimport os\nimport time \nimport albumentations as A\nfrom albumentations.pytorch import ToTensorV2\nfrom collections import defaultdict\nfrom tqdm import tqdm\nfrom sklearn import model_selection, preprocessing \nimport cv2\nfrom matplotlib import pyplot as plt\nfrom PIL import Image\nimport copy\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"ROOT_DIR = \"../input/hpa-single-cell-image-classification\"\ntrain_dir = \"../input/hpa-single-cell-image-classification/train\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"os.listdir(ROOT_DIR)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df = pd.read_csv(os.path.join(ROOT_DIR, \"train.csv\"))\ndf.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df.ID.unique","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Let's plot few dataset "},{"metadata":{"trusted":true},"cell_type":"code","source":"import random \nimg_list = sorted(os.listdir(os.path.join(ROOT_DIR, \"train/\")))\nfig, ax = plt.subplots(3, 3, figsize = (12, 12))\n\nfor row in range(3):\n    for col in range(3):\n        rand_idx = np.random.randint(len(img_list))\n        img = Image.open(os.path.join(ROOT_DIR, \"train/\"+img_list[rand_idx]))\n        ax[row, col].imshow(img)\n        \n                    \nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"sample_submission_data = pd.read_csv(os.path.join(ROOT_DIR, \"sample_submission.csv\"))\nsample_submission_data.head(5)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"sorted(os.listdir(\"../input/hpa-single-cell-image-classification/train\"))[:10]","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"**So every image has 4 channel blue, green, red and yellow**"},{"metadata":{"trusted":true},"cell_type":"code","source":"df.Label[:5].value_counts().plot.bar(figsize=(12, 8))\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"**Let's see unique labels**"},{"metadata":{"trusted":true},"cell_type":"code","source":"labels = df.Label.unique().tolist()\nlabels = (\"|\").join(labels)\nlabels = labels.split(\"|\")\nn = len(list(set(labels)))\nlabels = sorted(list(set(labels)),  key = int)\nlabels = \" \".join(labels)\nprint(\"{} Number of unique labels: {} \".format(n, labels))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# **Lets's Combine channels and visualize images**"},{"metadata":{"trusted":true},"cell_type":"code","source":"import random \nimg_list = sorted(os.listdir(os.path.join(ROOT_DIR, \"train/\")))\nfig, ax = plt.subplots(1, 4, figsize = (20, 20))\nb = Image.open(os.path.join(ROOT_DIR, \"train/\"+img_list[0]))\ng = Image.open(os.path.join(ROOT_DIR, \"train/\"+img_list[1]))\nr = Image.open(os.path.join(ROOT_DIR, \"train/\"+img_list[2]))\ny = Image.open(os.path.join(ROOT_DIR, \"train/\"+img_list[3]))\n\nimages = [np.dstack((b,g,r)),\n       np.dstack((b,r,y)), \n       np.dstack((b,g,y)), \n       np.dstack((g,r,y))]\n\nfor i, img in enumerate(images):\n    ax[i].imshow(img)\n    ax[i].set_title(f\"image{i+1}\")\n    ax[i].axis(\"off\")\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Continue ... "},{"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}