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
Classes | Functions
lsst.afw.display.rgb._rgbContinued Namespace Reference

Classes

class  Mapping
 
class  LinearMapping
 
class  ZScaleMapping
 
class  AsinhMapping
 
class  AsinhZScaleMapping
 

Functions

def computeIntensity (imageR, imageG=None, imageB=None)
 
def makeRGB (imageR, imageG=None, imageB=None, minimum=0, dataRange=5, Q=8, fileName=None, saturatedBorderWidth=0, saturatedPixelValue=None, xSize=None, ySize=None, rescaleFactor=None)
 
def displayRGB (rgb, show=True)
 
def writeRGB (fileName, rgbImage)
 

Function Documentation

◆ computeIntensity()

def lsst.afw.display.rgb._rgbContinued.computeIntensity (   imageR,
  imageG = None,
  imageB = None 
)
Return a naive total intensity from the red, blue, and green intensities

Parameters
----------
imageR : `lsst.afw.image.MaskedImage`, `lsst.afw.image.Image`, or `numpy.ndarray`, (Nx, Ny)
    intensity of image that'll be mapped to red; or intensity if imageG and imageB are None
imageG : `lsst.afw.image.MaskedImage`, `lsst.afw.image.Image`, or `numpy.ndarray`, (Nx, Ny)
    intensity of image that'll be mapped to green; or None
imageB : `lsst.afw.image.MaskedImage`, `lsst.afw.image.Image`, or `numpy.ndarray`, (Nx, Ny)
    intensity of image that'll be mapped to blue; or None

