class_docstr: See :mod:`imageio.plugins.freeimage`
class_docstr_tok: ["See",":","mod",":","`","imageio.plugins.freeimage","`"]
code: def _can_read(self, request):
      # Ask freeimage if it can read it, maybe ext missing
      if fi.has_lib():
          if not hasattr(request, "_fif"):
              try:
                  request._fif = fi.getFIF(
                      request.filename, "r", request.firstbytes
                  )
              except Exception:  # pragma: no cover
                  request._fif = -1
          if request._fif == self.fif:
              return True
          elif request._fif == 7 and self.fif == 14:
              # PPM gets identified as PBM and PPM can read PBM
              # see: https://github.com/imageio/imageio/issues/677
              return True
  
file_path: imageio/imageio/plugins/freeimage.py
imports: import numpy
  from ..core import Format, image_as_uint
  from ..core.request import RETURN_BYTES
  from ._freeimage import FNAME_PER_PLATFORM, IO_FLAGS, download, fi
label_desc: Use image node_id 3 for calling the FreeimageFormat obj's underlying member method code with example usage: obj._can_read(request) and returns: True, True