{"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":"markdown","source":"Published on November 07, 2023. By Marília Prata, mpwolke.","metadata":{}},{"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\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt\nplt.style.use(\"ggplot\")\nimport seaborn as sns\n\nimport plotly.express as px\nimport plotly.graph_objs as go\n\nimport plotly\nplotly.offline.init_notebook_mode(connected=True)\n\nimport tifffile\nimport cv2\n\n#Ignore warnings\nimport warnings\nwarnings.filterwarnings('ignore')\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2023-11-07T23:14:56.270950Z","iopub.execute_input":"2023-11-07T23:14:56.271337Z","iopub.status.idle":"2023-11-07T23:15:11.524513Z","shell.execute_reply.started":"2023-11-07T23:14:56.271304Z","shell.execute_reply":"2023-11-07T23:15:11.523293Z"},"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Senescent cells across the body - Cellular senescence\n\nCellular Senescence Network (SenNet) Program\n\n\"The goal of this competition is to segment blood vessels. You will create a model trained on 3D Hierarchical Phase-Contrast Tomography (HiP-CT) data from human kidneys to help complete a picture of vasculature throughout a body.\"\n\nCELLULAR SENESCENCE: THE GOOD, THE BAD AND THE UNKNOWN\n\nCitation: Huang W, Hickson LJ, Eirin A, Kirkland JL, Lerman LO. Cellular senescence: the good, the bad and the unknown. Nat Rev Nephrol. 2022 Oct;18(10):611-627. doi: 10.1038/s41581-022-00601-z. Epub 2022 Aug 3. PMID: 35922662; PMCID: PMC9362342.\n\n\"Cellular senescence is a ubiquitous process with roles in tissue remodelling, including wound repair and embryogenesis. However, prolonged senescence can be maladaptive, leading to cancer development and age-related diseases.\"\n\n\"Cellular senescence involves cell-cycle arrest and the release of inflammatory cytokines with autocrine, paracrine and endocrine activities. Senescent cells also exhibit morphological alterations, including flattened cell bodies, vacuolization and granularity in the cytoplasm and abnormal organelles.\"\n\n\"Several biomarkers of cellular senescence have been identified, including SA-βgal; however, few markers have high sensitivity and specificity. In addition to driving ageing, senescence of immune and parenchymal cells contributes to the development of a variety of diseases and metabolic disorders.\"\n\n\"In the kidney, senescence might have beneficial roles during development and recovery from injury, but can also contribute to the progression of acute kidney injury and chronic kidney disease. Therapies that target senescence, including senolytic and senomorphic drugs, stem cell therapies and other interventions, have been shown to extend lifespan and reduce tissue injury in various animal models.\"\n\n\"Early clinical trials confirm that senotherapeutic approaches could be beneficial in human disease. However, larger clinical trials are needed to translate these approaches to patient care.\"\n\nhttps://www.ncbi.nlm.nih.gov/pmc/articles/PMC9362342/","metadata":{}},{"cell_type":"markdown","source":"#Competition Citation:\n\n@misc{blood-vessel-segmentation,\n\n    author = {Yashvardhan Jain, Katy Borner, Claire Walsh, Nancy Ruschman, Peter D. Lee, Griffin M. Weber, Ryan Holbrook,  Addison Howard},\n    \n    title = {SenNet + HOA - Hacking the Human Vasculature in 3D},\n    \n    publisher = {Kaggle},\n    \n    year = {2023},\n    \n    url = {https://kaggle.com/competitions/blood-vessel-segmentation}\n}","metadata":{}},{"cell_type":"markdown","source":"![](https://pythonfix.com/pkg/p/pyvips/pyvips-banner.webp)https://pythonfix.com/pkg/p/pyvips/","metadata":{}},{"cell_type":"markdown","source":"#Pyvips offline installer\n\nBy TMyok https://www.kaggle.com/code/tmyok1984/pyvips-offline-installer","metadata":{}},{"cell_type":"code","source":"#TMyok https://www.kaggle.com/code/tmyok1984/pyvips-offline-installer\n\n!apt -y update && apt -y upgrade","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:54:50.915611Z","iopub.execute_input":"2023-11-07T23:54:50.916256Z","iopub.status.idle":"2023-11-07T23:55:01.192158Z","shell.execute_reply.started":"2023-11-07T23:54:50.916208Z","shell.execute_reply":"2023-11-07T23:55:01.190604Z"},"_kg_hide-output":true,"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Senescence in kidney diseases - Chronic kidney disease\n\n\"Kidney cell senescence was first described in 1992. In addition to its role in physiological kidney ageing, senescence has important roles in the development of CKD and acute kidney injury (AKI). Interventions that clear senescent cells, including senolytic drugs, are therefore promising novel treatments for kidney diseases.\"\n\n\"The senescence-associated secretory phenotype (SASP) is an important feature of senescent cells that comprises the release of numerous cytokines, chemokines, growth factors and proteases11, which are sometimes enclosed within microparticles, into the extracellular environment.\"\n\nChronic kidney disease (CKD)\n\n\"CKD is increasingly recognized to mimic age-related diseases and senescence and the SASP are important drivers of CKD progression. CKD can accelerate the senescence of immune, endothelial and vascular smooth muscle cells via a process known as uraemia-associated ageing, potentially constituting a feed-forward mechanism of cellular damage. Immunosenescence in CKD manifests as an increased proportion of terminally differentiated T cells, telomere shortening of mononuclear cells, low thymic and reduced immune-mediated clearance of senescent kidney cells, which promotes CKD progression.\"\n\nhttps://www.ncbi.nlm.nih.gov/pmc/articles/PMC9362342/","metadata":{}},{"cell_type":"code","source":"#TMyok https://www.kaggle.com/code/tmyok1984/pyvips-offline-installer\n\n!apt -y install -d -o=dir::cache=/kaggle/working libvips libvips-dev libvips-tools","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:55:17.589176Z","iopub.execute_input":"2023-11-07T23:55:17.589719Z","iopub.status.idle":"2023-11-07T23:55:26.774359Z","shell.execute_reply.started":"2023-11-07T23:55:17.589673Z","shell.execute_reply":"2023-11-07T23:55:26.772839Z"},"_kg_hide-output":true,"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Glomerular endothelial cell senescence\n\nGlomerular endothelial cell senescence drives age-related kidney disease through PAI-1\nhttps://doi.org/10.15252/emmm.202114146\n\nAuthors: Camille Cohen,Océane Le Goff,Frédéric Soysouvanh,Florence Vasseur,Marine Tanou,Clément Nguyen,\nLucile Amrouche,Julien Le Guen,Oriana Saltel-Fulero,Tanguy Meunier,Thao Nguyen-Khoa,Marion Rabant,Dominique Nochy,Christophe Legendre,Gérard Friedlander,Bennett G Childs,Daren J Baker, \nBertrand Knebelmann,Dany Anglicheau,Fabien Milliat and Fabiola Terzi\n\n\"Kidneys develop lesions with age, and in particular glomerulosclerosis, but the molecular mechanisms involved in the deterioration process are unclear. Here, an unexpected role for glomerular endothelial cells during aging was uncovered.\"\n\n\"Senescent glomerular endothelial cells increased with age, whereas the number of podocytes decreased. Depletion of senescent cells prevented podocyte loss with age.\"\n\n\n![](https://www.embopress.org/cms/asset/54dfd579-9c80-428d-914c-6724c1f2b0d6/emmm202114146-abs-0001-m.jpg)https://www.embopress.org/doi/full/10.15252/emmm.202114146","metadata":{}},{"cell_type":"markdown","source":"Lifestyle interventions\n\n\"Several lifestyle factors might accelerate senescence. For example, sleep deprivation activates the DDR and promotes the SASP (senescence-associated secretory phenotype) in humans, whereas a healthy lifestyle, such as habitual exercise and caloric restriction, retards ageing.\"\n\n\"Cumulative lifetime exposure to external stressors, such as temperature, oxygen levels and inadequate nutrition, elicit adaptive homeostatic mechanisms, including antioxidant and anti-inflammatory responses, by activating the NRF2–KEAP1 signalling pathway274. Modifying these exposures might offer new strategies for improving the health span and combatting CKD(Chronic kidney disease) and could potentially have beneficial effects on cellular senescence.\"\n\nhttps://www.ncbi.nlm.nih.gov/pmc/articles/PMC9362342/","metadata":{}},{"cell_type":"code","source":"#TMyok https://www.kaggle.com/code/tmyok1984/pyvips-offline-installer\n\n!pip3 install --upgrade pip\n!pip3 download -d /kaggle/working pyvips","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:55:46.497642Z","iopub.execute_input":"2023-11-07T23:55:46.498175Z","iopub.status.idle":"2023-11-07T23:56:24.548163Z","shell.execute_reply.started":"2023-11-07T23:55:46.498130Z","shell.execute_reply":"2023-11-07T23:56:24.546552Z"},"_kg_hide-output":true,"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#TMyok https://www.kaggle.com/code/tmyok1984/pyvips-offline-installer\n\n!dpkg -i --force-depends ./archives/*.deb >/dev/null 2>&1\n!pip3 install --quiet ./cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl\n!pip3 install --quiet ./pycparser-2.21-py2.py3-none-any.whl\n!pip3 install --quiet ./pyvips-2.2.1.tar.gz","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:56:32.487758Z","iopub.execute_input":"2023-11-07T23:56:32.488266Z","iopub.status.idle":"2023-11-07T23:58:13.058707Z","shell.execute_reply.started":"2023-11-07T23:56:32.488224Z","shell.execute_reply":"2023-11-07T23:58:13.056592Z"},"_kg_hide-output":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Finally Pyvips","metadata":{}},{"cell_type":"code","source":"#TMyok https://www.kaggle.com/code/tmyok1984/pyvips-offline-installer\n\nimport pyvips\npyvips.__version__","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:58:19.238300Z","iopub.execute_input":"2023-11-07T23:58:19.238856Z","iopub.status.idle":"2023-11-07T23:58:19.810543Z","shell.execute_reply.started":"2023-11-07T23:58:19.238810Z","shell.execute_reply":"2023-11-07T23:58:19.809181Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import math\nimport glob\n\nimport cv2\nimport matplotlib.pyplot as plt\nimport seaborn as sn\n\nimport json\nimport numpy as np\n\nimport tifffile as tiff\nfrom matplotlib import colors\nfrom matplotlib import pyplot as plt\nfrom matplotlib.lines import Line2D\nfrom matplotlib_venn import venn2_unweighted","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:15:22.608284Z","iopub.execute_input":"2023-11-07T23:15:22.609026Z","iopub.status.idle":"2023-11-07T23:15:22.627226Z","shell.execute_reply.started":"2023-11-07T23:15:22.608987Z","shell.execute_reply":"2023-11-07T23:15:22.626262Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Code by Georgii Kostiuchik https://www.kaggle.com/code/georgiikostiuchik/hubmap-exploratory-data-analysis\n\ntrain_images = glob.glob('/kaggle/input/blood-vessel-segmentation/train/**/**/*.tif')\ntest_images = glob.glob('/kaggle/input/blood-vessel-segmentation/test/**/images/*.tif')\n\ntrain_images = list(map(lambda x: os.path.basename(x), train_images))\ntest_images = list(map(lambda x: os.path.basename(x), test_images))","metadata":{"execution":{"iopub.status.busy":"2023-11-07T22:07:02.548331Z","iopub.execute_input":"2023-11-07T22:07:02.549876Z","iopub.status.idle":"2023-11-07T22:07:02.647208Z","shell.execute_reply.started":"2023-11-07T22:07:02.549823Z","shell.execute_reply":"2023-11-07T22:07:02.646129Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Code by Georgii Kostiuchik https://www.kaggle.com/code/georgiikostiuchik/hubmap-exploratory-data-analysis\n\n# open and resize image\nimage = cv2.imread('/kaggle/input/blood-vessel-segmentation/train/kidney_3_sparse/images/0004.tif')\nimage_resize = cv2.resize(image,(image.shape[1]//10,image.shape[0]//10), interpolation = cv2.INTER_CUBIC)","metadata":{"execution":{"iopub.status.busy":"2023-11-07T22:11:45.461154Z","iopub.execute_input":"2023-11-07T22:11:45.461606Z","iopub.status.idle":"2023-11-07T22:11:45.567144Z","shell.execute_reply.started":"2023-11-07T22:11:45.461573Z","shell.execute_reply":"2023-11-07T22:11:45.565913Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Code by Georgii Kostiuchik https://www.kaggle.com/code/georgiikostiuchik/hubmap-exploratory-data-analysis\n\n# calculate colors\npixel_colors = image_resize.reshape((np.shape(image_resize)[0]*np.shape(image_resize)[1], 3))\nnorm = colors.Normalize(vmin=-1.,vmax=1.)\nnorm.autoscale(pixel_colors)\npixel_colors = norm(pixel_colors).tolist()\n\n# split channels\nb, g, r = cv2.split(image_resize)\n\n# scatter plot\nfig = plt.figure()\naxis = fig.add_subplot(1, 1, 1, projection='3d')\naxis.scatter(r.flatten(), g.flatten(), b.flatten(), facecolors=pixel_colors, marker='.')\naxis.set_xlabel('Red')\naxis.set_ylabel('Green')\naxis.set_zlabel('Blue')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-11-07T22:11:51.969441Z","iopub.execute_input":"2023-11-07T22:11:51.969906Z","iopub.status.idle":"2023-11-07T22:11:52.780162Z","shell.execute_reply.started":"2023-11-07T22:11:51.969870Z","shell.execute_reply":"2023-11-07T22:11:52.779117Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Code by Georgii Kostiuchik https://www.kaggle.com/code/georgiikostiuchik/hubmap-exploratory-data-analysis\n\n# convert to hsv\nhsv_image = cv2.cvtColor(image_resize, cv2.COLOR_BGR2HSV)\nh, s, v = cv2.split(hsv_image)\n\n# scatter plot\nfig = plt.figure()\naxis = fig.add_subplot(1, 1, 1, projection='3d')\naxis.scatter(s.flatten(), h.flatten(), v.flatten(), facecolors=pixel_colors, marker='.')\naxis.set_xlabel('Saturation')\naxis.set_ylabel('Hue')\naxis.set_zlabel('Value')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-11-07T22:12:24.243179Z","iopub.execute_input":"2023-11-07T22:12:24.243629Z","iopub.status.idle":"2023-11-07T22:12:25.305888Z","shell.execute_reply.started":"2023-11-07T22:12:24.243593Z","shell.execute_reply":"2023-11-07T22:12:25.304486Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import os\nos.environ[\"OPENCV_IO_MAX_IMAGE_PIXELS\"] = pow(2,40).__str__()\n#출처: https://biology-statistics-programming.tistory.com/194 [히비스서커스의 블로그:티스토리]","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:16:22.021166Z","iopub.execute_input":"2023-11-07T23:16:22.021653Z","iopub.status.idle":"2023-11-07T23:16:22.028856Z","shell.execute_reply.started":"2023-11-07T23:16:22.021614Z","shell.execute_reply":"2023-11-07T23:16:22.027214Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"DATA_PATH = \"../input/blood-vessel-segmentation/\"","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:17:07.087007Z","iopub.execute_input":"2023-11-07T23:17:07.087491Z","iopub.status.idle":"2023-11-07T23:17:07.093234Z","shell.execute_reply.started":"2023-11-07T23:17:07.087453Z","shell.execute_reply":"2023-11-07T23:17:07.091534Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"image_paths = sorted(glob.glob(os.path.join(DATA_PATH, 'test/**/images/*.tif')))","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:18:59.243863Z","iopub.execute_input":"2023-11-07T23:18:59.244335Z","iopub.status.idle":"2023-11-07T23:18:59.255506Z","shell.execute_reply.started":"2023-11-07T23:18:59.244301Z","shell.execute_reply":"2023-11-07T23:18:59.254260Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Train","metadata":{}},{"cell_type":"code","source":"print(f\"Number of images: {len(image_paths)}\")","metadata":{"execution":{"iopub.status.busy":"2023-11-07T22:40:00.017685Z","iopub.execute_input":"2023-11-07T22:40:00.018137Z","iopub.status.idle":"2023-11-07T22:40:00.025566Z","shell.execute_reply.started":"2023-11-07T22:40:00.018103Z","shell.execute_reply":"2023-11-07T22:40:00.024146Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Test","metadata":{}},{"cell_type":"code","source":"print(f\"Number of images: {len(image_paths)}\")","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:19:44.800691Z","iopub.execute_input":"2023-11-07T23:19:44.801128Z","iopub.status.idle":"2023-11-07T23:19:44.807795Z","shell.execute_reply.started":"2023-11-07T23:19:44.801095Z","shell.execute_reply":"2023-11-07T23:19:44.806333Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from glob import glob\nfrom openslide import OpenSlide\nfrom pprint import pprint\nimport matplotlib.pyplot as plt","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:20:20.419587Z","iopub.execute_input":"2023-11-07T23:20:20.420094Z","iopub.status.idle":"2023-11-07T23:20:20.546586Z","shell.execute_reply.started":"2023-11-07T23:20:20.420058Z","shell.execute_reply":"2023-11-07T23:20:20.545222Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"os.environ[\"OPENCV_IO_MAX_IMAGE_PIXELS\"] = str(pow(2,100))\nimport cv2","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:20:48.306395Z","iopub.execute_input":"2023-11-07T23:20:48.306854Z","iopub.status.idle":"2023-11-07T23:20:48.312796Z","shell.execute_reply.started":"2023-11-07T23:20:48.306819Z","shell.execute_reply":"2023-11-07T23:20:48.311468Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Code by Ihelon https://www.kaggle.com/code/ihelon/illustrations-kumapi390-eda\n\nimage_shapes = {}\n\nfor ind, image_path in enumerate(image_paths):\n    image = cv2.imread(image_path)\n    image_shapes[image.shape] = image_shapes.get(image.shape, 0) + 1\n    \nimage_shapes","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:37:43.708082Z","iopub.execute_input":"2023-11-07T23:37:43.708561Z","iopub.status.idle":"2023-11-07T23:37:43.989862Z","shell.execute_reply.started":"2023-11-07T23:37:43.708528Z","shell.execute_reply":"2023-11-07T23:37:43.988639Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Test tif images","metadata":{}},{"cell_type":"code","source":"#Code by Ihelon https://www.kaggle.com/code/ihelon/illustrations-kumapi390-eda\n\n#n_cols = 4  #We have only 6 images\n\nfor ind, image_path in enumerate(image_paths):\n    image = cv2.imread(image_path)\n    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\n    \n    if ind % n_cols == 0:\n        plt.figure(figsize=(16, 5))\n    plt.subplot(1, n_cols, ind % n_cols + 1)\n    plt.imshow(image)\n    plt.axis(\"off\")\n    if ind % n_cols == n_cols - 1:\n        plt.show()","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:38:03.105867Z","iopub.execute_input":"2023-11-07T23:38:03.106326Z","iopub.status.idle":"2023-11-07T23:38:04.958841Z","shell.execute_reply.started":"2023-11-07T23:38:03.106290Z","shell.execute_reply":"2023-11-07T23:38:04.957817Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Why my Kidney Vasculature is Green: ) ","metadata":{}},{"cell_type":"code","source":"from PIL import Image\nImage.MAX_IMAGE_PIXELS = 10000000000\n\n#By Stpete Ishii https://www.kaggle.com/code/stpeteishii/lesion-sample-hgsc/notebook\n\nimg = Image.open('/kaggle/input/blood-vessel-segmentation/train/kidney_3_sparse/images/0004.tif')\nimg = np.asarray(img)\nprint(img.shape)\nheight,width=img.shape[0],img.shape[1]\n\ndiv=10\nh=height//div\nw=width//div\nprint(h,w)\n\nfor i in range(div):#row number\n    for j in range(div):#column number\n        img2=img[h*i:h*(i+1),w*j:w*(j+1)]\n        plt.figure(figsize=(8,8))\n        plt.title('row '+str(i)+', column '+str(j))\n        plt.imshow(img2)\n        plt.show()","metadata":{"execution":{"iopub.status.busy":"2023-11-07T22:59:49.322640Z","iopub.execute_input":"2023-11-07T22:59:49.323054Z","iopub.status.idle":"2023-11-07T23:00:25.760162Z","shell.execute_reply.started":"2023-11-07T22:59:49.323023Z","shell.execute_reply":"2023-11-07T23:00:25.758942Z"},"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#!apt-get update\n!apt -y install --fix-missing libvips libvips-dev\n!pip install pyvips\n#!conda install --channel conda-forge pyvips","metadata":{"execution":{"iopub.status.busy":"2023-11-07T23:52:43.956491Z","iopub.execute_input":"2023-11-07T23:52:43.956967Z","iopub.status.idle":"2023-11-07T23:53:14.387955Z","shell.execute_reply.started":"2023-11-07T23:52:43.956933Z","shell.execute_reply":"2023-11-07T23:53:14.386291Z"},"_kg_hide-output":true,"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Pyvips installation offline is at the beginning","metadata":{}},{"cell_type":"code","source":"#By Hirune924 https://www.kaggle.com/code/hirune924/fast-image-region-loading-using-pyvips\n\nimport pyvips\nimport numpy as np\nimport matplotlib.pyplot as plt\n\nformat_to_dtype = {\n    'uchar': np.uint8,\n    'char': np.int8,\n    'ushort': np.uint16,\n    'short': np.int16,\n    'uint': np.uint32,\n    'int': np.int32,\n    'float': np.float32,\n    'double': np.float64,\n    'complex': np.complex64,\n    'dpcomplex': np.complex128,\n}","metadata":{"execution":{"iopub.status.busy":"2023-11-08T00:12:24.381564Z","iopub.execute_input":"2023-11-08T00:12:24.382849Z","iopub.status.idle":"2023-11-08T00:12:24.389828Z","shell.execute_reply.started":"2023-11-08T00:12:24.382805Z","shell.execute_reply":"2023-11-08T00:12:24.388688Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#I suffered with that damm Crop. GitHub shows that I was Not alone in that cropping error task. \n\nOriginal was 2048. I tried manually up (4096) and down (1024/512) 256 was my last chance.","metadata":{}},{"cell_type":"markdown","source":"![image.png](attachment:0d88c571-e638-408c-a945-b97a548aa14c.png)","metadata":{},"attachments":{"0d88c571-e638-408c-a945-b97a548aa14c.png":{"image/png":"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"}}},{"cell_type":"code","source":"%%timeit\nfor i in range(5):\n    image = pyvips.Image.new_from_file('../input/blood-vessel-segmentation/train/kidney_1_voi/images/0000.tif')\n    patch = image.crop(i*256, i*256, 256, 256)\n\n    np_img = np.ndarray(buffer=patch.write_to_memory(),\n                       dtype=format_to_dtype[patch.format],\n                       shape=[patch.height, patch.width, patch.bands])\n    \n##By Hirune924 https://www.kaggle.com/code/hirune924/fast-image-region-loading-using-pyvips    ","metadata":{"execution":{"iopub.status.busy":"2023-11-08T00:18:39.413489Z","iopub.execute_input":"2023-11-08T00:18:39.414036Z","iopub.status.idle":"2023-11-08T00:18:42.845160Z","shell.execute_reply.started":"2023-11-08T00:18:39.413994Z","shell.execute_reply":"2023-11-08T00:18:42.843821Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Original Crop 10000, 10000, 2048, 2048. I changed all to 256","metadata":{}},{"cell_type":"code","source":"#By Hirune924 https://www.kaggle.com/code/hirune924/fast-image-region-loading-using-pyvips\n\nimage = pyvips.Image.new_from_file('../input/blood-vessel-segmentation/train/kidney_1_voi/images/0000.tif')\npatch = image.crop(256, 256, 256, 256) #10000, 10000, 2048, 2048\n\nnp_img = np.ndarray(buffer=patch.write_to_memory(),\n                   dtype=format_to_dtype[patch.format],\n                   shape=[patch.height, patch.width, patch.bands])\nplt.imshow(np_img);","metadata":{"execution":{"iopub.status.busy":"2023-11-08T00:23:56.515944Z","iopub.execute_input":"2023-11-08T00:23:56.516438Z","iopub.status.idle":"2023-11-08T00:23:56.951405Z","shell.execute_reply.started":"2023-11-08T00:23:56.516402Z","shell.execute_reply":"2023-11-08T00:23:56.949992Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#Acknowledgements:\n\nTMyok https://www.kaggle.com/code/tmyok1984/pyvips-offline-installer\n\nHirune924 https://www.kaggle.com/code/hirune924/fast-image-region-loading-using-pyvips\n\nStpete Ishii https://www.kaggle.com/code/stpeteishii/lesion-sample-hgsc/notebook\n\nGeorgii Kostiuchik https://www.kaggle.com/code/georgiikostiuchik/hubmap-exploratory-data-analysis\n\nIhelon https://www.kaggle.com/code/ihelon/illustrations-kumapi390-eda\n","metadata":{}}]}