楕円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
最適化に成功した問題です
注意事項
モデル式:
\[\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()
属性要約
a
\b
\この属性は、Evaluateメソッドがどの単位または単位セットを必要とするかを示し、入力を単位にマッピングする(または)ことを返すために使用される
None
任意の単位が受け入れられていれば).このタイプモデルのパラメータ名を記述する.
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)¶
方法文書