Result

class menpofit.result.Result(final_shape, image=None, initial_shape=None, gt_shape=None)[source]

Bases: object

Class for defining a basic fitting result. It holds the final shape of a fitting process and, optionally, the initial shape, ground truth shape and the image object.

Parameters
  • final_shape (menpo.shape.PointCloud) – The final shape of the fitting process.

  • image (menpo.image.Image or subclass or None, optional) – The image on which the fitting process was applied. Note that a copy of the image will be assigned as an attribute. If None, then no image is assigned.

  • initial_shape (menpo.shape.PointCloud or None, optional) – The initial shape that was provided to the fitting method to initialise the fitting process. If None, then no initial shape is assigned.

  • gt_shape (menpo.shape.PointCloud or None, optional) – The ground truth shape associated with the image. If None, then no ground truth shape is assigned.

final_error(compute_error=None)[source]

Returns the final error of the fitting process, if the ground truth shape exists. This is the error computed based on the final_shape.

Parameters

compute_error (callable, optional) – Callable that computes the error between the fitted and ground truth shapes.

Returns

final_error (float) – The final error at the end of the fitting process.

Raises

ValueError – Ground truth shape has not been set, so the final error cannot be computed

initial_error(compute_error=None)[source]

Returns the initial error of the fitting process, if the ground truth shape and initial shape exist. This is the error computed based on the initial_shape.

Parameters

compute_error (callable, optional) – Callable that computes the error between the initial and ground truth shapes.

Returns

initial_error (float) – The initial error at the beginning of the fitting process.

Raises
  • ValueError – Initial shape has not been set, so the initial error cannot be computed

  • ValueError – Ground truth shape has not been set, so the initial error cannot be computed

view(figure_id=None, new_figure=False, render_image=True, render_final_shape=True, render_initial_shape=False, render_gt_shape=False, subplots_enabled=True, channels=None, interpolation='bilinear', cmap_name=None, alpha=1.0, masked=True, final_marker_face_colour='r', final_marker_edge_colour='k', final_line_colour='r', initial_marker_face_colour='b', initial_marker_edge_colour='k', initial_line_colour='b', gt_marker_face_colour='y', gt_marker_edge_colour='k', gt_line_colour='y', render_lines=True, line_style='-', line_width=2, render_markers=True, marker_style='o', marker_size=4, marker_edge_width=1.0, render_numbering=False, numbers_horizontal_align='center', numbers_vertical_align='bottom', numbers_font_name='sans-serif', numbers_font_size=10, numbers_font_style='normal', numbers_font_weight='normal', numbers_font_colour='k', render_legend=True, legend_title='', legend_font_name='sans-serif', legend_font_style='normal', legend_font_size=10, legend_font_weight='normal', legend_marker_scale=None, legend_location=2, legend_bbox_to_anchor=(1.05, 1.0), legend_border_axes_pad=None, legend_n_columns=1, legend_horizontal_spacing=None, legend_vertical_spacing=None, legend_border=True, legend_border_padding=None, legend_shadow=False, legend_rounded_corners=False, render_axes=False, axes_font_name='sans-serif', axes_font_size=10, axes_font_style='normal', axes_font_weight='normal', axes_x_limits=None, axes_y_limits=None, axes_x_ticks=None, axes_y_ticks=None, figure_size=(7, 7))[source]

Visualize the fitting result. The method renders the final fitted shape and optionally the initial shape, ground truth shape and the image, id they were provided.

