class_docstr: Utility class to represent and manipulate tags.
  Attributes:
      x:
          An integer representation of the binary mask.
  Examples:
      >>> # the following are equivalent
      >>> mask = BitMask(6)
      >>> mask = BitMask.from_hex('0x6')
      >>> mask = Bitmask.from_bin('0b0110')
      >>> # for a dataset with 10 images, assume the following tag
      >>> # 0001011001 where the 1st, 4th, 5th and 7th image are selected
      >>> # this tag would be stored as 0x59.
      >>> hexstring = '0x59'                    # what you receive from the api
      >>> mask = BitMask.from_hex(hexstring)  # create a bitmask from it
      >>> indices = mask.to_indices()         # get list of indices which are one
      >>> # indices is [0, 3, 4, 6]
docstr: Calculates the difference of two bit masks.
  Examples:
      >>> mask1 = BitMask.from_bin('0b0111')
      >>> mask2 = BitMask.from_bin('0b1100')
      >>> mask1.difference(mask2)
      >>> # mask1.binstring is '0b0011'
docstr_tok: ["Calculates","the","difference","of","two","bit","masks",".","Examples",":",">",">",">","mask1","=","BitMask.from_bin","(","'0b0111","'",")",">",">",">","mask2","=","BitMask.from_bin","(","'0b1100","'",")",">",">",">","mask1.difference","(","mask2",")",">",">",">","#","mask1.binstring","is","'0b0011","'"]
code: def difference(self, other):
      """Calculates the difference of two bit masks.
      Examples:
          >>> mask1 = BitMask.from_bin('0b0111')
          >>> mask2 = BitMask.from_bin('0b1100')
          >>> mask1.difference(mask2)
          >>> # mask1.binstring is '0b0011'
      """
      self.union(other)
      self.x = self.x - other.x
  
imports: import copy
  from typing import List
label_desc: Use image node_id 12 for calling the BitMask obj's underlying member method code with example usage: obj.difference(other) without return types