{"cells":[{"metadata":{},"cell_type":"markdown","source":"## Resizing JPG images from SIIM-ISIC Melanoma Classification into sizes of:\n* 224 x 224\n* 300 x 300\n* 480 x 480\n* 640 x 640","execution_count":null},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"from PIL import Image \nimport os\n\nfrom matplotlib import pyplot as plt\n\nimport multiprocessing \nimport time ","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"PATH = '/kaggle/input/siim-isic-melanoma-classification/jpeg'","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"out_path = 'siim-isic-melanima-classification-resize-images'\nos.mkdir(out_path)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"fol = 'train'\nout_dir = os.path.join(out_path, '224x224')\n# os.mkdir(out_dir)\n# os.mkdir(out_dir+'/train')\n# os.mkdir(out_dir+'/test')\nimages_name = os.listdir(os.path.join(PATH, fol))\n\nfor img_name in images_name:\n    img = Image.open(os.path.join(PATH, fol, img_name)).convert('RGB')\n    plt.imshow(img)\n    plt.show()\n    \n    img1 = img.resize((224, 224))\n    plt.imshow(img1)\n    plt.show()\n    \n    img2 = img.resize((640, 640))\n    plt.imshow(img2)\n    plt.show()\n        \n    break","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# out_dir = os.path.join(out_path, '224x224')\n# os.mkdir(out_dir)\n# os.mkdir(out_dir+'/train')\n# os.mkdir(out_dir+'/test')\n\nout_dir = os.path.join(out_path, '300x300')\nos.mkdir(out_dir)\nos.mkdir(out_dir+'/train')\nos.mkdir(out_dir+'/test')\n\n# out_dir = os.path.join(out_path, '480x480')\n# os.mkdir(out_dir)\n# os.mkdir(out_dir+'/train')\n# os.mkdir(out_dir+'/test')\n\nout_dir = os.path.join(out_path, '640x640')\nos.mkdir(out_dir)\nos.mkdir(out_dir+'/train')\nos.mkdir(out_dir+'/test')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def resize_img(img_name):\n    img = Image.open(os.path.join(PATH, img_name)).convert('RGB')\n#     img1 = img.resize((224, 224))\n    img2 = img.resize((300, 300))\n#     img3 = img.resize((480, 480))\n    img4 = img.resize((640, 640))\n#     img1.save(os.path.join(out_path, '224x224', img_name))\n    img2.save(os.path.join(out_path, '300x300', img_name))\n#     img3.save(os.path.join(out_path, '480x480', img_name))\n    img4.save(os.path.join(out_path, '640x640', img_name))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"pool = multiprocessing.Pool() \npool = multiprocessing.Pool(processes=4) ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"imgs_paths = []\nfor fol in ['train', 'test']:\n    images_name = os.listdir(os.path.join(PATH, fol))\n    for img_name in images_name:\n        imgs_paths.append(fol + '/' + img_name)\n        \npool.map(resize_img, imgs_paths) \nprint(\"Done\")    ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import shutil\nshutil.make_archive('siim-isic-melanima', 'zip', out_path)\nshutil.rmtree(out_path)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"out_path","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}