lsst.afw g47a37159df+45adbcf3d0
Loading...
Searching...
No Matches
lsst.afw.image._image._multiband.MultibandPixel Class Reference
Inheritance diagram for lsst.afw.image._image._multiband.MultibandPixel:
lsst.afw.multiband.MultibandBase

Public Member Functions

 __init__ (self, bands, singles, position)
 
 clone (self, deep=True)
 
 __getitem__ (self, indices)
 
 y0 (self)
 
 x0 (self)
 
 bands (self)
 
 singles (self)
 
 getBBox (self)
 
 getXY0 (self)
 
 origin (self)
 
 width (self)
 
 height (self)
 
 __len__ (self)
 
 __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())
 

Protected Member Functions

 _getArray (self)
 
 _setArray (self, value)
 
 _slice (self, bands, bandIndex, indices)
 
 _bandNamesToIndex (self, bandIndex)
 

Protected Attributes

 _bands = tuple([f for f in bands])
 
 _singles = tuple(singles)
 
 _bbox = self._singles[0].getBBox()
 
int _bandIndex = 0
 

Properties

 array = property(_getArray, _setArray)
 

Detailed Description

Multiband Pixel class

This represent acts as a container for a single pixel
(scalar) in multiple bands.

Parameters
----------
singles : `sequence`
   Either a list of single band objects or an array of values.
bands : `list`
   List of band names. If `singles` is an `OrderedDict` or
   a `MultibandPixel` then this argument is ignored,
   otherwise it is required.
position : `Point2I`
   Location of the pixel in the parent image.
   Unlike other objects that inherit from `MultibandBase`,
   `MultibandPixel` objects don't have a full `Box2I`
   bounding box, since they only contain a single pixel,
   so the bounding box cannot be inherited from the
   list of `singles`.

Definition at line 33 of file _multiband.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.afw.image._image._multiband.MultibandPixel.__init__ ( self,
bands,
singles,
position )

Definition at line 55 of file _multiband.py.

Member Function Documentation

◆ __getitem__()

lsst.afw.image._image._multiband.MultibandPixel.__getitem__ ( self,
indices )
Get a slice of the underlying array

Since a `MultibandPixel` is a scalar in the
spatial dimensions, it can only be indexed with
a band name, number, or slice.

Definition at line 100 of file _multiband.py.

◆ __iter__()

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

Definition at line 172 of file multiband.py.

◆ __len__()

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

Definition at line 144 of file multiband.py.

◆ __next__()

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

Definition at line 176 of file multiband.py.

◆ __repr__()

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

Definition at line 310 of file multiband.py.

◆ __str__()

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

Definition at line 315 of file multiband.py.

◆ _bandNamesToIndex()

lsst.afw.multiband.MultibandBase._bandNamesToIndex ( self,
bandIndex )
protectedinherited
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 184 of file multiband.py.

◆ _getArray()

lsst.afw.image._image._multiband.MultibandPixel._getArray ( self)
protected
Data cube array in multiple bands

Since `self._singles` is just a 1D array,
`array` just returns `self._singles`.

Definition at line 70 of file _multiband.py.

◆ _setArray()

lsst.afw.image._image._multiband.MultibandPixel._setArray ( self,
value )
protected

Definition at line 78 of file _multiband.py.

◆ _slice()

lsst.afw.image._image._multiband.MultibandPixel._slice ( self,
bands,
bandIndex,
indices )
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 from lsst.afw.multiband.MultibandBase.

Definition at line 124 of file _multiband.py.

◆ bands()

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

Definition at line 86 of file multiband.py.

◆ clone()

lsst.afw.image._image._multiband.MultibandPixel.clone ( self,
deep = True )
Make a copy of the current instance

`MultibandPixel.singles` is an array,
so this just makes a copy of the array
(as opposed to a view of the parent array).

Reimplemented from lsst.afw.multiband.MultibandBase.

Definition at line 84 of file _multiband.py.

◆ getBBox()

lsst.afw.multiband.MultibandBase.getBBox ( self)
inherited

◆ getXY0()

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

Definition at line 102 of file multiband.py.

◆ height()

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

Definition at line 139 of file multiband.py.

◆ origin()

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

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

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

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

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

Definition at line 92 of file multiband.py.

◆ width()

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

Definition at line 133 of file multiband.py.

◆ x0()

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

X component of XY0 `Point2I.getX()`

Definition at line 108 of file multiband.py.

◆ y0()

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

Y component of XY0 `Point2I.getY()`

Definition at line 116 of file multiband.py.

Member Data Documentation

◆ _bandIndex

int lsst.afw.multiband.MultibandBase._bandIndex = 0
protectedinherited

Definition at line 173 of file multiband.py.

◆ _bands

lsst.afw.multiband.MultibandBase._bands = tuple([f for f in bands])
protectedinherited

Definition at line 55 of file multiband.py.

◆ _bbox

lsst.afw.multiband.MultibandBase._bbox = self._singles[0].getBBox()
protectedinherited

Definition at line 59 of file multiband.py.

◆ _singles

lsst.afw.multiband.MultibandBase._singles = tuple(singles)
protectedinherited

Definition at line 56 of file multiband.py.

◆ bands

lsst.afw.multiband.MultibandBase.bands
inherited

Definition at line 145 of file multiband.py.

◆ singles

lsst.afw.multiband.MultibandBase.singles = Box2I(xy0, self._bbox.getDimensions())
inherited

Definition at line 237 of file multiband.py.

◆ x0

lsst.afw.multiband.MultibandBase.x0
inherited

Definition at line 130 of file multiband.py.

◆ y0

lsst.afw.multiband.MultibandBase.y0
inherited

Definition at line 130 of file multiband.py.

Property Documentation

◆ array

lsst.afw.image._image._multiband.MultibandPixel.array = property(_getArray, _setArray)
static

Definition at line 82 of file _multiband.py.


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