code: def _open(self):
      # Quick rejection: if there's not a LF among the first
      # 100 bytes, this is (probably) not a text header.
  
      if b"\n" not in self.fp.read(100):
          raise SyntaxError("not an IM file")
      self.fp.seek(0)
  
      xsize = ysize = 0
  
      while True:
          s = self.fp.read(1)
          if not s:
              break
  
          if s == b"\x0C":
              # image data begins
              self.tile = [
                  (
                      "raw",
                      (0, 0) + self.size,
                      self.fp.tell(),
                      (self.mode, 0, 1),
                  )
              ]
  
              break
  
          else:
              # read key/value pair
              # FIXME: dangerous, may read whole file
              s = s + self.fp.readline()
              if len(s) == 1 or len(s) > 100:
                  break
              if s[0] == ord(b"*"):
                  continue  # comment
  
              m = field.match(s)
              if not m:
                  break
              k, v = m.group(1, 2)
              if k == "width":
                  xsize = int(v)
                  self._size = xsize, ysize
              elif k == "height":
                  ysize = int(v)
                  self._size = xsize, ysize
              elif k == "pixel" and v == "n8":
                  self.mode = "L"
  
imports: import re
  from .None import Image, ImageFile
label_desc: Use image node_id 1 for calling the ImtImageFile obj's underlying member method code with example usage: obj._open() without return types