class_docstr: Filehandler for angles.
docstr: Initialize the angles reader.
docstr_tok: ["Initialize","the","angles","reader","."]
code: def __init__(self, filename, filename_info, filetype_info):
      """Initialize the angles reader."""
      super(NCSLSTRAngles, self).__init__(
          filename, filename_info, filetype_info
      )
  
      self.nc = xr.open_dataset(
          self.filename,
          decode_cf=True,
          mask_and_scale=True,
          chunks={"columns": CHUNK_SIZE, "rows": CHUNK_SIZE},
      )
  
      # TODO: get metadata from the manifest file (xfdumanifest.xml)
      self.platform_name = PLATFORM_NAMES[filename_info["mission_id"]]
      self.sensor = "slstr"
      self.view = filename_info["view"]
      self._start_time = filename_info["start_time"]
      self._end_time = filename_info["end_time"]
  
      carta_file = os.path.join(
          os.path.dirname(self.filename),
          "cartesian_a{}.nc".format(self.view[0]),
      )
      carti_file = os.path.join(
          os.path.dirname(self.filename),
          "cartesian_i{}.nc".format(self.view[0]),
      )
      cartx_file = os.path.join(
          os.path.dirname(self.filename), "cartesian_tx.nc"
      )
      self.carta = self._loadcart(carta_file)
      self.carti = self._loadcart(carti_file)
      self.cartx = self._loadcart(cartx_file)
  
imports: import logging
  import os
  import re
  import warnings
  from datetime import datetime
  import dask.array
  import numpy
  import xarray
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 2 to create a new NCSLSTRAngles object from inherited base classes: BaseFileHandler with example: obj = NCSLSTRAngles(filename, filename_info, filetype_info)