def __getitem__()

in part_generator.py [0:0]


    def __getitem__(self, index):
        path = self.paths[index]
        json_data = json.load(open(path))
        input_parts_json = json_data['input_parts']
        target_part_json = json_data['target_part']
        # sample random affine parameters
        theta = np.random.uniform(*self.rotate)
        trans_pixel = 512*self.trans
        translate_x = np.random.uniform(-trans_pixel, trans_pixel)
        translate_y = np.random.uniform(-trans_pixel, trans_pixel)
        scale = np.random.uniform(*self.scale)
        if self.large_aug:
            line_diameter = np.random.uniform(*self.line_diameter_scale)*16
        else:
            line_diameter = 16
        # apply random affine transformation
        affine_target_part_json= self.affine_trans(target_part_json, theta, translate_x, translate_y, scale)
        processed_img_partial = []
        affine_vector_input_part = []
        for i in range(self.n_part):
            key = self.id_to_part[i]
            affine_input_part_json = self.affine_trans(input_parts_json[key], theta, translate_x, translate_y, scale)
            affine_vector_input_part += affine_input_part_json
            processed_img_partial.append(self.processed_part_to_raster(affine_input_part_json, side=self.image_size, line_diameter=line_diameter))
        processed_img_partial.append(self.processed_part_to_raster(affine_vector_input_part, side=self.image_size, line_diameter=line_diameter))
        processed_img_partonly = self.processed_part_to_raster(affine_target_part_json, side=self.image_size, line_diameter=line_diameter)
        processed_img = self.processed_part_to_raster(affine_vector_input_part+affine_target_part_json, side=self.image_size, line_diameter=line_diameter)
        # RandomHorizontalFlip
        if np.random.random() > 0.5:
            processed_img = processed_img.flip(-1)
            processed_img_partial = torch.cat(processed_img_partial, 0).flip(-1)
            processed_img_partonly = processed_img_partonly.flip(-1)
        else:
            processed_img_partial = torch.cat(processed_img_partial, 0)
        return processed_img, processed_img_partial, processed_img_partonly