class_docstr: Collect image boundary information.
docstr: Get image line and column boundaries.
  
  Returns:
      Dictionary with the four keys 'south_bound', 'north_bound', 'east_bound' and 'west_bound',
      each containing a list of the respective line/column numbers of the image boundaries.
  
  Lists (rather than scalars) are returned since the HRV data in FES mode contain data from two windows/areas.
docstr_tok: ["Get","image","line","and","column","boundaries",".","Returns",":","Dictionary","with","the","four","keys","'south_bound","'",",","'north_bound","'",",","'east_bound","'","and","'west_bound","'",",","each","containing","a","list","of","the","respective","line\/column","numbers","of","the","image","boundaries",".","Lists","(","rather","than","scalars",")","are","returned","since","the","HRV","data","in","FES","mode","contain","data","from","two","windows\/areas","."]
code: def get_img_bounds(self, dataset_id, is_roi):
      """Get image line and column boundaries.
  
      Returns:
          Dictionary with the four keys 'south_bound', 'north_bound', 'east_bound' and 'west_bound',
          each containing a list of the respective line/column numbers of the image boundaries.
  
      Lists (rather than scalars) are returned since the HRV data in FES mode contain data from two windows/areas.
      """
      if dataset_id["name"] == "HRV" and not is_roi:
          img_bounds = self._get_hrv_actual_img_bounds()
      else:
          img_bounds = self._get_selected_img_bounds(dataset_id)
  
      self._check_for_valid_bounds(img_bounds)
  
      return img_bounds
  
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 2 for calling the ImageBoundaries obj's underlying member method code with example usage: obj.get_img_bounds(dataset_id, is_roi) and returns: img_bounds