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 interpolation of angular coordinates from tie points to pixel points.
  
  Args:
      azimuth: xarray DataArray containing the azimuth angle dataset to
          interpolate.
      zenith: xarray DataArray containing the zenith angle dataset to
          interpolate.
      n_samples: int describing number of samples per scan to interpolate
          onto.
  
  Returns:
      tuple of arrays containing the interpolate values, all the original
          metadata and the updated dimension names.
code: def _interpolate_viewing_angle(
      self,
      azimuth,
      zenith,
      n_samples,
  ):
      """Perform the interpolation of angular coordinates from tie points to pixel points.
  
      Args:
          azimuth: xarray DataArray containing the azimuth angle dataset to
              interpolate.
          zenith: xarray DataArray containing the zenith angle dataset to
              interpolate.
          n_samples: int describing number of samples per scan to interpolate
              onto.
  
      Returns:
          tuple of arrays containing the interpolate values, all the original
              metadata and the updated dimension names.
  
      """
      # interpolate onto spherical coords system with origin at equator
      azimuth, zenith = self._interpolate_geo(
          azimuth, 90.0 - zenith, n_samples
      )
      # transform back such that the origin is at the north pole
      zenith = 90.0 - zenith
      return azimuth, zenith
  
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 17 for calling the IciL1bNCFileHandler obj's underlying member method code with example usage: obj._interpolate_viewing_angle(azimuth, zenith, n_samples) and returns: azimuth,  zenith