class_docstr: Reader class for ICI L1B products in netCDF format.
class_docstr_tok: ["Reader","class","for","ICI","L1B","products","in","netCDF","format","."]
docstr: Perform the calibration.
  
  Args:
      variable: xarray DataArray containing the dataset to calibrate.
      dataset_info: dictionary of information about the dataset.
  
  Returns:
      DataArray: array containing the calibrated values and all the
          original metadata.
code: def _calibrate(self, variable, dataset_info):
      """Perform the calibration.
  
      Args:
          variable: xarray DataArray containing the dataset to calibrate.
          dataset_info: dictionary of information about the dataset.
  
      Returns:
          DataArray: array containing the calibrated values and all the
              original metadata.
  
      """
      calibration_name = dataset_info["calibration"]
      if calibration_name == "brightness_temperature":
          chan_index = dataset_info["chan_index"]
          cw = self._channel_cw[chan_index]
          a = self._bt_conversion_a[chan_index]
          b = self._bt_conversion_b[chan_index]
          calibrated_variable = self._calibrate_bt(variable, cw, a, b)
          calibrated_variable.attrs = variable.attrs
      elif calibration_name == "radiance":
          calibrated_variable = variable
      else:
          raise ValueError(
              "Unknown calibration %s for dataset %s"
              % (calibration_name, dataset_info["name"])
          )  # noqa: E501
  
      return calibrated_variable
  
imports: import logging
  from datetime import datetime
  from enum import Enum
  from functools import cached_property
  import dask.array
  import numpy
  import xarray
  from geotiepoints.geointerpolator import GeoInterpolator
  from satpy.readers.netcdf_utils import NetCDF4FileHandler
label_desc: Use image node_id 20 for calling the IciL1bNCFileHandler obj's underlying member method code with example usage: obj._calibrate(variable, dataset_info) and returns: calibrated_variable