17
17
{
18
18
"name" : " stdout" ,
19
19
"output_type" : " stream" ,
20
- "text" : " MONAI version: 0.0.1\n Python version: 3.8.1 (default, Jan 8 2020, 22:29:32) [GCC 7.3.0]\n Numpy version: 1.18.1\n Pytorch version: 1.4.0\n Ignite version: 0.3.0\n "
20
+ "text" : [
21
+ " MONAI version: 0.0.1\n " ,
22
+ " Python version: 3.5.6 |Anaconda, Inc.| (default, Aug 26 2018, 16:30:03) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]\n " ,
23
+ " Numpy version: 1.18.2\n " ,
24
+ " Pytorch version: 1.4.0\n " ,
25
+ " Ignite version: 0.3.0\n "
26
+ ]
21
27
}
22
28
],
23
29
"source" : [
35
41
" \n " ,
36
42
" import torch\n " ,
37
43
" from torch.utils.data import DataLoader\n " ,
38
- " import monai.transforms.compose as transforms \n " ,
44
+ " from monai.transforms.compose import Compose \n " ,
39
45
" \n " ,
40
46
" import monai\n " ,
41
47
" \n " ,
42
- " from monai.transforms.utils import rescale_array\n " ,
43
48
" from monai.data.nifti_reader import NiftiDataset\n " ,
44
49
" from monai.transforms import AddChannel, Transpose, Rescale, ToTensor, RandUniformPatch\n " ,
45
50
" from monai.data.grid_dataset import GridPatchDataset\n " ,
51
+ " from monai.data.synthetic import create_test_image_3d\n " ,
46
52
" \n " ,
47
53
" monai.config.print_config()"
48
54
]
49
55
},
50
- {
51
- "cell_type" : " markdown" ,
52
- "metadata" : {},
53
- "source" : [
54
- " Define a function for creating test images and segmentations:"
55
- ]
56
- },
57
- {
58
- "cell_type" : " code" ,
59
- "execution_count" : 2 ,
60
- "metadata" : {},
61
- "outputs" : [],
62
- "source" : [
63
- " def create_test_image_3d(height, width, depth, numObjs=12, radMax=30, noiseMax=0.0, numSegClasses=5):\n " ,
64
- " '''Return a noisy 3D image and segmentation.'''\n " ,
65
- " image = np.zeros((width, height,depth))\n " ,
66
- " \n " ,
67
- " for i in range(numObjs):\n " ,
68
- " x = np.random.randint(radMax, width - radMax)\n " ,
69
- " y = np.random.randint(radMax, height - radMax)\n " ,
70
- " z = np.random.randint(radMax, depth - radMax)\n " ,
71
- " rad = np.random.randint(5, radMax)\n " ,
72
- " spy, spx, spz = np.ogrid[-x:width - x, -y:height - y, -z:depth - z]\n " ,
73
- " circle = (spx * spx + spy * spy + spz * spz) <= rad * rad\n " ,
74
- " \n " ,
75
- " if numSegClasses > 1:\n " ,
76
- " image[circle] = np.ceil(np.random.random() * numSegClasses)\n " ,
77
- " else:\n " ,
78
- " image[circle] = np.random.random() * 0.5 + 0.5\n " ,
79
- " \n " ,
80
- " labels = np.ceil(image).astype(np.int32)\n " ,
81
- " \n " ,
82
- " norm = np.random.uniform(0, numSegClasses * noiseMax, size=image.shape)\n " ,
83
- " noisyimage = rescale_array(np.maximum(image, norm))\n " ,
84
- " \n " ,
85
- " return noisyimage, labels"
86
- ]
87
- },
88
56
{
89
57
"cell_type" : " markdown" ,
90
58
"metadata" : {},
94
62
},
95
63
{
96
64
"cell_type" : " code" ,
97
- "execution_count" : 3 ,
65
+ "execution_count" : 2 ,
98
66
"metadata" : {},
99
67
"outputs" : [],
100
68
"source" : [
101
69
" tempdir = tempfile.mkdtemp()\n " ,
102
70
" \n " ,
103
71
" for i in range(5):\n " ,
104
- " im, seg = create_test_image_3d(256,256,256 )\n " ,
72
+ " im, seg = create_test_image_3d(128, 128, 128 )\n " ,
105
73
" \n " ,
106
74
" n = nib.Nifti1Image(im, np.eye(4))\n " ,
107
75
" nib.save(n, os.path.join(tempdir, 'im%i.nii.gz'%i))\n " ,
119
87
},
120
88
{
121
89
"cell_type" : " code" ,
122
- "execution_count" : 5 ,
90
+ "execution_count" : 3 ,
123
91
"metadata" : {},
124
92
"outputs" : [
125
93
{
126
94
"name" : " stdout" ,
127
95
"output_type" : " stream" ,
128
- "text" : " torch.Size([5, 1, 64, 64, 64]) torch.Size([5, 256, 256, 256])\n "
96
+ "text" : [
97
+ " torch.Size([5, 1, 64, 64, 64]) torch.Size([5, 1, 64, 64, 64])\n "
98
+ ]
129
99
}
130
100
],
131
101
"source" : [
132
102
" images = sorted(glob(os.path.join(tempdir,'im*.nii.gz')))\n " ,
133
103
" segs = sorted(glob(os.path.join(tempdir,'seg*.nii.gz')))\n " ,
134
104
" \n " ,
135
- " imtrans=transforms. Compose([\n " ,
105
+ " imtrans = Compose([\n " ,
136
106
" Rescale(),\n " ,
137
107
" AddChannel(),\n " ,
138
108
" RandUniformPatch((64, 64, 64)),\n " ,
139
109
" ToTensor()\n " ,
140
110
" ]) \n " ,
141
111
" \n " ,
142
- " segtrans=transforms. Compose([\n " ,
112
+ " segtrans = Compose([\n " ,
143
113
" AddChannel(),\n " ,
144
114
" RandUniformPatch((64, 64, 64)),\n " ,
145
115
" ToTensor()\n " ,
146
116
" ]) \n " ,
147
117
" \n " ,
148
- " ds = NiftiDataset(images, segs, imtrans, segtrans)\n " ,
118
+ " ds = NiftiDataset(images, segs, transform= imtrans, seg_transform= segtrans)\n " ,
149
119
" \n " ,
150
120
" loader = DataLoader(ds, batch_size=10, num_workers=2, pin_memory=torch.cuda.is_available())\n " ,
151
121
" im, seg = monai.utils.misc.first(loader)\n " ,
161
131
},
162
132
{
163
133
"cell_type" : " code" ,
164
- "execution_count" : 7 ,
134
+ "execution_count" : 4 ,
165
135
"metadata" : {},
166
136
"outputs" : [
167
137
{
168
138
"name" : " stdout" ,
169
139
"output_type" : " stream" ,
170
- "text" : " torch.Size([10, 1, 64, 64, 64]) torch.Size([10, 256, 64, 64])\n "
140
+ "text" : [
141
+ " torch.Size([10, 1, 64, 64, 64]) torch.Size([10, 1, 64, 64, 64])\n "
142
+ ]
171
143
}
172
144
],
173
145
"source" : [
174
- " imtrans=transforms. Compose([\n " ,
146
+ " imtrans = Compose([\n " ,
175
147
" Rescale(),\n " ,
176
148
" AddChannel(),\n " ,
177
149
" ToTensor()\n " ,
178
150
" ]) \n " ,
179
151
" \n " ,
180
- " segtrans=transforms. Compose([\n " ,
152
+ " segtrans = Compose([\n " ,
181
153
" AddChannel(),\n " ,
182
154
" ToTensor()\n " ,
183
155
" ]) \n " ,
184
156
" \n " ,
185
- " ds = NiftiDataset(images, segs, imtrans, segtrans)\n " ,
157
+ " ds = NiftiDataset(images, segs, transform= imtrans, seg_transform= segtrans)\n " ,
186
158
" ds = GridPatchDataset(ds, (64, 64, 64))\n " ,
187
159
" \n " ,
188
160
" loader = DataLoader(ds, batch_size=10, num_workers=2, pin_memory=torch.cuda.is_available())\n " ,
192
164
},
193
165
{
194
166
"cell_type" : " code" ,
195
- "execution_count" : 8 ,
167
+ "execution_count" : 5 ,
196
168
"metadata" : {},
197
169
"outputs" : [],
198
170
"source" : [
223
195
"name" : " python" ,
224
196
"nbconvert_exporter" : " python" ,
225
197
"pygments_lexer" : " ipython3" ,
226
- "version" : " 3.8.1-final "
198
+ "version" : " 3.5.6 "
227
199
}
228
200
},
229
201
"nbformat" : 4 ,
230
202
"nbformat_minor" : 4
231
- }
203
+ }
0 commit comments