code: def draw_annulus(self, center, inner_radius, outer_radius, array, value, mode="set"):
          
          if mode == "add":
              self.draw_circle(center, outer_radius, array, value)
              self.draw_circle(center, inner_radius, array, -value)
          elif mode == "set":
              ri, ci, existing = self.draw_circle(center, inner_radius, array, -value)
              self.draw_circle(center, outer_radius, array, value)
              array[ri, ci] = existing
          else:
              raise ValueError("draw_annulus mode must be 'set' or 'add' but {} used".format(mode))
docs: Draws an annulus of specified radius on the input array and fills it with specified value
          :param center: a tuple for the center of the annulus
          :type center: tuple (x,y)
          :param inner_radius: how many pixels in radius the interior empty circle is, where the annulus begins
          :type inner_radius: int
          :param outer_radius: how many pixels in radius the larger outer circle is, where the annulus ends
          :typde outer_radius: int
          :param array: image to draw annulus on
          :type array: size (m,n) numpy array
          :param value: what value to fill the annulus 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 and then returns it with the annulus coordinates as a tuple