Skip to content

Commit e9cf3cb

Browse files
authored
update tutorials/modules for metatensor (Project-MONAI#771)
* update load image demo Signed-off-by: Wenqi Li <[email protected]> * update 2d_slices_from_3d_training.ipynb Signed-off-by: Wenqi Li <[email protected]> * image_dataset.ipynb Signed-off-by: Wenqi Li <[email protected]> * fixes fasttraining Signed-off-by: Wenqi Li <[email protected]> * update tta Signed-off-by: Wenqi Li <[email protected]> * nifti read Signed-off-by: Wenqi Li <[email protected]> * update tta Signed-off-by: Wenqi Li <[email protected]> * fixes typos Signed-off-by: Wenqi Li <[email protected]> * fixes interpretability/cats_and_dogs.ipynb Signed-off-by: Wenqi Li <[email protected]> * fixes pep8 Signed-off-by: Wenqi Li <[email protected]> * pep8 Signed-off-by: Wenqi Li <[email protected]> * update 2d_slices_from_3d_sampling.ipynb Signed-off-by: Wenqi Li <[email protected]> * modules/resample_benchmark.ipynb Signed-off-by: Wenqi Li <[email protected]> * modules/benchmark_global_mutual_information.ipynb Signed-off-by: Wenqi Li <[email protected]> * update modules/nifti_read_example.ipynb Signed-off-by: Wenqi Li <[email protected]> * modules/integrate_3rd_party_transforms.ipynb Signed-off-by: Wenqi Li <[email protected]> * fixes pep8 Signed-off-by: Wenqi Li <[email protected]> * update based on comments Signed-off-by: Wenqi Li <[email protected]>
1 parent a5b299e commit e9cf3cb

11 files changed

+233
-1201
lines changed

acceleration/fast_training_tutorial.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@
614614
" with torch.no_grad():\n",
615615
" val_loader_iterator = iter(val_loader)\n",
616616
"\n",
617-
" for val_step in range(len(val_loader)):\n",
617+
" for _ in range(len(val_loader)):\n",
618618
" # profiling: val dataload\n",
619619
" with nvtx.annotate(\"dataload\", color=\"red\") if profiling else no_profiling:\n",
620620
" val_data = next(val_loader_iterator)\n",

modules/2d_slices_from_3d_sampling.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@
519519
" device=torch.device(\"cpu\"),\n",
520520
" padding_mode=\"replicate\",\n",
521521
" )\n",
522-
" val_output = slice_inferer(val_images, model)\n",
522+
" val_output = slice_inferer(val_images, model).cpu()\n",
523523
" dice_metric(y_pred=val_output > 0.5, y=val_data[\"seg\"])\n",
524524
" print(\"Dice: \", dice_metric.get_buffer()[-1][0])\n",
525525
" fig = plt.figure(figsize=(10, 4))\n",

modules/2d_slices_from_3d_training.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@
501501
" device=torch.device(\"cpu\"),\n",
502502
" padding_mode=\"replicate\",\n",
503503
" )\n",
504-
" val_output = slice_inferer(val_images, model)\n",
504+
" val_output = slice_inferer(val_images, model).to(\"cpu\")\n",
505505
" dice_metric(y_pred=val_output > 0.5, y=val_data[\"seg\"])\n",
506506
" print(\"Dice: \", dice_metric.get_buffer()[-1][0])\n",
507507
" fig = plt.figure(figsize=(10, 4))\n",
@@ -549,7 +549,7 @@
549549
"name": "python",
550550
"nbconvert_exporter": "python",
551551
"pygments_lexer": "ipython3",
552-
"version": "3.8.12"
552+
"version": "3.8.0"
553553
}
554554
},
555555
"nbformat": 4,

modules/3d_image_transforms.ipynb

Lines changed: 86 additions & 69 deletions
Large diffs are not rendered by default.

modules/benchmark_global_mutual_information.ipynb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,8 @@
232232
" a2: numpy array of shape HWD\n",
233233
" \"\"\"\n",
234234
" antspyx_result = ants.image_mutual_information(\n",
235-
" ants.from_numpy(a1),\n",
236-
" ants.from_numpy(a2)\n",
235+
" ants.from_numpy(a1.detach().cpu().numpy()),\n",
236+
" ants.from_numpy(a2.detach().cpu().numpy())\n",
237237
" )\n",
238238
" monai_result = GlobalMutualInformationLoss(\n",
239239
" kernel_type=\"b-spline\",\n",
@@ -471,7 +471,7 @@
471471
"name": "python",
472472
"nbconvert_exporter": "python",
473473
"pygments_lexer": "ipython3",
474-
"version": "3.8.12"
474+
"version": "3.8.0"
475475
}
476476
},
477477
"nbformat": 4,

