Commit 6e28bb57 authored by Basnayake N.S.N.'s avatar Basnayake N.S.N.

Upload New File

parent 6beba97e
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "code",
"source": [
"import cv2\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def is_likely_leaf(img_rgb, mask):\n",
" total_pixels = mask.sum() / 255 # Count of white pixels in the mask\n",
"\n",
" # If the object is too small, it's likely not a leaf\n",
" if total_pixels < 5000: # this threshold might need adjustment based on your image resolutions\n",
" return False\n",
"\n",
" # Convert image to HSV\n",
" hsv = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2HSV)\n",
"\n",
" # Define a mask for green pixels\n",
" green_mask = cv2.inRange(hsv, (28, 0, 26), (95, 255, 255))\n",
"\n",
" # Count green pixels within the object (leaf)\n",
" green_pixels = cv2.bitwise_and(green_mask, green_mask, mask=mask).sum() / 255\n",
"\n",
" green_ratio = green_pixels / total_pixels\n",
"\n",
" # If more than 30% of the leaf is green, it's likely a leaf\n",
" if green_ratio > 0.3: # adjust this threshold as needed\n",
" return True\n",
" return False\n",
"\n",
"input_path = 'acc_check4.png'\n",
"\n",
"# Open the image\n",
"img = cv2.imread(input_path)\n",
"\n",
"# Convert to RGB for matplotlib\n",
"img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)\n",
"\n",
"# Convert the image to grayscale\n",
"gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n",
"\n",
"# Blur the grayscale image\n",
"blurred_gray = cv2.GaussianBlur(gray, (5, 5), 0)\n",
"\n",
"# Adaptive thresholding to binarize the image\n",
"binary = cv2.adaptiveThreshold(blurred_gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)\n",
"\n",
"# Morphological operations to refine the binary mask\n",
"kernel = np.ones((5, 5), np.uint8)\n",
"binary = cv2.morphologyEx(binary, cv2.MORPH_CLOSE, kernel)\n",
"\n",
"# Find the contours of the image\n",
"contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\n",
"\n",
"# Create a mask of the leaf\n",
"mask = np.zeros_like(gray)\n",
"if contours:\n",
" leaf_contour = max(contours, key=cv2.contourArea)\n",
" cv2.drawContours(mask, [leaf_contour], -1, (255), thickness=cv2.FILLED)\n",
"\n",
"# Extract the leaf with a gray background\n",
"gray_background = np.ones_like(img_rgb) * 127 # A (127,127,127) RGB image\n",
"leaf_on_gray = cv2.bitwise_and(gray_background, gray_background, mask=cv2.bitwise_not(mask)) + cv2.bitwise_and(img_rgb, img_rgb, mask=mask)\n",
"\n",
"# Check if it's likely a leaf\n",
"if is_likely_leaf(leaf_on_gray, mask):\n",
" # Convert the leaf image to HSV color space\n",
" img_HSV = cv2.cvtColor(leaf_on_gray, cv2.COLOR_RGB2HSV)\n",
"\n",
" # Detecting healthy areas using the HSV range for healthy green color\n",
" healthy_mask = cv2.inRange(img_HSV, (28,0,26), (95,255,255))\n",
" inverse_healthy_mask = cv2.bitwise_not(healthy_mask)\n",
"\n",
" # Calculate the total area of the leaf (white pixels in the mask after background removal)\n",
" total_leaf_area = np.sum(mask == 255)\n",
"\n",
" # Calculate the afflicted area of the leaf\n",
" afflicted_area = np.sum((inverse_healthy_mask == 255) & (mask == 255))\n",
"\n",
" # Calculate the affliction percentage\n",
" affliction_percentage = (afflicted_area / total_leaf_area) * 100\n",
"\n",
" print(f\"Affliction Percentage: {affliction_percentage:.2f}%\")\n",
"\n",
" # Generate final mask for display (healthy = black, afflictions = white, background = gray)\n",
" final_mask_display = np.where(mask == 255, inverse_healthy_mask, 127)\n",
"\n",
" # Display images\n",
" plt.figure(figsize=(20, 5))\n",
"\n",
" plt.subplot(1, 4, 1)\n",
" plt.imshow(leaf_on_gray)\n",
" plt.title('Leaf with Gray Background')\n",
"\n",
" plt.subplot(1, 4, 2)\n",
" plt.imshow(cv2.bitwise_and(leaf_on_gray, leaf_on_gray, mask=healthy_mask))\n",
" plt.title('Healthy Areas on Leaf')\n",
"\n",
" plt.subplot(1, 4, 3)\n",
" plt.imshow(cv2.bitwise_and(leaf_on_gray, leaf_on_gray, mask=inverse_healthy_mask))\n",
" plt.title('Afflictions on Leaf')\n",
"\n",
" plt.subplot(1, 4, 4)\n",
" plt.imshow(final_mask_display, cmap='gray')\n",
" plt.title('Mask Image')\n",
"\n",
" plt.tight_layout()\n",
" plt.show()\n",
"\n",
"else:\n",
" print(\"Please upload a clear picture of a leaf.\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 419
},
"id": "SjPqEEX5kvWv",
"outputId": "feee4df4-872c-4dbe-9ccd-c55116a10ef9"
},
"execution_count": 24,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Affliction Percentage: 26.00%\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 2000x500 with 4 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB8UAAAH/CAYAAADOlQwMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABo1UlEQVR4nO3deXhU9d0/7nfCEtmSiCyBsohgRVTUomJcEAVBRBTFquijaFErBVuXWqW2bq3iUqvWKq21Baug1r1SNxBErYgrj1ulwhd3ATcCAgYh5/eHP+ZxJEjClszJfV/XXBc552Tm85kJ85ozr5lz8pIkSQIAAAAAAAAAUii/pgcAAAAAAAAAAJuKUhwAAAAAAACA1FKKAwAAAAAAAJBaSnEAAAAAAAAAUkspDgAAAAAAAEBqKcUBAAAAAAAASC2lOAAAAAAAAACppRQHAAAAAAAAILWU4gAAAAAAAACkllKcOuOLL76Ik08+OUpKSiIvLy/OOOOMjXr9TzzxROTl5cUTTzxR5W3vvvvujToGKrf11lvHIYccUtPDqDF5eXlx0UUX1fQwAGqliy66KPLy8qq17SeffLKJR0Uueeutt6Jfv35RVFQUeXl5cf/999f0kABS6dZbb42uXbtGgwYNori4OLP8qquuim222Sbq1asXu+yyS0R8vQ944oknZrapzv56VdnPqjmPPPJI7LLLLrHFFltEXl5eLFq0qKaHBECKeO8e0kspzmY3fvz4yMvLixdeeGGz3u5ll10W48ePjxEjRsStt94axx9//Ca/zYkTJ8a11167ya5/3rx5MWrUqPj+978fjRs3jsaNG0e3bt1i5MiR8corr2yy210fqx/3b15atWoV+++/fzz88MM1PTwAasC6XhP07t07dtxxx808qq9fM9SWYnOPPfaIvLy8GDt2bE0PpdY78cQTo2nTppv9docNGxavvvpqXHrppXHrrbfGbrvtttnHAJDrbrzxxsjLy4uePXtWuv7NN9+ME088MTp37hx/+ctf4qabboqIiMceeyx+8YtfxN577x3jxo2Lyy67bKOO66GHHlJ8f4ea+AD6p59+GkcddVQ0atQobrjhhrj11lujSZMmm3UMAGw633wP+emnn15jfZIk0b59+8jLy6uVX4J6++23Iy8vL373u9/V9FCAStSv6QHA5jJ16tTYc88948ILL9wk19+rV69Yvnx5NGzYMLNs4sSJ8dprr230b6VHREyaNCmOPvroqF+/fhx33HGx8847R35+frz55ptx7733xtixY2PevHnRsWPHjX7bG+KSSy6JTp06RZIksWDBghg/fnwcfPDB8eCDD9bKFzIA1D2XXXZZHHnkkTF48OAaHcdbb70Vzz//fGy99dYxYcKEGDFiRI2OhzUtX748ZsyYEeeff36MGjWqpocDkLMmTJgQW2+9dTz33HMxZ86c6NKlS9b6J554IioqKuK6667LWjd16tTIz8+Pv/71r1n74t9W2f56VTz00ENxww03VFqML1++POrX97ba5vb888/HkiVL4je/+U307du3pocDwCayxRZbxMSJE2OfffbJWj59+vR4//33o6CgoIZGBuQyr96pMxYuXBjdunXbZNefn58fW2yxxSa7/m+aO3duHHPMMdGxY8d4/PHHo02bNlnrr7jiirjxxhsjP/+7DwaxdOnSzf6J6gEDBmR9g2r48OHRunXruP3223O6FK+J+xKAdLvtttuiVatWcfXVV8eRRx4Zb7/9dmy99dbr/D2ZtPl8/PHHERFZh/EFoHrmzZsXzzzzTNx7773x4x//OCZMmLDGh9kXLlwYEWs+3y5cuDAaNWq0zrJ7U+yvb679f7Kt7W8BgHQ5+OCD46677oo//OEPWR9CmzhxYvTo0cNpzYD14vDp1FoffPBB/OhHP4rWrVtHQUFB7LDDDvG3v/0ta5sVK1bEBRdcED169IiioqJo0qRJ7LvvvjFt2rTMNqvPATJv3rz417/+lTn8yttvv13p7R5xxBHxgx/8IGvZoEGDIi8vL/75z39mls2cOTPy8vIyh/7+9jnKevfuHf/617/inXfeydzmt9/IrqioiEsvvTTatWsXW2yxRfTp0yfmzJmzzvvmyiuvjKVLl8a4cePWKMQjIurXrx8//elPo3379pllqw8pOnfu3Dj44IOjWbNmcdxxx0VExFNPPRU//OEPo0OHDlFQUBDt27ePM888M5YvX575/XHjxkVeXl68/PLLa9zeZZddFvXq1YsPPvhgnWP/tuLi4mjUqNEan7D/3e9+F3vttVdstdVW0ahRo+jRo8daz+Ny2223xR577BGNGzeOLbfcMnr16hWPPfbYd97uLbfcEvXr149zzjkns+zTTz+N448/PgoLC6O4uDiGDRsW//u//xt5eXkxfvz4zHbfdV8uXbo0zj777Gjfvn0UFBTEdtttF7/73e8iSZLM768+jM43r3O1b5+XbvX5a+fMmRMnnnhiFBcXR1FRUZx00kmxbNmyrN8tLy+PM888M1q2bBnNmjWLQw89NN5///3vvB8ActFtt90WPXr0iEaNGkXz5s3jmGOOiffeey9rm6pkW2Xy8vJi6dKlccstt2Ty+5vnJI2IWLRo0Xc+J++3336x8847V3r92223XfTv379K85w4cWIceeSRccghh0RRUVFMnDhxjW1W58Qbb7wRxx57bGy55ZZZn6TfmPfV/Pnz46STTop27dpFQUFBtGnTJg477LC1vqb6pqlTp8a+++4bTZo0ieLi4jjssMPiP//5T6VzqUrmbYiZM2fGQQcdFEVFRdG4cePYb7/94t///nfWNu+880785Cc/ie222y4aNWoUW221Vfzwhz/MmutFF12UOSLPOeecU+lrPQDWbcKECbHlllvGwIED48gjj4wJEyZkrd96660zJXnLli0z+0x5eXkxbty4WLp0aSazK9vHilj7OcVnzpwZBx98cGy55ZbRpEmT6N69e1x33XUR8fV+3w033BARkXUasNUqO6f4yy+/HAMGDIjCwsJo2rRp9OnTJ5599tmsbVYfFvbf//53nHXWWdGyZcto0qRJHH744ZkPW632wgsvRP/+/aNFixbRqFGj6NSpU/zoRz+q0v164403xg477BAFBQXRtm3bGDly5Brn3l59qpo33ngj9t9//2jcuHF873vfiyuvvLJKt1FVG+v1SO/evWPYsGEREbH77rtX+joNgHQYOnRofPrppzF58uTMshUrVsTdd98dxx57bKW/U9X3kydPnhz77LNPFBcXR9OmTWO77baLX/7yl985nvLy8sy++TPPPFOtuazO/qeffjp++tOfRsuWLaO4uDh+/OMfx4oVK2LRokVxwgknxJZbbhlbbrll/OIXv8h6L7k6c1u+fHn89Kc/jRYtWmTeH/7ggw8qfd1Slf4F0sY3xamVFixYEHvuuWfk5eXFqFGjomXLlvHwww/H8OHDY/HixZnDkS9evDhuvvnmGDp0aJxyyimxZMmS+Otf/xr9+/eP5557LnbZZZfYfvvt49Zbb40zzzwz2rVrF2effXZEfL0zXZl99903HnjggVi8eHEUFhZGkiTx73//O/Lz8+Opp56KQw89NCK+3mHLz8+Pvffeu9LrOf/886OsrCzef//9uOaaayIi1jjP5eWXXx75+fnx85//PMrKyuLKK6+M4447LmbOnPmd98+kSZOiS5cuaz3f2tqsXLky+vfvH/vss0/87ne/i8aNG0dExF133RXLli2LESNGxFZbbRXPPfdcXH/99fH+++/HXXfdFRERRx55ZIwcOTImTJgQu+66a9b1TpgwIXr37h3f+9731jmGsrKy+OSTTyJJkli4cGFcf/318cUXX8T//M//ZG133XXXxaGHHhrHHXdcrFixIu6444744Q9/GJMmTYqBAwdmtrv44ovjoosuir322isuueSSaNiwYcycOTOmTp0a/fr1q3QMN910U5x22mnxy1/+Mn77299GxNcfUBg0aFA899xzMWLEiOjatWs88MADmR3uqtyXSZLEoYceGtOmTYvhw4fHLrvsEo8++micc8458cEHH2T+DtbHUUcdFZ06dYoxY8bESy+9FDfffHO0atUqrrjiisw2J598ctx2221x7LHHxl577RVTp07Nuq8AaqvV2fBtX3311RrLLr300vj1r38dRx11VJx88snx8ccfx/XXXx+9evWKl19+OfOtoapkW2VuvfXWOPnkk2OPPfaIU089NSIiOnfunLXNup6Tjz/++DjllFPitddeyzon+vPPPx///e9/41e/+tU675OZM2fGnDlzYty4cdGwYcM44ogjYsKECWvdUf/hD38Y2267bVx22WWZneeNfV8NGTIkXn/99Tj99NNj6623joULF8bkyZPj3Xff/c4yeMqUKTFgwIDYZptt4qKLLorly5fH9ddfH3vvvXe89NJLa/xuVTJvfU2dOjUGDBgQPXr0iAsvvDDy8/Nj3LhxccABB8RTTz0Ve+yxR0R8/Vg988wzccwxx0S7du3i7bffjrFjx0bv3r3jjTfeiMaNG8cRRxwRxcXFceaZZ8bQoUPj4IMPrpFzmgPkugkTJsQRRxwRDRs2jKFDh8bYsWPj+eefj9133z0iIq699tr4+9//Hvfdd1+MHTs2mjZtGt27d48uXbrETTfdFM8991zcfPPNERGx1157Vfl2J0+eHIcccki0adMmfvazn0VJSUn85z//iUmTJsXPfvaz+PGPfxwffvhhTJ48OW699dZ1Xt/rr78e++67bxQWFsYvfvGLaNCgQfz5z3+O3r17x/Tp09fYfz/99NNjyy23jAsvvDDefvvtuPbaa2PUqFFx5513RsTX34ju169ftGzZMs4777woLi6Ot99+O+699951juWiiy6Kiy++OPr27RsjRoyI2bNnZ+7Xf//739GgQYPMtp9//nkcdNBBccQRR8RRRx0Vd999d5x77rmx0047xYABA6p8f67Nxnw9cv7558d2220XN910U+bUbN9+nQZAOmy99dZRWloat99+eyaPHn744SgrK4tjjjkm/vCHP6zxO1V5P/n111+PQw45JLp37x6XXHJJFBQUxJw5c9b4oPQ3LV++PA477LB44YUXYsqUKZnXKNV1+umnR0lJSVx88cXx7LPPxk033RTFxcXxzDPPRIcOHeKyyy6Lhx56KK666qrYcccd44QTTqjW3CK+/lDfP/7xjzj++ONjzz33jOnTp1f6/nBV+xdInQQ2s3HjxiURkTz//PNr3Wb48OFJmzZtkk8++SRr+THHHJMUFRUly5YtS5IkSVauXJmUl5dnbfP5558nrVu3Tn70ox9lLe/YsWMycODAdY7v+eefTyIieeihh5IkSZJXXnkliYjkhz/8YdKzZ8/Mdoceemiy6667Zn6eNm1aEhHJtGnTMssGDhyYdOzYcY3bWL3t9ttvnzX+6667LomI5NVXX13r+MrKypKISAYPHrzGus8//zz5+OOPM5fV91OSJMmwYcOSiEjOO++8NX7vm9utNmbMmCQvLy955513MsuGDh2atG3bNlm1alVm2UsvvZRERDJu3Li1jjlJ/u9x//aloKAgGT9+/DrHtGLFimTHHXdMDjjggMyyt956K8nPz08OP/zwrDElSZJUVFRk/v3Nx/66665L8vLykt/85jdZ299zzz1JRCTXXnttZtmqVauSAw44YI35re2+vP/++5OISH77299mLT/yyCOTvLy8ZM6cOUmSJMm8efPWep9FRHLhhRdmfr7wwguTiFjj7/nwww9Pttpqq8zPs2bNSiIi+clPfpK13bHHHrvGdQLUFmvLhm9edthhh8z2b7/9dlKvXr3k0ksvzbqeV199Nalfv37W8qpm2+rn2W9q0qRJMmzYsDV+v6rPyYsWLUq22GKL5Nxzz83a7qc//WnSpEmT5IsvvviOe+Vro0aNStq3b5/Js8ceeyyJiOTll1+udExDhw7NWr6x76vPP/88iYjkqquuWufYv22XXXZJWrVqlXz66aeZZf/7v/+b5OfnJyeccMIac1nX/bs2w4YNS5o0abLW9RUVFcm2226b9O/fP+t1wrJly5JOnTolBx54YNayb5sxY0YSEcnf//73zLLVmb4+9wsASfLCCy8kEZFMnjw5SZKvn6vbtWuX/OxnP8vabnVGfPzxx1nL1/bc37Fjx6ws//b++sqVK5NOnTolHTt2TD7//POs3/1mRowcOXKN1wmrfXs/a/DgwUnDhg2TuXPnZpZ9+OGHSbNmzZJevXpllq1+/dO3b9+s2zrzzDOTevXqJYsWLUqSJEnuu+++db53UpmFCxcmDRs2TPr165e1n/zHP/4xiYjkb3/7W2bZfvvtt0a2lZeXJyUlJcmQIUPWeVvrep9lU7x2q8p7SgDkrm8+z//xj39MmjVrlsmIH/7wh8n++++fJEnlGVSV95OvueaaSl9TfNPq1w133XVXsmTJkmS//fZLWrRoscb+eGUq20dcPadv74uWlpYmeXl5yWmnnZZZtnLlyqRdu3bJfvvtV+25vfjii0lEJGeccUbWtieeeOIar1uq2r9A2jh8OrVOkiRxzz33xKBBgyJJkvjkk08yl/79+0dZWVm89NJLERFRr169zLnDKioq4rPPPouVK1fGbrvtltmmunbddddo2rRpPPnkkxHx9TfC27VrFyeccEK89NJLsWzZskiSJJ5++unYd999N2iuJ510Uta5z1Zf3//7f/9vrb+zePHiiFjzW+cRXx9KrGXLlpnL6kO9fdOIESPWWNaoUaPMv5cuXRqffPJJ7LXXXpEkSdbh0k844YT48MMPsw5PP2HChGjUqFEMGTLku6aaccMNN8TkyZNj8uTJcdttt8X+++8fJ5988hqfdv/mmD7//PMoKyuLfffdN+txvf/++6OioiIuuOCCNc6f/s3D2q125ZVXxs9+9rO44oor1viW3iOPPBINGjSIU045JbMsPz8/Ro4cuda5fPu+fOihh6JevXrx05/+NGv52WefHUmSZA61vz5OO+20rJ/33Xff+PTTTzN/Dw899FBExBq37VN9QC74ZjZ889K9e/es7e69996oqKiIo446Kuv1QUlJSWy77bZZ+VTVbFsf63pOLioqisMOOyxuv/32zLe2V61aFXfeeWcMHjx4nef7XrlyZdx5551x9NFHZ/LsgAMOiFatWq1xSNm1jWlj31erz9f6xBNPxOeff16VuykiIj766KOYNWtWnHjiidG8efPM8u7du8eBBx6Yya/vmsu379/1NWvWrHjrrbfi2GOPjU8//TRznyxdujT69OkTTz75ZFRUVERE9n3y1VdfxaeffhpdunSJ4uLi9X6NCcCaJkyYEK1bt479998/Ir7ejzv66KPjjjvuiFWrVm2y23355Zdj3rx5ccYZZ6xxburK9iXXZdWqVfHYY4/F4MGDY5tttsksb9OmTRx77LHx9NNPr5Fjp556atZt7bvvvrFq1ap45513IuL/zpk9adKkSo+eszZTpkyJFStWxBlnnJG1n3zKKadEYWFh/Otf/8ravmnTpllHbmvYsGHsscce3/m+RFXVltduAOSmo446KpYvXx6TJk2KJUuWxKRJk9Z66PSIqr2fvDpfH3jggcz+39qUlZVFv3794s0334wnnngidtlllw2az/Dhw7Oyv2fPnpEkSQwfPjyzrF69erHbbrutkcNVmdsjjzwSERE/+clPsn739NNPz/q5Ov0LpI3Dp1PrfPzxx7Fo0aK46aab4qabbqp0m4ULF2b+fcstt8TVV18db775ZtaOYqdOndbr9uvVqxelpaXx1FNPRcTXpfi+++4b++yzT6xatSqeffbZaN26dXz22WcbXIp36NAh6+ctt9wyIuI732xu1qxZRER88cUXa6z785//HEuWLIkFCxascTjyiK/PNd6uXbs1lr/77rtxwQUXxD//+c81brusrCzz7wMPPDDatGkTEyZMiD59+kRFRUXcfvvtcdhhh2XGtS577LFH7Lbbbpmfhw4dGrvuumuMGjUqDjnkkMyHBCZNmhS//e1vY9asWVFeXp7Z/psvHObOnRv5+fnRrVu3dd7u9OnT41//+lece+65WecRX+2dd96JNm3aZA4pv1qXLl0qvb7K7st33nkn2rZtu8Z9sf3222fWr6/v+lspLCyMd955J/Lz89c4dNx222233rcJsLl8OxtW23LLLbMOq/7WW29FkiSx7bbbVno93zwUaFWzbX2s6zk54usPkt15553x1FNPRa9evWLKlCmxYMGCOP7449d5/Y899lh8/PHHsccee8ScOXMyy/fff/+4/fbb44orrljjw2Dfft2zse+rgoKCuOKKK+Lss8+O1q1bx5577hmHHHJInHDCCVFSUrLWuazOvsryaPvtt49HH300li5dmvVBgarcv+vjrbfeiohY66lRIr6e75ZbbhnLly+PMWPGxLhx4+KDDz7IOp/bhv79APC1VatWxR133BH7779/zJs3L7O8Z8+ecfXVV8fjjz++1lNibai5c+dGRGSd5mRDfPzxx7Fs2bK15l1FRUW89957scMOO2SWr+v9gP322y+GDBkSF198cVxzzTXRu3fvGDx4cBx77LFRUFCw1rGsLXsbNmwY22yzzRr7pe3atVvjgwBbbrllvPLKK+ua9jrVltduAOSmli1bRt++fWPixImxbNmyWLVqVRx55JFr3b4q7ycfffTRcfPNN8fJJ58c5513XvTp0yeOOOKIOPLII9fYzz7jjDPiyy+/jJdffjkrw9fXt7O/qKgoIiLat2+/xvJvZ2FV5rb6/eFvvz/w7fe3q9u/QJooxal1Vn9C63/+53/W+qbl6m+O3XbbbXHiiSfG4MGD45xzzolWrVpFvXr1YsyYMZmd3PWxzz77xKWXXhpffvllPPXUU3H++edHcXFx7LjjjvHUU09F69atIyI2uBSvV69epcu/+cbrtxUVFUWbNm3itddeW2Pd6nOUvf3225X+bkFBwRrhvmrVqjjwwAPjs88+i3PPPTe6du0aTZo0iQ8++CBOPPHErE/M1atXL4499tj4y1/+EjfeeGP8+9//jg8//LDSAr6q8vPzY//994/rrrsu3nrrrdhhhx0y527v1atX3HjjjdGmTZto0KBBjBs3LiZOnLhet7PDDjvEokWL4tZbb40f//jH6/2hidUquy+ram3fPPiub0Ksz98KQNpUVFREXl5ePPzww5U+L64+ikp1sm19VOU5uX///tG6deu47bbbolevXnHbbbdFSUlJ9O3bd53Xv/rb4EcddVSl66dPn575Rt1q3/zUeMSmua/OOOOMGDRoUNx///3x6KOPxq9//esYM2ZMTJ06NXbdddd1zquqNlXmrZ7LVVddtdZP+K++X04//fQYN25cnHHGGVFaWhpFRUWRl5cXxxxzzAb//QDwtalTp8ZHH30Ud9xxR9xxxx1rrJ8wYcImK8Vrg3XlXV5eXtx9993x7LPPxoMPPhiPPvpo/OhHP4qrr746nn322UqPHrcpxrEhastrNwBy17HHHhunnHJKzJ8/PwYMGLDGEV5Wq+r7yY0aNYonn3wypk2bFv/617/ikUceiTvvvDMOOOCAeOyxx7Ly6rDDDos77rgjLr/88vj73/++3u8Fr7a2zK1s+TdzeGO/V16d/gXSRilOrdOyZcto1qxZrFq1ap1vHN99992xzTbbxL333ptVNF544YUbNIZ99903VqxYEbfffnt88MEHmfK7V69emVL8+9//fqYcX5v1OexaVQwcODBuvvnmeO6552KPPfbYoOt69dVX47///W/ccsstccIJJ2SWT548udLtTzjhhLj66qvjwQcfjIcffjhatmwZ/fv336AxrFy5MiL+79vv99xzT2yxxRbx6KOPZn0Cfty4cVm/17lz56ioqIg33nhjnYevadGiRdx9992xzz77RJ8+feLpp5+Otm3bZtZ37Ngxpk2bFsuWLcv6tvg3v6G3Lh07dowpU6bEkiVLsr4t/uabb2bWR/zfNwAWLVqU9fsb8k3yjh07RkVFRcydOzfrGwGzZ89e7+sEqG06d+4cSZJEp06d4vvf//5at6tutn3bxsjv1R8kGz9+fFxxxRVx//33xymnnLLWneDVli5dGg888EAcffTRlX4C/qc//WlMmDBhjVL82zbVfdW5c+c4++yz4+yzz4633nordtlll7j66qvjtttuq3T71dlXWR69+eab0aJFi3UeTn5jWX00lcLCwiq9xhw2bFhcffXVmWVffvnlGtkNwPqbMGFCtGrVqtLTft17771x3333xZ/+9Kc1Pvi1MazOhNdee+07M6GqrwlatmwZjRs3Xmve5efnr/EtsKrac889Y88994xLL700Jk6cGMcdd1zccccdcfLJJ1e6/Tez95uHcl+xYkXMmzevSh/Q21g212s3ANLr8MMPjx//+Mfx7LPPxp133rnW7ar6fnLE11/S6tOnT/Tp0yd+//vfx2WXXRbnn39+TJs2LSsnBw8eHP369YsTTzwxmjVrFmPHjt24k6uiqs5t9fvD8+bNyzpKy7ff365O/wJp45zi1Dr16tWLIUOGxD333FPpt6E//vjjrG0jsj85NXPmzJgxY8YGjaFnz57RoEGDuOKKK6J58+aZw6Psu+++8eyzz8b06dOr9C3xJk2abJLDfP3iF7+Ixo0bx49+9KNYsGDBGuur84nuyu7DJEniuuuuq3T77t27R/fu3ePmm2+Oe+65J4455pioX3/9P1/z1VdfxWOPPRYNGzbMHGa8Xr16kZeXl/XN6bfffjvuv//+rN8dPHhw5OfnxyWXXLLGJ8cruw/atWsXU6ZMieXLl8eBBx4Yn376aWZd//7946uvvoq//OUvmWUVFRWVvkGzNgcffHCsWrUq/vjHP2Ytv+aaayIvLy8GDBgQEV+/Gd+iRYvMeetXu/HGG6t8W9+2+rr/8Ic/ZC2/9tpr1/s6AWqbI444IurVqxcXX3zxGs/zSZJknterm23f1qRJk41Sfh5//PHx+eefx49//OP44osvqnRklfvuuy+WLl0aI0eOjCOPPHKNyyGHHBL33HNP1uHSKrOx76tly5bFl19+mbWsc+fO0axZs+8cS5s2bWKXXXaJW265Jes+fe211+Kxxx6Lgw8++DvnsTH16NEjOnfuHL/73e8qPQ3Nt19jfvt+u/766zfp+W0B6pLly5fHvffeG4ccckileTdq1KhYsmRJ/POf/9wkt/+DH/wgOnXqFNdee+0amf/N5//VH9xa1+uCevXqRb9+/eKBBx7IOnLbggULYuLEibHPPvtU+xQgn3/++RpZtPrD4N+VvX379o2GDRvGH/7wh6zf/+tf/xplZWUxcODAao1jQ2yu124ApFfTpk1j7NixcdFFF8WgQYPWul1V30/+7LPP1vjd78rXE044If7whz/En/70pzj33HPXbxIbqKpzW/3FtW+/x3z99devcX1V7V8gbXxTnBrzt7/9LR555JE1lv/sZz+Lyy+/PKZNmxY9e/aMU045Jbp16xafffZZvPTSSzFlypRMeB1yyCFx7733xuGHHx4DBw6MefPmxZ/+9Kfo1q1bpW92VlXjxo2jR48e8eyzz8agQYMynw7v1atXLF26NJYuXVqlUrxHjx5x5513xllnnRW77757NG3a9DvDu6q23XbbmDhxYgwdOjS22267OO6442LnnXeOJEli3rx5MXHixMjPz6/0/OHf1rVr1+jcuXP8/Oc/jw8++CAKCwvjnnvu+c7zmp9wwgnx85//PCKi2odOf/jhhzPfnF64cGFMnDgx3nrrrTjvvPMybxIMHDgwfv/738dBBx0Uxx57bCxcuDBuuOGG6NKlS9Z5zbp06RLnn39+/OY3v4l99903jjjiiCgoKIjnn38+2rZtG2PGjFnj9rt06RKPPfZY9O7dO/r37x9Tp06NwsLCGDx4cOyxxx5x9tlnx5w5c6Jr167xz3/+M/O3VpVvCAwaNCj233//OP/88+Ptt9+OnXfeOR577LF44IEH4owzzsg63/fJJ58cl19+eZx88smx2267xZNPPhn//e9/q3VfftMuu+wSQ4cOjRtvvDHKyspir732iscff7xa33QHqO06d+4cv/3tb2P06NHx9ttvx+DBg6NZs2Yxb968uO++++LUU0+Nn//85+uVbd/Uo0ePmDJlSvz+97+Ptm3bRqdOnTKnKKmOXXfdNXbccce46667Yvvtt48f/OAH6/ydCRMmxFZbbRV77bVXpesPPfTQ+Mtf/hL/+te/4ogjjljr9Wzs++q///1v9OnTJ4466qjo1q1b1K9fP+67775YsGBBHHPMMd85p6uuuioGDBgQpaWlMXz48Fi+fHlcf/31UVRUFBdddNE675Pq+Oqrr+K3v/3tGsubN28eP/nJT+Lmm2+OAQMGxA477BAnnXRSfO9734sPPvggpk2bFoWFhfHggw9GxNevMW+99dYoKiqKbt26xYwZM2LKlCmx1VZbbdTxAtRV//znP2PJkiVx6KGHVrp+zz33jJYtW8aECRPi6KOP3ui3n5+fH2PHjo1BgwbFLrvsEieddFK0adMm3nzzzXj99dfj0UcfjYivXxNEfH2klv79+0e9evXWmnu//e1vY/LkybHPPvvET37yk6hfv378+c9/jvLy8rjyyiurPcZbbrklbrzxxjj88MOjc+fOsWTJkvjLX/4ShYWF3/mhspYtW8bo0aPj4osvjoMOOigOPfTQmD17dtx4442x++67b9DpzyozZ86cSrN31113jYEDB26W124ApNvaDvH9TVV9P/mSSy6JJ598MgYOHBgdO3aMhQsXxo033hjt2rWLffbZp9LrHjVqVCxevDjOP//8KCoqil/+8pcbbW5VUdW59ejRI4YMGRLXXnttfPrpp7HnnnvG9OnTM+85f/P97ar2L5A6CWxm48aNSyJirZf33nsvSZIkWbBgQTJy5Mikffv2SYMGDZKSkpKkT58+yU033ZS5roqKiuSyyy5LOnbsmBQUFCS77rprMmnSpGTYsGFJx44ds263Y8eOycCBA6s8znPOOSeJiOSKK67IWt6lS5ckIpK5c+dmLZ82bVoSEcm0adMyy7744ovk2GOPTYqLi5OIyIxp9bZ33XVX1nXMmzcviYhk3LhxVRrjnDlzkhEjRiRdunRJtthii6RRo0ZJ165dk9NOOy2ZNWtW1rbDhg1LmjRpUun1vPHGG0nfvn2Tpk2bJi1atEhOOeWU5H//93/XOpaPPvooqVevXvL973+/SuNMksof9y222CLZZZddkrFjxyYVFRVZ2//1r39Ntt1226SgoCDp2rVrMm7cuOTCCy9MKnva+tvf/pbsuuuuSUFBQbLlllsm++23XzJ58uTM+soe+5kzZybNmjVLevXqlSxbtixJkiT5+OOPk2OPPTZp1qxZUlRUlJx44onJv//97yQikjvuuKNK9+WSJUuSM888M2nbtm3SoEGDZNttt02uuuqqNea3bNmyZPjw4UlRUVHSrFmz5KijjkoWLlyYRERy4YUXZrZbPeePP/640vtz3rx5mWXLly9PfvrTnyZbbbVV0qRJk2TQoEHJe++9t8Z1AtQWq5/Lnn/++UrX77fffskOO+ywxvJ77rkn2WeffZImTZokTZo0Sbp27ZqMHDkymT17dmabqmZbZdny5ptvJr169UoaNWqUREQybNiwrG2r8py82pVXXplERHLZZZet8/5YsGBBUr9+/eT4449f6zbLli1LGjdunBx++OHfOabVNtZ99cknnyQjR45MunbtmjRp0iQpKipKevbsmfzjH/9Y57ySJEmmTJmS7L333kmjRo2SwsLCZNCgQckbb7yRtc363L/fNGzYsLW+vuzcuXNmu5dffjk54ogjkq222iopKChIOnbsmBx11FHJ448/ntnm888/T0466aSkRYsWSdOmTZP+/fsnb775ZtKxY8fM30OS/N9rt6uuuqpK9wMAXxs0aFCyxRZbJEuXLl3rNieeeGLSoEGD5JNPPllrRqxt3+zbz9eV7a8nSZI8/fTTyYEHHpg0a9YsadKkSdK9e/fk+uuvz6xfuXJlcvrppyctW7ZM8vLysl4zVLaf9dJLLyX9+/dPmjZtmjRu3DjZf//9k2eeeSZrm7W9/vn2GF966aVk6NChSYcOHZKCgoKkVatWySGHHJK88MILa73PvumPf/xj0rVr16RBgwZJ69atkxEjRiSff/551jZre61V2XsqlenYseNas3f48OGZ7Tbma7d1vX4EILdV9Xm+svd7q/J+8uOPP54cdthhSdu2bZOGDRsmbdu2TYYOHZr897//zWyztvfuf/GLXyQRkfzxj39c67gq20dc25yq8/qmqu+VL126NBk5cmTSvHnzpGnTpsngwYOT2bNnJxGRXH755VnbVqV/gbTJS5JqHGcZICI++eSTaNOmTVxwwQXx61//uqaHs0ndf//9cfjhh8fTTz8de++9d00PB4Acc91118WZZ54Zb7/9dnTo0KGmhwMAAADUIbNmzYpdd901brvttjjuuONqejhQo5xTHKi28ePHx6pVq+L444+v6aFsVMuXL8/6edWqVXH99ddHYWFhlQ55CwDflCRJ/PWvf4399ttPIQ4AAABsUt9+fzsi4tprr438/Pzo1atXDYwIahfnFAeqbOrUqfHGG2/EpZdeGoMHD46tt966poe0UZ1++umxfPnyKC0tjfLy8rj33nvjmWeeicsuuywaNWpU08MDIEcsXbo0/vnPf8a0adPi1VdfjQceeKCmhwQAAACk3JVXXhkvvvhi7L///lG/fv14+OGH4+GHH45TTz012rdvX9PDgxrn8OlAlfXu3TueeeaZ2HvvveO2226L733vezU9pI1q4sSJcfXVV8ecOXPiyy+/jC5dusSIESNi1KhRNT00AHLI22+/HZ06dYri4uL4yU9+EpdeemlNDwkAAABIucmTJ8fFF18cb7zxRnzxxRfRoUOHOP744+P888+P+vV9RxZqrBS/4YYb4qqrror58+fHzjvvHNdff33sscceNTEUAKAaZDgA5B75DQC5R34DwMZTI+cUv/POO+Oss86KCy+8MF566aXYeeedo3///rFw4cKaGA4AUEUyHAByj/wGgNwjvwFg46qRb4r37Nkzdt999/jjH/8YEREVFRXRvn37OP300+O8887b3MMBAKpIhgNA7pHfAJB75DcAbFyb/SQCK1asiBdffDFGjx6dWZafnx99+/aNGTNmVOk6Kioq4sMPP4xmzZpFXl7ephoqANS4JEliyZIl0bZt28jPr5EDvGRsaIbLbwDqktqS4fbBAaDq5DcA5J6q5vdmL8U/+eSTWLVqVbRu3TpreevWrePNN9+s9HfKy8ujvLw88/MHH3wQ3bp126TjBIDa5L333ot27drV6Biqm+HyGwBqPsPtgwNA9clvAMg968rvzV6Kr48xY8bExRdfvMbyM888MwoKCmpgRACweZSXl8c111wTzZo1q+mhVNva8hsA6pI0Zbh9cADSLo374PIbgLSran5v9lK8RYsWUa9evViwYEHW8gULFkRJSUmlvzN69Og466yzMj8vXrw42rdvHwUF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fuf2x90AAAAAAAAA4DsoxQEAAAAAAABIrZwtxQsKCuLCCy+MgoKCmh7KJmOO6VAX5hhRN+ZpjulQF+ZYm9WF+98c06MuzNMc08Ec2dTqwv1fF+YYUTfmaY7pYI7pUVfmWRvVlfu+LszTHNOhLswxom7M0xxzV16SJElNDwIAAAAAAAAANoWc/aY4AAAAAAAAAKyLUhwAAAAAAACA1FKKAwAAAAAAAJBaSnEAAAAAAAAAUisnS/Ebbrghtt5669hiiy2iZ8+e8dxzz9X0kNbbRRddFHl5eVmXrl27ZtZ/+eWXMXLkyNhqq62iadOmMWTIkFiwYEENjnjdnnzyyRg0aFC0bds28vLy4v77789anyRJXHDBBdGmTZto1KhR9O3bN956662sbT777LM47rjjorCwMIqLi2P48OHxxRdfbMZZrNu65nniiSeu8dgedNBBWdvU5nmOGTMmdt9992jWrFm0atUqBg8eHLNnz87apip/n++++24MHDgwGjduHK1atYpzzjknVq5cuTmn8p2qMs/evXuv8ViedtppWdvU5nmOHTs2unfvHoWFhVFYWBilpaXx8MMPZ9an4XFc1xxz/TFMC/ldu/M7om5keNrzO6JuZLj8zv3HMEJ+5xIZXrszXH7L72+qzc+L8jv3H8PVZHhukN/yu6bJ76/l+nN/XcjviLqR4fI7IpIcc8cddyQNGzZM/va3vyWvv/56csoppyTFxcXJggULanpo6+XCCy9Mdthhh+Sjjz7KXD7++OPM+tNOOy1p37598vjjjycvvPBCsueeeyZ77bVXDY543R566KHk/PPPT+69994kIpL77rsva/3ll1+eFBUVJffff3/yv//7v8mhhx6adOrUKVm+fHlmm4MOOijZeeedk2effTZ56qmnki5duiRDhw7dzDP5buua57Bhw5KDDjoo67H97LPPsrapzfPs379/Mm7cuOS1115LZs2alRx88MFJhw4dki+++CKzzbr+PleuXJnsuOOOSd++fZOXX345eeihh5IWLVoko0eProkpVaoq89xvv/2SU045JeuxLCsry6yv7fP85z//mfzrX/9K/vvf/yazZ89OfvnLXyYNGjRIXnvttSRJ0vE4rmuOuf4YpoH8rv35nSR1I8PTnt9JUjcyXH7n/mOYJPI7V8jw2p/h8lt+r1bbnxfld+4/hqvJ8NpPfsvv2kB+fy3Xn/vrQn4nSd3IcPmdJDlXiu+xxx7JyJEjMz+vWrUqadu2bTJmzJgaHNX6u/DCC5Odd9650nWLFi1KGjRokNx1112ZZf/5z3+SiEhmzJixmUa4Yb4ddhUVFUlJSUly1VVXZZYtWrQoKSgoSG6//fYkSZLkjTfeSCIief755zPbPPzww0leXl7ywQcfbLaxV8faQv2www5b6+/k2jwXLlyYREQyffr0JEmq9vf50EMPJfn5+cn8+fMz24wdOzYpLCxMysvLN+8Equjb80ySr8PgZz/72Vp/JxfnueWWWyY333xzah/HJPm/OSZJOh/DXCO/cyu/k6RuZHhdyO8kqRsZLr9z/zFcTX7XPjI8tzJcflcu1+aYJPJ7bXJtjklSN/I7SWR4bSO/5XdtI7/T89xfV/I7SepGhte1/M6pw6evWLEiXnzxxejbt29mWX5+fvTt2zdmzJhRgyPbMG+99Va0bds2ttlmmzjuuOPi3XffjYiIF198Mb766qus+Xbt2jU6dOiQs/OdN29ezJ8/P2tORUVF0bNnz8ycZsyYEcXFxbHbbrtltunbt2/k5+fHzJkzN/uYN8QTTzwRrVq1iu222y5GjBgRn376aWZdrs2zrKwsIiKaN28eEVX7+5wxY0bstNNO0bp168w2/fv3j8WLF8frr7++GUdfdd+e52oTJkyIFi1axI477hijR4+OZcuWZdbl0jxXrVoVd9xxRyxdujRKS0tT+Th+e46rpeUxzEXyO/fzO6JuZXia8juibmS4/M79x1B+104yPPczXH5/LRfnKL9z/7m/LuR3hAyvjeS3/K6t2VYZ+Z17z4lpz++IupHhdTW/69f0AKrjk08+iVWrVmXd4RERrVu3jjfffLOGRrVhevbsGePHj4/tttsuPvroo7j44otj3333jddeey3mz58fDRs2jOLi4qzfad26dcyfP79mBryBVo+7ssdw9br58+dHq1atstbXr18/mjdvnlPzPuigg+KII46ITp06xdy5c+OXv/xlDBgwIGbMmBH16tXLqXlWVFTEGWecEXvvvXfsuOOOERFV+vucP39+pY/16nW1TWXzjIg49thjo2PHjtG2bdt45ZVX4txzz43Zs2fHvffeGxG5Mc9XX301SktL48svv4ymTZvGfffdF926dYtZs2al5nFc2xwj0vEY5jL5/bVczu+IupPh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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "pBj7eRi3k8Nf"
},
"execution_count": null,
"outputs": []
}
]
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment