I wanted to try buffering a mask raster, without converting to a shapefile and then back, so I used the SciPy

Multi-dimensional Image Module's binary_dilation function. I then used the following function to generate a circular binary structure array of the desired radius:

import numpy as np

def circular_structure(radius):
size = radius*2+1
i,j = np.mgrid[0:size, 0:size]
i -= (size/2)
j -= (size/2)
return np.sqrt(i**2+j**2) <= radius