modules/image_dataset.ipynb

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
},
4545
{
4646
"cell_type": "code",
47-
"execution_count": 1,
47+
"execution_count": 2,
4848
"metadata": {
4949
"execution": {
5050
"iopub.execute_input": "2021-01-14T12:34:04.909819Z",
@@ -59,26 +59,29 @@
5959
"name": "stdout",
6060
"output_type": "stream",
6161
"text": [
62-
"MONAI version: 0.6.0rc1+23.gc6793fd0\n",
63-
"Numpy version: 1.20.3\n",
64-
"Pytorch version: 1.9.0a0+c3d40fd\n",
65-
"MONAI flags: HAS_EXT = True, USE_COMPILED = False\n",
66-
"MONAI rev id: c6793fd0f316a448778d0047664aaf8c1895fe1c\n",
62+
"MONAI version: 0.9.1rc1+6.gcbe16eb3\n",
63+
"Numpy version: 1.23.0\n",
64+
"Pytorch version: 1.12.0+cu102\n",
65+
"MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n",
66+
"MONAI rev id: cbe16eb326830ef31479fd34ae1e44d27fc2d64d\n",
67+
"MONAI __file__: /home/wenqil/Documents/MONAI/monai/__init__.py\n",
6768
"\n",
6869
"Optional dependencies:\n",
69-
"Pytorch Ignite version: 0.4.5\n",
70-
"Nibabel version: 3.2.1\n",
71-
"scikit-image version: 0.15.0\n",
72-
"Pillow version: 8.2.0\n",
73-
"Tensorboard version: 2.5.0\n",
74-
"gdown version: 3.13.0\n",
75-
"TorchVision version: 0.10.0a0\n",
76-
"ITK version: 5.1.2\n",
77-
"tqdm version: 4.53.0\n",
78-
"lmdb version: 1.2.1\n",
79-
"psutil version: 5.8.0\n",
80-
"pandas version: 1.1.4\n",
81-
"einops version: 0.3.0\n",
70+
"Pytorch Ignite version: 0.4.9\n",
71+
"Nibabel version: 4.0.1\n",
72+
"scikit-image version: 0.19.3\n",
73+
"Pillow version: 9.2.0\n",
74+
"Tensorboard version: 2.9.1\n",
75+
"gdown version: 4.5.1\n",
76+
"TorchVision version: 0.13.0+cu102\n",
77+
"tqdm version: 4.64.0\n",
78+
"lmdb version: 1.3.0\n",
79+
"psutil version: 5.9.1\n",
80+
"pandas version: 1.4.3\n",
81+
"einops version: 0.4.1\n",
82+
"transformers version: 4.20.1\n",
83+
"mlflow version: 1.27.0\n",
84+
"pynrrd version: 0.4.3\n",
8285
"\n",
8386
"For details about installing the optional dependencies, please visit:\n",
8487
" https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies\n",
@@ -124,7 +127,7 @@
124127
},
125128
{
126129
"cell_type": "code",
127-
"execution_count": 2,
130+
"execution_count": null,
128131
"metadata": {},
129132
"outputs": [],
130133
"source": [
@@ -150,7 +153,7 @@
150153
},
151154
{
152155
"cell_type": "code",
153-
"execution_count": 3,
156+
"execution_count": 4,
154157
"metadata": {
155158
"execution": {
156159
"iopub.execute_input": "2021-01-14T12:34:07.530773Z",
@@ -173,8 +176,9 @@
173176
"source": [
174177
"class TestCompose(Compose):\n",
175178
" def __call__(self, data, meta):\n",
176-
" data = self.transforms[0](data, meta) # ensure channel first\n",
177-
" data, _, meta[\"affine\"] = self.transforms[1](data, meta[\"affine\"]) # spacing\n",
179+
" data = self.transforms[0](data) # ensure channel first\n",
180+
" data = self.transforms[1](data) # spacing\n",
181+
" meta = data.meta\n",
178182
" if len(self.transforms) == 3:\n",
179183
" return self.transforms[2](data), meta # image contrast\n",
180184
" return data, meta\n",
@@ -213,7 +217,7 @@
213217
],
214218
"metadata": {
215219
"kernelspec": {
216-
"display_name": "Python 3",
220+
"display_name": "Python 3 (ipykernel)",
217221
"language": "python",
218222
"name": "python3"
219223
},
@@ -227,7 +231,7 @@
227231
"name": "python",
228232
"nbconvert_exporter": "python",
229233
"pygments_lexer": "ipython3",
230-
"version": "3.8.10"
234+
"version": "3.8.0"
231235
}
232236
},
233237
"nbformat": 4,

modules/integrate_3rd_party_transforms.ipynb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@
272272
" ScaleIntensityRanged(keys=[\"image\"], a_min=-57,\n",
273273
" a_max=164, b_min=0.0, b_max=1.0, clip=True),\n",
274274
" CropForegroundd(keys=[\"image\", \"label\"], source_key=\"image\"),\n",
275+
" EnsureTyped(keys=[\"image\", \"label\"], data_type=\"numpy\"),\n",
275276
"]"
276277
]
277278
},
@@ -472,7 +473,7 @@
472473
],
473474
"metadata": {
474475
"kernelspec": {
475-
"display_name": "Python 3",
476+
"display_name": "Python 3 (ipykernel)",
476477
"language": "python",
477478
"name": "python3"
478479
},
@@ -486,7 +487,7 @@
486487
"name": "python",
487488
"nbconvert_exporter": "python",
488489
"pygments_lexer": "ipython3",
489-
"version": "3.7.10"
490+
"version": "3.8.0"
490491
}
491492
},
492493
"nbformat": 4,

modules/interpretability/cats_and_dogs.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
" axes = np.asarray(axes) if nims == 1 else axes\n",
201201
" for d, ax in zip(data, axes.ravel()):\n",
202202
" # channel last for matplotlib\n",
203-
" im = np.moveaxis(d[\"image\"], 0, -1)\n",
203+
" im = np.moveaxis(d[\"image\"].detach().cpu().numpy(), 0, -1)\n",
204204
" ax.imshow(im, cmap='gray')\n",
205205
" ax.set_title(Animals(d['label']).name, fontsize=25)\n",
206206
" ax.axis(\"off\")\n",
@@ -608,7 +608,7 @@
608608
"name": "python",
609609
"nbconvert_exporter": "python",
610610
"pygments_lexer": "ipython3",
611-
"version": "3.9.7"
611+
"version": "3.8.0"
612612
}
613613
},
614614
"nbformat": 4,

