class_docstr: Class implementing the MTG FCI L1c Filehandler.
  
  This class implements the Meteosat Third Generation (MTG) Flexible
  Combined Imager (FCI) Level-1c NetCDF reader.
  It is designed to be used through the :class:`~satpy.Scene`
  class using the :mod:`~satpy.Scene.load` method with the reader
  ``"fci_l1c_nc"``.
docstr: Get information about the size and the position of the segment inside the final image array.
  
  As the final array is composed by stacking segments vertically, the position of a segment
  inside the array is defined by the numbers of the start (lowest) and end (highest) row of the segment.
  The row numbering is assumed to start with 1.
  This info is used in the GEOVariableSegmentYAMLReader to compute optimal segment sizes for missing segments.
  
  Note: in the FCI terminology, a segment is actually called "chunk". To avoid confusion with the dask concept
  of chunk, and to be consistent with SEVIRI, we opt to use the word segment.
docstr_tok: ["Get","information","about","the","size","and","the","position","of","the","segment","inside","the","final","image","array",".","As","the","final","array","is","composed","by","stacking","segments","vertically",",","the","position","of","a","segment","inside","the","array","is","defined","by","the","numbers","of","the","start","(","lowest",")","and","end","(","highest",")","row","of","the","segment",".","The","row","numbering","is","assumed","to","start","with","1",".","This","info","is","used","in","the","GEOVariableSegmentYAMLReader","to","compute","optimal","segment","sizes","for","missing","segments",".","Note",":","in","the","FCI","terminology",",","a","segment","is","actually","called","``","chunk","''",".","To","avoid","confusion","with","the","dask","concept","of","chunk",",","and","to","be","consistent","with","SEVIRI",",","we","opt","to","use","the","word","segment","."]
code: def get_segment_position_info(self):
      """Get information about the size and the position of the segment inside the final image array.
  
      As the final array is composed by stacking segments vertically, the position of a segment
      inside the array is defined by the numbers of the start (lowest) and end (highest) row of the segment.
      The row numbering is assumed to start with 1.
      This info is used in the GEOVariableSegmentYAMLReader to compute optimal segment sizes for missing segments.
  
      Note: in the FCI terminology, a segment is actually called "chunk". To avoid confusion with the dask concept
      of chunk, and to be consistent with SEVIRI, we opt to use the word segment.
      """
      vis_06_measured_path = self.get_channel_measured_group_path(
          "vis_06"
      )
      ir_105_measured_path = self.get_channel_measured_group_path(
          "ir_105"
      )
  
      file_type = self.filetype_info["file_type"]
  
      segment_position_info = {
          HIGH_RES_GRID_INFO[file_type]["grid_type"]: {
              "start_position_row": self.get_and_cache_npxr(
                  vis_06_measured_path + "/start_position_row"
              ).item(),
              "end_position_row": self.get_and_cache_npxr(
                  vis_06_measured_path + "/end_position_row"
              ).item(),
              "segment_height": self.get_and_cache_npxr(
                  vis_06_measured_path + "/end_position_row"
              ).item()
              - self.get_and_cache_npxr(
                  vis_06_measured_path + "/start_position_row"
              ).item()
              + 1,
              "grid_width": HIGH_RES_GRID_INFO[file_type]["grid_width"],
          },
          LOW_RES_GRID_INFO[file_type]["grid_type"]: {
              "start_position_row": self.get_and_cache_npxr(
                  ir_105_measured_path + "/start_position_row"
              ).item(),
              "end_position_row": self.get_and_cache_npxr(
                  ir_105_measured_path + "/end_position_row"
              ).item(),
              "segment_height": self.get_and_cache_npxr(
                  ir_105_measured_path + "/end_position_row"
              ).item()
              - self.get_and_cache_npxr(
                  ir_105_measured_path + "/start_position_row"
              ).item()
              + 1,
              "grid_width": LOW_RES_GRID_INFO[file_type]["grid_width"],
          },
      }
  
      return segment_position_info
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from datetime import timedelta
  from functools import cached_property
  import dask.array
  import numpy
  import xarray
  from netCDF4 import default_fillvals
  from pyresample import geometry
  from satpy.readers._geos_area import get_geos_area_naming
  from satpy.readers.eum_base import get_service_mode
  from .netcdf_utils import NetCDF4FsspecFileHandler
label_desc: Use image node_id 10 for calling the FCIL1cNCFileHandler obj's underlying member method code with example usage: obj.get_segment_position_info() and returns: segment_position_info