lsst.afw  21.0.0-6-ge3f375325+ce03d725a7
Public Member Functions | Static Public Member Functions | List of all members
lsst.afw.detection.multiband.MultibandFootprint Class Reference
Inheritance diagram for lsst.afw.detection.multiband.MultibandFootprint:
lsst.afw.multiband.MultibandBase

Public Member Functions

def __init__ (self, filters, singles)
 
def getSpans (self)
 
def footprint (self)
 
def mMaskedImage (self)
 
def spans (self)
 
def getPeaks (self)
 
def peaks (self)
 
def getImage (self, bbox=None, fill=np.nan, imageType=MultibandMaskedImage)
 
def clone (self, deep=True)
 
def filters (self)
 
def singles (self)
 
def getBBox (self)
 
def getXY0 (self)
 
def x0 (self)
 
def y0 (self)
 
def origin (self)
 
def width (self)
 
def height (self)
 
def __len__ (self)
 
def __getitem__ (self, args)
 
def __iter__ (self)
 
def __next__ (self)
 
def setXY0 (self, xy0)
 
def shiftedTo (self, xy0)
 
def shiftedBy (self, offset)
 
def __repr__ (self)
 
def __str__ (self)
 

Static Public Member Functions

def fromArrays (filters, image, mask=None, variance=None, footprint=None, xy0=None, thresh=0, peaks=None)
 
def fromImages (filters, image, mask=None, variance=None, footprint=None, thresh=0, peaks=None)
 
def fromMaskedImages (filters, maskedImages, footprint=None, thresh=0, peaks=None)
 

Detailed Description

Multiband Footprint class

A `MultibandFootprint` is a collection of HeavyFootprints that have
the same `SpanSet` and `peakCatalog` but different flux in each band.

Parameters
----------
filters : `list`
    List of filter names.
singles : `list`
    A list of single band `HeavyFootprint` objects.
    Each `HeavyFootprint` should have the same `PeakCatalog`
    and the same `SpanSet`, however to save CPU cycles there
    is no internal check for consistency of the peak catalog.

Definition at line 108 of file multiband.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.afw.detection.multiband.MultibandFootprint.__init__ (   self,
  filters,
  singles 
)

Definition at line 124 of file multiband.py.

Member Function Documentation

◆ __getitem__()

def lsst.afw.multiband.MultibandBase.__getitem__ (   self,
  args 
)
inherited
Get a slice of the underlying array

If only a single filter is specified,
return the single band object sliced
appropriately.

Reimplemented in lsst.afw.image.image.multiband.MultibandPixel.

Definition at line 147 of file multiband.py.

◆ __iter__()

def lsst.afw.multiband.MultibandBase.__iter__ (   self)
inherited

Definition at line 172 of file multiband.py.

◆ __len__()

def lsst.afw.multiband.MultibandBase.__len__ (   self)
inherited

Definition at line 144 of file multiband.py.

◆ __next__()

def lsst.afw.multiband.MultibandBase.__next__ (   self)
inherited

Definition at line 176 of file multiband.py.

◆ __repr__()

def lsst.afw.multiband.MultibandBase.__repr__ (   self)
inherited

Definition at line 310 of file multiband.py.

◆ __str__()

def lsst.afw.multiband.MultibandBase.__str__ (   self)
inherited

Definition at line 315 of file multiband.py.

◆ clone()

def lsst.afw.detection.multiband.MultibandFootprint.clone (   self,
  deep = True 
)
Copy the current object

Parameters
----------
deep : `bool`
    Whether or not to make a deep copy

Returns
-------
result : `MultibandFootprint`
    The cloned footprint.

Reimplemented from lsst.afw.multiband.MultibandBase.

Definition at line 337 of file multiband.py.

◆ filters()

def lsst.afw.multiband.MultibandBase.filters (   self)
inherited
List of filter names for the single band objects

Definition at line 86 of file multiband.py.

◆ footprint()

