def __call__(self, subject_context: ctx.SubjectContext, task_context: ctx.TaskContext, context: ctx.Context) -> None: probabilities = subject_context.subject_data['probabilities'] prediction = np.argmax(probabilities, axis=-1) subject_context.subject_data['prediction'] = prediction to_eval = {'prediction': prediction, 'probabilities': probabilities, 'target': subject_context.subject_data['labels'].squeeze(-1)} results = {} self.evaluate(to_eval, results) subject_context.metrics.update(results)
def __call__(self, subject_context: ctx.SubjectContext, task_context: ctx.TaskContext, context: ctx.Context) -> None: probabilities = subject_context.subject_data['probabilities'] prediction = np.argmax(probabilities, axis=-1) pred = subject_context.subject_data['labels'][..., 1] gt = subject_context.subject_data['labels'][..., 0] target = pred != gt to_eval = {'prediction': prediction, 'probabilities': probabilities, 'target': target} results = {} self.evaluate(to_eval, results) subject_context.metrics.update(results) subject_context.score = results['dice']
def __call__(self, subject_context: ctx.SubjectContext, task_context: ctx.TaskContext, context: ctx.Context) -> None: probabilities = subject_context.subject_data['probabilities'] _, prediction = probabilities.max(-1) to_eval = { 'prediction': prediction, 'target': subject_context.subject_data['labels'].squeeze(), 'probabilities': probabilities } results = {} self.evaluate(to_eval, results) subject_context.metrics.update(results) subject_context.score = results['dice']
def __call__(self, subject_context: ctx.SubjectContext, task_context: ctx.TaskContext, context: ctx.Context) -> None: if self.direct_extractor is None: self.direct_extractor = factory.get_extractor( task_context.data_config.direct_extractor) self.direct_transform = factory.get_transform( task_context.data_config.direct_transform) extracted = task_context.data.dataset.direct_extract( self.direct_extractor, subject_context.subject_index, transform=self.direct_transform) for key, value in extracted.items(): subject_context.subject_data[key] = extracted[key]
def __call__(self, subject_context: ctx.SubjectContext, task_context: ctx.TaskContext, context: ctx.Context) -> None: probabilities = subject_context.subject_data['probabilities'] net_predictions = subject_context.subject_data['net_predictions'] target = net_predictions.squeeze( -1) != subject_context.subject_data['labels'].squeeze(-1) prediction = np.argmax(probabilities, axis=-1) to_eval = { 'prediction': prediction, 'probabilities': probabilities, 'target': target } results = {} self.evaluate(to_eval, results) subject_context.metrics.update(results) subject_context.score = results['dice']