Returns
-------
image : type of ``imageR``, ``imageG``, and `imageB``

Definition at line 30 of file _rgbContinued.py.

30 def computeIntensity(imageR, imageG=None, imageB=None):
31  """Return a naive total intensity from the red, blue, and green intensities
32 
33  Parameters
34  ----------
35  imageR : `lsst.afw.image.MaskedImage`, `lsst.afw.image.Image`, or `numpy.ndarray`, (Nx, Ny)
36  intensity of image that'll be mapped to red; or intensity if imageG and imageB are None
37  imageG : `lsst.afw.image.MaskedImage`, `lsst.afw.image.Image`, or `numpy.ndarray`, (Nx, Ny)
38  intensity of image that'll be mapped to green; or None
39  imageB : `lsst.afw.image.MaskedImage`, `lsst.afw.image.Image`, or `numpy.ndarray`, (Nx, Ny)
40  intensity of image that'll be mapped to blue; or None
41 
42  Returns
43  -------
44  image : type of ``imageR``, ``imageG``, and `imageB``
45  """
46  if imageG is None or imageB is None:
47  assert imageG is None and imageB is None, \
48  "Please specify either a single image or red, green, and blue images"
49  return imageR
50 
51  imageRGB = [imageR, imageG, imageB]
52 
53  for i, c in enumerate(imageRGB):
54  if hasattr(c, "getImage"):
55  c = imageRGB[i] = c.getImage()
56  if hasattr(c, "getArray"):
57  imageRGB[i] = c.getArray()
58 
59  intensity = (imageRGB[0] + imageRGB[1] + imageRGB[2])/float(3)
60  #
61  # Repack into whatever type was passed to us
62  #
63  Image = afwImage.ImageU if intensity.dtype == 'uint16' else afwImage.ImageF
64 
65  if hasattr(imageR, "getImage"): # a maskedImage
66  intensity = afwImage.makeMaskedImage(Image(intensity))
67  elif hasattr(imageR, "getArray"):
68  intensity = Image(intensity)
69 
70  return intensity
71 
72 
def computeIntensity(imageR, imageG=None, imageB=None)
MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT > * makeMaskedImage(typename std::shared_ptr< Image< ImagePixelT >> image, typename std::shared_ptr< Mask< MaskPixelT >> mask=Mask< MaskPixelT >(), typename std::shared_ptr< Image< VariancePixelT >> variance=Image< VariancePixelT >())
A function to return a MaskedImage of the correct type (cf.
Definition: MaskedImage.h:1240

◆ displayRGB()

def lsst.afw.display.rgb._rgbContinued.displayRGB (   rgb,
  show = True 
)
Display an rgb image using matplotlib

Parameters
----------
rgb
    The RGB image in question
show : `bool`
    If `True`, call `matplotlib.pyplot.show()`

Definition at line 432 of file _rgbContinued.py.

432 def displayRGB(rgb, show=True):
433  """Display an rgb image using matplotlib
434 
435  Parameters
436  ----------
437  rgb
438  The RGB image in question
439  show : `bool`
440  If `True`, call `matplotlib.pyplot.show()`
441  """
442  import matplotlib.pyplot as plt
443  plt.imshow(rgb, interpolation='nearest', origin="lower")
444  if show:
445  plt.show()
446  return plt
447 
448 

◆ makeRGB()

def lsst.afw.display.rgb._rgbContinued.makeRGB (   imageR,
  imageG = None,
  imageB = None,
  minimum = 0,
  dataRange = 5,
  Q = 8,
  fileName = None,
  saturatedBorderWidth = 0,
  saturatedPixelValue = None,
  xSize = None,
  ySize = None,
  rescaleFactor = None 
)
Make a set of three images into an RGB image using an asinh stretch and
optionally write it to disk

Parameters
----------
imageR
imageG
imageB
minimum : `float` or sequence of `float`
dataRange
Q : `int`
fileName : `str`
    The output file. The suffix defines the format, and must be supported by matplotlib
saturatedBorderWidth
    If saturatedBorderWidth is non-zero, replace saturated pixels with
    ``saturatedPixelValue``. Note that replacing saturated pixels requires
    that the input images be `lsst.afw.image.MaskedImage`.
saturatedPixelValue
xSize
ySize
rescaleFactor

Definition at line 385 of file _rgbContinued.py.

387  xSize=None, ySize=None, rescaleFactor=None):
388  """Make a set of three images into an RGB image using an asinh stretch and
389  optionally write it to disk
390 
391  Parameters
392  ----------
393  imageR
394  imageG
395  imageB
396  minimum : `float` or sequence of `float`
397  dataRange
398  Q : `int`
399  fileName : `str`
400  The output file. The suffix defines the format, and must be supported by matplotlib
401  saturatedBorderWidth
402  If saturatedBorderWidth is non-zero, replace saturated pixels with
403  ``saturatedPixelValue``. Note that replacing saturated pixels requires
404  that the input images be `lsst.afw.image.MaskedImage`.
405  saturatedPixelValue
406  xSize
407  ySize
408  rescaleFactor
409  """
410  if imageG is None:
411  imageG = imageR
412  if imageB is None:
413  imageB = imageR
414 
415  if saturatedBorderWidth:
416  if saturatedPixelValue is None:
417  raise ValueError(
418  "saturatedPixelValue must be set if saturatedBorderWidth is set")
419  replaceSaturatedPixels(imageR, imageG, imageB,
420  saturatedBorderWidth, saturatedPixelValue)
421 
422  asinhMap = AsinhMapping(minimum, dataRange, Q)
423  rgb = asinhMap.makeRgbImage(imageR, imageG, imageB,
424  xSize=xSize, ySize=ySize, rescaleFactor=rescaleFactor)
425 
426  if fileName:
427  writeRGB(fileName, rgb)
428 
429  return rgb
430 
431 
def writeRGB(fileName, rgbImage)
void replaceSaturatedPixels(ImageT &rim, ImageT &gim, ImageT &bim, int borderWidth, float saturatedPixelValue)
Definition: _saturated.cc:32

◆ writeRGB()

def lsst.afw.display.rgb._rgbContinued.writeRGB (   fileName,
  rgbImage 
)
Write an RGB image to disk

Parameters
----------
fileName : `str`
    The output file. The suffix defines the format, and must be supported by matplotlib

    Most versions of matplotlib support png and pdf (although the eps/pdf/svg writers may be buggy,
    possibly due an interaction with useTeX=True in the matplotlib settings).

    If your matplotlib bundles pil/pillow you should also be able to write jpeg and tiff files.
rgbImage
    The image, as made by e.g. makeRGB

Definition at line 449 of file _rgbContinued.py.

449 def writeRGB(fileName, rgbImage):
450  """Write an RGB image to disk
451 
452  Parameters
453  ----------
454  fileName : `str`
455  The output file. The suffix defines the format, and must be supported by matplotlib
456 
457  Most versions of matplotlib support png and pdf (although the eps/pdf/svg writers may be buggy,
458  possibly due an interaction with useTeX=True in the matplotlib settings).
459 
460  If your matplotlib bundles pil/pillow you should also be able to write jpeg and tiff files.
461  rgbImage
462  The image, as made by e.g. makeRGB
463  """
464  import matplotlib.image
465  matplotlib.image.imsave(fileName, rgbImage)