Source code for sksurgeryfredmatplotlib.algorithms.ablation

#  -*- coding: utf-8 -*-

"""
Functions for point based registration using Orthogonal Procrustes.
"""

from sksurgeryfred.algorithms.scores import calculate_score

[docs]class Ablator(): """ handles the simulated ablation for scikit-surgery fred """ def __init__(self, margin): """ Initialise ablator with some empty member variables """ self.margin = margin self.target = None self.est_target = None self.target_radius = None self.ready = False self.margin_increment = 0.1
[docs] def setup(self, target, target_radius): """ Setup target etc. """ self.target = target self.target_radius = target_radius self.ready = True
[docs] def increase_margin(self): """ Make the margin bigger """ if self.ready: self.margin += self.margin_increment return self.margin return 0.0
[docs] def decrease_margin(self): """ Make the margin smaller """ if self.ready: self.margin -= self.margin_increment self.margin = max(self.margin, 0.0) return self.margin return 0.0
[docs] def ablate(self, estimated_target): """ performs and ablation, returns a score. """ if not self.ready: return None score = calculate_score(self.target, estimated_target.transpose(), self.target_radius, self.margin) return score