def subSamplerConnector2D(size_in, size_out, weights, delays):
    """
    This function is called later on to build the subsampler connections. Read this when is called, now jump to the start of the simulation
    Returns a list that can then be used with the FromList Connector
    The output is a connectivity matrix which will subsample the input population
    
    size_in = size of the input population (2D = size_in x size_in)    
    size_out = size of the sampled population
    weights = averaging weight value (each connection will have this value) must be float
    delays = averaging delay value (each connection will have this value)
    """
    out = []
    step = size_in/size_out
    for i in range(size_in):
         for j in range(size_in):
            i_out = i/step
            j_out = j/step
            out.append((i*size_in + j, i_out*size_out + j_out, weights, delays)) # Python is magic                    
    return out