LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+0dd8ce4237,g1470d8bcf6+3ea6592b6f,g2079a07aa2+86d27d4dc4,g2305ad1205+5ca4c0b359,g295015adf3+d10818ec9d,g2a9a014e59+6f9be1b9cd,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+703ba97ebf,g487adcacf7+4fa16da234,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ffa42b374e,g5a732f18d5+53520f316c,g64a986408d+0dd8ce4237,g858d7b2824+0dd8ce4237,g8a8a8dda67+585e252eca,g99cad8db69+d39438377f,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+f1d96605c8,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e5339d463f,gc120e1dc64+da31e9920e,gc28159a63d+0e5473021a,gcf0d15dbbd+703ba97ebf,gdaeeff99f8+f9a426f77a,ge6526c86ff+889fc9d533,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf18bd8381d+7268b93478,gff1a9f87cc+0dd8ce4237,w.2024.16
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)