LSST Applications g063fba187b+fee0456c91,g0f08755f38+ea96e5a5a3,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g1a2382251a+90257ff92a,g20f6ffc8e0+ea96e5a5a3,g217e2c1bcf+937a289c59,g28da252d5a+daa7da44eb,g2bbee38e9b+253935c60e,g2bc492864f+253935c60e,g3156d2b45e+6e55a43351,g32e5bea42b+31359a2a7a,g347aa1857d+253935c60e,g35bb328faa+a8ce1bb630,g3a166c0a6a+253935c60e,g3b1af351f3+a8ce1bb630,g3e281a1b8c+c5dd892a6c,g414038480c+416496e02f,g41af890bb2+afe91b1188,g599934f4f4+0db33f7991,g7af13505b9+e36de7bce6,g80478fca09+da231ba887,g82479be7b0+a4516e59e3,g858d7b2824+ea96e5a5a3,g89c8672015+f4add4ffd5,g9125e01d80+a8ce1bb630,ga5288a1d22+bc6ab8dfbd,gb58c049af0+d64f4d3760,gc28159a63d+253935c60e,gcab2d0539d+3f2b72788c,gcf0d15dbbd+4ea9c45075,gda6a2b7d83+4ea9c45075,gdaeeff99f8+1711a396fd,ge79ae78c31+253935c60e,gef2f8181fd+3031e3cf99,gf0baf85859+c1f95f4921,gfa517265be+ea96e5a5a3,gfa999e8aa5+17cd334064,w.2024.50
LSST Data Management Base Package
Loading...
Searching...
No Matches
Classes | Functions
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)