LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Static Public Member Functions | Properties | List of all members
lsst.afw.image.image._multiband.MultibandImage Class Reference
Inheritance diagram for lsst.afw.image.image._multiband.MultibandImage:
lsst.afw.image.image._multiband.MultibandImageBase lsst.afw.multiband.MultibandBase

Public Member Functions

def __init__ (self, filters, array, bbox=None)
 
def clone (self, deep=True)
 
def __setitem__ (self, args, value)
 
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 setXY0 (self, xy0)
 
def shiftedTo (self, xy0)
 
def shiftedBy (self, offset)
 
def __repr__ (self)
 
def __str__ (self)
 

Static Public Member Functions

def fromImages (filters, singles)
 
def fromKwargs (filters, filterKwargs, singleType=ImageF, **kwargs)
 

Properties

 array = property(_getArray, _setArray)
 

Detailed Description

Multiband Image class

See `MultibandImageBase` for a description of the parameters.

Definition at line 328 of file _multiband.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.afw.image.image._multiband.MultibandImage.__init__ (   self,
  filters,
  array,
  bbox = None 
)

Reimplemented from lsst.afw.multiband.MultibandBase.

Definition at line 333 of file _multiband.py.

333  def __init__(self, filters, array, bbox=None):
334  super().__init__(filters, array, Image, bbox)
335 

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.

147  def __getitem__(self, args):
148  """Get a slice of the underlying array
149 
150  If only a single filter is specified,
151  return the single band object sliced
152  appropriately.
153  """
154  if not isinstance(args, tuple):
155  indices = (args,)
156  else:
157  indices = args
158 
159  # Return the single band object if the first
160  # index is not a list or slice.
161  filters, filterIndex = self._filterNamesToIndex(indices[0])
162  if not isinstance(filterIndex, slice) and len(filterIndex) == 1:
163  if len(indices) > 2:
164  return self.singles[filterIndex[0]][indices[1:]]
165  elif len(indices) == 2:
166  return self.singles[filterIndex[0]][indices[1]]
167  else:
168  return self.singles[filterIndex[0]]
169 
170  return self._slice(filters=filters, filterIndex=filterIndex, indices=indices[1:])
171 

◆ __iter__()

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

Definition at line 172 of file multiband.py.

172  def __iter__(self):
173  self._filterIndex = 0
174  return self
175 

◆ __len__()

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

Definition at line 144 of file multiband.py.

144  def __len__(self):
145  return len(self.filters)
146 

◆ __next__()

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

Definition at line 176 of file multiband.py.

176  def __next__(self):
177  if self._filterIndex < len(self.filters):
178  result = self.singles[self._filterIndex]
179  self._filterIndex += 1
180  else:
181  raise StopIteration
182  return result
183 

◆ __repr__()

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

Definition at line 310 of file multiband.py.

310  def __repr__(self):
311  result = "<{0}, filters={1}, bbox={2}>".format(
312  self.__class__.__name__, self.filters, self.getBBox().__repr__())
313  return result
314 
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:174

◆ __setitem__()

def lsst.afw.image.image._multiband.MultibandImageBase.__setitem__ (   self,
  args,
  value 
)
inherited
Set a subset of the MultibandImage

Definition at line 249 of file _multiband.py.

249  def __setitem__(self, args, value):
250  """Set a subset of the MultibandImage
251  """
252  if not isinstance(args, tuple):
253  indices = (args,)
254  else:
255  indices = args
256 
257  # Return the single band object if the first
258  # index is not a list or slice.
259  filters, filterIndex = self._filterNamesToIndex(indices[0])
260  if len(indices) > 1:
261  sy, sx, bbox = imageIndicesToNumpy(indices[1:], self.getBBox)
262  else:
263  sy = sx = slice(None)
264  if hasattr(value, "array"):
265  self._array[filterIndex, sy, sx] = value.array
266  else:
267  self._array[filterIndex, sy, sx] = value
268 
def imageIndicesToNumpy(sliceArgs, bboxGetter)
Definition: _slicing.py:202

◆ __str__()

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

Definition at line 315 of file multiband.py.

315  def __str__(self):
316  if hasattr(self, "array"):
317  return str(self.array)
318  return self.__repr__()

◆ clone()

def lsst.afw.image.image._multiband.MultibandImageBase.clone (   self,
  deep = True 
)
inherited
Copy the current object

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

Reimplemented from lsst.afw.multiband.MultibandBase.

Definition at line 190 of file _multiband.py.

190  def clone(self, deep=True):
191  """Copy the current object
192 
193  Parameters
194  ----------
195  deep : `bool`
196  Whether or not to make a deep copy
197  """
198  if deep:
199  array = np.copy(self.array)
200  bbox = Box2I(self.getBBox())
201  else:
202  array = self.array
203  bbox = self.getBBox()
204  result = type(self)(self.filters, array, bbox)
205  return result
206 
table::Key< int > type
Definition: Detector.cc:163

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

86  def filters(self):
87  """List of filter names for the single band objects
88  """
89  return self._filters
90 

