def perlinMap(width,height,frequency,interpolationMethod,seed):
    #Initialise empty 2Darray width*height
    values = [[0 for x in xrange(height)]for y in xrange(width)]
    
    #For each value
    for i in xrange(width):
        for j in xrange(height):
            #For each value
            value = 1.414*perlin.getNoise(i/frequency,j/frequency,seed,interpolationMethod)
            #Assign 8bit integer height/lightness value
            value = int((0.5*value+0.5)*0xff)
            values[i][j] = value       
    return values
def perlinMap(width, height, frequency, interpolationMethod, seed):
    #Initialise empty 2Darray width*height
    values = [[0 for x in xrange(height)] for y in xrange(width)]

    #For each value
    for i in xrange(width):
        for j in xrange(height):
            #For each value
            value = 1.414 * perlin.getNoise(i / frequency, j / frequency, seed,
                                            interpolationMethod)
            #Assign 8bit integer height/lightness value
            value = int((0.5 * value + 0.5) * 0xff)
            values[i][j] = value
    return values
def fractionalBrownianMotion(width,height,interpolationMethod,seed,startfrequency,lacunarity,persistence,octaves):
    #Initialise empty 2Darray width*height
    values = [[0 for x in xrange(height)]for y in xrange(width)]
    
    #For each value
    for i in xrange(width):
        for j in xrange(height):
            #For each value
            #Reset value total, frequency and amplitude
            value = 0.0
            amplitude = 1.0
            frequency = startfrequency
            
            for octave in xrange(octaves):
                #For each octave
                value += 1.414*amplitude*perlin.getNoise(i/frequency,j/frequency,seed,interpolationMethod)
                amplitude *= persistence
                frequency /= lacunarity
            #Assign 8bit integer height/lightness value
            value = int((0.5*value+0.5)*0xff)
            values[i][j] = value       
    return values
def fractionalBrownianMotion(width, height, interpolationMethod, seed,
                             startfrequency, lacunarity, persistence, octaves):
    #Initialise empty 2Darray width*height
    values = [[0 for x in xrange(height)] for y in xrange(width)]

    #For each value
    for i in xrange(width):
        for j in xrange(height):
            #For each value
            #Reset value total, frequency and amplitude
            value = 0.0
            amplitude = 1.0
            frequency = startfrequency

            for octave in xrange(octaves):
                #For each octave
                value += 1.414 * amplitude * perlin.getNoise(
                    i / frequency, j / frequency, seed, interpolationMethod)
                amplitude *= persistence
                frequency /= lacunarity
            #Assign 8bit integer height/lightness value
            value = int((0.5 * value + 0.5) * 0xff)
            values[i][j] = value
    return values