Parameters
  • figure_id (object, optional) – The id of the figure to be used.

  • new_figure (bool, optional) – If True, a new figure is created.

  • render_image (bool, optional) – If True and the image exists, then it gets rendered.

  • render_final_shape (bool, optional) – If True, then the final fitting shape gets rendered.

  • render_initial_shape (bool, optional) – If True and the initial fitting shape exists, then it gets rendered.

  • render_gt_shape (bool, optional) – If True and the ground truth shape exists, then it gets rendered.

  • subplots_enabled (bool, optional) – If True, then the requested final, initial and ground truth shapes get rendered on separate subplots.

  • channels (int or list of int or all or None) – If int or list of int, the specified channel(s) will be rendered. If all, all the channels will be rendered in subplots. If None and the image is RGB, it will be rendered in RGB mode. If None and the image is not RGB, it is equivalent to all.

  • interpolation (See Below, optional) –

    The interpolation used to render the image. For example, if bilinear, the image will be smooth and if nearest, the image will be pixelated. Example options

    {none, nearest, bilinear, bicubic, spline16, spline36, hanning,
     hamming, hermite, kaiser, quadric, catrom, gaussian, bessel,
     mitchell, sinc, lanczos}
    

  • cmap_name (str, optional,) – If None, single channel and three channel images default to greyscale and rgb colormaps respectively.

  • alpha (float, optional) – The alpha blending value, between 0 (transparent) and 1 (opaque).

  • masked (bool, optional) – If True, then the image is rendered as masked.

  • final_marker_face_colour (See Below, optional) –

    The face (filling) colour of the markers of the final fitting shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • final_marker_edge_colour (See Below, optional) –

    The edge colour of the markers of the final fitting shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • final_line_colour (See Below, optional) –

    The line colour of the final fitting shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • initial_marker_face_colour (See Below, optional) –

    The face (filling) colour of the markers of the initial shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • initial_marker_edge_colour (See Below, optional) –

    The edge colour of the markers of the initial shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • initial_line_colour (See Below, optional) –

    The line colour of the initial shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • gt_marker_face_colour (See Below, optional) –

    The face (filling) colour of the markers of the ground truth shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • gt_marker_edge_colour (See Below, optional) –

    The edge colour of the markers of the ground truth shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • gt_line_colour (See Below, optional) –

    The line colour of the ground truth shape. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • render_lines (bool or list of bool, optional) – If True, the lines will be rendered. You can either provide a single value that will be used for all shapes or a list with a different value per shape in (final, initial, groundtruth) order.

  • line_style (str or list of str, optional) –

    The style of the lines. You can either provide a single value that will be used for all shapes or a list with a different value per shape in (final, initial, groundtruth) order. Example options:

    {'-', '--', '-.', ':'}
    

  • line_width (float or list of float, optional) – The width of the lines. You can either provide a single value that will be used for all shapes or a list with a different value per shape in (final, initial, groundtruth) order.

  • render_markers (bool or list of bool, optional) – If True, the markers will be rendered. You can either provide a single value that will be used for all shapes or a list with a different value per shape in (final, initial, groundtruth) order.

  • marker_style (str or list of str, optional) –

    The style of the markers. You can either provide a single value that will be used for all shapes or a list with a different value per shape in (final, initial, groundtruth) order. Example options:

    {., ,, o, v, ^, <, >, +, x, D, d, s, p, *, h, H, 1, 2, 3, 4, 8}
    

  • marker_size (int or list of int, optional) – The size of the markers in points. You can either provide a single value that will be used for all shapes or a list with a different value per shape in (final, initial, groundtruth) order.

  • marker_edge_width (float or list of float, optional) – The width of the markers’ edge. You can either provide a single value that will be used for all shapes or a list with a different value per shape in (final, initial, groundtruth) order.

  • render_numbering (bool, optional) – If True, the landmarks will be numbered.

  • numbers_horizontal_align ({center, right, left}, optional) – The horizontal alignment of the numbers’ texts.

  • numbers_vertical_align ({center, top, bottom, baseline}, optional) – The vertical alignment of the numbers’ texts.

  • numbers_font_name (See Below, optional) –

    The font of the numbers. Example options

    {serif, sans-serif, cursive, fantasy, monospace}
    

  • numbers_font_size (int, optional) – The font size of the numbers.

  • numbers_font_style ({normal, italic, oblique}, optional) – The font style of the numbers.

  • numbers_font_weight (See Below, optional) –

    The font weight of the numbers. Example options

    {ultralight, light, normal, regular, book, medium, roman,
     semibold, demibold, demi, bold, heavy, extra bold, black}
    

  • numbers_font_colour (See Below, optional) –

    The font colour of the numbers. Example options

    {r, g, b, c, m, k, w}
    or
    (3, ) ndarray
    

  • render_legend (bool, optional) – If True, the legend will be rendered.

  • legend_title (str, optional) – The title of the legend.

  • legend_font_name (See below, optional) –

    The font of the legend. Example options

    {serif, sans-serif, cursive, fantasy, monospace}
    

  • legend_font_style ({normal, italic, oblique}, optional) – The font style of the legend.

  • legend_font_size (int, optional) – The font size of the legend.

  • legend_font_weight (See Below, optional) –

    The font weight of the legend. Example options

    {ultralight, light, normal, regular, book, medium, roman,
     semibold, demibold, demi, bold, heavy, extra bold, black}
    

  • legend_marker_scale (float, optional) – The relative size of the legend markers with respect to the original

  • legend_location (int, optional) –

    The location of the legend. The predefined values are:

    ’best’

    0

    ’upper right’

    1

    ’upper left’

    2

    ’lower left’

    3

    ’lower right’

    4

    ’right’

    5

    ’center left’

    6

    ’center right’

    7

    ’lower center’

    8

    ’upper center’

    9

    ’center’

    10

  • legend_bbox_to_anchor ((float, float) tuple, optional) – The bbox that the legend will be anchored.

  • legend_border_axes_pad (float, optional) – The pad between the axes and legend border.

  • legend_n_columns (int, optional) – The number of the legend’s columns.

  • legend_horizontal_spacing (float, optional) – The spacing between the columns.

  • legend_vertical_spacing (float, optional) – The vertical space between the legend entries.

  • legend_border (bool, optional) – If True, a frame will be drawn around the legend.

  • legend_border_padding (float, optional) – The fractional whitespace inside the legend border.

  • legend_shadow (bool, optional) – If True, a shadow will be drawn behind legend.

  • legend_rounded_corners (bool, optional) – If True, the frame’s corners will be rounded (fancybox).

  • render_axes (bool, optional) – If True, the axes will be rendered.

  • axes_font_name (See Below, optional) –

    The font of the axes. Example options

    {serif, sans-serif, cursive, fantasy, monospace}
    

  • axes_font_size (int, optional) – The font size of the axes.

  • axes_font_style ({normal, italic, oblique}, optional) – The font style of the axes.

  • axes_font_weight (See Below, optional) –

    The font weight of the axes. Example options

    {ultralight, light, normal, regular, book, medium, roman,
     semibold, demibold, demi, bold, heavy, extra bold, black}
    

  • axes_x_limits (float or (float, float) or None, optional) – The limits of the x axis. If float, then it sets padding on the right and left of the Image as a percentage of the Image’s width. If tuple or list, then it defines the axis limits. If None, then the limits are set automatically.

  • axes_y_limits ((float, float) tuple or None, optional) – The limits of the y axis. If float, then it sets padding on the top and bottom of the Image as a percentage of the Image’s height. If tuple or list, then it defines the axis limits. If None, then the limits are set automatically.

  • axes_x_ticks (list or tuple or None, optional) – The ticks of the x axis.

  • axes_y_ticks (list or tuple or None, optional) – The ticks of the y axis.

  • figure_size ((float, float) tuple or None optional) – The size of the figure in inches.

Returns

renderer (class) – The renderer object.

property final_shape

Returns the final shape of the fitting process.

Type

menpo.shape.PointCloud

property gt_shape

Returns the ground truth shape associated with the image. In case there is not an attached ground truth shape, then None is returned.

Type

menpo.shape.PointCloud or None

property image

Returns the image that the fitting was applied on, if it was provided. Otherwise, it returns None.

Type

menpo.shape.Image or subclass or None

property initial_shape

Returns the initial shape that was provided to the fitting method to initialise the fitting process. In case the initial shape does not exist, then None is returned.

Type

menpo.shape.PointCloud or None

property is_iterative

Flag whether the object is an iterative fitting result.

Type

bool