The skymatch_step function (class name SkyMatchStep) is the top-level function used to call the skymatch operation from the JWST calibration pipeline.

JWST pipeline step for sky matching.


Mihai Cara

class jwst.skymatch.skymatch_step.SkyMatchStep(name=None, parent=None, config_file=None, _validate_kwds=True, **kws)[source]

SkyMatchStep: Subtraction or equalization of sky background in science images.

Create a Step instance.

  • name (str, optional) – The name of the Step instance. Used in logging messages and in cache filenames. If not provided, one will be generated based on the class name.

  • parent (Step instance, optional) – The parent step of this step. Used to determine a fully-qualified name for this step, and to determine the mode in which to run this step.

  • config_file (str path, optional) – The path to the config file that this step was initialized with. Use to determine relative path names of other config files.

  • **kws (dict) – Additional parameters to set. These will be set as member variables on the new Step instance.


This is where real work happens. Every Step subclass has to override this method. The default behaviour is to raise a NotImplementedError exception.

reference_file_types = []
spec = '\n        # General sky matching parameters:\n        skymethod = option(\'local\', \'global\', \'match\', \'global+match\', default=\'global+match\') # sky computation method\n        match_down = boolean(default=True) # adjust sky to lowest measured value?\n        subtract = boolean(default=False) # subtract computed sky from image data?\n\n        # Image\'s bounding polygon parameters:\n        stepsize = integer(default=None) # Max vertex separation\n\n        # Sky statistics parameters:\n        skystat = option(\'median\', \'midpt\', \'mean\', \'mode\', default=\'mode\') # sky statistics\n        dqbits = string(default=0) # "good" DQ bits\n        lower = float(default=None) # Lower limit of "good" pixel values\n        upper = float(default=None) # Upper limit of "good" pixel values\n        nclip = integer(min=0, default=5) # number of sky clipping iterations\n        lsigma = float(min=0.0, default=4.0) # Lower clipping limit, in sigma\n        usigma = float(min=0.0, default=4.0) # Upper clipping limit, in sigma\n        binwidth = float(min=0.0, default=0.1) # Bin width for \'mode\' and \'midpt\' `skystat`, in sigma\n    '