def lsst.afw.detection.multiband.MultibandFootprint.footprint (   self)
Common SpanSet and peak catalog for the single band footprints

Definition at line 257 of file multiband.py.

◆ fromArrays()

def lsst.afw.detection.multiband.MultibandFootprint.fromArrays (   filters,
  image,
  mask = None,
  variance = None,
  footprint = None,
  xy0 = None,
  thresh = 0,
  peaks = None 
)
static
Create a `MultibandFootprint` from an `image`, `mask`, `variance`

Parameters
----------
filters : `list`
    List of filter names.
image: array
    An array to convert into `lsst.afw.detection.HeavyFootprint` objects.
    Only pixels above the `thresh` value for at least one band
    will be included in the `SpanSet` and resulting footprints.
mask : array
    Mask for the `image` array.
variance : array
    Variance of the `image` array.
footprint : `Footprint`
    `Footprint` that contains the `SpanSet` and `PeakCatalog`
    to use for the `HeavyFootprint` in each band.
    If `footprint` is `None` then the `thresh` is used to create a
    `Footprint` based on the pixels above the `thresh` value.
xy0 : `Point2I`
    If `image` is an array and `footprint` is `None` then specifying
    `xy0` gives the location of the minimum `x` and `y` value of the
    `images`.
thresh : `float` or list of floats
    Threshold in each band (or the same threshold to be used in all bands)
    to include a pixel in the `SpanSet` of the `MultibandFootprint`.
    If `Footprint` is not `None` then `thresh` is ignored.
peaks : `PeakCatalog`
    Catalog containing information about the peaks located in the
    footprints.

Returns
-------
result : `MultibandFootprint`
    MultibandFootprint created from the arrays

Definition at line 137 of file multiband.py.

◆ fromImages()

def lsst.afw.detection.multiband.MultibandFootprint.fromImages (   filters,
  image,
  mask = None,
  variance = None,
  footprint = None,
  thresh = 0,
  peaks = None 
)
static
Create a `MultibandFootprint` from an `image`, `mask`, `variance`

Parameters
----------
filters : `list`
    List of filter names.
image : `lsst.afw.image.MultibandImage`, or list of `lsst.afw.image.Image`
    A `lsst.afw.image.MultibandImage` (or collection of images in each band)
    to convert into `HeavyFootprint` objects.
    Only pixels above the `thresh` value for at least one band
    will be included in the `SpanSet` and resulting footprints.
mask : `MultibandMask` or list of `Mask`
    Mask for the `image`.
variance : `lsst.afw.image.MultibandImage`, or list of `lsst.afw.image.Image`
    Variance of the `image`.
thresh : `float` or `list` of floats
    Threshold in each band (or the same threshold to be used in all bands)
    to include a pixel in the `SpanSet` of the `MultibandFootprint`.
    If `Footprint` is not `None` then `thresh` is ignored.
peaks : `PeakCatalog`
    Catalog containing information about the peaks located in the
    footprints.

Returns
-------
result : `MultibandFootprint`
    MultibandFootprint created from the image, mask, and variance

Definition at line 188 of file multiband.py.

◆ fromMaskedImages()

def lsst.afw.detection.multiband.MultibandFootprint.fromMaskedImages (   filters,
  maskedImages,
  footprint = None,
  thresh = 0,
  peaks = None 
)
static
Create a `MultibandFootprint` from a list of `MaskedImage`

See `fromImages` for a description of the parameters not listed below

Parameters
----------
maskedImages : `list` of `lsst.afw.image.MaskedImage`
    MaskedImages to extract the single band heavy footprints from.
    Like `fromImages`, if a `footprint` is not specified then all
    pixels above `thresh` will be used, and `peaks` will be added
    to the `PeakCatalog`.

Returns
-------
result : `MultibandFootprint`
    MultibandFootprint created from the image, mask, and variance

Definition at line 229 of file multiband.py.

◆ getBBox()

def lsst.afw.multiband.MultibandBase.getBBox (   self)
inherited
Bounding box

