示例#1
0
    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']
示例#4
0
    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']