|
lsst.ip.isr
19.0.0-14-g5673ca6+8
|
Public Member Functions | |
| def | readFringes (self, dataRef, assembler=None) |
| def | loadFringes (self, fringeExp, expId=0, assembler=None) |
| def | run (self, exposure, fringes, seed=None) |
| def | runDataRef (self, exposure, dataRef, assembler=None) |
| def | checkFilter (self, exposure) |
| def | removePedestal (self, fringe) |
| def | generatePositions (self, exposure, rng) |
| def | measureExposure (self, exposure, positions, title="Fringe") |
| def | solve (self, science, fringes) |
| def | subtract (self, science, fringes, solution) |
Static Public Attributes | |
| ConfigClass = FringeConfig | |
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.
| def 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.
| def 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.
| def lsst.ip.isr.fringe.FringeTask.loadFringes | ( | self, | |
| fringeExp, | |||
expId = 0, |
|||
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`` : `lsst.afw.image.Exposure` or `list` thereof
Calibration fringe files containing master fringe frames.
- ``seed`` : `int`, optional
Seed for random number generation.
| def 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.
| def lsst.ip.isr.fringe.FringeTask.readFringes | ( | self, | |
| dataRef, | |||
assembler = None |
|||
| ) |
Read the fringe frame(s), and pack data into a Struct
The current implementation assumes only a single fringe frame and
will have to be updated to support multi-mode fringe subtraction.
This implementation could be optimised by persisting the fringe
positions and fluxes.
Parameters
----------
dataRef : `daf.butler.butlerSubset.ButlerDataRef`
Butler reference for the exposure that will have fringing
removed.
assembler : `lsst.ip.isr.AssembleCcdTask`, optional
An instance of AssembleCcdTask (for assembling fringe
frames).
Returns
-------
fringeData : `pipeBase.Struct`
Struct containing fringe data:
- ``fringes`` : `lsst.afw.image.Exposure` or `list` thereof
Calibration fringe files containing master fringe frames.
- ``seed`` : `int`, optional
Seed for random number generation.
| def lsst.ip.isr.fringe.FringeTask.removePedestal | ( | self, | |
| fringe | |||
| ) |
| def 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.
| def lsst.ip.isr.fringe.FringeTask.runDataRef | ( | self, | |
| exposure, | |||
| dataRef, | |||
assembler = None |
|||
| ) |
Remove fringes from the provided science exposure.
Retrieve fringes from butler dataRef provided and remove from
provided science exposure. 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.
dataRef : `daf.persistence.butlerSubset.ButlerDataRef`
Butler reference to the exposure. Used to find
appropriate fringe data.
assembler : `lsst.ip.isr.AssembleCcdTask`, optional
An instance of AssembleCcdTask (for assembling fringe
frames).
Returns
-------
solution : `np.array`
Fringe solution amplitudes for each input fringe frame.
rms : `float`
RMS error for the fit solution for this exposure.
| def 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.
| def 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.
|
static |
1.8.13