Bases: astropy.modeling.Fittable2DModel
A 2D Ellipse model.
| Parameters: | amplitude : float
x_0 : float
y_0 : float
a : float
b : float
theta : float, optional
|
|---|---|
| Other Parameters: | |
fixed : a dict
tied : dict
bounds : dict eqcons : list
ineqcons : list
|
|
Notes
Model formula:
![f(x, y) = \left \{
\begin{array}{ll}
\mathrm{amplitude} & : \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}\right]^2 \leq 1 \\
0 & : \mathrm{otherwise}
\end{array}
\right.](../_images/math/6c1b231d2b7a3a583af86fbe0dd796c5ba1e8622.png)
Examples
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', cmap='Greys_r')
e2 = mpatches.Ellipse((x0, y0), 2*a, 2*b, theta.degree,
edgecolor='red', facecolor='none')
ax.add_patch(e2)
plt.show()
(Source code, png, hires.png, pdf)
Attributes Summary
| a | |
| amplitude | |
| b | |
| param_names | |
| theta | |
| x_0 | |
| y_0 |
Methods Summary
| evaluate(x, y, amplitude, x_0, y_0, a, b, theta) | Two dimensional Ellipse model function. |
Attributes Documentation
Methods Documentation
Two dimensional Ellipse model function.