LSST Applications  21.0.0-131-g8cabc107+528f53ee53,22.0.0+00495a2688,22.0.0+0ef2527977,22.0.0+11a2aa21cd,22.0.0+269b7e55e3,22.0.0+2c6b6677a3,22.0.0+64c1bc5aa5,22.0.0+7b3a3f865e,22.0.0+e1b6d2281c,22.0.0+ff3c34362c,22.0.1-1-g1b65d06+c95cbdf3df,22.0.1-1-g7058be7+1cf78af69b,22.0.1-1-g7dab645+2a65e40b06,22.0.1-1-g8760c09+64c1bc5aa5,22.0.1-1-g949febb+64c1bc5aa5,22.0.1-1-ga324b9c+269b7e55e3,22.0.1-1-gf9d8b05+ff3c34362c,22.0.1-10-g781e53d+9b51d1cd24,22.0.1-10-gba590ab+b9624b875d,22.0.1-13-g76f9b8d+2c6b6677a3,22.0.1-14-g22236948+57af756299,22.0.1-18-g3db9cf4b+9b7092c56c,22.0.1-18-gb17765a+2264247a6b,22.0.1-2-g8ef0a89+2c6b6677a3,22.0.1-2-gcb770ba+c99495d3c6,22.0.1-24-g2e899d296+4206820b0d,22.0.1-3-g7aa11f2+2c6b6677a3,22.0.1-3-g8c1d971+f253ffa91f,22.0.1-3-g997b569+ff3b2f8649,22.0.1-4-g1930a60+6871d0c7f6,22.0.1-4-g5b7b756+6b209d634c,22.0.1-6-ga02864e+6871d0c7f6,22.0.1-7-g3402376+a1a2182ac4,22.0.1-7-g65f59fa+54b92689ce,master-gcc5351303a+e1b6d2281c,w.2021.32
LSST Data Management Base Package
Public Member Functions | Static Public Attributes | List of all members
lsst.cp.pipe.defects.FindDefectsTask Class Reference
Inheritance diagram for lsst.cp.pipe.defects.FindDefectsTask:

Public Member Functions

def __init__ (self, **kwargs)
 
def runDataRef (self, dataRefList)
 

Static Public Attributes

 ConfigClass = FindDefectsTaskConfig
 
 RunnerClass = DataRefListRunner
 

Detailed Description

Task for finding defects in sensors.

The task has two modes of operation, defect finding in raws and in
master calibrations, which work as follows.

Master calib defect finding
----------------------------

A single visit number is supplied, for which the corresponding flat & dark
will be used. This is because, at present at least, there is no way to pass
a calibration exposure ID from the command line to a command line task.

The task retrieves the corresponding dark and flat exposures for the
supplied visit. If a flat is available the task will (be able to) look
for both bright and dark defects. If only a dark is found then only bright
defects will be sought.

All pixels above/below the specified nSigma which lie with the specified
borders for flats/darks are identified as defects.

Raw visit defect finding
------------------------

A list of exposure IDs are supplied for defect finding. The task will
detect bright pixels in the dark frames, if supplied, and bright & dark
pixels in the flats, if supplied, i.e. if you only supply darks you will
only be given bright defects. This is done automatically from the imageType
of the exposure, so the input exposure list can be a mix.

As with the master calib detection, all pixels above/below the specified
nSigma which lie with the specified borders for flats/darks are identified
as defects. Then, a post-processing step is done to merge these detections,
with pixels appearing in a fraction [0..1] of the images are kept as defects
and those appearing below that occurrence-threshold are discarded.

Definition at line 740 of file defects.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.cp.pipe.defects.FindDefectsTask.__init__ (   self,
**  kwargs 
)

Definition at line 781 of file defects.py.

781  def __init__(self, **kwargs):
782  super().__init__(**kwargs)
783  self.makeSubtask("measure")
784  self.makeSubtask("merge")
785 

Member Function Documentation

◆ runDataRef()

def lsst.cp.pipe.defects.FindDefectsTask.runDataRef (   self,
  dataRefList 
)
Run the defect finding task.

Find the defects, as described in the main task docstring, from a
dataRef and a list of visit(s).

Parameters
----------
dataRefList : `list` [`lsst.daf.persistence.ButlerDataRef`]
    dataRefs for the data to be checked for defects.

Returns
-------
result : `lsst.pipe.base.Struct`
    Result struct with Components:

    - ``defects`` : `lsst.ip.isr.Defect`
      The defects found by the task.
    - ``exitStatus`` : `int`
      The exit code.

Definition at line 787 of file defects.py.

787  def runDataRef(self, dataRefList):
788  """Run the defect finding task.
789 
790  Find the defects, as described in the main task docstring, from a
791  dataRef and a list of visit(s).
792 
793  Parameters
794  ----------
795  dataRefList : `list` [`lsst.daf.persistence.ButlerDataRef`]
796  dataRefs for the data to be checked for defects.
797 
798  Returns
799  -------
800  result : `lsst.pipe.base.Struct`
801  Result struct with Components:
802 
803  - ``defects`` : `lsst.ip.isr.Defect`
804  The defects found by the task.
805  - ``exitStatus`` : `int`
806  The exit code.
807  """
808  dataRef = dataRefList[0]
809  camera = dataRef.get("camera")
810 
811  singleExpDefects = []
812  activeChip = None
813  for dataRef in dataRefList:
814  exposure = dataRef.get("postISRCCD")
815  if activeChip:
816  if exposure.getDetector().getName() != activeChip:
817  raise RuntimeError("Too many input detectors supplied!")
818  else:
819  activeChip = exposure.getDetector().getName()
820 
821  result = self.measure.run(exposure, camera)
822  singleExpDefects.append(result.outputDefects)
823 
824  finalResults = self.merge.run(singleExpDefects, camera)
825  metadata = finalResults.mergedDefects.getMetadata()
826  inputDims = {'calibDate': metadata['CALIBDATE'],
827  'raftName': metadata['RAFTNAME'],
828  'detectorName': metadata['SLOTNAME'],
829  'detector': metadata['DETECTOR'],
830  'ccd': metadata['DETECTOR'],
831  'ccdnum': metadata['DETECTOR']}
832 
833  butler = dataRef.getButler()
834  butler.put(finalResults.mergedDefects, "defects", inputDims)
835 
836  return finalResults
std::string const & getName() const noexcept
Return a filter's name.
Definition: Filter.h:78
def run(self, skyInfo, tempExpRefList, imageScalerList, weightList, altMaskList=None, mask=None, supplementaryData=None)

Member Data Documentation

◆ ConfigClass

lsst.cp.pipe.defects.FindDefectsTask.ConfigClass = FindDefectsTaskConfig
static

Definition at line 776 of file defects.py.

◆ RunnerClass

lsst.cp.pipe.defects.FindDefectsTask.RunnerClass = DataRefListRunner
static

Definition at line 779 of file defects.py.


The documentation for this class was generated from the following file: