Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if patch_center_dist_from_border[d] == data.shape[d + 2] - patch_center_dist_from_border[d]:
ctr = int(patch_center_dist_from_border[d])
elif patch_center_dist_from_border[d] < data.shape[d + 2] - patch_center_dist_from_border[d]:
ctr = int(np.random.randint(patch_center_dist_from_border[d], data.shape[d + 2] - patch_center_dist_from_border[d]))
else:
logger.error('low should be <= upper. patch_type:{}, patch_center_dist_from_border:{}, data.shape:{}, ctr_list:{}'.format(str(patch_type), str(patch_center_dist_from_border), str(data.shape), str(ctr_list)))
else: # center crop
ctr = int(np.round(data.shape[d + 2] / 2.))
ctr_list.append(ctr)
# extracting patch
if n < 10 and modified_coords:
for d in range(dim):
coords[d] += ctr_list[d]
for channel_id in range(data.shape[1]):
data_result[sample_id, channel_id] = interpolate_img(data[sample_id, channel_id], coords, order_data, border_mode_data, cval=border_cval_data)
if seg is not None:
for channel_id in range(seg.shape[1]):
seg_result[sample_id, channel_id] = interpolate_img(seg[sample_id, channel_id], coords, order_seg, border_mode_seg, cval=border_cval_seg, is_seg=True)
else:
augs = list()
if seg is None:
s = None
else:
s = seg[sample_id:sample_id + 1]
if random_crop:
# margin = [patch_center_dist_from_border[d] - patch_size[d] // 2 for d in range(dim)]
# d, s = random_crop_aug(data[sample_id:sample_id + 1], s, patch_size, margin)
d_tmps = list()
for channel_id in range(data.shape[1]):
d_tmp = utils.extract_roi_from_volume(data[sample_id, channel_id], ctr_list, patch_size, fill="zero")
d_tmps.append(d_tmp)
# now find a nice center location
if modified_coords:
for d in range(dim):
if random_crop:
ctr = np.random.uniform(patch_center_dist_from_border[d],
data.shape[d + 2] - patch_center_dist_from_border[d])
else:
ctr = int(np.round(data.shape[d + 2] / 2.))
coords[d] += ctr
for channel_id in range(data.shape[1]):
data_result[sample_id, channel_id] = interpolate_img(data[sample_id, channel_id], coords, order_data,
border_mode_data, cval=border_cval_data)
if seg is not None:
for channel_id in range(seg.shape[1]):
seg_result[sample_id, channel_id] = interpolate_img(seg[sample_id, channel_id], coords, order_seg,
border_mode_seg, cval=border_cval_seg,
is_seg=True)
else:
if seg is None:
s = None
else:
s = seg[sample_id:sample_id + 1]
if random_crop:
margin = [patch_center_dist_from_border[d] - patch_size[d] // 2 for d in range(dim)]
d, s = random_crop_aug(data[sample_id:sample_id + 1], s, patch_size, margin)
else:
d, s = center_crop_aug(data[sample_id:sample_id + 1], patch_size, s)
data_result[sample_id] = d[0]
if seg is not None:
seg_result[sample_id] = s[0]
ctr = int(np.random.randint(patch_center_dist_from_border[d], data.shape[d + 2] - patch_center_dist_from_border[d]))
else:
logger.error('low should be <= upper. patch_type:{}, patch_center_dist_from_border:{}, data.shape:{}, ctr_list:{}'.format(str(patch_type), str(patch_center_dist_from_border), str(data.shape), str(ctr_list)))
else: # center crop
ctr = int(np.round(data.shape[d + 2] / 2.))
ctr_list.append(ctr)
# extracting patch
if n < 10 and modified_coords:
for d in range(dim):
coords[d] += ctr_list[d]
for channel_id in range(data.shape[1]):
data_result[sample_id, channel_id] = interpolate_img(data[sample_id, channel_id], coords, order_data, border_mode_data, cval=border_cval_data)
if seg is not None:
for channel_id in range(seg.shape[1]):
seg_result[sample_id, channel_id] = interpolate_img(seg[sample_id, channel_id], coords, order_seg, border_mode_seg, cval=border_cval_seg, is_seg=True)
else:
augs = list()
if seg is None:
s = None
else:
s = seg[sample_id:sample_id + 1]
if random_crop:
# margin = [patch_center_dist_from_border[d] - patch_size[d] // 2 for d in range(dim)]
# d, s = random_crop_aug(data[sample_id:sample_id + 1], s, patch_size, margin)
d_tmps = list()
for channel_id in range(data.shape[1]):
d_tmp = utils.extract_roi_from_volume(data[sample_id, channel_id], ctr_list, patch_size, fill="zero")
d_tmps.append(d_tmp)
d = np.asarray(d_tmps)
if seg is not None:
s_tmps = list()
else:
sc = np.random.uniform(max(scale[0], 1), scale[1])
coords = scale_coords(coords, sc)
modified_coords = True
# now find a nice center location
if modified_coords:
for d in range(dim):
if random_crop:
ctr = np.random.uniform(patch_center_dist_from_border[d],
data.shape[d + 2] - patch_center_dist_from_border[d])
else:
ctr = int(np.round(data.shape[d + 2] / 2.))
coords[d] += ctr
for channel_id in range(data.shape[1]):
data_result[sample_id, channel_id] = interpolate_img(data[sample_id, channel_id], coords, order_data,
border_mode_data, cval=border_cval_data)
if seg is not None:
for channel_id in range(seg.shape[1]):
seg_result[sample_id, channel_id] = interpolate_img(seg[sample_id, channel_id], coords, order_seg,
border_mode_seg, cval=border_cval_seg,
is_seg=True)
else:
if seg is None:
s = None
else:
s = seg[sample_id:sample_id + 1]
if random_crop:
margin = [patch_center_dist_from_border[d] - patch_size[d] // 2 for d in range(dim)]
d, s = random_crop_aug(data[sample_id:sample_id + 1], s, patch_size, margin)
else:
d, s = center_crop_aug(data[sample_id:sample_id + 1], patch_size, s)