class_docstr: L15 Data Header handler.
  
  Reference Document (EUM/MSG/ICD/105):
  MSG Level 1.5 Image Data Format Description
docstr: Get impf configuration information.
code: def impf_configuration(self):
      """Get impf configuration information."""
      overall_configuration = [
          ("Issue", np.uint16),
          ("Revision", np.uint16),
      ]
  
      sw_version = overall_configuration
  
      info_base_versions = sw_version
  
      su_configuration = [
          ("SWVersion", sw_version),
          ("InfoBaseVersions", (info_base_versions, 10)),
      ]
  
      su_details = [
          ("SUId", GSDTRecords.gp_su_id),
          ("SUIdInstance", np.int8),
          ("SUMode", np.uint8),
          ("SUState", np.uint8),
          ("SUConfiguration", su_configuration),
      ]
  
      equalisation_params = [
          ("ConstCoeff", np.float32),
          ("LinearCoeff", np.float32),
          ("QuadraticCoeff", np.float32),
      ]
  
      black_body_data_for_warm_start = [
          ("GTotalForMethod1", (np.float64, 12)),
          ("GTotalForMethod2", (np.float64, 12)),
          ("GTotalForMethod3", (np.float64, 12)),
          ("GBackForMethod1", (np.float64, 12)),
          ("GBackForMethod2", (np.float64, 12)),
          ("GBackForMethod3", (np.float64, 12)),
          ("RatioGTotalToGBack", (np.float64, 12)),
          ("GainInFrontOpticsCont", (np.float64, 12)),
          ("CalibrationConstants", (np.float32, 12)),
          ("maxIncidentRadiance", (np.float64, 12)),
          ("TimeOfColdObsSeconds", np.float64),
          ("TimeOfColdObsNanoSecs", np.float64),
          ("IncidenceRadiance", (np.float64, 12)),
          ("TempCal", np.float64),
          ("TempM1", np.float64),
          ("TempScan", np.float64),
          ("TempM1Baf", np.float64),
          ("TempCalSurround", np.float64),
      ]
  
      mirror_parameters = [
          ("MaxFeedbackVoltage", np.float64),
          ("MinFeedbackVoltage", np.float64),
          ("MirrorSlipEstimate", np.float64),
      ]
  
      hktm_parameters = [
          ("TimeS0Packet", time_cds_short),
          ("TimeS1Packet", time_cds_short),
          ("TimeS2Packet", time_cds_short),
          ("TimeS3Packet", time_cds_short),
          ("TimeS4Packet", time_cds_short),
          ("TimeS5Packet", time_cds_short),
          ("TimeS6Packet", time_cds_short),
          ("TimeS7Packet", time_cds_short),
          ("TimeS8Packet", time_cds_short),
          ("TimeS9Packet", time_cds_short),
          ("TimeSYPacket", time_cds_short),
          ("TimePSPacket", time_cds_short),
      ]
  
      warm_start_params = [
          ("ScanningLaw", (np.float64, 1527)),
          ("RadFramesAlignment", (np.float64, 3)),
          ("ScanningLawVariation", (np.float32, 2)),
          ("EqualisationParams", (equalisation_params, 42)),
          ("BlackBodyDataForWarmStart", black_body_data_for_warm_start),
          ("MirrorParameters", mirror_parameters),
          ("LastSpinPeriod", np.float64),
          ("HKTMParameters", hktm_parameters),
          ("WSPReserved", (np.uint8, 3312)),
      ]
  
      record = [
          ("OverallConfiguration", overall_configuration),
          ("SUDetails", (su_details, 50)),
          ("WarmStartParams", warm_start_params),
      ]
  
      return record
  
imports: import numpy
  from satpy.readers.eum_base import time_cds, time_cds_expanded, time_cds_short
  from satpy.readers.seviri_base import HRV_NUM_COLUMNS, HRV_NUM_LINES, VISIR_NUM_COLUMNS, VISIR_NUM_LINES
label_desc: Use image node_id 8 for calling the L15DataHeaderRecord obj's underlying member method code with example usage: obj.impf_configuration() and returns: record