MultibandFootprint

class lsst.afw.detection.MultibandFootprint(filters, singles)

Bases: lsst.afw.multiband.MultibandBase

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.

Attributes Summary

filters List of filter names for the single band objects
footprint Common SpanSet and peak catalog for the single band footprints
height Height of the images
mMaskedImage MultibandMaskedImage that the footprints present a view into
origin Minimum (y,x) position
peaks PeakCatalog of the MultibandFootprint
singles List of single band objects
spans SpanSet of the MultibandFootprint
width Width of the images
x0 X0
y0 Y0

Methods Summary

clone([deep]) Copy the current object
fromArrays(filters, image[, mask, variance, …]) Create a MultibandFootprint from an image, mask, variance
fromImages(filters, image[, mask, variance, …]) Create a MultibandFootprint from an image, mask, variance
fromMaskedImages(filters, maskedImages[, …]) Create a MultibandFootprint from a list of MaskedImage
getBBox() Bounding box
getImage([bbox, fill, imageType]) Convert a MultibandFootprint to a MultibandImage
getPeaks() Get the PeakCatalog
getSpans() Get the full SpanSet
getXY0() Minimum coordinate in the bounding box
setXY0(xy0) Shift the bounding box but keep the same Extent
shiftedBy(offset) Shift a bounding box by an offset, but keep the same Extent
shiftedTo(xy0) Shift the bounding box but keep the same Extent

Attributes Documentation

filters

List of filter names for the single band objects

footprint

Common SpanSet and peak catalog for the single band footprints

height

Height of the images

mMaskedImage

MultibandMaskedImage that the footprints present a view into

origin

Minimum (y,x) position

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

peaks

PeakCatalog of the MultibandFootprint

singles

List of single band objects

spans

SpanSet of the MultibandFootprint

width

Width of the images

x0

X0

X component of XY0 Point2I.getX()

y0

Y0

Y component of XY0 Point2I.getY()

Methods Documentation

clone(deep=True)

Copy the current object

Parameters:
deep : bool

Whether or not to make a deep copy

Returns:
result : MultibandFootprint

The cloned footprint.

static fromArrays(filters, image, mask=None, variance=None, footprint=None, xy0=None, thresh=0, peaks=None)

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

static fromImages(filters, image, mask=None, variance=None, footprint=None, thresh=0, peaks=None)

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

static fromMaskedImages(filters, maskedImages, footprint=None, thresh=0, peaks=None)

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

getBBox()

Bounding box

getImage(bbox=None, fill=nan, imageType=<class 'lsst.afw.image.image.multiband.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.

getPeaks()

Get the PeakCatalog

getSpans()

Get the full SpanSet

getXY0()

Minimum coordinate in the bounding box

setXY0(xy0)

Shift the bounding box but keep the same Extent

Parameters:
xy0: `Point2I`

New minimum bounds of the bounding box

shiftedBy(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

shiftedTo(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.