Draws a circle of specified radius on the input array and fills it with specified value
        :param center: a tuple for the center of the circle
        :type center: tuple (x,y)
        :param radius: how many pixels in radius the circle is
        :type radius: int
        :param array: image to draw circle on
        :type array: size (m,n) numpy array
        :param value: what value to fill the circle with
        :type value: float
        :param mode: if "set" will assign the circle interior value, if "add" will add the value to the circle interior,
            throws exception otherwise
        :type mode: string, either "set" or "add"
        :return: updates input array

def draw_circle(self, center, radius, array, value, mode="set"):
        """
        Draws a circle of specified radius on the input array and fills it with specified value
        :param center: a tuple for the center of the circle
        :type center: tuple (x,y)
        :param radius: how many pixels in radius the circle is
        :type radius: int
        :param array: image to draw circle on
        :type array: size (m,n) numpy array
        :param value: what value to fill the circle with
        :type value: float
        :param mode: if "set" will assign the circle interior value, if "add" will add the value to the circle interior,
            throws exception otherwise
        :type mode: string, either "set" or "add"
        :return: updates input array
        """
        ri, ci = draw.circle(center[0], center[1],
                             radius=radius,
                             shape=array.shape)
        if mode == "add":
            array[ri, ci] += value
        elif mode == "set":
            array[ri, ci] = value
        else:
            raise ValueError("draw_circle mode must be 'set' or 'add' but {} used".format(mode))
        return ri, ci, array[ri,ci]