Commit cf70c97
authored
🔧 Add Zarr-based Caching and Memory-Aware Patch Merging for WSI Inference (#949)
This PR introduces Zarr-based caching and memory-efficient patch merging for semantic segmentation workflows. The changes aim to handle large whole-slide image (WSI) inference by implementing dynamic memory management and disk-based caching when system resources are constrained.
Key changes:
- Adds Zarr integration for intermediate canvas and count array storage during WSI inference
- Implements memory threshold monitoring using psutil to trigger disk spilling when RAM usage exceeds limits
- Refactors patch merging logic into modular helper functions for better maintainability1 parent 708e706 commit cf70c97
File tree
4 files changed
+774
-225
lines changed- tests/engines
- tiatoolbox/models
- dataset
- engine
4 files changed
+774
-225
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
19 | 22 | | |
20 | 23 | | |
21 | 24 | | |
| |||
212 | 215 | | |
213 | 216 | | |
214 | 217 | | |
| 218 | + | |
215 | 219 | | |
216 | 220 | | |
217 | 221 | | |
218 | 222 | | |
219 | 223 | | |
220 | 224 | | |
221 | | - | |
| 225 | + | |
222 | 226 | | |
| 227 | + | |
223 | 228 | | |
224 | 229 | | |
225 | 230 | | |
| |||
229 | 234 | | |
230 | 235 | | |
231 | 236 | | |
| 237 | + | |
232 | 238 | | |
| 239 | + | |
233 | 240 | | |
234 | 241 | | |
235 | 242 | | |
236 | 243 | | |
237 | 244 | | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
238 | 248 | | |
239 | 249 | | |
240 | 250 | | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
241 | 257 | | |
242 | 258 | | |
243 | 259 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
441 | 441 | | |
442 | 442 | | |
443 | 443 | | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
| 444 | + | |
458 | 445 | | |
459 | 446 | | |
460 | 447 | | |
| |||
475 | 462 | | |
476 | 463 | | |
477 | 464 | | |
| 465 | + | |
478 | 466 | | |
479 | 467 | | |
480 | 468 | | |
| |||
510 | 498 | | |
511 | 499 | | |
512 | 500 | | |
| 501 | + | |
513 | 502 | | |
514 | 503 | | |
515 | 504 | | |
| |||
639 | 628 | | |
640 | 629 | | |
641 | 630 | | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
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 | 75 | | |
127 | 76 | | |
128 | 77 | | |
| |||
180 | 129 | | |
181 | 130 | | |
182 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
183 | 135 | | |
184 | 136 | | |
185 | 137 | | |
| |||
432 | 384 | | |
433 | 385 | | |
434 | 386 | | |
| 387 | + | |
435 | 388 | | |
436 | 389 | | |
437 | 390 | | |
| |||
450 | 403 | | |
451 | 404 | | |
452 | 405 | | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
453 | 412 | | |
454 | 413 | | |
455 | 414 | | |
| |||
468 | 427 | | |
469 | 428 | | |
470 | 429 | | |
| 430 | + | |
471 | 431 | | |
472 | 432 | | |
473 | 433 | | |
| |||
692 | 652 | | |
693 | 653 | | |
694 | 654 | | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
695 | 660 | | |
696 | 661 | | |
697 | 662 | | |
| |||
726 | 691 | | |
727 | 692 | | |
728 | 693 | | |
| 694 | + | |
729 | 695 | | |
730 | 696 | | |
731 | 697 | | |
| |||
737 | 703 | | |
738 | 704 | | |
739 | 705 | | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
740 | 709 | | |
741 | 710 | | |
742 | 711 | | |
| |||
746 | 715 | | |
747 | 716 | | |
748 | 717 | | |
| 718 | + | |
749 | 719 | | |
750 | 720 | | |
751 | 721 | | |
| |||
1267 | 1237 | | |
1268 | 1238 | | |
1269 | 1239 | | |
| 1240 | + | |
1270 | 1241 | | |
1271 | 1242 | | |
1272 | 1243 | | |
1273 | 1244 | | |
1274 | 1245 | | |
1275 | 1246 | | |
| 1247 | + | |
1276 | 1248 | | |
1277 | 1249 | | |
1278 | 1250 | | |
| |||
1403 | 1375 | | |
1404 | 1376 | | |
1405 | 1377 | | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
0 commit comments