human
Here's a good function header given the following:
I wrote the below code

    import numpy as np
    def mercator(x):
        return ((np.arcsinh(np.tan(((x * np.pi) / 180.0))) * 180.0) / np.pi)
    array = np.atleast_3d(data).copy()
    (height, width, nblayers) = array.shape
    lat_min = max(lat_bounds[0], (-85.05112877980659))
    lat_max = min(lat_bounds[1], 85.05112877980659)
    if (height_out is None):
        height_out = height
    if (origin == 'upper'):
        array = array[::(-1), :, :]
    lats = (lat_min + (np.linspace((0.5 / height), (1.0 - (0.5 / height)), height) * (lat_max - lat_min)))
    latslats = (mercator(lat_min) + (np.linspace((0.5 / height_out), (1.0 - (0.5 / height_out)), height_out) * (mercator(lat_max) - mercator(lat_min))))
    out = np.zeros((height_out, width, nblayers))
    for i in range(width):
        for j in range(nblayers):
            out[:, i, j] = np.interp(latslats, mercator(lats), array[:, i, j])
    if (origin == 'upper'):
        out = out[::(-1), :, :]
    return out

What's a good function header?
assistant
#Here's a good function header.

def mercator_transform(data, lat_bounds, origin='upper', height_out=None):