Definition at line 97 of file multiband.py.

◆ getImage()

def lsst.afw.detection.multiband.MultibandFootprint.getImage (   self,
  bbox = None,
  fill = np.nan,
  imageType = MultibandMaskedImage 
)
Convert a `MultibandFootprint` to a `MultibandImage`

This returns the heavy footprints converted into an `MultibandImage` or
`MultibandMaskedImage` (depending on `imageType`).
This might be different than the internal `mMaskedImage` property
of the `MultibandFootprint`, as the `mMaskedImage` might contain
some non-zero pixels not contained in the footprint but present in
the images.

Parameters
----------
bbox : `Box2I`
    Bounding box of the resulting image.
    If no bounding box is specified, then the bounding box
    of the footprint is used.
fill : `float`
    Value to use for any pixel in the resulting image
    outside of the `SpanSet`.
imageType : `type`
    This should be either a `MultibandMaskedImage`
    or `MultibandImage` and describes the type of the output image.

Returns
-------
result : `MultibandBase`
    The resulting `MultibandImage` or `MultibandMaskedImage` created
    from the `MultibandHeavyFootprint`.

Definition at line 298 of file multiband.py.

◆ getPeaks()

def lsst.afw.detection.multiband.MultibandFootprint.getPeaks (   self)
Get the `PeakCatalog`

Definition at line 271 of file multiband.py.

◆ getSpans()

def lsst.afw.detection.multiband.MultibandFootprint.getSpans (   self)
Get the full `SpanSet`

Definition at line 252 of file multiband.py.

◆ getXY0()

def lsst.afw.multiband.MultibandBase.getXY0 (   self)
inherited
Minimum coordinate in the bounding box

Definition at line 102 of file multiband.py.

◆ height()

def lsst.afw.multiband.MultibandBase.height (   self)
inherited
Height of the images

Definition at line 139 of file multiband.py.

◆ mMaskedImage()

def lsst.afw.detection.multiband.MultibandFootprint.mMaskedImage (   self)
MultibandMaskedImage that the footprints present a view into

Definition at line 262 of file multiband.py.

◆ origin()

def lsst.afw.multiband.MultibandBase.origin (   self)
inherited
Minimum (y,x) position

This is the position of `self.getBBox().getMin()`,
but available as a tuple for numpy array indexing.

Definition at line 124 of file multiband.py.

◆ peaks()

def lsst.afw.detection.multiband.MultibandFootprint.peaks (   self)
`PeakCatalog` of the `MultibandFootprint`

Definition at line 276 of file multiband.py.

◆ setXY0()

def lsst.afw.multiband.MultibandBase.setXY0 (   self,
  xy0 
)
inherited
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 228 of file multiband.py.

◆ shiftedBy()

def lsst.afw.multiband.MultibandBase.shiftedBy (   self,
  offset 
)
inherited
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 262 of file multiband.py.

◆ shiftedTo()

def lsst.afw.multiband.MultibandBase.shiftedTo (   self,
  xy0 
)
inherited
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 240 of file multiband.py.

◆ singles()

def lsst.afw.multiband.MultibandBase.singles (   self)
inherited
List of single band objects

Definition at line 92 of file multiband.py.

◆ spans()

def lsst.afw.detection.multiband.MultibandFootprint.spans (   self)
`SpanSet` of the `MultibandFootprint`

Definition at line 267 of file multiband.py.

◆ width()

def lsst.afw.multiband.MultibandBase.width (   self)
inherited
Width of the images

Definition at line 133 of file multiband.py.

◆ x0()

def lsst.afw.multiband.MultibandBase.x0 (   self)
inherited
X0

X component of XY0 `Point2I.getX()`

Definition at line 108 of file multiband.py.

◆ y0()

def lsst.afw.multiband.MultibandBase.y0 (   self)
inherited
Y0

Y component of XY0 `Point2I.getY()`

Definition at line 116 of file multiband.py.


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