code: def _read_openjp2(self, rlevel=0, layer=None, area=None, tile=None,
                        verbose=False):
          
          self.layer = layer
          self._subsampling_sanity_check()
          self._populate_dparams(rlevel, tile=tile, area=area)
          image = self._read_openjp2_common()
          return image
docs: Read a JPEG 2000 image using libopenjp2.
  
          Parameters
          ----------
          layer : int, optional
              Number of quality layer to decode.
          rlevel : int, optional
              Factor by which to rlevel output resolution.  Use -1 to get the
              lowest resolution thumbnail.
          area : tuple, optional
              Specifies decoding image area,
              (first_row, first_col, last_row, last_col)
          tile : int, optional
              Number of tile to decode.
          verbose : bool, optional
              Print informational messages produced by the OpenJPEG library.
  
          Returns
          -------
          ndarray
              The image data.
  
          Raises
          ------
          RuntimeError
              If the image has differing subsample factors.