◆ fromImages()

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

see `fromSingles` for a description of parameters

Definition at line 337 of file _multiband.py.

337  def fromImages(filters, singles):
338  """Construct a MultibandImage from a collection of single band images
339 
340  see `fromSingles` for a description of parameters
341  """
342  return makeImageFromSingles(MultibandImage, filters, singles)
343 
def makeImageFromSingles(cls, filters, singles)
Definition: _multiband.py:279

◆ fromKwargs()

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

see `makeImageFromKwargs` for a description of parameters

Definition at line 345 of file _multiband.py.

345  def fromKwargs(filters, filterKwargs, singleType=ImageF, **kwargs):
346  """Build a MultibandImage from a set of keyword arguments
347 
348  see `makeImageFromKwargs` for a description of parameters
349  """
350  return makeImageFromKwargs(MultibandImage, filters, filterKwargs, singleType, **kwargs)
351 
352 
def makeImageFromKwargs(cls, filters, filterKwargs, singleType=ImageF, **kwargs)
Definition: _multiband.py:297

◆ getBBox() [1/2]

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

Definition at line 97 of file multiband.py.

97  def getBBox(self):
98  """Bounding box
99  """
100  return self._bbox
101 

◆ getBBox() [2/2]

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

Definition at line 269 of file _multiband.py.

269  def getBBox(self, origin=PARENT):
270  """Bounding box
271  """
272  if origin == PARENT:
273  return self._bbox
274  elif origin == LOCAL:
275  return Box2I(Point2I(0, 0), self._bbox.getDimensions())
276  raise ValueError("Unrecognized origin, expected either PARENT or LOCAL")
277 
278 
Point< int, 2 > Point2I
Definition: Point.h:321

◆ getXY0()

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

Definition at line 102 of file multiband.py.

102  def getXY0(self):
103  """Minimum coordinate in the bounding box
104  """
105  return self.getBBox().getMin()
106 

◆ height()

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

Definition at line 139 of file multiband.py.

139  def height(self):
140  """Height of the images
141  """
142  return self.getBBox().getHeight()
143 

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

124  def origin(self):
125  """Minimum (y,x) position
126 
127  This is the position of `self.getBBox().getMin()`,
128  but available as a tuple for numpy array indexing.
129  """
130  return (self.y0, self.x0)
131 

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

228  def setXY0(self, xy0):
229  """Shift the bounding box but keep the same Extent
230 
231  Parameters
232  ----------
233  xy0: `Point2I`
234  New minimum bounds of the bounding box
235  """
236  self._bbox = Box2I(xy0, self._bbox.getDimensions())
237  for singleObj in self.singles:
238  singleObj.setXY0(xy0)
239 

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

262  def shiftedBy(self, offset):
263  """Shift a bounding box by an offset, but keep the same Extent
264 
265  This method is broken until DM-10781 is completed.
266 
267  Parameters
268  ----------
269  offset: `Extent2I`
270  Amount to shift the bounding box in x and y.
271 
272  Returns
273  -------
274  result: `MultibandBase`
275  A copy of the object, shifted by `offset`
276  """
277  raise NotImplementedError("shiftedBy not implemented until DM-10781")
278  xy0 = self._bbox.getMin() + offset
279  return self.shiftedTo(xy0)
280 

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

240  def shiftedTo(self, xy0):
241  """Shift the bounding box but keep the same Extent
242 
243  This method is broken until DM-10781 is completed.
244 
245  Parameters
246  ----------
247  xy0: `Point2I`
248  New minimum bounds of the bounding box
249 
250  Returns
251  -------
252  result: `MultibandBase`
253  A copy of the object, shifted to `xy0`.
254  """
255  raise NotImplementedError("shiftedBy not implemented until DM-10781")
256  result = self.clone(False)
257  result._bbox = Box2I(xy0, result._bbox.getDimensions())
258  for singleObj in result.singles:
259  singleObj.setXY0(xy0)
260  return result
261 

◆ singles()

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

Definition at line 92 of file multiband.py.

92  def singles(self):
93  """List of single band objects
94  """
95  return self._singles
96 

◆ width()

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

Definition at line 133 of file multiband.py.

133  def width(self):
134  """Width of the images
135  """
136  return self.getBBox().getWidth()
137 

◆ x0()

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

X component of XY0 `Point2I.getX()`

Definition at line 108 of file multiband.py.

108  def x0(self):
109  """X0
110 
111  X component of XY0 `Point2I.getX()`
112  """
113  return self.getBBox().getMinX()
114 

◆ y0()

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

Y component of XY0 `Point2I.getY()`

Definition at line 116 of file multiband.py.

116  def y0(self):
117  """Y0
118 
119  Y component of XY0 `Point2I.getY()`
120  """
121  return self.getBBox().getMinY()
122 

Property Documentation

◆ array

lsst.afw.image.image._multiband.MultibandImageBase.array = property(_getArray, _setArray)
staticinherited

Definition at line 188 of file _multiband.py.


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