楕円2 D

class astropy.modeling.functional_models.Ellipse2D(amplitude=1, x_0=0, y_0=0, a=1, b=1, theta=0, **kwargs)[ソース]

ベースクラス: astropy.modeling.core.Fittable2DModel

2次元楕円モデル。

パラメータ
amplitude浮いている.

楕円の値。

x_0浮いている.

ディスク中心のX位置。

y_0浮いている.

ディスク中心のY位置。

a浮いている.

半長軸の長さ。

b浮いている.

半筋軸の長さ。

theta浮いている.

半長軸の回転角(弧度)。回転角度は正x軸から反時計回りに増加する。

その他のパラメータ
fixed辞書、オプション

1冊の辞書. {{parameter_name: boolean}} パラメータの大きさはフィッティング過程では変化できない.Trueはパラメータが一定に保たれていることを表す.あるいは、 fixed パラメータの属性を用いることができる.

tiedDICT、オプション

1冊の辞書. {{parameter_name: callable}} ある他のパラメータのパラメータにリンクする.辞書値は,リンク関係を提供する呼び出し可能なオブジェクトである.あるいは、 tied パラメータの属性を用いることができる.

boundsDICT、オプション

1冊の辞書. {{parameter_name: value}} パラメータの上下境界。キーはパラメータ名である.値は長さ2のリストまたはタプルであり,パラメータに必要な範囲を与える.あるいは、 min そして max パラメータの属性を用いることができる.

eqconsリスト、オプション

長さ関数リスト n そのためには eqcons[j](x0,*args) == 0.0 最適化に成功した問題の中で。

ineqconsリスト、オプション

長さ関数リスト n そのためには ieqcons[j](x0,*args) >= 0.0 最適化に成功した問題です

参考

Disk2D, Box2D

注意事項

モデル式:

\[\begin{split}F(x,y)=\Left\{ \Begin{array}{ll} \mathm{振幅}&:\Left[\frac{(x-x_0)\cos \theta+(y-y_0)\sin\theta}{a}\right]^2+ \Left[\frac{-(x-x_0)\sin\theta+(y-y_0)] \cos\theta}{b}\右]^2\leq 1\\ 0&:\mathm{そうでなければ} \end{配列} \そうです。\end{split}\]

実例.

import numpy as np
from astropy.modeling.models import Ellipse2D
from astropy.coordinates import Angle
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
x0, y0 = 25, 25
a, b = 20, 10
theta = Angle(30, 'deg')
e = Ellipse2D(amplitude=100., x_0=x0, y_0=y0, a=a, b=b,
              theta=theta.radian)
y, x = np.mgrid[0:50, 0:50]
fig, ax = plt.subplots(1, 1)
ax.imshow(e(x, y), origin='lower', interpolation='none', cmap='Greys_r')
e2 = mpatches.Ellipse((x0, y0), 2*a, 2*b, theta.degree, edgecolor='red',
                      facecolor='none')
ax.add_patch(e2)
plt.show()

(png, svg, pdf)

../_images/astropy-modeling-functional_models-Ellipse2D-1.png

属性要約

a \

amplitude \

b \

input_units \

この属性は、Evaluateメソッドがどの単位または単位セットを必要とするかを示し、入力を単位にマッピングする(または)ことを返すために使用される None 任意の単位が受け入れられていれば).

param_names \

このタイプモデルのパラメータ名を記述する.

theta \

x_0 \

y_0 \

方法要約

evaluate (x,y,振幅,x 0,y 0,a,b,θ)

2次元楕円モデル関数。

属性文書

a = Parameter('a', value=1.0)
amplitude = Parameter('amplitude', value=1.0)
b = Parameter('b', value=1.0)
input_units
param_names = ('amplitude', 'x_0', 'y_0', 'a', 'b', 'theta')

このタイプモデルのパラメータ名を記述する.

このタプル内のパラメータの順序は、特定のタイプのモデルを初期化する際に入力されるべき順序と同じである。いくつかのタイプのモデル(例えば、多項式モデル)は、次数のようなモデルのいくつかの他の属性に依存する異なる数のパラメータを有する。

モデルクラスを定義する際には,その属性の値は Parameter クラス主体で定義された属性.

theta = Parameter('theta', value=0.0)
x_0 = Parameter('x_0', value=0.0)
y_0 = Parameter('y_0', value=0.0)

方法文書

static evaluate(x, y, amplitude, x_0, y_0, a, b, theta)[ソース]

2次元楕円モデル関数。