class_docstr: L15 Data Header handler.
  
  Reference Document (EUM/MSG/ICD/105):
  MSG Level 1.5 Image Data Format Description
docstr: Get radiometric processing data.
code: def radiometric_processing(self):
      """Get radiometric processing data."""
      rp_summary = [
          ("RadianceLinearization", (bool, 12)),
          ("DetectorEqualization", (bool, 12)),
          ("OnboardCalibrationResult", (bool, 12)),
          ("MPEFCalFeedback", (bool, 12)),
          ("MTFAdaptation", (bool, 12)),
          ("StrayLightCorrection", (bool, 12)),
      ]
  
      level_15_image_calibration = [
          ("CalSlope", np.float64),
          ("CalOffset", np.float64),
      ]
  
      time_cuc_size = [
          ("CT1", np.uint8),
          ("CT2", np.uint8),
          ("CT3", np.uint8),
          ("CT4", np.uint8),
          ("FT1", np.uint8),
          ("FT2", np.uint8),
          ("FT3", np.uint8),
      ]
  
      cold_fp_temperature = [
          ("FCUNominalColdFocalPlaneTemp", np.uint16),
          ("FCURedundantColdFocalPlaneTemp", np.uint16),
      ]
  
      warm_fp_temperature = [
          ("FCUNominalWarmFocalPlaneVHROTemp", np.uint16),
          ("FCURedundantWarmFocalPlaneVHROTemp", np.uint16),
      ]
  
      scan_mirror_temperature = [
          ("FCUNominalScanMirrorSensor1Temp", np.uint16),
          ("FCURedundantScanMirrorSensor1Temp", np.uint16),
          ("FCUNominalScanMirrorSensor2Temp", np.uint16),
          ("FCURedundantScanMirrorSensor2Temp", np.uint16),
      ]
  
      m1m2m3_temperature = [
          ("FCUNominalM1MirrorSensor1Temp", np.uint16),
          ("FCURedundantM1MirrorSensor1Temp", np.uint16),
          ("FCUNominalM1MirrorSensor2Temp", np.uint16),
          ("FCURedundantM1MirrorSensor2Temp", np.uint16),
          ("FCUNominalM23AssemblySensor1Temp", np.uint8),
          ("FCURedundantM23AssemblySensor1Temp", np.uint8),
          ("FCUNominalM23AssemblySensor2Temp", np.uint8),
          ("FCURedundantM23AssemblySensor2Temp", np.uint8),
      ]
  
      baffle_temperature = [
          ("FCUNominalM1BaffleTemp", np.uint16),
          ("FCURedundantM1BaffleTemp", np.uint16),
      ]
  
      blackbody_temperature = [
          ("FCUNominalBlackBodySensorTemp", np.uint16),
          ("FCURedundantBlackBodySensorTemp", np.uint16),
      ]
  
      fcu_mode = [
          ("FCUNominalSMMStatus", "S2"),
          ("FCURedundantSMMStatus", "S2"),
      ]
  
      extracted_bb_data = [
          ("NumberOfPixelsUsed", np.uint32),
          ("MeanCount", np.float32),
          ("RMS", np.float32),
          ("MaxCount", np.uint16),
          ("MinCount", np.uint16),
          ("BB_Processing_Slope", np.float64),
          ("BB_Processing_Offset", np.float64),
      ]
  
      bb_related_data = [
          ("OnBoardBBTime", time_cuc_size),
          ("MDUOutGain", (np.uint16, 42)),
          ("MDUCoarseGain", (np.uint8, 42)),
          ("MDUFineGain", (np.uint16, 42)),
          ("MDUNumericalOffset", (np.uint16, 42)),
          ("PUGain", (np.uint16, 42)),
          ("PUOffset", (np.uint16, 27)),
          ("PUBias", (np.uint16, 15)),
          ("DCRValues", (np.uint8, 63)),
          ("X_DeepSpaceWindowPosition", np.int8),
          ("ColdFPTemperature", cold_fp_temperature),
          ("WarmFPTemperature", warm_fp_temperature),
          ("ScanMirrorTemperature", scan_mirror_temperature),
          ("M1M2M3Temperature", m1m2m3_temperature),
          ("BaffleTemperature", baffle_temperature),
          ("BlackBodyTemperature", blackbody_temperature),
          ("FCUMode", fcu_mode),
          ("ExtractedBBData", (extracted_bb_data, 12)),
      ]
  
      black_body_data_used = [
          ("BBObservationUTC", time_cds_expanded),
          ("BBRelatedData", bb_related_data),
      ]
  
      impf_cal_data = [
          ("ImageQualityFlag", np.uint8),
          ("ReferenceDataFlag", np.uint8),
          ("AbsCalMethod", np.uint8),
          ("Pad1", "S1"),
          ("AbsCalWeightVic", np.float32),
          ("AbsCalWeightXsat", np.float32),
          ("AbsCalCoeff", np.float32),
          ("AbsCalError", np.float32),
          ("GSICSCalCoeff", np.float32),
          ("GSICSCalError", np.float32),
          ("GSICSOffsetCount", np.float32),
      ]
  
      rad_proc_mtf_adaptation = [
          ("VIS_IRMTFCorrectionE_W", (np.float32, (33, 16))),
          ("VIS_IRMTFCorrectionN_S", (np.float32, (33, 16))),
          ("HRVMTFCorrectionE_W", (np.float32, (9, 16))),
          ("HRVMTFCorrectionN_S", (np.float32, (9, 16))),
          ("StraylightCorrection", (np.float32, (12, 8, 8))),
      ]
  
      record = [
          ("RPSummary", rp_summary),
          ("Level15ImageCalibration", (level_15_image_calibration, 12)),
          ("BlackBodyDataUsed", black_body_data_used),
          ("MPEFCalFeedback", (impf_cal_data, 12)),
          ("RadTransform", (np.float32, (42, 64))),
          ("RadProcMTFAdaptation", rad_proc_mtf_adaptation),
      ]
  
      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 6 for calling the L15DataHeaderRecord obj's underlying member method code with example usage: obj.radiometric_processing() and returns: record