lsst.ip.isr g5e83b0b6c4+64f77a1dfb
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
lsst.ip.isr.fringe.FringeTask Class Reference
Inheritance diagram for lsst.ip.isr.fringe.FringeTask:

Public Member Functions

 loadFringes (self, fringeExp, expId=None, assembler=None)
 
 run (self, exposure, fringes, seed=None)
 
 checkFilter (self, exposure)
 
 removePedestal (self, fringe)
 
 generatePositions (self, exposure, rng)
 
 measureExposure (self, exposure, positions, title="Fringe")
 
 solve (self, science, fringes)
 
 subtract (self, science, fringes, solution)
 

Static Public Attributes

 ConfigClass = FringeConfig
 

Protected Member Functions

 _solve (self, science, fringes)
 

Static Protected Attributes

str _DefaultName = 'isrFringe'
 

Detailed Description

Task to remove fringes from a science exposure

We measure fringe amplitudes at random positions on the science exposure
and at the same positions on the (potentially multiple) fringe frames
and solve for the scales simultaneously.

Definition at line 75 of file fringe.py.

Member Function Documentation

◆ _solve()

lsst.ip.isr.fringe.FringeTask._solve (   self,
  science,
  fringes 
)
protected
Solve for the scale factors.

Parameters
----------
science : `numpy.array`
    Array of measured science image values at each of the
    positions supplied.
fringes : `numpy.array`
    Array of measured fringe values at each of the positions
    supplied.

Returns
-------
solution : `np.array`
    Fringe solution amplitudes for each input fringe frame.

Definition at line 407 of file fringe.py.

◆ checkFilter()

lsst.ip.isr.fringe.FringeTask.checkFilter (   self,
  exposure 
)
Check whether we should fringe-subtract the science exposure.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    Exposure to check the filter of.

Returns
-------
needsFringe : `bool`
    If True, then the exposure has a filter listed in the
    configuration, and should have the fringe applied.

Definition at line 183 of file fringe.py.

◆ generatePositions()

lsst.ip.isr.fringe.FringeTask.generatePositions (   self,
  exposure,
  rng 
)
Generate a random distribution of positions for measuring fringe
amplitudes.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    Exposure to measure the positions on.
rng : `numpy.random.RandomState`
    Random number generator to use.

Returns
-------
positions : `numpy.array`
    Two-dimensional array containing the positions to sample
    for fringe amplitudes.

Definition at line 215 of file fringe.py.

◆ loadFringes()

lsst.ip.isr.fringe.FringeTask.loadFringes (   self,
  fringeExp,
  expId = None,
  assembler = None 
)
Pack the fringe data into a Struct.

This method moves the struct parsing code into a butler
generation agnostic handler.

Parameters
----------
fringeExp : `lsst.afw.exposure.Exposure`
    The exposure containing the fringe data.
expId : `int`, optional
    Exposure id to be fringe corrected, used to set RNG seed.
assembler : `lsst.ip.isr.AssembleCcdTask`, optional
    An instance of AssembleCcdTask (for assembling fringe
    frames).

Returns
-------
fringeData : `pipeBase.Struct`
    Struct containing fringe data:

    ``fringes``
        Calibration fringe files containing master fringe frames.
        ( : `lsst.afw.image.Exposure` or `list` thereof)
    ``seed``
        Seed for random number generation. (`int`, optional)

Definition at line 85 of file fringe.py.

◆ measureExposure()

lsst.ip.isr.fringe.FringeTask.measureExposure (   self,
  exposure,
  positions,
  title = "Fringe" 
)
Measure fringe amplitudes for an exposure

The fringe amplitudes are measured as the statistic within a square
aperture.  The statistic within a larger aperture are subtracted so
as to remove the background.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    Exposure to measure the positions on.
positions : `numpy.array`
    Two-dimensional array containing the positions to sample
    for fringe amplitudes.
title : `str`, optional
    Title used for debug out plots.

Returns
-------
fringes : `numpy.array`
    Array of measured exposure values at each of the positions
    supplied.

Definition at line 240 of file fringe.py.

◆ removePedestal()

lsst.ip.isr.fringe.FringeTask.removePedestal (   self,
  fringe 
)
Remove pedestal from fringe exposure.

Parameters
----------
fringe : `lsst.afw.image.Exposure`
    Fringe data to subtract the pedestal value from.

Definition at line 199 of file fringe.py.

◆ run()

lsst.ip.isr.fringe.FringeTask.run (   self,
  exposure,
  fringes,
  seed = None 
)
Remove fringes from the provided science exposure.

Primary method of FringeTask.  Fringes are only subtracted if the
science exposure has a filter listed in the configuration.

Parameters
----------
exposure : `lsst.afw.image.Exposure`
    Science exposure from which to remove fringes.
fringes : `lsst.afw.image.Exposure` or `list` thereof
    Calibration fringe files containing master fringe frames.
seed : `int`, optional
    Seed for random number generation.

Returns
-------
solution : `np.array`
    Fringe solution amplitudes for each input fringe frame.
rms : `float`
    RMS error for the fit solution for this exposure.

Definition at line 129 of file fringe.py.

◆ solve()

lsst.ip.isr.fringe.FringeTask.solve (   self,
  science,
  fringes 
)
Solve for the scale factors with iterative clipping.

Parameters
----------
science : `numpy.array`
    Array of measured science image values at each of the
    positions supplied.
fringes : `numpy.array`
    Array of measured fringe values at each of the positions
    supplied.

Returns
-------
solution : `np.array`
    Fringe solution amplitudes for each input fringe frame.
rms : `float`
    RMS error for the fit solution for this exposure.

Definition at line 292 of file fringe.py.

◆ subtract()

lsst.ip.isr.fringe.FringeTask.subtract (   self,
  science,
  fringes,
  solution 
)
Subtract the fringes.

Parameters
----------
science : `lsst.afw.image.Exposure`
    Science exposure from which to remove fringes.
fringes : `lsst.afw.image.Exposure` or `list` thereof
    Calibration fringe files containing master fringe frames.
solution : `np.array`
    Fringe solution amplitudes for each input fringe frame.

Raises
------
RuntimeError
    Raised if the number of fringe frames does not match the
    number of measured amplitudes.

Definition at line 427 of file fringe.py.

Member Data Documentation

◆ _DefaultName

str lsst.ip.isr.fringe.FringeTask._DefaultName = 'isrFringe'
staticprotected

Definition at line 83 of file fringe.py.

◆ ConfigClass

lsst.ip.isr.fringe.FringeTask.ConfigClass = FringeConfig
static

Definition at line 82 of file fringe.py.


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