カラーRGB画像の作成

Matplotlibが三色画像を作成する能力を用いてRGB画像を生成することができる。一般に、RGB画像はMxNx 3配列であり、ここで、Mはy次元、Nはx次元、Length−3層はそれぞれ赤色、緑色、青色を表す。Alpha(不透明度)の値を表す第4層を指定することができる.

Matplotlibにはいくつかのツールがあります matplotlib.colors それがそうです。

Astropyの視覚化ツールは、RGB画像の各層の伸張およびスケーリングを変更するために使用することができる。浮動小数点数の場合、各層の割合は0~1でなければならず(整数の場合、各層の割合は0~255の間でなければならない)、この範囲を超える値は裁断されるであろう。

Luptonら(2004)方式を用いたカラーRGB画像の作成

Lupton et al. (2004) 3つの独立した高ダイナミックレンジアレイから赤緑青合成画像を生成する“最適”アルゴリズムが記載されている。この方法は make_lupton_rgb 予備スケーリングは、便利なラッパ関数および関連するクラスのセットとして提供される。SDSS SkyServerカラー画像は,この技術の変形を用いて作成されている.デフォルト(Arcsinh)スケールを使用してカラーPNGファイルを生成するには、以下の操作を実行してください。

import numpy as np
import matplotlib.pyplot as plt
from astropy.visualization import make_lupton_rgb
image_r = np.random.random((100,100))
image_g = np.random.random((100,100))
image_b = np.random.random((100,100))
image = make_lupton_rgb(image_r, image_g, image_b, stretch=0.5)
plt.imshow(image)

(png, svg, pdf)

../_images/rgb-1.png

この方法は、3つの画像が整列され、同じ画素比率およびサイズを有することを必要とする。変化しています minimum 黒のレベルを変更します stretch そして Q 白黒間の値のスケーリング方式を変更します。

For a more in-depth example, download the g, r, i SDSS frames (they will serve as the blue, green and red channels respectively) of the area around the Hickson 88 group and try the example below and compare it with Figure 1 of Lupton et al. (2004):

import matplotlib.pyplot as plt
from astropy.visualization import make_lupton_rgb
from astropy.io import fits
from astropy.utils.data import get_pkg_data_filename

# Read in the three images downloaded from here:
g_name = get_pkg_data_filename('visualization/reprojected_sdss_g.fits.bz2')
r_name = get_pkg_data_filename('visualization/reprojected_sdss_r.fits.bz2')
i_name = get_pkg_data_filename('visualization/reprojected_sdss_i.fits.bz2')
g = fits.open(g_name)[0].data
r = fits.open(r_name)[0].data
i = fits.open(i_name)[0].data

rgb_default = make_lupton_rgb(i, r, g, filename="ngc6976-default.jpeg")
plt.imshow(rgb_default, origin='lower')

(png, svg, pdf)

../_images/rgb-2.png

上の図はデフォルトパラメータを用いて生成されたものである.しかし,異なる尺度,たとえばQ=10,引張=0.5を用いると,銀河の微弱な特徴が現れる.図1を参照 Lupton et al. (2004) あるいは…。 SDSS Skyserver image それがそうです。

rgb = make_lupton_rgb(i, r, g, Q=10, stretch=0.5, filename="ngc6976.jpeg")
plt.imshow(rgb, origin='lower')

(png, svg, pdf)

../_images/rgb-3.png