{"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_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"## KAGGLE Code URL -- https://www.kaggle.com/datasets/slawekbiel/sartorius-cell-instance-segmentation-coco\n\nfrom pycocotools.coco import COCO\nimport skimage.io as io\nimport matplotlib.pyplot as plt\nfrom pathlib import Path\nfrom PIL import Image as PIL_Image","metadata":{"execution":{"iopub.status.busy":"2022-11-18T17:26:59.611504Z","iopub.execute_input":"2022-11-18T17:26:59.611918Z","iopub.status.idle":"2022-11-18T17:26:59.61806Z","shell.execute_reply.started":"2022-11-18T17:26:59.611881Z","shell.execute_reply":"2022-11-18T17:26:59.616567Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# import os\n# for dirname, _, filenames in os.walk('/kaggle/input'):\n#     for filename in filenames:\n#         print(os.path.join(dirname, filename))","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-11-18T18:44:19.641701Z","iopub.execute_input":"2022-11-18T18:44:19.642161Z","iopub.status.idle":"2022-11-18T18:44:19.647358Z","shell.execute_reply.started":"2022-11-18T18:44:19.642122Z","shell.execute_reply":"2022-11-18T18:44:19.646266Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"class init_pycoco_tools():\n    def __init__(self):\n        self.img_data_dir_test=Path(\"/kaggle/input/sartorius-cell-instance-segmentation/\")\n        self.img_data_dir_train=Path(\"/kaggle/input/sartorius-cell-instance-segmentation/\")#train/')\n        #anno_json_File = Path('./input_dir/json_dir/annotations_val.json')\n        anno_json_File = Path(\"/kaggle/input/json-data-1/annotations_val.json\")\n        self.coco_obj = COCO(anno_json_File)\n        imgIds = self.coco_obj.getImgIds()\n        self.imgs = self.coco_obj.loadImgs(imgIds[-3:])\n        #input_dir/img_dir/test/7ae19de7bc2a.png\n        #kaggle datasets download -d rohitdhankar/json-data-1\n        \n    def _load_display(self):\n        \"\"\"  \"\"\"    \n\n        try:\n            imgs = self.imgs\n            print(\"---LEN IMAGES --- \",len(imgs))\n            coco_obj = self.coco_obj\n\n            _,axs = plt.subplots(len(imgs),2,figsize=(40,15 * len(imgs)))\n            print(\"---LEN axs --- \",axs)\n\n            for img, ax in zip(imgs, axs):\n                \n                img_file_path = img['file_name']\n                print(\"--INFO--img_file_path--from JSON ANNOTATIONS FILE---\",img_file_path)\n                img_file_name = img_file_path.rsplit(\"train/\",1)[1]\n                img_file_name = img_file_name.rsplit(\".png\",1)[0]\n\n                print(\"--INFO--img_file_name--from JSON ANNOTATIONS FILE---\",img_file_name)\n\n                #if len(img_file_name) > 0:\n                train_img_file_path = str(self.img_data_dir_train) + \"/\" + str(img_file_path)\n\n                I = io.imread(train_img_file_path)\n                print(\"---TYPE--I---\",type(I))\n\n                annIds = coco_obj.getAnnIds(imgIds=[img['id']])\n                print(\"--annIds---\",type(annIds))\n                print(\"--annIds--aaa-\",annIds)\n                #\n                anns = coco_obj.loadAnns(annIds)\n                print(\"--ANNO---\",type(anns))\n                print(\"--ANNO---\",len(anns))\n\n                ax[0].imshow(I)\n                print(\"---type---\",type(ax[0]))\n                ax[1].imshow(I)\n                im_1 = PIL_Image.fromarray(I)\n                im_1.save(\"test_img_\"+str(img_file_name)+\"_.png\")\n                plt.sca(ax[1])\n                coco_obj.showAnns(anns, draw_bbox=True)\n            plt.savefig('test_anno_plots_'+str(img_file_name)+'_.png', bbox_inches='tight', pad_inches=0)\n\n        except Exception as err_load_display:\n            print('--[ERROR]--err_load_display--\\n',err_load_display)\n            pass\n\n\nif __name__ == \"__main__\":\n    obj_init_pycoco = init_pycoco_tools()\n    obj_init_pycoco._load_display()\n\n","metadata":{"execution":{"iopub.status.busy":"2022-11-18T18:53:31.047406Z","iopub.execute_input":"2022-11-18T18:53:31.047828Z","iopub.status.idle":"2022-11-18T18:57:03.010479Z","shell.execute_reply.started":"2022-11-18T18:53:31.047796Z","shell.execute_reply":"2022-11-18T18:57:03.008816Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}