|
lsst.ip.diffim
19.0.0-5-g0745e3f+1
|
Classes | |
| class | DcrModel |
Functions | |
| def | applyDcr (image, dcr, useInverse=False, splitSubfilters=False, splitThreshold=0., doPrefilter=True, order=3) |
| def | calculateDcr (visitInfo, wcs, filterInfo, dcrNumSubfilters, splitSubfilters=False) |
| def | calculateImageParallacticAngle (visitInfo, wcs) |
| def | wavelengthGenerator (filterInfo, dcrNumSubfilters) |
| def lsst.ip.diffim.dcrModel.applyDcr | ( | image, | |
| dcr, | |||
useInverse = False, |
|||
splitSubfilters = False, |
|||
splitThreshold = 0., |
|||
doPrefilter = True, |
|||
order = 3 |
|||
| ) |
Shift an image along the X and Y directions.
Parameters
----------
image : `numpy.ndarray`
The input image to shift.
dcr : `tuple`
Shift calculated with ``calculateDcr``.
Uses numpy axes ordering (Y, X).
If ``splitSubfilters`` is set, each element is itself a `tuple`
of two `float`, corresponding to the DCR shift at the two wavelengths.
Otherwise, each element is a `float` corresponding to the DCR shift at
the effective wavelength of the subfilter.
useInverse : `bool`, optional
Apply the shift in the opposite direction. Default: False
splitSubfilters : `bool`, optional
Calculate DCR for two evenly-spaced wavelengths in each subfilter,
instead of at the midpoint. Default: False
splitThreshold : `float`, optional
Minimum DCR difference within a subfilter required to use ``splitSubfilters``
doPrefilter : `bool`, optional
Spline filter the image before shifting, if set. Filtering is required,
so only set to False if the image is already filtered.
Filtering takes ~20% of the time of shifting, so if `applyDcr` will be
called repeatedly on the same image it is more efficient to precalculate
the filter.
order : `int`, optional
The order of the spline interpolation, default is 3.
Returns
-------
shiftedImage : `numpy.ndarray`
A copy of the input image with the specified shift applied.
Definition at line 585 of file dcrModel.py.
| def lsst.ip.diffim.dcrModel.calculateDcr | ( | visitInfo, | |
| wcs, | |||
| filterInfo, | |||
| dcrNumSubfilters, | |||
splitSubfilters = False |
|||
| ) |
Calculate the shift in pixels of an exposure due to DCR.
Parameters
----------
visitInfo : `lsst.afw.image.VisitInfo`
Metadata for the exposure.
wcs : `lsst.afw.geom.SkyWcs`
Coordinate system definition (wcs) for the exposure.
filterInfo : `lsst.afw.image.Filter`
The filter definition, set in the current instruments' obs package.
dcrNumSubfilters : `int`
Number of sub-filters used to model chromatic effects within a band.
splitSubfilters : `bool`, optional
Calculate DCR for two evenly-spaced wavelengths in each subfilter,
instead of at the midpoint. Default: False
Returns
-------
dcrShift : `tuple` of two `float`
The 2D shift due to DCR, in pixels.
Uses numpy axes ordering (Y, X).
Definition at line 649 of file dcrModel.py.
| def lsst.ip.diffim.dcrModel.calculateImageParallacticAngle | ( | visitInfo, | |
| wcs | |||
| ) |
Calculate the total sky rotation angle of an exposure.
Parameters
----------
visitInfo : `lsst.afw.image.VisitInfo`
Metadata for the exposure.
wcs : `lsst.afw.geom.SkyWcs`
Coordinate system definition (wcs) for the exposure.
Returns
-------
`lsst.geom.Angle`
The rotation of the image axis, East from North.
Equal to the parallactic angle plus any additional rotation of the
coordinate system.
A rotation angle of 0 degrees is defined with
North along the +y axis and East along the +x axis.
A rotation angle of 90 degrees is defined with
North along the +x axis and East along the -y axis.
Definition at line 703 of file dcrModel.py.
| def lsst.ip.diffim.dcrModel.wavelengthGenerator | ( | filterInfo, | |
| dcrNumSubfilters | |||
| ) |
Iterate over the wavelength endpoints of subfilters.
Parameters
----------
filterInfo : `lsst.afw.image.Filter`
The filter definition, set in the current instruments' obs package.
dcrNumSubfilters : `int`
Number of sub-filters used to model chromatic effects within a band.
Yields
------
`tuple` of two `float`
The next set of wavelength endpoints for a subfilter, in nm.
Definition at line 735 of file dcrModel.py.
1.8.13