2 D掘削

class astropy.nddata.utils.Cutout2D(data, position, size, wcs=None, mode='trim', fill_value=nan, copy=False)[ソース]

ベースクラス: object

二次元配列から裁断オブジェクトを作成します。

返されたオブジェクトには、2 Dクロッピング配列が含まれます。もし…。 copy=False (デフォルト)、裁断アレイは、オリジナルビューのビューです data 配列、そうでなければ、配列を切り出すことは、元のデータのコピーを含むであろう。

もし1つが WCS オブジェクトは,返されたオブジェクトにはオリジナルWCSのコピーも含まれるが,枝刈り配列に対して更新される.

用法例については,参照されたい 2 Dクロッピング画像 それがそうです。

警告

クリップWCSオブジェクトは、入力WCSオブジェクトに含まれる歪みルックアップテーブルを現在処理していない場合 FITS WCS distortion paper それがそうです。

パラメータ
dataNdarray

その中から配列を切り出した2次元データ配列を抽出する.

ポスト :タプルまたは SkyCoord元グループまたは

裁断配列の中心は data 配列していますこの位置は (x, y) ピクセル座標タプルまたは SkyCoord この場合には wcs 必須項目です。

size :INT、類似配列、または Quantity全体的、類似した配列、または

各軸に沿った切り出し配列の大きさ.もし…。 size スカラー数ですか、スカラーですか Quantity そして正方形の裁断です size 作成されますもし…。 size 2つの要素があります (ny, nx) 秩序。中のスカラー数 size 画素単位とする. size そうでもいい Quantity オブジェクトまたは含まれている Quantity 物体です。このようなものは Quantity オブジェクトは画素や角度単位を用いなければならない.全ての場合 size 整数個の画素に変換され、最も近い整数を四捨五入する。ご参照ください mode キーワードは,最終的な切り出しサイズに関する他の詳細な情報を取得する.

注釈

もし size 角度単位である場合、切取サイズは、画像の各軸に沿った画素割合を用いて画素に変換される。 CRPIX 場所。投影や他の非線形歪みは考慮しない.

wcsWCS オプションです。WCS、オプション

入力に関連するWCSオブジェクト data 配列していますもし…。 wcs いえ。 None すると,返されたクロッピング対象はクロッピングデータ配列の更新WCSのコピーを含む.

mode{‘Trim’,‘Partial’,‘Strict’},オプション

データ配列を裁断するためのモードを作成する。上の 'partial' そして 'trim' パターン、クロッピング配列、入力の部分が重なっています data 配列で十分です。上の 'strict' モードでは,裁断配列は完全に含まれていなければならない data 配列されていないと誘発されます PartialOverlapError みんな育てられました。すべてのパターンで非重複配列は NoOverlapError それがそうです。はい。 'partial' パターンでは,切り出し配列中と data 配列に充填されます fill_value それがそうです。はい。 'trim' モードでは重複要素のみを返すため,生成されるクロッピング配列は要求よりも小さい可能性がある. shape それがそうです。

fill_value浮動型または整型、オプション

もし mode='partial' ,切り出し配列のうち入力と重ならない画素の値を充填する. data それがそうです。 fill_value 同じものがなければならない dtype 入力として data 配列しています

copyブル値、オプション

もし False (デフォルト)、切り出しデータは元のデータのビューとなる data 配列していますもし…。 True クリップデータは元のデータのコピーを保存します data 配列しています

実例.

>>> import numpy as np
>>> from astropy.nddata.utils import Cutout2D
>>> from astropy import units as u
>>> data = np.arange(20.).reshape(5, 4)
>>> cutout1 = Cutout2D(data, (2, 2), (3, 3))
>>> print(cutout1.data)  
[[ 5.  6.  7.]
 [ 9. 10. 11.]
 [13. 14. 15.]]
>>> print(cutout1.center_original)
(2.0, 2.0)
>>> print(cutout1.center_cutout)
(1.0, 1.0)
>>> print(cutout1.origin_original)
(1, 1)
>>> cutout2 = Cutout2D(data, (2, 2), 3)
>>> print(cutout2.data)  
[[ 5.  6.  7.]
 [ 9. 10. 11.]
 [13. 14. 15.]]
>>> size = u.Quantity([3, 3], u.pixel)
>>> cutout3 = Cutout2D(data, (0, 0), size)
>>> print(cutout3.data)  
[[0. 1.]
 [4. 5.]]
>>> cutout4 = Cutout2D(data, (0, 0), (3 * u.pixel, 3))
>>> print(cutout4.data)  
[[0. 1.]
 [4. 5.]]
>>> cutout5 = Cutout2D(data, (0, 0), (3, 3), mode='partial')
>>> print(cutout5.data)  
[[nan nan nan]
 [nan  0.  1.]
 [nan  4.  5.]]
属性
data :2 D 2 D ndarray2次元.

二次元裁断アレイ。

shape(2,)メタグループ

♪the (ny, nx) 配列の形状を裁断する.

shape_input(2,)メタグループ

♪the (ny, nx) (オリジナル)配列の形状を入力する.

input_position_cutout(2,)メタグループ

(四捨五入していない) (x, y) 配列を裁断する位置に対して.

input_position_original(2,)メタグループ

原始(四捨五入) (x, y) 位置(元の配列に対して)を入力する.

slices_originalスライス対象の(2,)メタグループ

