I think it would be better to make the API as similar to the [scikit-image block_reduce](http://scikit-image.org/docs/dev/api/skimage.measure.html#skimage.measure.block_reduce) as possible.
I.e. use the same parameter names (rename `factors` to `block_size`, add `cval`) ... you can even re-use parts of most parts of their docstring.