@staticmethod
def get_extreme_points(for_contour=None):
    """
        Get the leftmost, topmost, etc points of a contour
        :param for_contour: a CV2 contour (e.g. returned from get_contours)
        :return: leftmost, rightmost, topmost, bottommost coordinates
        """
    if for_contour is None:
        return None, None, None, None
    leftmost = tuple(for_contour[for_contour[:, :, (0)].argmin()][0])
    rightmost = tuple(for_contour[for_contour[:, :, (0)].argmax()][0])
    topmost = tuple(for_contour[for_contour[:, :, (1)].argmin()][0])
    bottommost = tuple(for_contour[for_contour[:, :, (1)].argmax()][0])
    return leftmost, rightmost, topmost, bottommost
