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 intersection of two bit masks.
  Examples:
      >>> mask1 = BitMask.from_bin('0b0011')
      >>> mask2 = BitMask.from_bin('0b1100')
      >>> mask1.intersection(mask2)
      >>> # mask1.binstring is '0b0000'
docstr_tok: ["Calculates","the","intersection","of","two","bit","masks",".","Examples",":",">",">",">","mask1","=","BitMask.from_bin","(","'0b0011","'",")",">",">",">","mask2","=","BitMask.from_bin","(","'0b1100","'",")",">",">",">","mask1.intersection","(","mask2",")",">",">",">","#","mask1.binstring","is","'0b0000","'"]
code: def intersection(self, other):
      """Calculates the intersection of two bit masks.
      Examples:
          >>> mask1 = BitMask.from_bin('0b0011')
          >>> mask2 = BitMask.from_bin('0b1100')
          >>> mask1.intersection(mask2)
          >>> # mask1.binstring is '0b0000'
      """
      self.x = _intersection(self.x, other.x)
  
imports: import copy
  from typing import List
label_desc: Use image node_id 11 for calling the BitMask obj's underlying member method code with example usage: obj.intersection(other) without return types