class_docstr: SEVIRI native format reader.
  
  **Calibration**
  
  See :mod:`satpy.readers.seviri_base`.
  
  **Padding channel data to full disk**
  
  By providing the `fill_disk` as True in the `reader_kwargs`, the channel is loaded
  as full disk, padded with no-data where necessary. This is especially useful for the
  HRV channel, but can also be used for RSS and ROI data. By default, the original,
  unpadded, data are loaded::
  
      scene = satpy.Scene(filenames,
                          reader='seviri_l1b_native',
                          reader_kwargs={'fill_disk': False})
  
  **Metadata**
  
  See :mod:`satpy.readers.seviri_base`.
docstr: Check if data covers a selected region of interest (ROI).
  
  Standard RSS data consists of 3712 columns and 1392 lines, covering the three northmost segments
  of the SEVIRI disk. Hence, if the data does not cover the full disk, nor the standard RSS region
  in RSS mode, it's assumed to be ROI data.
docstr_tok: ["Check","if","data","covers","a","selected","region","of","interest","(","ROI",")",".","Standard","RSS","data","consists","of","3712","columns","and","1392","lines",",","covering","the","three","northmost","segments","of","the","SEVIRI","disk",".","Hence",",","if","the","data","does","not","cover","the","full","disk",",","nor","the","standard","RSS","region","in","RSS","mode",",","it","'s","assumed","to","be","ROI","data","."]
code: def is_roi(self):
      """Check if data covers a selected region of interest (ROI).
  
      Standard RSS data consists of 3712 columns and 1392 lines, covering the three northmost segments
      of the SEVIRI disk. Hence, if the data does not cover the full disk, nor the standard RSS region
      in RSS mode, it's assumed to be ROI data.
      """
      is_rapid_scan = self.trailer["15TRAILER"]["ImageProductionStats"][
          "ActualScanningSummary"
      ]["ReducedScan"]
  
      # Standard RSS data is assumed to cover the three northmost segments, thus consisting of all 3712 columns and
      # the 1392 northmost lines
      nlines = int(self.mda["number_of_lines"])
      ncolumns = int(self.mda["number_of_columns"])
      north_bound = int(
          self.header["15_SECONDARY_PRODUCT_HEADER"][
              "NorthLineSelectedRectangle"
          ]["Value"]
      )
  
      is_top3segments = (
          ncolumns == VISIR_NUM_COLUMNS
          and nlines == 1392
          and north_bound == VISIR_NUM_LINES
      )
  
      return not self.mda["is_full_disk"] and not (
          is_rapid_scan and is_top3segments
      )
  
imports: import logging
  import warnings
  from datetime import datetime, timedelta
  import dask.array
  import numpy
  import xarray
  from pyresample import geometry
  from satpy._compat import cached_property
  from satpy.readers._geos_area import get_area_definition, get_geos_area_naming
  from satpy.readers.eum_base import get_service_mode, recarray2dict, time_cds_short
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.readers.seviri_base import CHANNEL_NAMES, HRV_NUM_COLUMNS, HRV_NUM_LINES, REPEAT_CYCLE_DURATION, SATNUM, VISIR_NUM_COLUMNS, VISIR_NUM_LINES, NoValidOrbitParams, OrbitPolynomialFinder, SEVIRICalibrationHandler, add_scanline_acq_time, calculate_area_extent, create_coef_dict, dec10216, get_cds_time, get_satpos, pad_data_horizontally, pad_data_vertically, round_nom_time
  from satpy.readers.seviri_l1b_native_hdr import DEFAULT_15_SECONDARY_PRODUCT_HEADER, GSDTRecords, get_native_header, native_trailer
  from satpy.readers.utils import reduce_mda
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 15 for calling the NativeMSGFileHandler obj's underlying member method code with example usage: obj.is_roi() and returns: unknown