class_docstr: GOMS HRIT format reader.
docstr: Visible/IR channel calibration.
docstr_tok: ["Visible\/IR","channel","calibration","."]
code: def _calibrate(self, data):
      """Visible/IR channel calibration."""
      lut = self.prologue["ImageCalibration"][self.chid]
      if abs(lut).max() > 16777216:
          lut = lut.astype(np.float64)
      else:
          lut = lut.astype(np.float32)
      lut /= 1000
      lut[0] = np.nan
      # Dask/XArray don't support indexing in 2D (yet).
      res = data.data.map_blocks(self._getitem, lut, dtype=lut.dtype)
      res = xr.DataArray(
          res, dims=data.dims, attrs=data.attrs, coords=data.coords
      )
      res = res.where(data > 0)
      return res
  
imports: import logging
  from datetime import datetime
  import numpy
  import xarray
  from satpy.readers._geos_area import get_area_definition, get_area_extent
  from satpy.readers.hrit_base import HRITFileHandler, ancillary_text, annotation_header, base_hdr_map, image_data_function, time_cds_short
label_desc: Use image node_id 5 for calling the HRITGOMSFileHandler obj's underlying member method code with example usage: obj._calibrate(data) and returns: res