code: def createMedian(imgObjList, configObj, procSteps=None):
      
      if imgObjList is None:
          msg = "Please provide a list of imageObjects to the median step"
          print(msg, file=sys.stderr)
          raise ValueError(msg)
  
      if procSteps is not None:
          procSteps.addStep('Create Median')
  
      step_name = util.getSectionName(configObj, _step_num_)
      if not configObj[step_name]['median']:
          log.info('Median combination step not performed.')
          return
  
      paramDict = configObj[step_name]
      paramDict['proc_unit'] = configObj['proc_unit']
  
      # include whether or not compression was performed
      driz_sep_name = util.getSectionName(configObj, _single_step_num_)
      driz_sep_paramDict = configObj[driz_sep_name]
      paramDict['compress'] = driz_sep_paramDict['driz_sep_compress']
  
      log.info('USER INPUT PARAMETERS for Create Median Step:')
      util.printParams(paramDict, log=log)
  
      _median(imgObjList, paramDict)
  
      if procSteps is not None:
          procSteps.endStep('Create Median')
docs: Top-level interface to createMedian step called from top-level
      AstroDrizzle.
  
      This function parses the input parameters then calls the `_median()`
      function to median-combine the input images into a single image.