MultibandFootprint

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

Bases: 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:
filterslist

List of filter names.

singleslist

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:
deepbool

Whether or not to make a deep copy

Returns:
resultMultibandFootprint

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:
filterslist

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.

maskarray

Mask for the image array.

variancearray

Variance of the image array.

footprintFootprint

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.

xy0Point2I

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.

threshfloat 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.

peaksPeakCatalog

Catalog containing information about the peaks located in the footprints.

Returns:
resultMultibandFootprint

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:
filterslist

List of filter names.

imagelsst.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.

maskMultibandMask or list of Mask

Mask for the image.

variancelsst.afw.image.MultibandImage, or list of lsst.afw.image.Image

Variance of the image.

threshfloat 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.

peaksPeakCatalog

Catalog containing information about the peaks located in the footprints.

Returns:
resultMultibandFootprint

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:
maskedImageslist 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:
resultMultibandFootprint

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:
bboxBox2I

Bounding box of the resulting image. If no bounding box is specified, then the bounding box of the footprint is used.

fillfloat

Value to use for any pixel in the resulting image outside of the SpanSet.

imageTypetype

This should be either a MultibandMaskedImage or MultibandImage and describes the type of the output image.

Returns:
resultMultibandBase

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.