A class that can extracts single-amplifier subimages from trimmed or
untrimmed assembled images and transforms them to a particular orientation
and offset.
Callers who have a in-memory assembled `lsst.afw.image.Exposure` should
generally just use the `apply` class method. Other methods can be used to
implement subimage loads of on on-disk images (e.g. formatter classes in
``obs_base``) or obtain subsets from other image classes.
Parameters
----------
amplifier : `Amplifier`
Amplifier object that identifies the amplifier to load and sets the
orientation and offset of the returned subimage.
parent_bbox : `lsst.geom.Box2I`
Bounding box of the assembled parent image. This must be equal to
either ``parent_detector.getBBox()`` or
``parent_detector.getRawBBox()``; which one is used to determine
whether the parent image (and hence the amplifier subimages) is
trimmed.
parent_detector : `Detector`
Detector object that describes the parent image.
Definition at line 128 of file _assembleImage.py.
lsst.afw.cameraGeom._assembleImage.AmplifierIsolator.apply |
( |
| cls, |
|
|
| parent_exposure, |
|
|
| amplifier ) |
Obtain a single-amplifier `lsst.afw.image.Exposure` subimage that
masquerades as full-detector image for a single-amp detector.
Parameters
----------
parent_exposure : `lsst.afw.image.Exposure`
Parent image to obtain a subset from.
`~lsst.afw.image.Exposure.getDetector` must not return `None`.
amplifier : `Amplifier`
Target amplifier for the subimage. May differ from the amplifier
obtained by ``parent_exposure.getDetector()[amplifier.getName()]``
only by flips and differences in `~Amplifier.getRawXYOffset`.
Returns
-------
subimage : `lsst.afw.image.Exposure`
Exposure subimage for the target amplifier, with the
orientation and XY0 described by that amplifier, and a single-amp
detector holding a copy of that amplifier.
Notes
-----
Because we use the target amplifier's bounding box as the bounding box
of the detector attached to the returned exposure, other exposure
components that are passed through unmodified (e.g. the WCS) should
still be valid for the single-amp exposure after it is trimmed and
"assembled". Unlike most trimmed+assembled images, however, it will
have a nonzero XY0, and code that (incorrectly!) does not pay attention
to XY0 may break.
Definition at line 246 of file _assembleImage.py.