old_contents: import numpy as np
  import skimage.filter as filters
  
  def generate_linear_structure(size, with_noise=False):
      """Generate a basic linear structure, optionally with noise"""
      linear_structure = np.zeros(shape=(size,size))
      linear_structure[:,size/2] = np.ones(size)
  
      if with_noise:
          linear_structure = np.identity(size)
          noise = np.random.rand(size, size) * 0.1
          linear_structure += noise
          linear_structure = filters.gaussian_filter(linear_structure, 1.5)
  
      return linear_structure
  
new_contents: import numpy as np
  import skimage.filter as filters
  
  def generate_linear_structure(size, with_noise=False):
      """Generate a basic linear structure, optionally with noise"""
      linear_structure = np.zeros(shape=(size,size))
      linear_structure[:,size/2] = np.ones(size)
  
      if with_noise:
          linear_structure = np.identity(size)
          noise = np.random.rand(size, size) * 0.1
          linear_structure += noise
          linear_structure = filters.gaussian_filter(linear_structure, 1.5)
  
      return linear_structure
  
  
  def generate_blob():
      """ Generate a blob by drawing from the normal distribution across two axes
      and binning it to the required size
      """
      mean = [0,0]
      cov = [[1,1],[10,100]] # diagonal covariance, points lie on x or y-axis
      x,y = np.random.multivariate_normal(mean,cov,5000).T
      h, xedges, yedges = np.histogram2d(x,y, bins=100)
      return h
  
subject: Add testing function for blobs