File size: 118,847 Bytes
1f6e921
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "dominican-projection",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import torch\n",
    "from qlty import qlty3DLarge\n",
    "import napari\n",
    "from scipy.stats.qmc import PoissonDisk\n",
    "from scipy.spatial.distance import cdist\n",
    "import matplotlib.pyplot as plt\n",
    "import einops\n",
    "import os\n",
    "\n",
    "np.random.seed(42)\n",
    "\n",
    "\n",
    "def build_mask(shape, radius, number, class_array):\n",
    "    # first make the random points\n",
    "    scale = shape[0]\n",
    "    border = 1.5*radius\n",
    "\n",
    "    obj = PoissonDisk(d=2, \n",
    "                      radius=radius/scale, \n",
    "                      )\n",
    "    tmp = obj.fill_space()*scale\n",
    "    \n",
    "    # border point removal\n",
    "    sely = (tmp[:,0] > border) & (tmp[:,0]<(scale-border))\n",
    "    selx = (tmp[:,1] > border) & (tmp[:,1]<(scale-border))\n",
    "    sel = sely & selx \n",
    "    tmp = tmp[sel]\n",
    "    \n",
    "    # Initialize the mask with zeros\n",
    "    mask = np.zeros(shape)\n",
    "\n",
    "    # Get the coordinates of all pixels in the mask\n",
    "    x, y = np.indices(shape)\n",
    "    all_pixels = np.column_stack((x.ravel(), y.ravel()))\n",
    "\n",
    "    # Initialize a list to store the variety of each disk\n",
    "    disk_varieties = []\n",
    "\n",
    "    \n",
    "    for point in tmp:\n",
    "        # Compute the distance from each pixel to the current point\n",
    "        distances = cdist([point], all_pixels)[0]\n",
    "\n",
    "        # Find pixels within the radius\n",
    "        within_radius = distances <= radius/2.0\n",
    "\n",
    "        # Get class labels of these pixels\n",
    "        classes_within_radius = class_array.ravel()[within_radius]\n",
    "\n",
    "        # Count the number of unique classes\n",
    "        variety = len(np.unique(classes_within_radius))\n",
    "\n",
    "        # Store the variety\n",
    "        disk_varieties.append((point, variety))\n",
    "        \n",
    "\n",
    "    # Sort the disks by variety and select the top ones\n",
    "    disk_varieties.sort(key=lambda x: x[1], reverse=True)\n",
    "    \n",
    "    selected_points = np.array([disk[0] for disk in disk_varieties[:number]])\n",
    "\n",
    "    # Compute the distance from each pixel to each selected point\n",
    "    distances = cdist(all_pixels, selected_points)\n",
    "\n",
    "    # Check if any distance is less than or equal to the radius\n",
    "    within_radius = np.any(distances <= radius/2.0, axis=1)\n",
    "\n",
    "    # Update the mask\n",
    "    mask.ravel()[within_radius] = 1\n",
    "\n",
    "    return mask\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "preceding-sheet",
   "metadata": {},
   "outputs": [],
   "source": [
    "def build_slice_selector(number, step, core=64, max_dim=128, border=16):\n",
    "    assert number%2 == 1\n",
    "    indx = np.arange(number) - (number-1)//2\n",
    "    indx = indx*step+core\n",
    "    sel = (indx > border) & (indx < (max_dim-border))\n",
    "    indx = indx[sel]\n",
    "    return indx\n",
    "\n",
    "\n",
    "def create_directory(directory):\n",
    "    if not os.path.exists(directory):\n",
    "        os.makedirs(directory)\n",
    "        print(f\"Directory '{directory}' created.\")\n",
    "    else:\n",
    "        print(f\"Directory '{directory}' already exists.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "settled-accident",
   "metadata": {},
   "outputs": [],
   "source": [
    "labels = np.load(\"benchmark_labels.npy\").astype(np.int8)\n",
    "data = np.load(\"benchmark_volume.npy\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "desperate-melissa",
   "metadata": {},
   "outputs": [],
   "source": [
    "steps = [3,7,17]\n",
    "numbers = [1,3,5]\n",
    "radius = 20\n",
    "number = 20"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "blessed-windsor",
   "metadata": {},
   "outputs": [],
   "source": [
    "these_samplings = []\n",
    "for stp in steps:\n",
    "    for sln in numbers:\n",
    "        slices = build_slice_selector(sln, \n",
    "                                      stp)\n",
    "        if not any(str(sampling) == str(slices) for sampling in these_samplings):\n",
    "            these_samplings.append(slices)        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "inside-vacation",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "slices-64_radius-20_number-20\n",
      "torch.Size([54, 1, 32, 32, 32]) torch.Size([54, 32, 32, 32])\n"
     ]
    },
    {
     "data": {
      "image/png": "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hYyXJI/Hc9Hx7UlT1kuSTpw4oWuuuUbJycm67777VFZW1hrTNcqV/Ly6HEOHDlXPnj11xx136JNPPgn3dFpdIBCQJMXFxV10DM+tHzRkraTWf70iYH6C3+8/79ZqVFSU4uLiLvlvxg899JDeeecdffTRR8rKytLbb7+thx9+uKWn22q+/fZb1dbWnvfNyAkJCRddF7/f36jx7UlT1qt///5644039P777+udd95RXV2dbr75Zn399detMWVjXOx5FQwGderUqTDNqu3q2bOnVq5cqffee0/vvfeekpOTNXbsWO3evTvcU2s1dXV1ysjI0C233KJBgwZddNyV/JpVr6FrFY7Xqzb7vxJoaQsWLNBzzz13yTH79+9v8vnPfY/M4MGD1bNnT91+++364osvdN111zX5vLhyuN3ukP956c0336yBAwfqtdde07PPPhvGmcFk/fv3V//+/e2fb775Zn3xxRdatmyZ3n777TDOrPWkp6dr7969+vjjj8M9lTavoWsVjterKzZgnnrqKf3617++5Jhrr71WiYmJ573J8uzZszp27JgSExMb/PtGjRolSfr888/bRcD06NFDHTp0UEVFRcj2ioqKi65LYmJio8a3J01Zrx/r2LGjbrzxRn3++ectMUVjXex55XQ61alTpzDNyiwjR468Yv6Yz5492/4wRq9evS459kp+zZIat1Y/1hqvV1fsPyFdffXVGjBgwCUf0dHRcrvdqqqqUnFxsX1sYWGh6urq7ChpiJKSEkk/3L5tD6KjozV8+HAVFBTY2+rq6lRQUBBS4edyu90h4yUpPz//ouPbk6as14/V1taqtLS03TyHmsuV/LxqLiUlJe3+eWVZlmbPnq3169ersLBQffv2/cljrtTnVlPW6sda5fWqVd8ybKg777zTuvHGG60dO3ZYH3/8sfWzn/3MevDBB+39X3/9tdW/f39rx44dlmVZ1ueff24tXrzY+vTTT61Dhw5Z77//vnXttddaY8aMCdcltIjVq1dbDofDysnJsfbt22fNmDHDio2Ntfx+v2VZljVlyhRrwYIF9vhPPvnEioqKsv74xz9a+/fvtxYtWmR17NjRKi0tDdcltKrGrtczzzxj5eXlWV988YVVXFxsTZo0yYqJibHKysrCdQmt4vjx49aePXusPXv2WJKsF1980dqzZ4/11VdfWZZlWQsWLLCmTJlij//Pf/5jde7c2Zo7d661f/9+a8WKFVaHDh2szZs3h+sSWlVj12vZsmXWhg0brM8++8wqLS21nnzySSsyMtL617/+Fa5LaBWzZs2yXC6XtWXLFuubb76xH99//709htesHzRlrcLxekXANMD//vc/68EHH7S6du1qOZ1O69FHH7WOHz9u7z906JAlyfroo48sy7Ks8vJya8yYMVZcXJzlcDisfv36WXPnzrUCgUCYrqDl/PnPf7Z69+5tRUdHWyNHjrS2b99u77v11lutqVOnhoxfu3at9fOf/9yKjo62rr/+eis3N7eVZxxejVmvjIwMe2xCQoJ19913W7t37w7DrFtX/cd8f/yoX5upU6dat95663nHDB061IqOjrauvfZa680332z1eYdLY9frueees6677jorJibGiouLs8aOHWsVFhaGZ/Kt6EJrJCnkucJr1g+aslbheL2K+H+TBQAAMMYV+x4YAABgLgIGAAAYh4ABAADGIWAAAIBxCBgAAGAcAgYAABiHgAEAAMYhYAAAgHEIGAAAYBwCBgAAGIeAAQAAxiFgAACAcf4PsjtAnlSpysgAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Directory 'slices-64_radius-20_number-20' already exists.\n",
      "slices-61-64-67_radius-20_number-20\n",
      "slices-61-64-67_radius-20_number-20\n",
      "slices-61-64-67_radius-20_number-20\n",
      "torch.Size([74, 1, 32, 32, 32]) torch.Size([74, 32, 32, 32])\n"
     ]
    },
    {
     "data": {
      "image/png": "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7bfL7XYrLCxMpaWln3vMxo0bdc011ygqKkpXXnmlSkpKenycF4LurtXGjRtPeU+FhYXJ6/WenwGHUGFhoa699lpddtlliouLU3p6uurr6z/3uIvxM+tc1ioUn1eEnCDJyMhQXV2dysvLtXbtWlVWVmr27Nmfe9ysWbP0j3/8w96KiorOw2jPn1WrVik3N1ePPvqoduzYoVGjRik1NVVNTU2nrd+yZYumT5+uzMxM7dy5U+np6UpPT9eePXvO88hDo7vrJX3yNNFPv4f2799/HkccGq2trRo1apSWLl3apfqGhgalpaVp4sSJqq2tVU5Oju69916tX7++h0caet1dq0719fUB76u4uLgeGuGFY9OmTcrKytJbb72l8vJytbe3a9KkSWptbT3jMRfrZ9a5rJUUgs8rC1/Y22+/bUmytm3bZu97/fXXrbCwMOvvf//7GY+7+eabrQcffPA8jDB0rrvuOisrK8t+ffLkScvtdluFhYWnrf/Wt75lpaWlBexLTk62vv/97/foOC8U3V2v3/72t5bT6TxPo7swSbLWrFlz1pr58+dbX/va1wL23XXXXVZqamoPjuzC05W1evPNNy1J1tGjR8/LmC5kTU1NliRr06ZNZ6y52D+zOnVlrULxecWVnCCoqqpSTEyMxo0bZ+9LSUlReHi4qqurz3rsihUrNGjQIF199dXKz8/XRx991NPDPW+OHz+umpoapaSk2PvCw8OVkpKiqqqq0x5TVVUVUC9JqampZ6w3ybmslyS1tLRo6NChSkhI0De+8Q3V1dWdj+H2Khfz++pcjR49WoMHD9a//du/afPmzaEeTkj4fD5JUmxs7BlreG99oitrJZ3/zytCThB4vd5TLuVGREQoNjb2rH/Hvvvuu/Xiiy/qzTffVH5+vn73u9/p29/+dk8P97z55z//qZMnT57yBOr4+PgzrovX6+1WvUnOZb2GDRum3/zmN/rjH/+oF198UR0dHbr++ut16NCh8zHkXuNM7yu/36+PP/44RKO6MA0ePFjFxcX6/e9/r9///vdKSEjQLbfcoh07doR6aOdVR0eHcnJydMMNN+jqq68+Y93F/JnVqatrFYrPq179zzr0tLy8PD355JNnrdm7d+859//pe3ZGjhypwYMH69Zbb9V7772nr3zlK+fcLy4eHo8n4B+kvf766zVixAj94he/0OOPPx7CkaG3GjZsmIYNG2a/vv766/Xee+/p2Wef1e9+97sQjuz8ysrK0p49e/SXv/wl1EO54HV1rULxeUXIOYu5c+fqO9/5zllrvvzlL8vlcp1yY+iJEyd05MgRuVyuLp8vOTlZkvTuu+8aEXIGDRqkPn36qLGxMWB/Y2PjGdfF5XJ1q94k57Jen9W3b1+NGTNG7777bk8Msdc60/vK4XCoX79+IRpV73HdddddVF/22dnZ9g9ILr/88rPWXsyfWVL31uqzzsfnFX+uOosvfelLGj58+Fm3yMhIeTweNTc3q6amxj52w4YN6ujosINLV9TW1kr65HKxCSIjIzV27FhVVFTY+zo6OlRRURGQ5j/N4/EE1EtSeXn5GetNci7r9VknT57U7t27jXkPBcvF/L4Khtra2oviPWVZlrKzs7VmzRpt2LBBiYmJn3vMxfreOpe1+qzz8nl1Xm9zNtjkyZOtMWPGWNXV1dZf/vIX66qrrrKmT59utx86dMgaNmyYVV1dbVmWZb377rvWY489Zm3fvt1qaGiw/vjHP1pf/vKXrQkTJoRqCj3ipZdesqKioqySkhLr7bfftmbPnm3FxMRYXq/XsizLmjFjhpWXl2fXb9682YqIiLB++tOfWnv37rUeffRRq2/fvtbu3btDNYXzqrvrtWjRImv9+vXWe++9Z9XU1FjTpk2zoqOjrbq6ulBN4bz48MMPrZ07d1o7d+60JFnPPPOMtXPnTmv//v2WZVlWXl6eNWPGDLv+b3/7m3XJJZdY8+bNs/bu3WstXbrU6tOnj1VWVhaqKZw33V2rZ5991iotLbXeeecda/fu3daDDz5ohYeHW3/6059CNYXz5v7777ecTqe1ceNG6x//+Ie9ffTRR3YNn1mfOJe1CsXnFSEnSP7v//7Pmj59unXppZdaDofD+u53v2t9+OGHdntDQ4MlyXrzzTcty7KsAwcOWBMmTLBiY2OtqKgo68orr7TmzZtn+Xy+EM2g5/zsZz+zhgwZYkVGRlrXXXed9dZbb9ltN998szVz5syA+pdfftn66le/akVGRlpf+9rXrHXr1p3nEYdWd9YrJyfHro2Pj7emTJli7dixIwSjPr86f+b82a1zbWbOnGndfPPNpxwzevRoKzIy0vryl79s/fa3vz3v4w6F7q7Vk08+aX3lK1+xoqOjrdjYWOuWW26xNmzYEJrBn2enWydJAe8VPrM+cS5rFYrPq7D/f7AAAABG4Z4cAABgJEIOAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADASIQcAABiJkAMAAIz0/wHUKp+UIs1eOAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Directory 'slices-61-64-67_radius-20_number-20' already exists.\n",
      "slices-58-61-64-67-70_radius-20_number-20\n",
      "slices-58-61-64-67-70_radius-20_number-20\n",
      "slices-58-61-64-67-70_radius-20_number-20\n",
      "slices-58-61-64-67-70_radius-20_number-20\n",
      "slices-58-61-64-67-70_radius-20_number-20\n",
      "torch.Size([83, 1, 32, 32, 32]) torch.Size([83, 32, 32, 32])\n"
     ]
    },
    {
     "data": {
      "image/png": "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er2SpMjISL/rIyMj7WNer1cRERF+x7t06aIePXr4zTR1jmu/x41mGo83JTs7Wy6Xy77ExMS09C4CAIBO4o56d1VmZqaqq6vty+nTpwO9JAAA0E7aNHKioqIkSZWVlX7XV1ZW2seioqJ0/vx5v+NXr17VxYsX/WaaOse13+NGM43Hm+JwOOR0Ov0uAADATG0aObGxsYqKilJhYaF9nc/n0759++R2uyVJbrdbVVVVKikpsWd27NihhoYGxcfH2zNFRUW6cuWKPVNQUKCBAwfq3nvvtWeu/T6NM43fBwAA3NlaHDmXL19WaWmpSktLJX3zYuPS0lJVVFQoKChIaWlp+vnPf67/+q//0pEjR/TP//zPio6Ott+BNXjwYE2ZMkXz58/X/v379eGHHyo1NVUzZsxQdHS0JOnpp59WaGiokpOTVVZWpk2bNmnNmjVKT0+31/Hcc88pPz9fL7/8so4fP66VK1fqwIEDSk1NvfVdAQAAnV6Xlt7gwIEDmjhxov11Y3jMmTNHOTk5Wrp0qWpqarRgwQJVVVXpscceU35+vsLCwuzbvPXWW0pNTdWkSZMUHBysadOm6de//rV93OVy6b333lNKSori4uLUs2dPZWVl+X2Wzrhx47Rx40YtX75cP/nJT/S9731P27Zt09ChQ1u1EQAAwCy39Dk5nR2fk4POhs/JAYAAfU4OAADA7YLIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICR2jxyVq5cqaCgIL/LoEGD7ONff/21UlJSdN999+mee+7RtGnTVFlZ6XeOiooKJSYmqlu3boqIiNCSJUt09epVv5mdO3fqkUcekcPh0IABA5STk9PWdwUAAHRi7fJMzkMPPaRz587Zl927d9vHFi9erD//+c/asmWLdu3apbNnz+qpp56yj9fX1ysxMVF1dXXas2eP3nzzTeXk5CgrK8ueKS8vV2JioiZOnKjS0lKlpaXpmWee0fbt29vj7gAAgE6oS7uctEsXRUVFXXd9dXW1fvvb32rjxo36m7/5G0nShg0bNHjwYO3du1djx47Ve++9p48//ljvv/++IiMjNWLECP3sZz/TsmXLtHLlSoWGhmr9+vWKjY3Vyy+/LEkaPHiwdu/erdWrV8vj8bTHXQIAAJ1MuzyT88knnyg6Olr9+vXTrFmzVFFRIUkqKSnRlStXlJCQYM8OGjRIDzzwgIqLiyVJxcXFGjZsmCIjI+0Zj8cjn8+nsrIye+baczTONJ7jRmpra+Xz+fwuAADATG0eOfHx8crJyVF+fr7WrVun8vJyPf7447p06ZK8Xq9CQ0MVHh7ud5vIyEh5vV5Jktfr9QucxuONx2424/P59NVXX91wbdnZ2XK5XPYlJibmVu8uAAC4TbX5X1d9//vft//88MMPKz4+Xn369NHmzZvVtWvXtv52LZKZman09HT7a5/PR+gAAGCodn8LeXh4uB588EGdPHlSUVFRqqurU1VVld9MZWWl/RqeqKio695t1fj1d804nc6bhpTD4ZDT6fS7AAAAM7V75Fy+fFmnTp1Sr169FBcXp7vuukuFhYX28RMnTqiiokJut1uS5Ha7deTIEZ0/f96eKSgokNPp1JAhQ+yZa8/RONN4DgAAgDaPnB//+MfatWuXPv30U+3Zs0d///d/r5CQEM2cOVMul0vJyclKT0/XBx98oJKSEs2bN09ut1tjx46VJE2ePFlDhgzR7Nmz9T//8z/avn27li9frpSUFDkcDknSwoUL9Ze//EVLly7V8ePH9dprr2nz5s1avHhxW98dAADQSbX5a3LOnDmjmTNn6vPPP9f999+vxx57THv37tX9998vSVq9erWCg4M1bdo01dbWyuPx6LXXXrNvHxISotzcXC1atEhut1t333235syZoxdffNGeiY2NVV5enhYvXqw1a9aod+/eeuONN3j7OAAAsAVZlmUFehGB4vP55HK5VF1d3eavz+mbkdem5wMk6dOXEgO9BAAIuOb+/ubfrgIAAEYicgAAgJGIHAAA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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Directory 'slices-58-61-64-67-70_radius-20_number-20' already exists.\n",
      "slices-57-64-71_radius-20_number-20\n",
      "slices-57-64-71_radius-20_number-20\n",
      "slices-57-64-71_radius-20_number-20\n",
      "torch.Size([74, 1, 32, 32, 32]) torch.Size([74, 32, 32, 32])\n"
     ]
    },
    {
     "data": {
      "image/png": "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eqmioqJ04YUXqqioqNfHeSbo6Vpt2LDhmPdUWFiYvF7v6RlwCOXn5+uyyy7Teeedp7i4OKWnp6uuru4rjzsbP7NOZa1C8XlFyAmSjIwM1dbWqrS0VGvXrlVFRYXmzJnzlcfNnj1bn3zyib0VFBSchtGePqtWrdK8efP00EMPafv27RozZoxSU1PV1NR03PrNmzdrxowZyszM1I4dO5Senq709HTt3r37NI88NHq6XtI/niZ69Hvoo48+Oo0jDo22tjaNGTNGy5Yt61Z9fX290tLSdN1116mmpkY5OTm68847tX79+l4eaej1dK261NXVBbyv4uLiemmEZ46NGzcqKytL77zzjkpLS9XR0aHJkyerra3thMecrZ9Zp7JWUgg+ryx8be+++64lydq6dau974033rDCwsKsv/3tbyc87pprrrHuvffe0zDC0Ln88sutrKws+/WRI0cst9tt5efnH7f++9//vpWWlhawLzk52frhD3/Yq+M8U/R0vZ5//nnL6XSeptGdmSRZa9asOWnNwoULrYsvvjhg37Rp06zU1NReHNmZpztr9dZbb1mSrAMHDpyWMZ3JmpqaLEnWxo0bT1hztn9mdenOWoXi84orOUFQWVmpmJgYTZgwwd6XkpKi8PBwVVVVnfTYlStXasiQIbrkkkuUl5enzz//vLeHe9ocOnRI1dXVSklJsfeFh4crJSVFlZWVxz2msrIyoF6SUlNTT1hvklNZL0lqbW3V8OHDlZCQoO985zuqra09HcPtU87m99WpGjt2rIYOHap///d/16ZNm0I9nJDw+XySpNjY2BPW8N76h+6slXT6P68IOUHg9XqPuZQbERGh2NjYk/479q233qoXX3xRb731lvLy8vS73/1Ot912W28P97T5+9//riNHjhzzBOr4+PgTrovX6+1RvUlOZb1GjBih3/72t/rjH/+oF198UZ2dnbriiiu0f//+0zHkPuNE7yu/368vvvgiRKM6Mw0dOlSFhYX6/e9/r9///vdKSEjQtddeq+3bt4d6aKdVZ2encnJydOWVV+qSSy45Yd3Z/JnVpbtrFYrPqz79Zx16W25urh5//PGT1uzZs+eU+z/6np3Ro0dr6NChuv766/XBBx/oW9/61in3i7OHx+MJ+IO0V1xxhUaNGqVf/epX+ulPfxrCkaGvGjFihEaMGGG/vuKKK/TBBx/o6aef1u9+97sQjuz0ysrK0u7du/X222+HeihnvO6uVSg+rwg5JzF//nz953/+50lrLrjgArlcrmNuDD18+LCam5vlcrm6fb7k5GRJ0vvvv29EyBkyZIj69eunxsbGgP2NjY0nXBeXy9WjepOcynp9Wf/+/TVu3Di9//77vTHEPutE7yuHw6EBAwaEaFR9x+WXX35WfdlnZ2fbPyD55je/edLas/kzS+rZWn3Z6fi84p+rTuIb3/iGRo4cedItMjJSHo9HLS0tqq6uto8tLy9XZ2enHVy6o6amRtI/LhebIDIyUuPHj1dZWZm9r7OzU2VlZQFp/mgejyegXpJKS0tPWG+SU1mvLzty5Ih27dplzHsoWM7m91Uw1NTUnBXvKcuylJ2drTVr1qi8vFyJiYlfeczZ+t46lbX6stPyeXVab3M22A033GCNGzfOqqqqst5++23roosusmbMmGG379+/3xoxYoRVVVVlWZZlvf/++9Yjjzxibdu2zaqvr7f++Mc/WhdccIE1adKkUE2hV7z88stWVFSUVVRUZL377rvWnDlzrJiYGMvr9VqWZVkzZ860cnNz7fpNmzZZERER1i9+8Qtrz5491kMPPWT179/f2rVrV6imcFr1dL0efvhha/369dYHH3xgVVdXW9OnT7eio6Ot2traUE3htPjss8+sHTt2WDt27LAkWU899ZS1Y8cO66OPPrIsy7Jyc3OtmTNn2vV//etfrXPOOcdasGCBtWfPHmvZsmVWv379rJKSklBN4bTp6Vo9/fTTVnFxsfXee+9Zu3btsu69914rPDzc+tOf/hSqKZw2d999t+V0Oq0NGzZYn3zyib19/vnndg2fWf9wKmsVis8rQk6Q/N///Z81Y8YM69xzz7UcDof1gx/8wPrss8/s9vr6ekuS9dZbb1mWZVn79u2zJk2aZMXGxlpRUVHWhRdeaC1YsMDy+XwhmkHv+eUvf2kNGzbMioyMtC6//HLrnXfesduuueYaa9asWQH1r7zyivUv//IvVmRkpHXxxRdb69atO80jDq2erFdOTo5dGx8fb02ZMsXavn17CEZ9enX9zPnLW9fazJo1y7rmmmuOOWbs2LFWZGSkdcEFF1jPP//8aR93KPR0rR5//HHrW9/6lhUdHW3FxsZa1157rVVeXh6awZ9mx1snSQHvFT6z/uFU1ioUn1dh/xwsAACAUbgnBwAAGImQAwAAjETIAQAARiLkAAAAIxFyAACAkQg5AADASIQcAABgJEIOAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAj/T9+/YAr39Z8/wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Directory 'slices-57-64-71_radius-20_number-20' already exists.\n",
      "slices-50-57-64-71-78_radius-20_number-20\n",
      "slices-50-57-64-71-78_radius-20_number-20\n",
      "slices-50-57-64-71-78_radius-20_number-20\n",
      "slices-50-57-64-71-78_radius-20_number-20\n",
      "slices-50-57-64-71-78_radius-20_number-20\n",
      "torch.Size([136, 1, 32, 32, 32]) torch.Size([136, 32, 32, 32])\n"
     ]
    },
    {
     "data": {
      "image/png": "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5PR0fE4Oeho+JwcA/Pw5OQAAAP5G5AAAACMROQAAwEhEDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACMROQAAwEhEDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACMROQAAwEhEDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACMROQAAwEhEDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACMROQAAwEhEDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACM1O7IKSsr0xNPPKHo6GgFBARo586dPscty1JOTo769++v3r17KzExUR999JHPzMWLFzVv3jw5HA6FhYUpNTVVly9f9pk5cuSIHnvsMYWGhiomJkZr1669YS3bt2/XiBEjFBoaqri4OL311lvtvTsAAMBQ7Y6choYGjR49Whs2bGj1+Nq1a/WrX/1KmzZt0v79+3X33XfL7Xbrq6++smfmzZunqqoqFRUVKT8/X2VlZVq8eLF93Ov1avr06Ro4cKAqKir0i1/8QmvWrNGrr75qz+zdu1dz585VamqqDh8+rOTkZCUnJ+vYsWPtvUsAAMBAAZZlWR2+cUCAduzYoeTkZElfP4sTHR2tZ599Vj/+8Y8lSfX19YqMjFReXp7mzJmj48ePKzY2Vh988IHGjRsnSSosLNTMmTN15swZRUdHa+PGjfrJT34ij8ej4OBgSVJWVpZ27typEydOSJJmz56thoYG5efn2+uZOHGixowZo02bNrVp/V6vV06nU/X19XI4HB3dhlYNyiro1PMBkvTxz5P8vQQA8Lu2/v7u1NfkVFdXy+PxKDEx0b7O6XQqISFB5eXlkqTy8nKFhYXZgSNJiYmJCgwM1P79++2ZyZMn24EjSW63WydPntTnn39uz1z/fVpmWr5PaxobG+X1en0uAADATJ0aOR6PR5IUGRnpc31kZKR9zOPxKCIiwud4r169FB4e7jPT2jmu/x43m2k53prc3Fw5nU77EhMT0967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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Directory 'slices-50-57-64-71-78_radius-20_number-20' already exists.\n",
      "slices-47-64-81_radius-20_number-20\n",
      "slices-47-64-81_radius-20_number-20\n",
      "slices-47-64-81_radius-20_number-20\n",
      "torch.Size([118, 1, 32, 32, 32]) torch.Size([118, 32, 32, 32])\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Directory 'slices-47-64-81_radius-20_number-20' already exists.\n",
      "slices-30-47-64-81-98_radius-20_number-20\n",
      "slices-30-47-64-81-98_radius-20_number-20\n",
      "slices-30-47-64-81-98_radius-20_number-20\n",
      "slices-30-47-64-81-98_radius-20_number-20\n",
      "slices-30-47-64-81-98_radius-20_number-20\n",
      "torch.Size([157, 1, 32, 32, 32]) torch.Size([157, 32, 32, 32])\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAGdCAYAAADwjmIIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAmtUlEQVR4nO3df1RU953/8RdgZtDEGUoMIEfij9j4IxoxqDgmMbqyjpVmy9Y9q8Z10RJdPZATJVVh60GT9hwSu6mxG6Obk61k27hVt6vZQoIhqLhG1IiyKlFPtKTq6qCNwihJUOF+/8iXu05FAwQY+fh8nDPnZOa+5/KZzyHD8wzDGGJZliUAAADDhAZ7AQAAAO2ByAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgpC7BXkAwNTQ06OzZs+revbtCQkKCvRwAANAMlmXp8uXLio2NVWjorV+vuasj5+zZs4qLiwv2MgAAQCucPn1avXr1uuXxuzpyunfvLunrTXK5XEFeDQAAaA6/36+4uDj75/it3NWR0/grKpfLReQAANDJfNNbTXjjMQAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACMROQAAwEhEDgAAMBKRAwAAjNQl2AswVZ+sgmAvAQb67OXkYC8BADoNXskBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEZqUeTk5uZq5MiR6t69u6KiopSSkqLjx48HzIwbN04hISEBl3nz5gXMnDp1SsnJyerWrZuioqK0aNEiXb9+PWBmx44deuyxx+R0OtW/f3/l5eXdtJ7Vq1erT58+Cg8PV2Jiovbt29eShwMAAAzWosgpKSlRenq69uzZo6KiIl27dk0TJ05UbW1twNycOXN07tw5+7JixQr7WH19vZKTk3X16lXt3r1bb7/9tvLy8pSTk2PPVFZWKjk5WePHj1d5ebkWLFigZ599Vlu3brVnNmzYoMzMTC1btkwHDhzQsGHD5PV6df78+dbuBQAAMEiIZVlWa+984cIFRUVFqaSkRGPHjpX09Ss58fHxeu2115q8z/vvv6/vf//7Onv2rKKjoyVJa9eu1ZIlS3ThwgU5HA4tWbJEBQUFOnLkiH2/adOmqbq6WoWFhZKkxMREjRw5Uq+//rokqaGhQXFxcXruueeUlZXVrPX7/X653W7V1NTI5XK1dhua1CeroE3PB0jSZy8nB3sJABB0zf35/a3ek1NTUyNJioyMDLj9nXfeUY8ePTRkyBBlZ2friy++sI+VlpZq6NChduBIktfrld/vV0VFhT2TlJQUcE6v16vS0lJJ0tWrV1VWVhYwExoaqqSkJHsGAADc3bq09o4NDQ1asGCBHn/8cQ0ZMsS+/ZlnnlHv3r0VGxurQ4cOacmSJTp+/Lj+8z//U5Lk8/kCAkeSfd3n8912xu/368svv9SlS5dUX1/f5MyxY8duuea6ujrV1dXZ1/1+fyseOQAA6AxaHTnp6ek6cuSIdu3aFXD73Llz7f8eOnSoevbsqQkTJujkyZN66KGHWr/SNpCbm6sXX3wxqGsAAAAdo1W/rsrIyFB+fr62b9+uXr163XY2MTFRknTixAlJUkxMjKqqqgJmGq/HxMTcdsblcqlr167q0aOHwsLCmpxpPEdTsrOzVVNTY19Onz7djEcLAAA6oxZFjmVZysjI0ObNm7Vt2zb17dv3G+9TXl4uSerZs6ckyePx6PDhwwF/BVVUVCSXy6XBgwfbM8XFxQHnKSoqksfjkSQ5HA4lJCQEzDQ0NKi4uNieaYrT6ZTL5Qq4AAAAM7Xo11Xp6elav3693n33XXXv3t1+D43b7VbXrl118uRJrV+/XpMnT9b999+vQ4cOaeHChRo7dqweffRRSdLEiRM1ePBgzZw5UytWrJDP59PSpUuVnp4up9MpSZo3b55ef/11LV68WD/60Y+0bds2bdy4UQUF//cXS5mZmUpNTdWIESM0atQovfbaa6qtrdXs2bPbam8AAEAn1qLIWbNmjaSv/0z8RuvWrdOsWbPkcDj04Ycf2sERFxenKVOmaOnSpfZsWFiY8vPzNX/+fHk8Ht17771KTU3VSy+9ZM/07dtXBQUFWrhwoVatWqVevXrprbfektfrtWemTp2qCxcuKCcnRz6fT/Hx8SosLLzpzcgAAODu9K0+J6ez43Ny0NnwOTkA0EGfkwMAAHCnInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYKQWRU5ubq5Gjhyp7t27KyoqSikpKTp+/HjAzFdffaX09HTdf//9uu+++zRlyhRVVVUFzJw6dUrJycnq1q2boqKitGjRIl2/fj1gZseOHXrsscfkdDrVv39/5eXl3bSe1atXq0+fPgoPD1diYqL27dvXkocDAAAM1qLIKSkpUXp6uvbs2aOioiJdu3ZNEydOVG1trT2zcOFC/f73v9emTZtUUlKis2fP6oc//KF9vL6+XsnJybp69ap2796tt99+W3l5ecrJybFnKisrlZycrPHjx6u8vFwLFizQs88+q61bt9ozGzZsUGZmppYtW6YDBw5o2LBh8nq9On/+/LfZDwAAYIgQy7Ks1t75woULioqKUklJicaOHauamho98MADWr9+vf7mb/5GknTs2DENGjRIpaWlGj16tN5//319//vf19mzZxUdHS1JWrt2rZYsWaILFy7I4XBoyZIlKigo0JEjR+yvNW3aNFVXV6uwsFCSlJiYqJEjR+r111+XJDU0NCguLk7PPfecsrKymrV+v98vt9utmpoauVyu1m5Dk/pkFbTp+QBJ+uzl5GAvAQCCrrk/v7/Ve3JqamokSZGRkZKksrIyXbt2TUlJSfbMwIED9eCDD6q0tFSSVFpaqqFDh9qBI0ler1d+v18VFRX2zI3naJxpPMfVq1dVVlYWMBMaGqqkpCR7BgAA3N26tPaODQ0NWrBggR5//HENGTJEkuTz+eRwOBQREREwGx0dLZ/PZ8/cGDiNxxuP3W7G7/fryy+/1KVLl1RfX9/kzLFjx2655rq6OtXV1dnX/X5/Cx4xAADoTFr9Sk56erqOHDmi3/72t225nnaV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AABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEYicgAAgJGIHAAAYCQiBwAAGInIAQAARiJyAACAkYgcAABgJCIHAAAYicgBAABGInIAAICRiBwAAGAkIgcAABiJyAEAAEbqEuwFAACCr09WQbCXAAN99nJyUL8+r+QAAAAjETkAAMBIRA4AADASkQMAAIzEG4+BToQ3hwJA8/FKDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACMROQAAwEhEDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACMROQAAwEidPnJWr16tPn36KDw8XImJidq3b1+wlwQAAO4AnTpyNmzYoMzMTC1btkwHDhzQsGHD5PV6df78+WAvDQAABFmnjpxf/OIXmjNnjmbPnq3Bgwdr7dq16tatm371q18Fe2kAACDIugR7Aa119epVlZWVKTs7274tNDRUSUlJKi0tbfI+dXV1qqurs6/X1NRIkvx+f5uvr6HuizY/JwAAnUl7/Hy98byWZd12rtNGzp/+9CfV19crOjo64Pbo6GgdO3asyfvk5ubqxRdfvOn2uLi4dlkjAAB3M/dr7Xv+y5cvy+123/J4p42c1sjOzlZmZqZ9vaGhQRcvXtT999+vkJCQNvs6fr9fcXFxOn36tFwuV5ud10TsVfOxVy3DfjUfe9V87FXztedeWZaly5cvKzY29rZznTZyevToobCwMFVVVQXcXlVVpZiYmCbv43Q65XQ6A26LiIhoryXK5XLxP0EzsVfNx161DPvVfOxV87FXzddee3W7V3Aaddo3HjscDiUkJKi4uNi+raGhQcXFxfJ4PEFcGQAAuBN02ldyJCkzM1OpqakaMWKERo0apddee021tbWaPXt2sJcGAACCrFNHztSpU3XhwgXl5OTI5/MpPj5ehYWFN70ZuaM5nU4tW7bspl+N4WbsVfOxVy3DfjUfe9V87FXz3Ql7FWJ9099fAQAAdEKd9j05AAAAt0PkAAAAIxE5AADASEQOAAAwEpHTRi5evKgZM2bI5XIpIiJCaWlpunLlym3vM27cOIWEhARc5s2b10Er7jirV69Wnz59FB4ersTERO3bt++285s2bdLAgQMVHh6uoUOH6r333uuglQZfS/YqLy/vpu+f8PDwDlxt8OzcuVNPP/20YmNjFRISoi1btnzjfXbs2KHHHntMTqdT/fv3V15eXruv807Q0r3asWPHTd9XISEh8vl8HbPgIMrNzdXIkSPVvXt3RUVFKSUlRcePH//G+92Nz1mt2atgPGcROW1kxowZqqioUFFRkfLz87Vz507NnTv3G+83Z84cnTt3zr6sWLGiA1bbcTZs2KDMzEwtW7ZMBw4c0LBhw+T1enX+/Pkm53fv3q3p06crLS1NBw8eVEpKilJSUnTkyJEOXnnHa+leSV9/kuiN3z9//OMfO3DFwVNbW6thw4Zp9erVzZqvrKxUcnKyxo8fr/Lyci1YsEDPPvustm7d2s4rDb6W7lWj48ePB3xvRUVFtdMK7xwlJSVKT0/Xnj17VFRUpGvXrmnixImqra295X3u1ues1uyVFITnLAvf2ieffGJJsj7++GP7tvfff98KCQmx/vd///eW93vqqaes559/vgNWGDyjRo2y0tPT7ev19fVWbGyslZub2+T83/7t31rJyckBtyUmJlr/8A//0K7rvBO0dK/WrVtnud3uDlrdnUuStXnz5tvOLF682HrkkUcCbps6darl9XrbcWV3nubs1fbt2y1J1qVLlzpkTXey8+fPW5KskpKSW87czc9ZN2rOXgXjOYtXctpAaWmpIiIiNGLECPu2pKQkhYaGau/evbe97zvvvKMePXpoyJAhys7O1hdffNHey+0wV69eVVlZmZKSkuzbQkNDlZSUpNLS0ibvU1paGjAvSV6v95bzpmjNXknSlStX1Lt3b8XFxekHP/iBKioqOmK5nc7d+n31bcTHx6tnz576y7/8S3300UfBXk5Q1NTUSJIiIyNvOcP31teas1dSxz9nETltwOfz3fRSbpcuXRQZGXnb32M/88wz+s1vfqPt27crOztbv/71r/V3f/d37b3cDvOnP/1J9fX1N30CdXR09C33xefztWjeFK3ZqwEDBuhXv/qV3n33Xf3mN79RQ0ODxowZozNnznTEkjuVW31f+f1+ffnll0Fa1Z2pZ8+eWrt2rX73u9/pd7/7neLi4jRu3DgdOHAg2EvrUA0NDVqwYIEef/xxDRky5JZzd+tz1o2au1fBeM7q1P+sQ3vLysrSK6+8ctuZo0ePtvr8N75nZ+jQoerZs6cmTJigkydP6qGHHmr1eXF38Hg8Af8Y7ZgxYzRo0CD9y7/8i376058GcWXozAYMGKABAwbY18eMGaOTJ09q5cqV+vWvfx3ElXWs9PR0HTlyRLt27Qr2Uu54zd2rYDxnETm38cILL2jWrFm3nenXr59iYmJuenPo9evXdfHiRcXExDT76yUmJkqSTpw4YUTk9OjRQ2FhYaqqqgq4vaqq6pb7EhMT06J5U7Rmr/7cPffco+HDh+vEiRPtscRO7VbfVy6XS127dg3SqjqPUaNG3VU/7DMyMuw/IOnVq9dtZ+/W56xGLdmrP9cRz1n8uuo2HnjgAQ0cOPC2F4fDIY/Ho+rqapWVldn33bZtmxoaGuxwaY7y8nJJX79cbAKHw6GEhAQVFxfbtzU0NKi4uDig5m/k8XgC5iWpqKjolvOmaM1e/bn6+nodPnzYmO+ftnS3fl+1lfLy8rvi+8qyLGVkZGjz5s3atm2b+vbt+433uVu/t1qzV3+uQ56zOvRtzgabNGmSNXz4cGvv3r3Wrl27rO9+97vW9OnT7eNnzpyxBgwYYO3du9eyLMs6ceKE9dJLL1n79++3KisrrXfffdfq16+fNXbs2GA9hHbx29/+1nI6nVZeXp71ySefWHPnzrUiIiIsn89nWZZlzZw508rKyrLnP/roI6tLly7WP/3TP1lHjx61li1bZt1zzz3W4cOHg/UQOkxL9+rFF1+0tm7dap08edIqKyuzpk2bZoWHh1sVFRXBeggd5vLly9bBgwetgwcPWpKsX/ziF9bBgwetP/7xj5ZlWVZWVpY1c+ZMe/4Pf/iD1a1bN2vRokXW0aNHrdWrV1thYWFWYWFhsB5Ch2npXq1cudLasmWL9emnn1qHDx+2nn/+eSs0NNT68MMPg/UQOsz8+fMtt9tt7dixwzp37px9+eKLL+wZnrO+1pq9CsZzFpHTRj7//HNr+vTp1n333We5XC5r9uzZ1uXLl+3jlZWVliRr+/btlmVZ1qlTp6yxY8dakZGRltPptPr3728tWrTIqqmpCdIjaD///M//bD344IOWw+GwRo0aZe3Zs8c+9tRTT1mpqakB8xs3brQefvhhy+FwWI888ohVUFDQwSsOnpbs1YIFC+zZ6Ohoa/LkydaBAweCsOqO1/hnzn9+adyf1NRU66mnnrrpPvHx8ZbD4bD69etnrVu3rsPXHQwt3atXXnnFeuihh6zw8HArMjLSGjdunLVt27bgLL6DNbVPkgK+V3jO+lpr9ioYz1kh/3+xAAAARuE9OQAAwEhEDgAAMBKRAwAAjETkAAAAIxE5AADASEQOAAAwEpEDAACMROQAAAAjETkAAMBIRA4AADASkQMAAIxE5AAAACP9PxoeC+Bg9KjzAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Directory 'slices-30-47-64-81-98_radius-20_number-20' already exists.\n"
     ]
    }
   ],
   "source": [
    "for this_sample in these_samplings:    \n",
    "    \n",
    "    training_labels = np.zeros_like(labels) - 1\n",
    "    for s in this_sample:\n",
    "        # in Z\n",
    "        tmp_t = einops.rearrange(training_labels, \"Z Y X -> Z Y X\" )\n",
    "        tmp_o = einops.rearrange(labels, \"Z Y X -> Z Y X\" )\n",
    "        msk = build_mask(data.shape[1:], radius, number, tmp_o[s] ).astype(bool)\n",
    "        tmp_t[s,msk] = tmp_o[s, msk]\n",
    "        training_labels = einops.rearrange(tmp_t, \"Z Y X -> Z Y X\")\n",
    "        labels = einops.rearrange(tmp_o, \"Z Y X -> Z Y X\")\n",
    "\n",
    "        # in Y\n",
    "        tmp_t = einops.rearrange(training_labels, \"Z Y X -> Y Z X\" )\n",
    "        tmp_o = einops.rearrange(labels, \"Z Y X -> Y Z X\" )\n",
    "        msk = build_mask(data.shape[1:], radius, number, tmp_o[s]).astype(bool)\n",
    "        tmp_t[s,msk] = tmp_o[s, msk]\n",
    "        training_labels = einops.rearrange(tmp_t, \"Y Z X -> Z Y X\")\n",
    "        labels = einops.rearrange(tmp_o, \"Y Z X -> Z Y X\")\n",
    "\n",
    "        # in X\n",
    "        tmp_t = einops.rearrange(training_labels, \"Z Y X -> X Z Y\" )\n",
    "        tmp_o = einops.rearrange(labels, \"Z Y X -> X Z Y\" )\n",
    "        msk = build_mask(data.shape[1:], radius, number, tmp_o[s]).astype(bool)\n",
    "        tmp_t[s,msk] = tmp_o[s, msk]\n",
    "        training_labels = einops.rearrange(tmp_t, \"X Z Y-> Z Y X\")\n",
    "        labels = einops.rearrange(tmp_o, \"X Z Y -> Z Y X\")\n",
    "        \n",
    "        name_base = \"slices\"\n",
    "        for s in this_sample:\n",
    "            name_base += \"-\"+str(s)\n",
    "        name_base += \"_radius-\"+str(radius)\n",
    "        name_base += \"_number-\"+str(number)\n",
    "        print(name_base)\n",
    "\n",
    "        \n",
    "    window = (32,32,32)\n",
    "    step = (16,16,16)\n",
    "    border = (8,8,8)\n",
    "\n",
    "    tdata = torch.Tensor(data).unsqueeze(0).unsqueeze(0)\n",
    "    tlabels = torch.tensor(training_labels.astype(np.int8)).unsqueeze(0)\n",
    "    #print(tdata.shape, tlabels.shape)\n",
    "    qlty_obj = qlty3DLarge.LargeNCZYXQuilt(filename=\"tmp_cache\",\n",
    "                                               N=tdata.shape[0], \n",
    "                                               Z=tdata.shape[-3], \n",
    "                                               Y=tdata.shape[-2], \n",
    "                                               X=tdata.shape[-1],\n",
    "                                               window=window,\n",
    "                                               step=step,\n",
    "                                               border=border,\n",
    "                                               border_weight=0.1\n",
    "                                              )\n",
    "    this_data,this_lbls = qlty_obj.unstitch_and_clean_sparse_data_pair(tdata, tlabels, missing_label=-1)        \n",
    "    print(this_data.shape, this_lbls.shape)\n",
    "    sel = training_labels > -1\n",
    "    lbls = training_labels[sel]\n",
    "    plt.hist(lbls, bins=[-.5,0.5,1.5, 2.5])\n",
    "    #plt.yscale('log')\n",
    "    plt.show()\n",
    "    dir_name = name_base\n",
    "    create_directory(dir_name)\n",
    "    dname = dir_name+\"/data_sel.pt\"\n",
    "    lname = dir_name+\"/lbls_sel.pt\"\n",
    "    torch.save(this_data, dname)\n",
    "    torch.save(this_lbls, lname)\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "indonesian-score",
   "metadata": {},
   "outputs": [],
   "source": [
    "v = napari.view_labels(training_labels+1)\n",
    "_ = v.add_image(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "exceptional-impact",
   "metadata": {},
   "outputs": [],
   "source": [
    "name_base = \"slices\"\n",
    "for s in slices:\n",
    "    name_base += \"-\"+str(s)\n",
    "name_base += \"_radius-\"+str(radius)\n",
    "name_base += \"_number-\"+str(number)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "inappropriate-explorer",
   "metadata": {},
   "outputs": [],
   "source": [
    "np.save(name_base, training_labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "rocky-surveillance",
   "metadata": {},
   "outputs": [],
   "source": [
    "sel = training_labels > -1\n",
    "\n",
    "lbls = training_labels[sel]\n",
    "plt.hist(lbls)\n",
    "#plt.yscale('log')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "drawn-arrival",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bound-immigration",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fundamental-plymouth",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "reflected-character",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "industrial-competition",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "novel-texas",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "front-better",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "surprising-tunisia",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "effective-restoration",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "passive-inside",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "guided-alert",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cubic-performer",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "optical-excerpt",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "assumed-proof",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "complex-nightlife",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "capable-biotechnology",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "dlsia-new",
   "language": "python",
   "name": "dlsia-new"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.18"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}