Matching algorithm based on 2-dimensional version of Pearson product-moment correlation coefficient.

        This is more robust in the case where the match might be scaled or slightly rotated.

        From experimentation, this method is less prone to false positives than the correlation method.

def match_via_correlation_coefficient(image, template, raw_tolerance=1, normed_tolerance=0.9):
    """ Matching algorithm based on 2-dimensional version of Pearson product-moment correlation coefficient.

        This is more robust in the case where the match might be scaled or slightly rotated.

        From experimentation, this method is less prone to false positives than the correlation method.
    """
    h, w = image.shape
    th, tw = template.shape
    temp_mean = np.mean(template)
    temp_minus_mean = template - temp_mean
    convolution = fftconvolve(image, temp_minus_mean[::-1,::-1])
    convolution = convolution[th-1:h, tw-1:w]
    match_position_dict = get_tiles_at_potential_match_regions(image, template, convolution, method='correlation coefficient', raw_tolerance=raw_tolerance)
    # this is empty, so think condition is wrong
    results = normalise_correlation_coefficient(match_position_dict, convolution, template, normed_tolerance=normed_tolerance)
    return results