modules/inverse_transforms_and_test_time_augmentations.ipynb

Lines changed: 61 additions & 1056 deletions
Large diffs are not rendered by default.

modules/nifti_read_example.ipynb

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -47,27 +47,29 @@
4747
"name": "stdout",
4848
"output_type": "stream",
4949
"text": [
50-
"MONAI version: 0.8.1\n",
51-
"Numpy version: 1.21.5\n",
52-
"Pytorch version: 1.10.2\n",
53-
"MONAI flags: HAS_EXT = False, USE_COMPILED = False\n",
54-
"MONAI rev id: 71ff399a3ea07aef667b23653620a290364095b1\n",
50+
"MONAI version: 0.9.1rc2+2.gc0268266.dirty\n",
51+
"Numpy version: 1.23.0\n",
52+
"Pytorch version: 1.12.0+cu102\n",
53+
"MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n",
54+
"MONAI rev id: c0268266f688c3bacd9c92ef7458f54b6afdf609\n",
55+
"MONAI __file__: /home/wenqil/Documents/MONAI/monai/__init__.py\n",
5556
"\n",
5657
"Optional dependencies:\n",
57-
"Pytorch Ignite version: 0.4.8\n",
58-
"Nibabel version: 3.2.1\n",
59-
"scikit-image version: 0.19.1\n",
60-
"Pillow version: 9.0.0\n",
61-
"Tensorboard version: 2.8.0\n",
62-
"gdown version: 4.2.0\n",
63-
"TorchVision version: 0.11.3\n",
64-
"tqdm version: 4.62.3\n",
58+
"Pytorch Ignite version: 0.4.9\n",
59+
"Nibabel version: 4.0.1\n",
60+
"scikit-image version: 0.19.3\n",
61+
"Pillow version: 9.2.0\n",
62+
"Tensorboard version: 2.9.1\n",
63+
"gdown version: 4.5.1\n",
64+
"TorchVision version: 0.13.0+cu102\n",
65+
"tqdm version: 4.64.0\n",
6566
"lmdb version: 1.3.0\n",
66-
"psutil version: 5.9.0\n",
67-
"pandas version: 1.1.5\n",
68-
"einops version: 0.4.0\n",
69-
"transformers version: 4.16.1\n",
70-
"mlflow version: 1.23.1\n",
67+
"psutil version: 5.9.1\n",
68+
"pandas version: 1.4.3\n",
69+
"einops version: 0.4.1\n",
70+
"transformers version: 4.20.1\n",
71+
"mlflow version: 1.27.0\n",
72+
"pynrrd version: 0.4.3\n",
7173
"\n",
7274
"For details about installing the optional dependencies, please visit:\n",
7375
" https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies\n",
@@ -100,7 +102,6 @@
100102
"from monai.data import (\n",
101103
" ArrayDataset, GridPatchDataset, create_test_image_3d, PatchIter)\n",
102104
"from monai.transforms import (\n",
103-
" AddChannel,\n",
104105
" Compose,\n",
105106
" LoadImage,\n",
106107
" RandSpatialCrop,\n",
@@ -125,11 +126,19 @@
125126
},
126127
{
127128
"cell_type": "code",
128-
"execution_count": null,
129+
"execution_count": 3,
129130
"metadata": {
130131
"tags": []
131132
},
132-
"outputs": [],
133+
"outputs": [
134+
{
135+
"name": "stdout",
136+
"output_type": "stream",
137+
"text": [
138+
"/tmp/tmpkzde8m5b\n"
139+
]
140+
}
141+
],
133142
"source": [
134143
"directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n",
135144
"root_dir = tempfile.mkdtemp() if directory is None else directory\n",
@@ -177,7 +186,7 @@
177186
"name": "stdout",
178187
"output_type": "stream",
179188
"text": [
180-
"torch.Size([5, 1, 64, 64, 64]) torch.Size([5, 1, 64, 64, 64])\n"
189+
"(5, 1, 64, 64, 64) (5, 1, 64, 64, 64)\n"
181190
]
182191
}
183192
],
@@ -187,20 +196,16 @@
187196
"\n",
188197
"imtrans = Compose(\n",
189198
" [\n",
190-
" LoadImage(image_only=True),\n",
199+
" LoadImage(image_only=True, ensure_channel_first=True),\n",
191200
" ScaleIntensity(),\n",
192-
" AddChannel(),\n",
193201
" RandSpatialCrop((64, 64, 64), random_size=False),\n",
194-
" EnsureType(),\n",
195202
" ]\n",
196203
")\n",
197204
"\n",
198205
"segtrans = Compose(\n",
199206
" [\n",
200-
" LoadImage(image_only=True),\n",
201-
" AddChannel(),\n",
207+
" LoadImage(image_only=True, ensure_channel_first=True),\n",
202208
" RandSpatialCrop((64, 64, 64), random_size=False),\n",
203-
" EnsureType(),\n",
204209
" ]\n",
205210
")\n",
206211
"\n",
@@ -236,10 +241,10 @@
236241
}
237242
],
238243
"source": [
239-
"imtrans = Compose([LoadImage(image_only=True),\n",
240-
" ScaleIntensity(), AddChannel(), EnsureType()])\n",
244+
"imtrans = Compose([LoadImage(image_only=True, ensure_channel_first=True),\n",
245+
" ScaleIntensity(), EnsureType()])\n",
241246
"\n",
242-
"segtrans = Compose([LoadImage(image_only=True), AddChannel(), EnsureType()])\n",
247+
"segtrans = Compose([LoadImage(image_only=True, ensure_channel_first=True), EnsureType()])\n",
243248
"\n",
244249
"ds = ArrayDataset(images, imtrans, segs, segtrans)\n",
245250
"patch_iter = PatchIter(patch_size=(64, 64, 64), start_pos=(0, 0, 0))\n",
@@ -283,7 +288,7 @@
283288
],
284289
"metadata": {
285290
"kernelspec": {
286-
"display_name": "Python 3",
291+
"display_name": "Python 3 (ipykernel)",
287292
"language": "python",
288293
"name": "python3"
289294
},
@@ -297,7 +302,7 @@
297302
"name": "python",
298303
"nbconvert_exporter": "python",
299304
"pygments_lexer": "ipython3",
300-
"version": "3.7.10"
305+
"version": "3.8.0"
301306
}
302307
},
303308
"nbformat": 4,

0 commit comments

Comments
 (0)