File size: 57,186 Bytes
3f29a93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b1c9de9d-6777-4a1d-bb7c-c2413d01bd7d",
   "metadata": {},
   "source": [
    "# Generate Data\n",
    "\n",
    "This bundle uses simple synthetic data for training and testing. Using `create_test_image_3d` we'll create images of spheres with labels for each divided into 3 classes distinguished by intensity. The network will be able to train very quickly on this of course but it's for demonstration purposes and your specialised bundle will by modified for your data and its layout. \n",
    "\n",
    "Assuming this notebook is being run from the `docs` directory it will create two new directories in the root of the bundle, `train_data` and `test_data`.\n",
    "\n",
    "First imports:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "1e7cb4a8-f91a-4f15-a8aa-3136c2b954d6",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import nibabel as nib\n",
    "import numpy as np\n",
    "from monai.data import create_test_image_3d\n",
    "\n",
    "plt.rcParams[\"image.interpolation\"] = \"none\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2b2c3de5-01e5-4578-832b-b24a75d095d5",
   "metadata": {},
   "source": [
    "As shown here, the images are spheres in a 3D volume with associated labels:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "775be24b-3400-4e28-9cce-3c47ee796517",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(128, 128, 128) float32 (128, 128, 128) int32\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7fe2c5f74be0>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "img, lbl = create_test_image_3d(128, 128, 128, 4, num_seg_classes=3, noise_max=0.5)\n",
    "\n",
    "print(img.shape, img.dtype, lbl.shape, lbl.dtype)\n",
    "\n",
    "_, (ax0, ax1) = plt.subplots(1, 2)\n",
    "ax0.imshow(np.average(img, 0), cmap=\"gray\")\n",
    "ax1.imshow(np.max(lbl, 0), cmap=\"jet\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8e08c4a1-6630-4ab3-832b-e53face81e35",
   "metadata": {},
   "source": [
    "50 image/label pairs are now generated into the directory `../data`, assuming this notebook is run from the `docs` directory this will be in the bundle root:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "1c7e0188-e0a1-48fc-8249-d09a9cc466e3",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "num_images = 50\n",
    "out_dir = os.path.abspath(\"../train_data\")\n",
    "\n",
    "os.makedirs(out_dir, exist_ok=True)\n",
    "\n",
    "for i in range(num_images):\n",
    "    img, lbl = create_test_image_3d(128, 128, 128, 4, num_seg_classes=3, noise_max=0.5)\n",
    "    n = nib.Nifti1Image(img, np.eye(4))\n",
    "    nib.save(n, os.path.join(out_dir, f\"img{i:02}.nii.gz\"))\n",
    "    n = nib.Nifti1Image(lbl, np.eye(4))\n",
    "    nib.save(n, os.path.join(out_dir, f\"lbl{i:02}.nii.gz\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7fe344f7-d01d-49d5-adca-a7071939ca53",
   "metadata": {},
   "source": [
    "We'll also generate some test data in a separate folder:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "c3b8d8f3-8d73-4657-98f3-5605d4b1bad9",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "num_images = 10\n",
    "out_dir = os.path.abspath(\"../test_data\")\n",
    "\n",
    "os.makedirs(out_dir, exist_ok=True)\n",
    "\n",
    "for i in range(num_images):\n",
    "    img, lbl = create_test_image_3d(128, 128, 128, 4, num_seg_classes=3, noise_max=0.5)\n",
    "    n = nib.Nifti1Image(img, np.eye(4))\n",
    "    nib.save(n, os.path.join(out_dir, f\"img{i:02}.nii.gz\"))\n",
    "    n = nib.Nifti1Image(lbl, np.eye(4))\n",
    "    nib.save(n, os.path.join(out_dir, f\"lbl{i:02}.nii.gz\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "599cff25-4894-481b-aec3-6aedda327a09",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "img00.nii.gz  img04.nii.gz  img08.nii.gz  lbl02.nii.gz\tlbl06.nii.gz\n",
      "img01.nii.gz  img05.nii.gz  img09.nii.gz  lbl03.nii.gz\tlbl07.nii.gz\n",
      "img02.nii.gz  img06.nii.gz  lbl00.nii.gz  lbl04.nii.gz\tlbl08.nii.gz\n",
      "img03.nii.gz  img07.nii.gz  lbl01.nii.gz  lbl05.nii.gz\tlbl09.nii.gz\n"
     ]
    }
   ],
   "source": [
    "!ls {out_dir}"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:monai1]",
   "language": "python",
   "name": "conda-env-monai1-py"
  },
  "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
}