LSST Applications g04e9c324dd+8c5ae1fdc5,g0644efc3f0+09e1198e5e,g123d84c11c+8c5ae1fdc5,g1ec0fe41b4+6ec6b74de1,g1fd858c14a+3ffa984376,g3533f9d6cb+09e1198e5e,g35bb328faa+8c5ae1fdc5,g35ef7ab7cf+266198310b,g495290aba3+89f6b6dd9e,g53246c7159+8c5ae1fdc5,g60b5630c4e+09e1198e5e,g663da51e9b+8d6ae63d30,g6735e52a0d+29de3d959a,g67b6fd64d1+57193d00fb,g6c75a56628+7a48c497dd,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g844c57033c+03ddc13274,g8852436030+08a5a9c358,g89139ef638+57193d00fb,g989de1cb63+57193d00fb,g9f33ca652e+945cd5ea73,ga1e959baac+5fbc491aed,ga2f891cd6c+09e1198e5e,gabe3b4be73+8856018cbb,gabf8522325+cc757f8247,gac2eed3f23+57193d00fb,gb1101e3267+9443485152,gb89ab40317+57193d00fb,gcf25f946ba+08a5a9c358,gd107969129+a4cb2c4ed1,gd6cbbdb0b4+8e46defd2a,gde0f65d7ad+31a6a3d176,ge278dab8ac+2322f1d6ea,ge410e46f29+57193d00fb,gf30d85a44d+f9c24d3818,gf5e32f922b+8c5ae1fdc5,gff02db199a+041df0bfe7,w.2025.28
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.afw.display.rgb._rgbContinued Namespace Reference

Classes

class  AsinhMapping
 
class  AsinhZScaleMapping
 
class  LinearMapping
 
class  Mapping
 
class  ZScaleMapping
 

Functions

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

Function Documentation

◆ computeIntensity()

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.

30def 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
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.

◆ displayRGB()

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.

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

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

◆ writeRGB()

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.

449def 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)