def _split_image(image, axis='Horizontal'):
    """Splits an image into two halves and returns each half.

    Parameters
    ----------
    image : np.ndarray
        Image to split in half.

    axis : string (default = 'Horizontal')
        Which axis to split the image. If 'Horizontal', upper and lower halves
        of the specified image are returned. If 'Vertical', left and right
        halves of the specified image are returned.

    Returns
    -------
    half1, half2 : np.ndarrays of type np.uint8
        Image halves, either upper and lower or left and right.
    """
    nrows, ncols = image.shape
    if axis == 'Horizontal':
        half1 = image[:nrows/2, :] # upper half
        half2 = image[nrows/2:, :] # lower half
        return half1, half2

    half1 = image[:, :ncols/2] # left half
    half2 = image[:, ncols/2:] # right half

    return half1, half2