def test_overlap(): """ Test hopfield_network.pattern_tools overlap""" import neurodynex.hopfield_network.pattern_tools as tools pattern_size = 10 factory = tools.PatternFactory(pattern_size) p1 = factory.create_checkerboard() p2 = factory.create_all_on() overlap = tools.compute_overlap(p1, p2) assert overlap == 0.0 # works for checkerboards with even valued size
def plot_pattern(pattern, reference=None, color_map="brg", diff_code=0): """ Plots the pattern. If a (optional) reference pattern is provided, the pattern is plotted with differences highlighted Args: pattern (numpy.ndarray): N by N pattern to plot reference (numpy.ndarray): optional. If set, differences between pattern and reference are highlighted """ plt.figure() if reference is None: p = pattern overlap = 1 else: p = pattern_tools.get_pattern_diff(pattern, reference, diff_code) overlap = pattern_tools.compute_overlap(pattern, reference) plt.imshow(p, interpolation="nearest", cmap=color_map) if reference is not None: plt.title("m = {:0.2f}".format(round(overlap, 2))) plt.axis("off") plt.show()