|
LSST Applications g00d0e8bbd7+edbf708997,g03191d30f7+9ce8016dbd,g1955dfad08+0bd186d245,g199a45376c+5137f08352,g1fd858c14a+a888a50aa2,g262e1987ae+45f9aba685,g29ae962dfc+1c7d47a24f,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3fd5ace14f+eed17d2c67,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+c4107e45b5,g67b6fd64d1+6dc8069a4c,g74acd417e5+f452e9c21a,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+2025e9ce17,g7cc15d900a+2d158402f9,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d4809ba88+c4107e45b5,g8d7436a09f+e96c132b44,g8ea07a8fe4+db21c37724,g98df359435+aae6d409c1,ga2180abaac+edbf708997,gac66b60396+966efe6077,gb632fb1845+88945a90f8,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gca7fc764a6+6dc8069a4c,gd7ef33dd92+6dc8069a4c,gda68eeecaf+7d1e613a8d,gdab6d2f7ff+f452e9c21a,gdbb4c4dda9+c4107e45b5,ge410e46f29+6dc8069a4c,ge41e95a9f2+c4107e45b5,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
|
Public Member Functions | |
| __init__ (self, bands, singles, bbox=None) | |
| clone (self, deep=True) | |
| filters (self) | |
| bands (self) | |
| singles (self) | |
| getBBox (self) | |
| getXY0 (self) | |
| x0 (self) | |
| y0 (self) | |
| origin (self) | |
| width (self) | |
| height (self) | |
| __len__ (self) | |
| __getitem__ (self, args) | |
| __iter__ (self) | |
| __next__ (self) | |
| setXY0 (self, xy0) | |
| shiftedTo (self, xy0) | |
| shiftedBy (self, offset) | |
| __repr__ (self) | |
| __str__ (self) | |
Public Attributes | |
| y0 | |
| x0 | |
| bands | |
| singles = Box2I(xy0, self._bbox.getDimensions()) | |
| array | |
Protected Member Functions | |
| _bandNamesToIndex (self, bandIndex) | |
| _slice (self, bands, bandIndex, indices) | |
Protected Attributes | |
| _bands = tuple([f for f in bands]) | |
| _singles = tuple(singles) | |
| _bbox = self._singles[0].getBBox() | |
| int | _bandIndex = 0 |
Base class for multiband objects
The LSST stack has a number of image-like classes that have
data in multiple bands that are stored as separate objects.
Analyzing the data can be easier using a Multiband object that
wraps the underlying data as a single data cube that can be sliced and
updated as a single object.
`MultibandBase` is designed to contain the most important universal
methods for initializing, slicing, and extracting common parameters
(such as the bounding box or XY0 position) to all of the single band classes,
as long as derived classes either call the base class `__init__`
or set the `_bands`, `_singles`, and `_bbox`.
Parameters
----------
bands: `list`
List of band names.
singles: `list`
List of single band objects
bbox: `Box2I`
By default `MultibandBase` uses `singles[0].getBBox()` to set
the bounding box of the multiband
Definition at line 31 of file multiband.py.
| lsst.afw.multiband.MultibandBase.__init__ | ( | self, | |
| bands, | |||
| singles, | |||
| bbox = None ) |
Definition at line 56 of file multiband.py.
| lsst.afw.multiband.MultibandBase.__getitem__ | ( | self, | |
| args ) |
Get a slice of the underlying array If only a single band is specified, return the single band object sliced appropriately.
Definition at line 159 of file multiband.py.
| lsst.afw.multiband.MultibandBase.__iter__ | ( | self | ) |
Definition at line 184 of file multiband.py.
| lsst.afw.multiband.MultibandBase.__len__ | ( | self | ) |
Definition at line 156 of file multiband.py.
| lsst.afw.multiband.MultibandBase.__next__ | ( | self | ) |
Definition at line 188 of file multiband.py.
| lsst.afw.multiband.MultibandBase.__repr__ | ( | self | ) |
Definition at line 322 of file multiband.py.
| lsst.afw.multiband.MultibandBase.__str__ | ( | self | ) |
Definition at line 327 of file multiband.py.
|
protected |
Convert a list of band names to an index or a slice
Parameters
----------
bandIndex: iterable or `object`
Index to specify a band or list of bands,
usually a string or enum.
For example `bandIndex` can be
`"R"` or `["R", "G", "B"]` or `[Band.R, Band.G, Band.B]`,
if `Band` is an enum.
Returns
-------
bandNames: `list`
Names of the bands in the slice
bandIndex: `slice` or `list` of `int`
Index of each band in `bandNames` in
`self.bands`.
Definition at line 196 of file multiband.py.
|
protected |
Slice the current object and return the result
Different inherited classes will handling slicing differently,
so this method must be overloaded in inherited classes.
Parameters
----------
bands: `list` of `str`
List of band names for the slice. This is a subset of the
bands in the parent multiband object
bandIndex: `list` of `int` or `slice`
Index along the band dimension
indices: `tuple` of remaining indices
`MultibandBase.__getitem__` separates the first (band)
index from the remaining indices, so `indices` is a tuple
of all of the indices that come after `band` in the
`args` passed to `MultibandBase.__getitem__`.
Returns
-------
result: `object`
Sliced version of the current object, which could be the
same class or a different class depending on the
slice being made.
Reimplemented in lsst.afw.detection.multiband.MultibandFootprint, lsst.afw.image._exposure._multiband.MultibandExposure, lsst.afw.image._image._multiband.MultibandImageBase, lsst.afw.image._image._multiband.MultibandPixel, and lsst.afw.image._image._multiband.MultibandTripleBase.
Definition at line 294 of file multiband.py.
| lsst.afw.multiband.MultibandBase.bands | ( | self | ) |
List of band names for the single band objects
Definition at line 98 of file multiband.py.
| lsst.afw.multiband.MultibandBase.clone | ( | self, | |
| deep = True ) |
Copy the current object
This must be overloaded in a subclass of `MultibandBase`
Parameters
----------
deep: `bool`
Whether or not to make a deep copy
Returns
-------
result: `MultibandBase`
copy of the instance that inherits from `MultibandBase`
Reimplemented in lsst.afw.detection.multiband.MultibandFootprint, lsst.afw.image._image._multiband.MultibandImageBase, lsst.afw.image._image._multiband.MultibandPixel, and lsst.afw.image._image._multiband.MultibandTripleBase.
Definition at line 70 of file multiband.py.
| lsst.afw.multiband.MultibandBase.filters | ( | self | ) |
List of filter names for the single band objects (deprecated) Use `bands` instead.
Definition at line 90 of file multiband.py.
| lsst.afw.multiband.MultibandBase.getBBox | ( | self | ) |
Bounding box
Reimplemented in lsst.afw.image._image._multiband.MultibandImageBase, and lsst.afw.image._image._multiband.MultibandTripleBase.
Definition at line 109 of file multiband.py.
| lsst.afw.multiband.MultibandBase.getXY0 | ( | self | ) |
Minimum coordinate in the bounding box
Definition at line 114 of file multiband.py.
| lsst.afw.multiband.MultibandBase.height | ( | self | ) |
Height of the images
Definition at line 151 of file multiband.py.
| lsst.afw.multiband.MultibandBase.origin | ( | self | ) |
Minimum (y,x) position This is the position of `self.getBBox().getMin()`, but available as a tuple for numpy array indexing.
Definition at line 136 of file multiband.py.
| lsst.afw.multiband.MultibandBase.setXY0 | ( | self, | |
| xy0 ) |
Shift the bounding box but keep the same Extent
Parameters
----------
xy0: `Point2I`
New minimum bounds of the bounding box
Reimplemented in lsst.afw.image._image._multiband.MultibandTripleBase.
Definition at line 240 of file multiband.py.
| lsst.afw.multiband.MultibandBase.shiftedBy | ( | self, | |
| offset ) |
Shift a bounding box by an offset, but keep the same Extent
This method is broken until DM-10781 is completed.
Parameters
----------
offset: `Extent2I`
Amount to shift the bounding box in x and y.
Returns
-------
result: `MultibandBase`
A copy of the object, shifted by `offset`
Definition at line 274 of file multiband.py.
| lsst.afw.multiband.MultibandBase.shiftedTo | ( | self, | |
| xy0 ) |
Shift the bounding box but keep the same Extent
This method is broken until DM-10781 is completed.
Parameters
----------
xy0: `Point2I`
New minimum bounds of the bounding box
Returns
-------
result: `MultibandBase`
A copy of the object, shifted to `xy0`.
Reimplemented in lsst.afw.image._image._multiband.MultibandTripleBase.
Definition at line 252 of file multiband.py.
| lsst.afw.multiband.MultibandBase.singles | ( | self | ) |
List of single band objects
Definition at line 104 of file multiband.py.
| lsst.afw.multiband.MultibandBase.width | ( | self | ) |
Width of the images
Definition at line 145 of file multiband.py.
| lsst.afw.multiband.MultibandBase.x0 | ( | self | ) |
X0 X component of XY0 `Point2I.getX()`
Definition at line 120 of file multiband.py.
| lsst.afw.multiband.MultibandBase.y0 | ( | self | ) |
Y0 Y component of XY0 `Point2I.getY()`
Definition at line 128 of file multiband.py.
|
protected |
Definition at line 185 of file multiband.py.
|
protected |
Definition at line 57 of file multiband.py.
|
protected |
Definition at line 61 of file multiband.py.
|
protected |
Definition at line 58 of file multiband.py.
| lsst.afw.multiband.MultibandBase.array |
Definition at line 329 of file multiband.py.
| lsst.afw.multiband.MultibandBase.bands |
Definition at line 157 of file multiband.py.
| lsst.afw.multiband.MultibandBase.singles = Box2I(xy0, self._bbox.getDimensions()) |
Definition at line 249 of file multiband.py.
| lsst.afw.multiband.MultibandBase.x0 |
Definition at line 142 of file multiband.py.
| lsst.afw.multiband.MultibandBase.y0 |
Definition at line 142 of file multiband.py.