class_docstr: Reads basic image formats using ImageIO.
class_docstr_tok: ["Reads","basic","image","formats","using","ImageIO","."]
docstr: This function needs to evaluate whether a given ImageFile object
  can be read by this reader class.
  
  Return value should be an integer representing suitability:
  -1 - 'I can't read this at all'
  1 - 'I am the one true reader for this format, don't even bother checking any others'
  2 - 'I am well-suited to this format'
  3 - 'I can read this format, but I might not be the best',
  4 - 'I can give it a go, if you must'
  
  The allow_open parameter dictates whether the reader is permitted to read the file when
  making this decision. If False the decision should be made using file extension only.
  Any opened files should be closed before returning.
  
  The volume parameter specifies whether the reader will need to return a 3D array.
  .
docstr_tok: ["This","function","needs","to","evaluate","whether","a","given","ImageFile","object","can","be","read","by","this","reader","class",".","Return","value","should","be","an","integer","representing","suitability",":","-1","-","'","I","ca","n't","read","this","at","all'","1","-","'","I","am","the","one","true","reader","for","this","format",",","do","n't","even","bother","checking","any","others'","2","-","'","I","am","well-suited","to","this","format'","3","-","'","I","can","read","this","format",",","but","I","might","not","be","the","best","'",",","4","-","'","I","can","give","it","a","go",",","if","you","must'","The","allow_open","parameter","dictates","whether","the","reader","is","permitted","to","read","the","file","when","making","this","decision",".","If","False","the","decision","should","be","made","using","file","extension","only",".","Any","opened","files","should","be","closed","before","returning",".","The","volume","parameter","specifies","whether","the","reader","will","need","to","return","a","3D","array",".","."]
code: def supports_format(cls, image_file, allow_open=False, volume=False):
      """This function needs to evaluate whether a given ImageFile object
      can be read by this reader class.
  
      Return value should be an integer representing suitability:
      -1 - 'I can't read this at all'
      1 - 'I am the one true reader for this format, don't even bother checking any others'
      2 - 'I am well-suited to this format'
      3 - 'I can read this format, but I might not be the best',
      4 - 'I can give it a go, if you must'
  
      The allow_open parameter dictates whether the reader is permitted to read the file when
      making this decision. If False the decision should be made using file extension only.
      Any opened files should be closed before returning.
  
      The volume parameter specifies whether the reader will need to return a 3D array.
      ."""
      if image_file.scheme not in SUPPORTED_SCHEMES:
          return -1
      if image_file.file_extension in SUPPORTED_EXTENSIONS:
          return 2
      if image_file.full_extension in SEMI_SUPPORTED_EXTENSIONS:
          if config_read_typed(
              f"Reader.{ImageIOReader.reader_name}.read_tif", bool
          ):
              return 2
          return 3
  
      return -1
  
file_path: CellProfiler/src/subpackages/core/cellprofiler_core/readers/imageio_reader.py
imports: import collections
  import numpy
  import imageio
  from ..constants.image import MD_SIZE_S, MD_SIZE_C, MD_SIZE_Z, MD_SIZE_T, MD_SIZE_Y, MD_SIZE_X
  from ..preferences import config_read_typed
  from ..reader import Reader
label_desc: Use image node_id 6 for calling the ImageIOReader obj's underlying member method code with example usage: obj.supports_format(cls, image_file, allow_open, volume) and returns: unknown, unknown, int, int, int