元の配列に対する最小境界ブロックを裁断するためのスライスオブジェクトのタプル。上の mode='partial' スライスは、有効(充填されていない)の切断値に使用される。

slices_cutoutスライス対象の(2,)メタグループ

スライスオブジェクトのタプルは、配列の裁断に対する最小境界フレームを裁断するために使用される。上の mode='partial' スライスは、有効(充填されていない)の切断値に使用される。

xmin_original, ymin_original, xmax_original, ymax_original浮いている.

最小値と最大値 x そして y 元の配列の最小矩形領域に対する配列のインデックスを切り出す.上の mode='partial' 境界ブロックは、有効(非パディング)剪断値に参照される。これらの値は中の値と同じである bbox_original それがそうです。

xmin_cutout, ymin_cutout, xmax_cutout, ymax_cutout浮いている.

最小値と最大値 x そして y 切り出し配列の最小矩形領域に対する切り出し配列のインデックス.上の mode='partial' 境界ブロックは、有効(非パディング)剪断値に参照される。これらの値は中の値と同じである bbox_cutout それがそうです。

wcsWCS あるいはない.WCSまたはなし

裁断配列に関連するWCSオブジェクト(もし wcs 入力しました。

属性要約

bbox_cutout \

包囲箱. ((ymin, ymax), (xmin, xmax)) 切断アレイは、切断アレイの最小矩形領域に対して。

bbox_original \

包囲箱. ((ymin, ymax), (xmin, xmax)) 切断アレイは、元のアレイに対する最小矩形領域である。

center_cutout \

中央 (x, y) 切り出し配列の切り出し配列に対する位置.

center_original \

中央 (x, y) 元の配列に対する配列の位置を区切る.

origin_cutout \

♪the (x, y) 切り出しの原点画素は,切り出し配列に対するインデックスである.

origin_original \

♪the (x, y) 切り出した原点画素は,元の配列に対するインデックスである.

position_cutout \

♪the (x, y) 切り出し配列中の位置インデックス(丸めは最も近い画素)である.

position_original \

♪the (x, y) 元の配列中の位置インデックス(丸めは最も近い画素)である.

方法要約

plot_on_original \([ax, fill] )

Matplotlib軸インスタンス上に切り出し領域を描画する.

to_cutout_position \(元_位置)

変換して (x, y) 原始的な大規模な配列の中で (x, y) 切り出し配列中の位置.

to_original_position \(切り出し_位置)

変換して (x, y) クロッピング配列における元の位置への配置 (x, y) 位置は原始的な大型配列にある.

属性文書

bbox_cutout

包囲箱. ((ymin, ymax), (xmin, xmax)) 切断アレイは、切断アレイの最小矩形領域に対して。上の mode='partial' 境界ブロックは、有効(非パディング)剪断値に参照される。

bbox_original

包囲箱. ((ymin, ymax), (xmin, xmax)) 切断アレイは、元のアレイに対する最小矩形領域である。上の mode='partial' 境界ブロックは、有効(非パディング)剪断値に参照される。

center_cutout

中央 (x, y) 切り出し配列の切り出し配列に対する位置.上の mode='partial' すると,有効(未パディング)の切断値のために中心位置を計算する.

center_original

中央 (x, y) 元の配列に対する配列の位置を区切る.上の mode='partial' すると,有効(未パディング)の切断値のために中心位置を計算する.

origin_cutout

♪the (x, y) 切り出しの原点画素は,切り出し配列に対するインデックスである.上の mode='partial' すると、有効(非パディング)切り出し値に対して原点画素が算出される。

origin_original

♪the (x, y) 切り出した原点画素は,元の配列に対するインデックスである.上の mode='partial' すると、有効(非パディング)切り出し値に対して原点画素が算出される。

position_cutout

♪the (x, y) 切り出し配列中の位置インデックス(丸めは最も近い画素)である.

position_original

♪the (x, y) 元の配列中の位置インデックス(丸めは最も近い画素)である.

方法文書

plot_on_original(ax=None, fill=False, **kwargs)[ソース]

Matplotlib軸インスタンス上に切り出し領域を描画する.

パラメータ
axmatplotlib.axes.Axes 例、オプションMatplotlib.axes.Aoksインスタンス、オプション

もし None そして海流です matplotlib.axes.Axes インスタンスが使用される.

fillブル値、オプション

裁断パッチを充填するかどうかを設定します。黙認する. False それがそうです。

kwargs任意選択.

任意のキーワードパラメータを受け取ります matplotlib.patches.Patch それがそうです。

返品
axmatplotlib.axes.Axes 実例.Matplotlib.axes.Aaxのインスタンス

この手法で構築されたmatplotlib軸インスタンス ax=None それがそうです。そうでなければ出力は ax 入力と同じ ax それがそうです。

to_cutout_position(original_position)[ソース]

変換して (x, y) 原始的な大規模な配列の中で (x, y) 切り出し配列中の位置.

パラメータ
original_positionタプル.

♪the (x, y) 元の大型配列内の画素位置。

返品
cutout_positionタプル.

相応の (x, y) 配列中の画素位置を切り出す.

to_original_position(cutout_position)[ソース]

変換して (x, y) クロッピング配列における元の位置への配置 (x, y) 位置は原始的な大型配列にある.

パラメータ
cutout_positionタプル.

♪the (x, y) 配列中の画素位置を切り出す.

返品
original_positionタプル.

相応の (x, y) 元の大型配列内の画素位置。