lsst.afw  21.0.0-30-gf21da11f8+958f744973
Public Member Functions | Static Public Member Functions | List of all members
lsst.afw.image.exposure._multiband.MultibandExposure Class Reference
Inheritance diagram for lsst.afw.image.exposure._multiband.MultibandExposure:
lsst.afw.image.image._multiband.MultibandTripleBase lsst.afw.multiband.MultibandBase

Public Member Functions

def __init__ (self, filters, image, mask, variance, psfs=None)
 
def computePsfKernelImage (self, position=None)
 
def computePsfImage (self, position=None)
 
def setXY0 (self, xy0)
 
def shiftedTo (self, xy0)
 
def clone (self, deep=True)
 
def image (self)
 
def mask (self)
 
def variance (self)
 
def getBBox (self, origin=PARENT)
 
def getBBox (self)
 
def filters (self)
 
def singles (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 shiftedBy (self, offset)
 
def __repr__ (self)
 
def __str__ (self)
 

Static Public Member Functions

def fromExposures (filters, singles)
 
def fromArrays (filters, image, mask, variance, bbox=None)
 
def fromKwargs (filters, filterKwargs, singleType=ExposureF, **kwargs)
 
def fromButler (butler, filters, filterKwargs, *args, **kwargs)
 

Detailed Description

MultibandExposure class

This class acts as a container for multiple `afw.Exposure` objects.
All exposures must have the same bounding box, and the associated
images must all have the same data type.

See `MultibandTripleBase` for parameter definitions.

Definition at line 33 of file _multiband.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.afw.image.exposure._multiband.MultibandExposure.__init__ (   self,
  filters,
  image,
  mask,
  variance,
  psfs = None 
)

Definition at line 42 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.image.image._multiband.MultibandTripleBase.clone (   self,
  deep = True 
)
inherited
Make a copy of the current instance

Reimplemented from lsst.afw.multiband.MultibandBase.

Definition at line 639 of file _multiband.py.

◆ computePsfImage()

def lsst.afw.image.exposure._multiband.MultibandExposure.computePsfImage (   self,
  position = None 
)
Get a multiband PSF image

The PSF Kernel Image is computed for each band
and combined into a (filter, y, x) array and stored
as `self._psfImage`.
The result is not cached, so if the same PSF is expected
to be used multiple times it is a good idea to store the
result in another variable.

Parameters
----------
position: `Point2D` or `tuple`
    Coordinates to evaluate the PSF. If `position` is `None`
    then `Psf.getAveragePosition()` is used.

Returns
-------
self._psfImage: array
    The multiband PSF image.

Definition at line 183 of file _multiband.py.

◆ computePsfKernelImage()

def lsst.afw.image.exposure._multiband.MultibandExposure.computePsfKernelImage (   self,
  position = None 
)
Get a multiband PSF image

The PSF Kernel Image is computed for each band
and combined into a (filter, y, x) array and stored
as `self._psfImage`.
The result is not cached, so if the same PSF is expected
to be used multiple times it is a good idea to store the
result in another variable.

Parameters
----------
position: `Point2D` or `tuple`
    Coordinates to evaluate the PSF. If `position` is `None`
    then `Psf.getAveragePosition()` is used.

Returns
-------
self._psfImage: array
    The multiband PSF image.

Definition at line 149 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.

◆ fromArrays()

def lsst.afw.image.exposure._multiband.MultibandExposure.fromArrays (   filters,
  image,
  mask,
  variance,
  bbox = None 
)
static
Construct a MultibandExposure from a collection of arrays

see `tripleFromArrays` for a description of parameters

Definition at line 58 of file _multiband.py.

◆ fromButler()

def lsst.afw.image.exposure._multiband.MultibandExposure.fromButler (   butler,
  filters,
  filterKwargs,
args,
**  kwargs 
)
static
Load a multiband exposure from a butler

Because each band is stored in a separate exposure file,
this method can be used to load all of the exposures for
a given set of bands

Parameters
----------
butler: `Butler`
    Butler connection to use to load the single band
    calibrated images
filters: `list` or `str`
    List of filter names for each band
filterKwargs: `dict`
    Keyword arguments to pass to the Butler
    that are different for each filter.
    The keys are the names of the arguments and the values
    should also be dictionaries, with filter names as keys
    and the value of the argument for the given filter as values.
args: `list`
    Arguments to the Butler.
kwargs: `dict`
    Keyword arguments to pass to the Butler
    that are the same in all bands.

Returns
-------
result: `MultibandExposure`
    The new `MultibandExposure` created by combining all of the
    single band exposures.

Definition at line 108 of file _multiband.py.

◆ fromExposures()

def lsst.afw.image.exposure._multiband.MultibandExposure.fromExposures (   filters,
  singles 
)
static
Construct a MultibandImage from a collection of single band images

see `tripleFromExposures` for a description of parameters

Definition at line 49 of file _multiband.py.

◆ fromKwargs()

def lsst.afw.image.exposure._multiband.MultibandExposure.fromKwargs (   filters,
  filterKwargs,
  singleType = ExposureF,
**  kwargs 
)
static
Build a MultibandImage from a set of keyword arguments

see `makeTripleFromKwargs` for a description of parameters

Definition at line 66 of file _multiband.py.

◆ getBBox() [1/2]

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

Definition at line 97 of file multiband.py.

◆ getBBox() [2/2]

def lsst.afw.image.image._multiband.MultibandTripleBase.getBBox (   self,
  origin = PARENT 
)
inherited
Bounding box

Definition at line 710 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.

◆ image()

def lsst.afw.image.image._multiband.MultibandTripleBase.image (   self)
inherited
The image of the MultibandMaskedImage

Definition at line 696 of file _multiband.py.

◆ mask()

def lsst.afw.image.image._multiband.MultibandTripleBase.mask (   self)
inherited
The mask of the MultibandMaskedImage

Definition at line 701 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.

◆ setXY0()

def lsst.afw.image.image._multiband.MultibandTripleBase.setXY0 (   self,
  xy0 
)
inherited
Shift the bounding box but keep the same Extent
This is different than `MultibandBase.setXY0`
because the multiband `image`, `mask`, and `variance` objects
must all have their bounding boxes updated.
Parameters
----------
xy0 : `Point2I`
   New minimum bounds of the bounding box

Reimplemented from lsst.afw.multiband.MultibandBase.

Definition at line 595 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.image.image._multiband.MultibandTripleBase.shiftedTo (   self,
  xy0 
)
inherited
Shift the bounding box but keep the same Extent

This is different than `MultibandBase.shiftedTo`
because the multiband `image`, `mask`, and `variance` objects
must all have their bounding boxes updated.

Parameters
----------
xy0 : `Point2I`
   New minimum bounds of the bounding box

Returns
-------
result : `MultibandBase`
   A copy of the object, shifted to `xy0`.

Reimplemented from lsst.afw.multiband.MultibandBase.

Definition at line 612 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.

◆ variance()

def lsst.afw.image.image._multiband.MultibandTripleBase.variance (   self)
inherited
The variance of the MultibandMaskedImage

Definition at line 706 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: