def __getitem__(self, index: int): image = self.read_image(self.image_paths[index], self.feature_size, self.n_slices) label = self.read_label(self.label_paths[index], self.feature_size, self.n_slices) # template_index = np.random.randint(0, len(self)) # template_index = 0 # template = self.read_label(self.label_paths[template_index], self.feature_size, self.n_slices) if self.augmentation_prob > 0 and self.augmentation_config is not None: prob = torch.FloatTensor(1).uniform_(0, 1) if prob.item() >= self.augmentation_prob: augment(image, label, self.augmentation_config, (self.n_slices, self.feature_size, self.feature_size), seed=self.seed) self.save(image, label, index) if self.is_3d: image = np.expand_dims(image, 0) image = torch.from_numpy(image).float() label = torch.from_numpy(label).float() template = torch.from_numpy(self.template).float() # template_image = np.expand_dims(self.template_image, 0) # template_image = torch.from_numpy(template_image).float() return (image, template), (label, template)
def __getitem__(self, index: int): label = self.read_label(self.label_paths[index], self.feature_size, self.n_slices) image = self.read_image(self.image_paths[index], self.feature_size, self.n_slices) if self.augmentation_prob > 0 and self.augmentation_config is not None: image, label = augment( image, label, self.augmentation_config, (self.n_slices, self.feature_size, self.feature_size), seed=self.seed) else: image, label = random_crop( image, label, (self.n_slices, self.feature_size, self.feature_size)) self.save(image, label, index) if self.is_3d: image = np.expand_dims(image, 0) # if self.transform is not None: # image = torch.from_numpy(image).float() # label = torch.from_numpy(label).float() # image = self.transform(image) # label = self.transform(label) # self.save(image.numpy(), label.numpy(), index) image = torch.from_numpy(image).float() label = torch.from_numpy(label).float() return image, label
def test(self, index): label = self.read_label(self.label_paths[index], self.feature_size, self.n_slices) image = self.read_image(self.image_paths[index], self.feature_size, self.n_slices) image, label = augment( image, label, self.augmentation_config, (self.n_slices, self.feature_size, self.feature_size), seed=self.seed) return image, label
def __getitem__(self, index: int): image = self.read_image(self.image_paths[index], self.feature_size, self.n_slices) label = self.read_label(self.label_paths[index], self.feature_size, self.n_slices) if self.augmentation_prob > 0 and self.augmentation_config is not None: image, label = augment( image, label, self.augmentation_config, (self.n_slices, self.feature_size, self.feature_size), seed=self.seed ) else: image, label = central_crop_with_padding(image, label, (self.n_slices, self.feature_size, self.feature_size)) # image, label = soi_crop(image, label, (self.n_slices, self.feature_size, self.feature_size)) # image, label = random_crop(image, label, (self.n_slices, self.feature_size, self.feature_size)) self.save(image, label, index) if self.is_3d: image = np.expand_dims(image, 0) image = torch.from_numpy(image).float() label = torch.from_numpy(label).float() return (image, label), label