class_docstr: Handler for the regular band channels.
docstr: Read data from file and return the corresponding projectables.
docstr_tok: ["Read","data","from","file","and","return","the","corresponding","projectables","."]
code: def get_dataset(self, key, info):
      """Read data from file and return the corresponding projectables."""
      if self.resolution != key["resolution"]:
          return
      var_name, band_index = self._get_band_variable_name_and_index(
          key["name"]
      )
      subdata = self.sd.select(var_name)
      var_attrs = subdata.attributes()
      uncertainty = self.sd.select(var_name + "_Uncert_Indexes")
      chunks = self._chunks_for_variable(subdata)
      array = xr.DataArray(
          from_sds(subdata, chunks=chunks)[band_index, :, :],
          dims=["y", "x"],
      ).astype(np.float32)
      valid_range = var_attrs["valid_range"]
      valid_min = np.float32(valid_range[0])
      valid_max = np.float32(valid_range[1])
      if not self._mask_saturated:
          array = self._fill_saturated(array, valid_max)
      array = self._mask_invalid(array, valid_min, valid_max)
      array = self._mask_uncertain_pixels(
          array, uncertainty, band_index
      )
      projectable = self._calibrate_data(
          key, info, array, var_attrs, band_index
      )
  
      # if ((platform_name == 'Aqua' and key['name'] in ["6", "27", "36"]) or
      #         (platform_name == 'Terra' and key['name'] in ["29"])):
      #     height, width = projectable.shape
      #     row_indices = projectable.mask.sum(1) == width
      #     if row_indices.sum() != height:
      #         projectable.mask[row_indices, :] = True
  
      # Get the orbit number
      # if not satscene.orbit:
      #     mda = self.data.attributes()["CoreMetadata.0"]
      #     orbit_idx = mda.index("ORBITNUMBER")
      #     satscene.orbit = mda[orbit_idx + 111:orbit_idx + 116]
  
      # Trimming out dead sensor lines (detectors) on terra:
      # (in addition channel 27, 30, 34, 35, and 36 are nosiy)
      # if satscene.satname == "terra":
      #     for band in ["29"]:
      #         if not satscene[band].is_loaded() or satscene[band].data.mask.all():
      #             continue
      #         width = satscene[band].data.shape[1]
      #         height = satscene[band].data.shape[0]
      #         indices = satscene[band].data.mask.sum(1) < width
      #         if indices.sum() == height:
      #             continue
      #         satscene[band] = satscene[band].data[indices, :]
      #         satscene[band].area = geometry.SwathDefinition(
      #             lons=satscene[band].area.lons[indices, :],
      #             lats=satscene[band].area.lats[indices, :])
      self._add_satpy_metadata(key, projectable)
      return projectable
  
imports: import logging
  import numpy
  import xarray
  from satpy.readers.hdf4_utils import from_sds
  from satpy.readers.hdfeos_base import HDFEOSBaseFileReader, HDFEOSGeoReader
label_desc: Use image node_id 2 for calling the HDFEOSBandReader obj's underlying member method code with example usage: obj.get_dataset(key, info) and returns: projectable