Source code for menpo.fit.base

import abc


[docs]class Fitter(object): r""" Interface that all Fitter objects must implement. """ __metaclass__ = abc.ABCMeta @abc.abstractproperty
[docs] def algorithm(self): r""" Returns the name of the fitter object. """ pass
@abc.abstractmethod def _set_up(self, **kwargs): r""" Abstract method that sets up the fitter object. """ pass
[docs] def fit(self, image, initial_parameters, gt_shape=None, **kwargs): r""" Fits the fitter object to an image. Parameters ----------- image: :class:`menpo.image.masked.MaskedImage` The image to be fitted. initial_parameters: list The initial parameters of the model. gt_shape: :class:`menpo.shape.PointCloud`, optional The original ground truth shape associated to the image. Default: None Returns ------- fitting_result: `menpo.fit.fittingresult` The fitting result. """ fitting_result = self._create_fitting_result( image, initial_parameters, gt_shape=gt_shape) return self._fit(fitting_result, **kwargs)
@abc.abstractmethod def _create_fitting_result(self, **kwargs): r""" Abstract method that defines the fitting result object associated to the fitter object. """ pass @abc.abstractmethod def _fit(self, **kwargs): r""" Abstract method implements a particular alignment algorithm. """ pass
[docs] def get_parameters(self, shape): r""" Abstract method that gets the parameters. """ pass