def METHOD_NAME(self, alpha, data, shape=None):
    """(alpha) can be a scalar or an array.
    """
    # alpha can be a scalar or an array
    if shape is None:
        shape = data.shape
    if len(data.shape) == 2:
        res = alpha * data
        # If desired shape is monochrome then return a mono image
        # otherwise broadcast to a grey color image.
        if len(shape) == 2:
            return res
        # note: in timing tests, dstack was not as efficient here...
        data = np.empty(shape)
        data[:, :, 0] = res[:, :]
        data[:, :, 1] = res[:, :]
        data[:, :, 2] = res[:, :]
        return data
    else:
        # note: in timing tests, dstack was not as efficient here...
        res = np.empty(shape)
        res[:, :, 0] = data[:, :, 0] * alpha
        res[:, :, 1] = data[:, :, 1] * alpha
        res[:, :, 2] = data[:, :, 2] * alpha
        return res