Skip to content
Snippets Groups Projects
annotation_tool.ipynb 9.02 KiB
Newer Older
  • Learn to ignore specific revisions
  • {
     "cells": [
      {
       "cell_type": "code",
    
    s193396's avatar
    s193396 committed
       "execution_count": 4,
    
    s193396's avatar
    s193396 committed
       "outputs": [
        {
         "data": {
          "text/html": [
           "<div><iframe src=\"http://127.0.0.1:7866/\" width=\"100%\" height=\"768\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"
          ],
          "text/plain": [
           "<IPython.core.display.HTML object>"
          ]
         },
         "metadata": {},
         "output_type": "display_data"
        },
        {
         "name": "stderr",
         "output_type": "stream",
         "text": [
          "c:\\Users\\s193396\\AppData\\Local\\miniconda3\\envs\\qim3d\\lib\\site-packages\\gradio\\analytics.py:106: UserWarning: IMPORTANT: You are using gradio version 4.44.0, however version 4.44.1 is available, please upgrade. \n",
          "--------\n",
          "  warnings.warn(\n"
         ]
        }
       ],
    
       "source": [
        "import qim3d\n",
        "import matplotlib.pyplot as plt\n",
    
    fima's avatar
    fima committed
        "\n",
        "# Load example image\n",
    
        "vol = qim3d.examples.bone_128x128x128\n",
    
        "\n",
        "# Start annotation tool\n",
    
        "annotation_tool = qim3d.gui.annotation_tool.Interface()\n",
    
        "\n",
        "# We can directly pass the image we loaded to the interface\n",
    
    s193396's avatar
    s193396 committed
        "app = annotation_tool.launch(vol[0]) # , server_name=\"10.197.104.229\")"
    
    s193396's avatar
    s193396 committed
       "execution_count": 5,
    
    s193396's avatar
    s193396 committed
       "outputs": [
        {
         "name": "stderr",
         "output_type": "stream",
         "text": [
          "Loaded shape: (128, 128)\n",
          "INFO:qim3d:Loaded shape: (128, 128)\n",
          "Volume using 16.0 KB of memory\n",
          "\n",
          "INFO:qim3d:Volume using 16.0 KB of memory\n",
          "\n",
          "System memory:\n",
          " • Total.: 31.6 GB\n",
          " • Used..: 18.0 GB (56.8%)\n",
          " • Free..: 13.7 GB (43.2%)\n",
          "INFO:qim3d:System memory:\n",
          " • Total.: 31.6 GB\n",
          " • Used..: 18.0 GB (56.8%)\n",
          " • Free..: 13.7 GB (43.2%)\n"
         ]
        },
        {
         "data": {
          "text/plain": [
           "{'mask_red': array([[False, False, False, ..., False, False, False],\n",
           "        [False, False, False, ..., False, False, False],\n",
           "        [False, False, False, ..., False, False, False],\n",
           "        ...,\n",
           "        [False, False, False, ..., False, False, False],\n",
           "        [False, False, False, ..., False, False, False],\n",
           "        [False, False, False, ..., False, False, False]])}"
          ]
         },
         "execution_count": 5,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
    
       "source": [
        "annotation_tool.get_result()"
       ]
      },
      {
       "cell_type": "code",
    
    s193396's avatar
    s193396 committed
       "execution_count": 6,
    
    s193396's avatar
    s193396 committed
       "outputs": [
        {
         "name": "stderr",
         "output_type": "stream",
         "text": [
          "Loaded shape: (128, 128)\n"
         ]
        },
        {
         "name": "stderr",
         "output_type": "stream",
         "text": [
          "INFO:qim3d:Loaded shape: (128, 128)\n",
          "Volume using 16.0 KB of memory\n",
          "\n",
          "INFO:qim3d:Volume using 16.0 KB of memory\n",
          "\n",
          "System memory:\n",
          " • Total.: 31.6 GB\n",
          " • Used..: 17.9 GB (56.7%)\n",
          " • Free..: 13.7 GB (43.3%)\n",
          "INFO:qim3d:System memory:\n",
          " • Total.: 31.6 GB\n",
          " • Used..: 17.9 GB (56.7%)\n",
          " • Free..: 13.7 GB (43.3%)\n"
         ]
        },
        {
         "data": {
          "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQsAAAEiCAYAAADu9vesAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAMMUlEQVR4nO3da2jVdQDG8WebjM3aORFNFxuFmyJzJMLUXpk10zlKXL1IjJWzrGARQiwoaBcxUDFfiFEujGUYSIUEUXYQmlkmdkMKWiVd7IJBc0ub1vR0/r2oHZxz7tn13L6fV3p23P4r/fr8f2etrCAIAgHAMLITfQEAUgOxAGAhFgAsxAKAhVgAsBALABZiAcBCLABYiAUAC7GAXn75ZWVlZenTTz9N9KUMqbW1VVlZWYm+jIxGLABYiAUAC7HAhPr7778Vi8USfRkYB8Qigfrvw7/99lvV1dUpHA6rsLBQTU1NCoJAP//8s1auXKlQKKSioiJt27Yt/mvPnz+v5uZmVVZWKhwO66qrrtKiRYvU0dEx6OPs3btXlZWVKigoUCgU0k033aTt27df8dp6enq0cOFClZSU6JtvvrE+n4MHDyorK0t79+7V008/reLiYk2dOlVnzpyRJB09elTLly9XOBzW1KlTtXjxYh0+fHjQ+/nwww+1YMEC5eXlqaysTG1tbdbHx8SakugLgLRq1SqVl5dr8+bNevvtt/XMM8/o2muvVVtbm6qqqrRlyxa9+uqramxs1IIFC3TLLbfozJkz2rVrl1avXq2HHnpIf/75p1566SVVV1fr448/1rx58yRJBw4c0OrVq7VkyRJt2bJFktTZ2anDhw9r/fr1l72erq4uLV26VN3d3Xr//fdVVlY2os9n48aNys3NVWNjo/r6+pSbm6v33ntPNTU1qqysVEtLi7Kzs9Xe3q6qqip98MEHWrhwoSTpyy+/1LJly1RYWKjW1lZFo1G1tLRo+vTpo/8HjPERIGFaWloCScHDDz8cfywajQYlJSVBVlZWsHnz5vjjPT09QX5+frBmzZr48/r6+ga8v56enmD69OnBAw88EH9s/fr1QSgUCqLR6JDX0d7eHkgKPvnkk+DkyZNBRUVFUFpaGvz4448j+nw6OjoCSUFpaWlw7ty5+OOxWCyYNWtWUF1dHcRisfjj586dC2bMmBEsXbo0/lhtbW2Ql5cXnDhxIv7YV199FeTk5AT8dk0sbkOSwLp16+I/zsnJ0fz58xUEgR588MH449dcc41mz56t77//Pv683NxcSVIsFlN3d7ei0ajmz5+vzz//fMCvO3v2rA4cODDsdfzyyy9avHixLly4oEOHDunGG28c1eezZs0a5efnx39+7NgxHT9+XPfee69OnTqlrq4udXV16ezZs1qyZIkOHTqkWCymf/75R5FIRLW1tbrhhhviv768vFzV1dWjuhaMH25DksDFfzAkKRwOKy8vT9ddd92gx0+dOhX/+e7du7Vt2zZ9/fXXunDhQvzxGTNmxH/c0NCg1157TTU1NSouLtayZct0zz33aPny5YOu47777tOUKVPU2dmpoqKiUX8+F398STp+/Lik/yIylNOnT6uvr09//fWXZs2aNejts2fP1jvvvDPqa8LYEYskkJOTYz0mScH/3wVxz549qq+vV21trZ544glNmzZNOTk52rRpk7777rv486dNm6Zjx44pEolo//792r9/v9rb23X//fdr9+7dA9733XffrVdeeUXbt2/Xpk2bRv35XLwqJMVfDdm6dWv8LOVSV199tfr6+kb9MTHxiEWKeuONN1RaWqp9+/YN+MrGlpaWQc/Nzc3VihUrtGLFCsViMTU0NKitrU1NTU2aOXNm/HmPPfaYZs6cqebmZoXDYT355JPjcq39B6ShUEi33377kM8rLCxUfn5+fIlczH1FBhOHM4sU1b88gou+3/LRo0d15MiRAc+7+LZFkrKzszV37lxJuuzf5E1NTWpsbNRTTz2lF154YVyutbKyUmVlZXr22WfV29s76O2///67pP8+p+rqar355pv66aef4m/v7OxUJBIZl2vB6LEsUtSdd96pffv26a677tIdd9yhH374QTt37tScOXMG/IFct26duru7VVVVpZKSEp04cUI7duzQvHnzVF5eftn3vXXrVp0+fVqPPvqoCgoKVFdXN6Zrzc7O1q5du1RTU6OKigqtXbtWxcXF+vXXX9XR0aFQKKS33npLkrRhwwa9++67WrRokRoaGhSNRrVjxw5VVFToiy++GNN1YGyIRYqqr6/Xb7/9pra2NkUiEc2ZM0d79uzR66+/roMHD8afV1dXpxdffFHPP/+8/vjjDxUVFWnVqlVqbW1VdvbQw3Lnzp3q7e3V2rVrVVBQoJUrV47pem+99VYdOXJEGzdu1HPPPafe3l4VFRXp5ptv1iOPPBJ/3ty5cxWJRPT444+rublZJSUl2rBhg06ePEksEiwrCPj/hgAYHmcWACzchmBY58+fV3d39xWfEw6HB71kivRCLDCsjz76SLfddtsVn9Pe3q76+vrJuSAkBGcWGFZPT48+++yzKz6noqJC119//SRdERKBWACwcMAJwEIsAFjsA06+szIcibyr5ffo6Dn/3lgWACzEAuMiCIKEror+a8DEIRYALHxRFkaFv8UzD8sCgIVlgRFJ9kXRf328MjL+WBYALCwLXFGyLwlMHpYFAAvLAgOwJDAUlgUAC8siw7Ek4GJZALCwLDIMSwKjRSwyBJHAWHEbAsDCskhzLAqMF5YFAAvLIk1l6qLgPyCbOCwLABZikYYydVVgYhELABbOLNJIpi8KzismFssCgIVlkQYyfVFgcrAsAFhYFiks0xcFZxSTi2UBwMKySEEsChZFIrAsAFhYFkgZLIrEYlkAsLAsUkimnlWwKJIDywKAhWWRAjJtUbAkkhPLAoCFZZHEWBRIJiwLABaWRRLKlEXBkkgtLAsAFpYFJg1LIrWxLABYWBZJJN3OKlgS6YVlAcDCskgC6bQoWBPpi1gkEJFAKuE2BICFZYExYVFkDpYFAAvLIgHS4ayCRZF5WBYALCyLScSiQCpjWQCwEAsAFmIBwMKZxSTgrALpgGUBwMKymEAsCqQTlgUAC8sCl8WiwKVYFgAsLIsJkqrnFSwKDIVlAcBCLABYiAUAC2cW44yzCqQrlgUAC8siw7Eo4GJZALCwLMZJqp1VsCgwUiwLABZiAcBCLABYOLMYI84qkClYFgAsLIsMwaLAWBGLUUq12w9grLgNAWBhWaQ5bj8wXlgWACwsixHirAKZimUBwMKySFOcVWC8sSwAWFgWplQ6q2BVYCKwLABYiAUAC7EAYOHMYhicVQD/YVkAsBALABZiAcDCmUUa4KwCk4FlAcDCshhCKr0KAkwGlgUAC8sihXFWgcnEsgBgYVlcgrMK4PJYFgAsxAKAhVgAsHBm8b9UOqvgVRAkAssCgIVYALAQCwAWzixSCGcVSCSWBQALsQBgyfjbkFR4yZTbDyQDlgUAC7EAYCEWACzEAoCFWACwZOyrIbwKAowMywKAhVgAsBALABZiAcBCLABYMu7VEF4FAUaHZQHAQiwAWIgFAAuxAGAhFgAsGfdqSDLjVRAkM5YFAAuxAGAhFgAsxAKAhVgAsBALABZiAcBCLABYiAUAS8Z9BWf/V0km0/e14Cs3kQpYFgAsxAKAJeNuQ/olw+0Itx9IJSwLAJaMXRb9ErEwWBRIRSwLAJaMXxb9JmNhsCiQylgWACwsi0tMxMJgUSAdsCwAWFgWQxhqDQy3OFgRSFcsCwAWlsUIsRyQqVgWACzEAoCFWACwEAsAFmIBwEIsAFiIBQALsQBgIRYALMQCgIVYALAQCwAWYgHAQiwAWIgFAAuxAGAhFgAsxAKAhVgAsBALABZiAcBCLABYiAUAC7EAYCEWACzEAoCFWACwEAsAFmIBwEIsAFiIBQALsQBgIRYALMQCgIVYALAQCwAWYgHAQiwAWIgFAAuxAGAhFgAsxAKAhVgAsBALABZiAcBCLABYiAUAC7EAYCEWACzEAoCFWACwEAsAFmIBwEIsAFiIBQALsQBgIRYALMQCgIVYALAQCwAWYgHAQiwAWIgFAAuxAGAhFgAsxAKAhVgAsBALABZiAcBCLABYiAUAC7EAYCEWACzEAoCFWACwEAsAFmIBwEIsAFiIBQALsQBgIRYALMQCgIVYALAQCwAWYgHAQiwAWIgFAAuxAGAhFgAsxAKAhVgAsBALABZiAcBCLABYiAUAC7EAYJniPjEIgom8DgBJjmUBwEIsAFiIBQALsQBgIRYALMQCgIVYALAQCwAWYgHA8i/YvH5VPFDsxgAAAABJRU5ErkJggg==",
          "text/plain": [
           "<Figure size 800x300 with 1 Axes>"
          ]
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
    
       "source": [
        "%matplotlib inline\n",
        "import matplotlib.pyplot as plt\n",
        "from IPython.display import clear_output\n",
        "import numpy as np\n",
        "import time\n",
        "\n",
        "\n",
    
    s193396's avatar
    s193396 committed
        "clear_output(wait=True)    \n",
        "masks_dict = annotation_tool.get_result()\n",
        "if len(masks_dict) == 0:\n",
        "    masks_dict[\"No mask\"] = np.zeros((32,32))\n",
    
    s193396's avatar
    s193396 committed
        "fig, axs = plt.subplots(1, len(masks_dict), figsize=(8,3))\n",
    
    s193396's avatar
    s193396 committed
        "if len(masks_dict) == 1:\n",
        "    axs = [axs]\n",
        "for idx, (name, mask) in enumerate(masks_dict.items()):\n",
        "\n",
        "    axs[idx].imshow(mask, cmap='gray', interpolation='none')\n",
        "    axs[idx].set_title(name)\n",
        "    axs[idx].axis('off')\n",
        "\n",
        "plt.tight_layout()\n",
        "\n",
        "\n",
        "plt.show()\n",
        "time.sleep(2)"
    
    s193396's avatar
    s193396 committed
       "display_name": "qim3d",
    
       "language": "python",
       "name": "python3"
      },
      "language_info": {
       "codemirror_mode": {
        "name": "ipython",
        "version": 3
       },
       "file_extension": ".py",
       "mimetype": "text/x-python",
       "name": "python",
       "nbconvert_exporter": "python",
       "pygments_lexer": "ipython3",
    
    s193396's avatar
    s193396 committed
       "version": "3.10.14"
    
    fima's avatar
    fima committed
     "nbformat_minor": 4