def setUp(self): np.random.seed(1234) self.data3D = np.zeros((2, 64, 56, 48)) self.data3D[:, 21:41, 12:32, 13:33] = 1 self.seg3D = self.data3D self.zoom_factors = 2 self.d3D, self.s3D = augment_zoom(self.data3D, self.seg3D, zoom_factors=self.zoom_factors, order=0, order_seg=0) self.data2D = np.zeros((2, 64, 56)) self.data2D[:, 21:41, 12:32] = 1 self.seg2D = self.data2D self.d2D, self.s2D = augment_zoom(self.data2D, self.seg2D, zoom_factors=self.zoom_factors, order=0, order_seg=0)
def zoom_augment(data): ''' zoom变换增广 :param data: :return: ''' data_result, seg_result = augment_zoom(data, (0.5, 0.8)) return data_result, seg_result
def _zoom_x_and_y(self, x, y, zoom_factor): # Very slow x_new = [] y_new = [] for b in range(x.shape[0]): x_tmp, y_tmp = augment_zoom(x[b], y[b], zoom_factor, order=3, order_seg=1, cval_seg=0) x_new.append(x_tmp) y_new.append(y_tmp) return np.array(x_new), np.array(y_new)
def __call__(self, **data_dict): data = data_dict.get(self.data_key) seg = data_dict.get(self.label_key) ret_val = augment_zoom(data=data, seg=seg, zoom_factors=self.zoom_factors, order=self.order) data_dict[self.data_key] = ret_val[0] if seg is not None: data_dict[self.label_key] = ret_val[1] return data_dict
def __call__(self, **data_dict): data = data_dict.get(self.data_key) seg = data_dict.get(self.label_key) ret_val = augment_zoom(data=data, seg=seg, zoom_factors=self.zoom_factors, order=self.order, order_seg=self.order_seg, cval_seg=self.cval_seg) data_dict[self.data_key] = ret_val[0] if seg is not None: data_dict[self.label_key] = ret_val[1] return data_dict
def __call__(self, **data_dict): data = data_dict.get(self.data_key) seg = data_dict.get(self.label_key) if isinstance(data, np.ndarray): concatenate = True else: concatenate = self.concatenate_list if seg is not None: if isinstance(seg, np.ndarray): concatenate_seg = True else: concatenate_seg = self.concatenate_list else: concatenate_seg = None results = [] for b in range(len(data)): sample_seg = None if seg is not None: sample_seg = seg[b] res_data, res_seg = augment_zoom(data[b], sample_seg, self.zoom_factors, self.order, self.order_seg, self.cval_seg) results.append((res_data, res_seg)) if concatenate: data = np.vstack([i[0][None] for i in results]) if concatenate_seg is not None and concatenate_seg: seg = np.vstack([i[1][None] for i in results]) data_dict[self.data_key] = data if seg is not None: data_dict[self.label_key] = seg return data_dict