Skip to content

Commit c8d2b24

Browse files
committed
updated examples to panoptica branch
1 parent 79dcd75 commit c8d2b24

3 files changed

Lines changed: 152 additions & 143 deletions

File tree

panoptica/example_spine_matched_instance.ipynb

Lines changed: 61 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,28 @@
1616
},
1717
{
1818
"cell_type": "code",
19-
"execution_count": 1,
19+
"execution_count": 7,
2020
"metadata": {},
2121
"outputs": [
2222
{
2323
"name": "stdout",
2424
"output_type": "stream",
2525
"text": [
26-
"Requirement already satisfied: panoptica in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from -r requirements.txt (line 1)) (0.5.20)\n",
27-
"Requirement already satisfied: auxiliary in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from -r requirements.txt (line 2)) (0.0.38)\n",
28-
"Requirement already satisfied: rich in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from -r requirements.txt (line 3)) (13.6.0)\n",
29-
"Requirement already satisfied: numpy in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from -r requirements.txt (line 4)) (1.25.2)\n",
30-
"Requirement already satisfied: connected-components-3d<4.0.0,>=3.12.3 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from panoptica->-r requirements.txt (line 1)) (3.12.3)\n",
31-
"Requirement already satisfied: scipy<2.0.0,>=1.7.0 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from panoptica->-r requirements.txt (line 1)) (1.11.3)\n",
32-
"Requirement already satisfied: nibabel>=3.0 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from auxiliary->-r requirements.txt (line 2)) (4.0.2)\n",
33-
"Requirement already satisfied: path>=16.7.1 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from auxiliary->-r requirements.txt (line 2)) (16.7.1)\n",
34-
"Requirement already satisfied: pathlib>=1.0 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from auxiliary->-r requirements.txt (line 2)) (1.0.1)\n",
35-
"Requirement already satisfied: pillow>=10.0.0 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from auxiliary->-r requirements.txt (line 2)) (10.0.1)\n",
36-
"Requirement already satisfied: tifffile>=2023.8.25 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from auxiliary->-r requirements.txt (line 2)) (2023.9.26)\n",
37-
"Requirement already satisfied: markdown-it-py>=2.2.0 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from rich->-r requirements.txt (line 3)) (3.0.0)\n",
38-
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from rich->-r requirements.txt (line 3)) (2.16.1)\n",
39-
"Requirement already satisfied: mdurl~=0.1 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich->-r requirements.txt (line 3)) (0.1.2)\n",
40-
"Requirement already satisfied: packaging>=17.0 in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from nibabel>=3.0->auxiliary->-r requirements.txt (line 2)) (23.2)\n",
41-
"Requirement already satisfied: setuptools in /Users/marcelrosier/opt/anaconda3/envs/brainles/lib/python3.10/site-packages (from nibabel>=3.0->auxiliary->-r requirements.txt (line 2)) (68.2.2)\n"
26+
"Requirement already satisfied: panoptica in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from -r requirements.txt (line 1)) (0.5.20.post28.dev0+df6e9b3)\n",
27+
"Requirement already satisfied: auxiliary in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from -r requirements.txt (line 2)) (0.0.40)\n",
28+
"Requirement already satisfied: rich in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from -r requirements.txt (line 3)) (13.6.0)\n",
29+
"Requirement already satisfied: numpy in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from -r requirements.txt (line 4)) (1.25.2)\n",
30+
"Requirement already satisfied: connected-components-3d<4.0.0,>=3.12.3 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from panoptica->-r requirements.txt (line 1)) (3.12.3)\n",
31+
"Requirement already satisfied: scipy<2.0.0,>=1.7.0 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from panoptica->-r requirements.txt (line 1)) (1.11.2)\n",
32+
"Requirement already satisfied: nibabel>=3.0 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from auxiliary->-r requirements.txt (line 2)) (5.1.0)\n",
33+
"Requirement already satisfied: path>=16.7.1 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from auxiliary->-r requirements.txt (line 2)) (16.9.0)\n",
34+
"Requirement already satisfied: pathlib>=1.0 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from auxiliary->-r requirements.txt (line 2)) (1.0.1)\n",
35+
"Requirement already satisfied: pillow>=10.0.0 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from auxiliary->-r requirements.txt (line 2)) (10.0.0)\n",
36+
"Requirement already satisfied: tifffile>=2023.8.25 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from auxiliary->-r requirements.txt (line 2)) (2023.8.30)\n",
37+
"Requirement already satisfied: markdown-it-py>=2.2.0 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from rich->-r requirements.txt (line 3)) (3.0.0)\n",
38+
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from rich->-r requirements.txt (line 3)) (2.17.2)\n",
39+
"Requirement already satisfied: mdurl~=0.1 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from markdown-it-py>=2.2.0->rich->-r requirements.txt (line 3)) (0.1.2)\n",
40+
"Requirement already satisfied: packaging>=17 in /opt/anaconda3/envs/seg11panoptdev/lib/python3.11/site-packages (from nibabel>=3.0->auxiliary->-r requirements.txt (line 2)) (23.1)\n"
4241
]
4342
}
4443
],
@@ -55,15 +54,15 @@
5554
},
5655
{
5756
"cell_type": "code",
58-
"execution_count": 2,
57+
"execution_count": 8,
5958
"metadata": {},
6059
"outputs": [],
6160
"source": [
6261
"import numpy as np\n",
6362
"from auxiliary.nifti.io import read_nifti\n",
6463
"from rich import print as pprint\n",
6564
"from panoptica import MatchedInstancePair, Panoptic_Evaluator\n",
66-
"from panoptica.metrics import Metrics"
65+
"from panoptica.metrics import Metric"
6766
]
6867
},
6968
{
@@ -85,7 +84,7 @@
8584
},
8685
{
8786
"cell_type": "code",
88-
"execution_count": 3,
87+
"execution_count": 9,
8988
"metadata": {},
9089
"outputs": [
9190
{
@@ -97,7 +96,7 @@
9796
" 106, 107, 108, 202, 203, 204, 205, 206, 207, 208], dtype=uint8))"
9897
]
9998
},
100-
"execution_count": 3,
99+
"execution_count": 9,
101100
"metadata": {},
102101
"output_type": "execute_result"
103102
}
@@ -119,7 +118,7 @@
119118
},
120119
{
121120
"cell_type": "code",
122-
"execution_count": 4,
121+
"execution_count": 10,
123122
"metadata": {},
124123
"outputs": [
125124
{
@@ -193,7 +192,7 @@
193192
"text": [
194193
"Panoptic: Start Evaluation\n",
195194
"-- Got MatchedInstancePair, will evaluate instances\n",
196-
"-- evaluate took 1.4501242637634277 seconds to execute.\n"
195+
"-- evaluate took 2.3251700401306152 seconds to execute.\n"
197196
]
198197
}
199198
],
@@ -202,7 +201,7 @@
202201
"\n",
203202
"evaluator = Panoptic_Evaluator(\n",
204203
" expected_input=MatchedInstancePair,\n",
205-
" decision_metric=Metrics.IOU,\n",
204+
" decision_metric=Metric.IOU,\n",
206205
" decision_threshold=0.5,\n",
207206
")\n",
208207
"\n",
@@ -219,25 +218,27 @@
219218
},
220219
{
221220
"cell_type": "code",
222-
"execution_count": 5,
221+
"execution_count": 11,
223222
"metadata": {},
224223
"outputs": [
225224
{
226225
"name": "stdout",
227226
"output_type": "stream",
228227
"text": [
229-
"Number of instances in prediction: 22\n",
230-
"Number of instances in reference: 22\n",
228+
"Number of instances in reference (num_ref_instances): 22\n",
229+
"Number of instances in prediction (num_pred_instances): 22\n",
231230
"True Positives (tp): 22\n",
232231
"False Positives (fp): 0\n",
233232
"False Negatives (fn): 0\n",
234-
"Recognition Quality / F1 Score (RQ): 1.0\n",
235-
"Segmentation Quality (SQ): 0.719252280051296 ± 0.15186064004517466\n",
236-
"Panoptic Quality (PQ): 0.719252280051296\n",
237-
"DSC-based Segmentation Quality (DQ_DSC): 0.7775254410995057 ± 0.10253566174957332\n",
238-
"DSC-based Panoptic Quality (PQ_DSC): 0.7775254410995057\n",
239-
"Average symmetric surface distance (ASSD): 0.2161957213502398 ± 0.07696680402317076\n",
240-
"ASSD-based Panoptic Quality (PQ_ASSD): 0.2161957213502398\n"
233+
"Recognition Quality (rq): 1.0\n",
234+
"Global Binary Dice (global_bin_dsc): 0.9744370224078394\n",
235+
"Global Binary Centerline Dice (global_bin_cldsc): 0.9637064011802574\n",
236+
"Segmentation Quality IoU (sq): 0.8328184295330796 +- 0.15186064004517466\n",
237+
"Panoptic Quality IoU (pq): 0.8328184295330796\n",
238+
"Segmentation Quality Dsc (sq_dsc): 0.900292616009954 +- 0.10253566174957332\n",
239+
"Panoptic Quality Dsc (pq_dsc): 0.900292616009954\n",
240+
"Segmentation Quality Assd (sq_assd): 0.250331887879225 +- 0.07696680402317076\n",
241+
"\n"
241242
]
242243
}
243244
],
@@ -248,17 +249,17 @@
248249
},
249250
{
250251
"cell_type": "code",
251-
"execution_count": 6,
252+
"execution_count": 12,
252253
"metadata": {},
253254
"outputs": [
254255
{
255256
"data": {
256257
"text/html": [
257-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">result.<span style=\"color: #808000; text-decoration-color: #808000\">pq</span>=<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.719252280051296</span>\n",
258+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">result.<span style=\"color: #808000; text-decoration-color: #808000\">pq</span>=<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.8328184295330796</span>\n",
258259
"</pre>\n"
259260
],
260261
"text/plain": [
261-
"result.\u001b[33mpq\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.719252280051296\u001b[0m\n"
262+
"result.\u001b[33mpq\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.8328184295330796\u001b[0m\n"
262263
]
263264
},
264265
"metadata": {},
@@ -272,50 +273,52 @@
272273
},
273274
{
274275
"cell_type": "code",
275-
"execution_count": 7,
276+
"execution_count": 13,
276277
"metadata": {},
277278
"outputs": [
278279
{
279280
"data": {
280281
"text/html": [
281282
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">results dict: \n",
282283
"<span style=\"font-weight: bold\">{</span>\n",
283-
" <span style=\"color: #008000; text-decoration-color: #008000\">'num_pred_instances'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span>,\n",
284284
" <span style=\"color: #008000; text-decoration-color: #008000\">'num_ref_instances'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span>,\n",
285+
" <span style=\"color: #008000; text-decoration-color: #008000\">'num_pred_instances'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span>,\n",
285286
" <span style=\"color: #008000; text-decoration-color: #008000\">'tp'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span>,\n",
286287
" <span style=\"color: #008000; text-decoration-color: #008000\">'fp'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>,\n",
287288
" <span style=\"color: #008000; text-decoration-color: #008000\">'fn'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>,\n",
288289
" <span style=\"color: #008000; text-decoration-color: #008000\">'rq'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span>,\n",
289-
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.719252280051296</span>,\n",
290-
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_sd'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.15186064004517466</span>,\n",
291-
" <span style=\"color: #008000; text-decoration-color: #008000\">'pq'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.719252280051296</span>,\n",
292-
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_dsc'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.7775254410995057</span>,\n",
293-
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_dsc_sd'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.10253566174957332</span>,\n",
294-
" <span style=\"color: #008000; text-decoration-color: #008000\">'pq_dsc'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.7775254410995057</span>,\n",
295-
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_assd'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.2161957213502398</span>,\n",
296-
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_assd_sd'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.07696680402317076</span>,\n",
297-
" <span style=\"color: #008000; text-decoration-color: #008000\">'pq_assd'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.2161957213502398</span>\n",
290+
" <span style=\"color: #008000; text-decoration-color: #008000\">'global_bin_dsc'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.9744370224078394</span>,\n",
291+
" <span style=\"color: #008000; text-decoration-color: #008000\">'global_bin_cldsc'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.9637064011802574</span>,\n",
292+
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.8328184295330796</span>,\n",
293+
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_std'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.15186064004517466</span>,\n",
294+
" <span style=\"color: #008000; text-decoration-color: #008000\">'pq'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.8328184295330796</span>,\n",
295+
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_dsc'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.900292616009954</span>,\n",
296+
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_dsc_std'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.10253566174957332</span>,\n",
297+
" <span style=\"color: #008000; text-decoration-color: #008000\">'pq_dsc'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.900292616009954</span>,\n",
298+
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_assd'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.250331887879225</span>,\n",
299+
" <span style=\"color: #008000; text-decoration-color: #008000\">'sq_assd_std'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.07696680402317076</span>\n",
298300
"<span style=\"font-weight: bold\">}</span>\n",
299301
"</pre>\n"
300302
],
301303
"text/plain": [
302304
"results dict: \n",
303305
"\u001b[1m{\u001b[0m\n",
304-
" \u001b[32m'num_pred_instances'\u001b[0m: \u001b[1;36m22\u001b[0m,\n",
305306
" \u001b[32m'num_ref_instances'\u001b[0m: \u001b[1;36m22\u001b[0m,\n",
307+
" \u001b[32m'num_pred_instances'\u001b[0m: \u001b[1;36m22\u001b[0m,\n",
306308
" \u001b[32m'tp'\u001b[0m: \u001b[1;36m22\u001b[0m,\n",
307309
" \u001b[32m'fp'\u001b[0m: \u001b[1;36m0\u001b[0m,\n",
308310
" \u001b[32m'fn'\u001b[0m: \u001b[1;36m0\u001b[0m,\n",
309311
" \u001b[32m'rq'\u001b[0m: \u001b[1;36m1.0\u001b[0m,\n",
310-
" \u001b[32m'sq'\u001b[0m: \u001b[1;36m0.719252280051296\u001b[0m,\n",
311-
" \u001b[32m'sq_sd'\u001b[0m: \u001b[1;36m0.15186064004517466\u001b[0m,\n",
312-
" \u001b[32m'pq'\u001b[0m: \u001b[1;36m0.719252280051296\u001b[0m,\n",
313-
" \u001b[32m'sq_dsc'\u001b[0m: \u001b[1;36m0.7775254410995057\u001b[0m,\n",
314-
" \u001b[32m'sq_dsc_sd'\u001b[0m: \u001b[1;36m0.10253566174957332\u001b[0m,\n",
315-
" \u001b[32m'pq_dsc'\u001b[0m: \u001b[1;36m0.7775254410995057\u001b[0m,\n",
316-
" \u001b[32m'sq_assd'\u001b[0m: \u001b[1;36m0.2161957213502398\u001b[0m,\n",
317-
" \u001b[32m'sq_assd_sd'\u001b[0m: \u001b[1;36m0.07696680402317076\u001b[0m,\n",
318-
" \u001b[32m'pq_assd'\u001b[0m: \u001b[1;36m0.2161957213502398\u001b[0m\n",
312+
" \u001b[32m'global_bin_dsc'\u001b[0m: \u001b[1;36m0.9744370224078394\u001b[0m,\n",
313+
" \u001b[32m'global_bin_cldsc'\u001b[0m: \u001b[1;36m0.9637064011802574\u001b[0m,\n",
314+
" \u001b[32m'sq'\u001b[0m: \u001b[1;36m0.8328184295330796\u001b[0m,\n",
315+
" \u001b[32m'sq_std'\u001b[0m: \u001b[1;36m0.15186064004517466\u001b[0m,\n",
316+
" \u001b[32m'pq'\u001b[0m: \u001b[1;36m0.8328184295330796\u001b[0m,\n",
317+
" \u001b[32m'sq_dsc'\u001b[0m: \u001b[1;36m0.900292616009954\u001b[0m,\n",
318+
" \u001b[32m'sq_dsc_std'\u001b[0m: \u001b[1;36m0.10253566174957332\u001b[0m,\n",
319+
" \u001b[32m'pq_dsc'\u001b[0m: \u001b[1;36m0.900292616009954\u001b[0m,\n",
320+
" \u001b[32m'sq_assd'\u001b[0m: \u001b[1;36m0.250331887879225\u001b[0m,\n",
321+
" \u001b[32m'sq_assd_std'\u001b[0m: \u001b[1;36m0.07696680402317076\u001b[0m\n",
319322
"\u001b[1m}\u001b[0m\n"
320323
]
321324
},

0 commit comments

Comments
 (0)