SpatialPadd(KEYS, spatial_size=[111, 113], method="end"), SpatialPadd(KEYS, spatial_size=[118, 117]), )) TESTS.append(( "SpatialPadd 3d", "3D", 0, SpatialPadd(KEYS, spatial_size=[112, 113, 116]), )) TESTS.append(( "SpatialCropd 2d", "2D", 0, SpatialCropd(KEYS, [49, 51], [90, 89]), )) TESTS.append(( "SpatialCropd 3d", "3D", 0, SpatialCropd(KEYS, roi_slices=[ slice(s, e) for s, e in zip([None, None, -99], [None, -2, None]) ]), )) TESTS.append(( "SpatialCropd 2d",
t(KEYS))) # type: ignore TESTS.append(( "SpatialPadd (x2) 2d", "2D", 0, True, SpatialPadd(KEYS, spatial_size=[111, 113], method="end"), SpatialPadd(KEYS, spatial_size=[118, 117]), )) TESTS.append(("SpatialPadd 3d", "3D", 0, True, SpatialPadd(KEYS, spatial_size=[112, 113, 116]))) TESTS.append( ("SpatialCropd 2d", "2D", 0, True, SpatialCropd(KEYS, [49, 51], [90, 89]))) TESTS.append(( "SpatialCropd 3d", "3D", 0, True, SpatialCropd(KEYS, roi_slices=[ slice(s, e) for s, e in zip([None, None, -99], [None, -2, None]) ]), )) TESTS.append( ("SpatialCropd 2d", "2D", 0, True, SpatialCropd(KEYS, [49, 51],
for i in range(n_comp + 1): if i == 0: continue # skipping background b_label = labels == i bb = BoundingRect()(b_label[None]) area = (bb[0, 1] - bb[0, 0]) * (bb[0, 3] - bb[0, 2]) * (bb[0, 5] - bb[0, 4]) if area <= 500: continue print(bb, area) s = [bb[0, 0] - 16, bb[0, 2] - 16, bb[0, 4] - 16] e = [bb[0, 1] + 16, bb[0, 3] + 16, bb[0, 5] + 16] # generate lesion patches based on the bounding boxes data_out = AddChanneld(keys)(data) data_out = SpatialCropd(keys, roi_start=s, roi_end=e)(data_out) resize = Resized(keys, patch_size, mode=("trilinear", "nearest")) data_out = resize(data_out) patch_out = ( f"{folder}/patch/lesion_{s[0]}_{s[1]}_{s[2]}_{e[0]}_{e[1]}_{e[2]}_{name_id}" ) label_out = ( f"{folder}/patch/labels_{s[0]}_{s[1]}_{s[2]}_{e[0]}_{e[1]}_{e[2]}_{name_id}" ) write_nifti(data_out["image"][0], file_name=patch_out) write_nifti(data_out["label"][0], file_name=label_out) # generate random negative samples rand_data_out = AddChanneld(keys)(data) rand_data_out["inv_label"] = (rand_data_out["label"] == 0
def test_shape(self, input_param, input_data, expected_shape): result = SpatialCropd(**input_param)(input_data) self.assertTupleEqual(result['img'].shape, expected_shape)
SpatialPadd(KEYS, spatial_size=[111, 113], method="end"), SpatialPadd(KEYS, spatial_size=[118, 117]), )) TESTS.append(( "SpatialPadd 3d", "3D", 0, SpatialPadd(KEYS, spatial_size=[112, 113, 116]), )) TESTS.append(( "SpatialCropd 2d", "2D", 0, SpatialCropd(KEYS, [49, 51], [90, 89]), )) TESTS.append(( "SpatialCropd 2d", "2D", 0, SpatialCropd(KEYS, [49, 51], [390, 89]), )) TESTS.append(( "SpatialCropd 3d", "3D", 0, SpatialCropd(KEYS, [49, 51, 44], [90, 89, 93]), ))
): TESTS.append((t.func.__name__ + "bad 1D even", "1D even", 0, t(KEYS))) # type: ignore TESTS.append( ( "SpatialPadd (x2) 2d", "2D", 0, SpatialPadd(KEYS, spatial_size=[111, 113], method="end"), SpatialPadd(KEYS, spatial_size=[118, 117]), ) ) TESTS.append(("SpatialPadd 3d", "3D", 0, SpatialPadd(KEYS, spatial_size=[112, 113, 116]))) TESTS.append(("SpatialCropd 2d", "2D", 0, SpatialCropd(KEYS, [49, 51], [90, 89]))) TESTS.append( ( "SpatialCropd 3d", "3D", 0, SpatialCropd(KEYS, roi_slices=[slice(s, e) for s, e in zip([None, None, -99], [None, -2, None])]), ) ) TESTS.append(("SpatialCropd 2d", "2D", 0, SpatialCropd(KEYS, [49, 51], [390, 89]))) TESTS.append(("SpatialCropd 3d", "3D", 0, SpatialCropd(KEYS, [49, 51, 44], [90, 89, 93]))) TESTS.append(("RandSpatialCropd 2d", "2D", 0, RandSpatialCropd(KEYS, [96, 93], None, True, False)))