Newer
Older
{
"cells": [
{
"cell_type": "code",
"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",
"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",
"app = annotation_tool.launch(vol[0]) # , server_name=\"10.197.104.229\")"
]
},
{
"cell_type": "code",
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"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",
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
"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",
"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",
"fig, axs = plt.subplots(1, len(masks_dict), figsize=(8,3))\n",
"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)"
]
}
],
"metadata": {
"kernelspec": {
"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",
}
},
"nbformat": 4,