<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def dilate(self, size):
 """ Dilate a region using morphological operators. Parameters size : int Size of dilation in pixels """

        if size > 0:
            from scipy.ndimage.morphology import binary_dilation
            size = (size * 2) + 1
            coords = self.coordinates
            tmp = zeros(self.extent + size * 2)
            coords = (coords - self.bbox[0:len(self.center)] + size)
            tmp[coords.T.tolist()] = 1
            tmp = binary_dilation(tmp, ones((size, size)))
            new = asarray(where(tmp)).T + self.bbox[0:len(self.center)] - size
            new = [c for c in new if all(c >= 0)]
        else:
            return self
        
        return one(new)