MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / create_sim_data

Function create_sim_data

tests/apps/test_auto3dseg.py:89–125  ·  view source on GitHub ↗

Create simulated data using create_test_image_3d. Args: dataroot: data directory path that hosts the "nii.gz" image files. sim_datalist: a list of data to create. sim_dim: the image sizes, for examples: a tuple of (64, 64, 64) for 3d, or (128, 128) for 2d

(dataroot: str, sim_datalist: dict, sim_dim: tuple, image_only: bool = False, **kwargs)

Source from the content-addressed store, hash-verified

87
88
89def create_sim_data(dataroot: str, sim_datalist: dict, sim_dim: tuple, image_only: bool = False, **kwargs) -> None:
90 """
91 Create simulated data using create_test_image_3d.
92
93 Args:
94 dataroot: data directory path that hosts the "nii.gz" image files.
95 sim_datalist: a list of data to create.
96 sim_dim: the image sizes, for examples: a tuple of (64, 64, 64) for 3d, or (128, 128) for 2d
97 """
98 if not os.path.isdir(dataroot):
99 os.makedirs(dataroot)
100
101 # Generate a fake dataset
102 for d in sim_datalist["testing"] + sim_datalist["training"]:
103 if len(sim_dim) == 2: # 2D image
104 im, seg = create_test_image_2d(sim_dim[0], sim_dim[1], **kwargs)
105 elif len(sim_dim) == 3: # 3D image
106 im, seg = create_test_image_3d(sim_dim[0], sim_dim[1], sim_dim[2], **kwargs)
107 elif len(sim_dim) == 4: # multi-modality 3D image
108 im_list = []
109 seg_list = []
110 for _ in range(sim_dim[3]):
111 im_3d, seg_3d = create_test_image_3d(sim_dim[0], sim_dim[1], sim_dim[2], **kwargs)
112 im_list.append(im_3d[..., np.newaxis])
113 seg_list.append(seg_3d[..., np.newaxis])
114 im = np.concatenate(im_list, axis=3)
115 seg = np.concatenate(seg_list, axis=3)
116 else:
117 raise ValueError(f"Invalid argument input. sim_dim has f{len(sim_dim)} values. 2-4 values are expected.")
118 nib_image = nib.Nifti1Image(im, affine=np.eye(4))
119 image_fpath = os.path.join(dataroot, d["image"])
120 nib.save(nib_image, image_fpath)
121
122 if not image_only and "label" in d:
123 nib_image = nib.Nifti1Image(seg, affine=np.eye(4))
124 label_fpath = os.path.join(dataroot, d["label"])
125 nib.save(nib_image, label_fpath)
126
127
128class TestOperations(Operations):

Calls 4

create_test_image_2dFunction · 0.90
create_test_image_3dFunction · 0.90
saveMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…