{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport os\nfrom skimage import io\nimport matplotlib.pyplot as plt\nimport cv2\nfrom tqdm.notebook import tqdm","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"base = '/kaggle/input/prostate-cancer-grade-assessment'\ntrain_df = pd.read_csv(f'{base}/train.csv')\ntest_df = pd.read_csv(f'{base}/test.csv')\nsample_submit_df = pd.read_csv(f'{base}/sample_submission.csv')\ntrain_dct = train_df[['image_id', 'isup_grade']].set_index('image_id').to_dict()['isup_grade']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"os.listdir(base)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_images_dir = f'{base}/train_images'\ntrain_label_masks = f'{base}/train_label_masks'","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"display(train_df.head(), test_df.head())","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"display(len([file for file in os.listdir(train_images_dir)]), os.listdir(train_images_dir)[:5])\ndisplay(len([file for file in os.listdir(train_label_masks)]), os.listdir(train_label_masks)[:5])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# edited based on https://www.kaggle.com/xhlulu/panda-resize-and-save-train-data\nfirst_image_path = os.path.join(train_images_dir, os.listdir(train_images_dir)[0])\nfirst_image_bio = io.MultiImage(first_image_path)\ndisplay(first_image_bio[-1].shape, len(first_image_bio))\nfirst_image = cv2.resize(first_image_bio[-1], (512, 512))\nplt.imshow(first_image)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# edited based on https://www.kaggle.com/xhlulu/panda-resize-and-save-train-data\nfirst_mask_path = os.path.join(train_label_masks, os.listdir(train_label_masks)[0])\nfirst_mask_bio = io.MultiImage(first_mask_path)\ndisplay(first_mask_bio[1].shape, len(first_mask_bio))\nfirst_mask = cv2.resize(first_mask_bio[1], (512, 512))\nplt.imshow(first_mask)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# edited based on https://www.kaggle.com/xhlulu/panda-resize-and-save-train-data\nimage_dir_train = '/kaggle/working/trainning_panda_i/train'\nimage_dir_validation = '/kaggle/working/trainning_panda_i/validation'\nmask_dir = '/kaggle/working/trainning_panda_m'\nos.makedirs(image_dir_train, exist_ok=True)\nos.makedirs(image_dir_validation, exist_ok=True)\nos.makedirs(mask_dir, exist_ok=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"for i in range(6):\n    if not os.path.isdir(os.path.join(image_dir_train, str(i))):\n        os.mkdir(os.path.join(image_dir_train, str(i)))\n    if not os.path.isdir(os.path.join(image_dir_validation, str(i))):\n        os.mkdir(os.path.join(image_dir_validation, str(i)))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# edited based on https://www.kaggle.com/xhlulu/panda-resize-and-save-train-data\nimages = os.listdir(train_images_dir)\nimages_train = images[:8000]\nimages_validation = images[8000:]\nfor image in tqdm(images_train):\n    temp = os.path.join(train_images_dir, image)\n    id_ = image[:-5]\n    label = train_dct[id_]\n    img_name = id_ + '.png'\n    img_dir = os.path.join(image_dir_train, str(label))\n    save_path = os.path.join(img_dir, img_name)\n    biopsy = io.MultiImage(temp)\n    img = cv2.resize(biopsy[-1], (512, 512))\n    cv2.imwrite(save_path, img)\nfor image in tqdm(images_validation):\n    temp = os.path.join(train_images_dir, image)\n    id_ = image[:-5]\n    label = train_dct[id_]\n    img_name = id_ + '.png'\n    img_dir = os.path.join(image_dir_validation, str(label))\n    save_path = os.path.join(img_dir, img_name)\n    biopsy = io.MultiImage(temp)\n    img = cv2.resize(biopsy[-1], (512, 512))\n    cv2.imwrite(save_path, img)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# edited based on https://www.kaggle.com/xhlulu/panda-resize-and-save-train-data\nmasks = os.listdir(train_label_masks)\nfor mask in tqdm(masks):\n    temp = os.path.join(train_label_masks, mask)\n    save_path = mask_dir + '/'+ mask[:-5] + '.png'\n    biopsy = io.MultiImage(temp)\n    img = cv2.resize(biopsy[-1], (512, 512))\n    cv2.imwrite(save_path, img)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nimg = cv2.imread(os.path.join(image_dir, os.listdir(image_dir)[0]))\nplt.imshow(img)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\ndic = train_df.to_dict()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def display_mandi(mask):\n    pic, (ax1, ax2) = plt.subplots(ncol=2, figsize=(8,8))\n    id = mask[:-9]\n    ax1.imshow()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"os.listdir('/kaggle/trainning_panda_m')[1][:-9]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"os.listdir(image_dir)[1][:-4]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"os.listdir('/kaggle')","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}