code: def decompile(self, data, ttFont):
      # read table header
      sstruct.unpack(
          sbixHeaderFormat, data[:sbixHeaderFormatSize], self
      )
      # collect offsets to individual strikes in self.strikeOffsets
      for i in range(self.numStrikes):
          current_offset = (
              sbixHeaderFormatSize + i * sbixStrikeOffsetFormatSize
          )
          offset_entry = sbixStrikeOffset()
          sstruct.unpack(
              sbixStrikeOffsetFormat,
              data[
                  current_offset : current_offset
                  + sbixStrikeOffsetFormatSize
              ],
              offset_entry,
          )
          self.strikeOffsets.append(offset_entry.strikeOffset)
  
      # decompile Strikes
      for i in range(self.numStrikes - 1, -1, -1):
          current_strike = Strike(rawdata=data[self.strikeOffsets[i] :])
          data = data[: self.strikeOffsets[i]]
          current_strike.decompile(ttFont)
          # print "  Strike length: %xh" % len(bitmapSetData)
          # print "Number of Glyph entries:", len(current_strike.glyphs)
          if current_strike.ppem in self.strikes:
              from fontTools import ttLib
  
              raise ttLib.TTLibError(
                  "Pixel 'ppem' must be unique for each Strike"
              )
          self.strikes[current_strike.ppem] = current_strike
  
      # after the glyph data records have been extracted, we don't need the offsets anymore
      del self.strikeOffsets
      del self.numStrikes
  
file_path: catboost/contrib/python/fonttools/fontTools/ttLib/tables/_s_b_i_x.py
imports: from fontTools.misc import sstruct
  from fontTools.misc.textTools import safeEval, num2binary, binary2num
  from .None import DefaultTable
  from .sbixStrike import Strike
label_desc: Use image node_id 2 for calling the table__s_b_i_x obj's underlying member method code with example usage: obj.decompile(data, ttFont) without return types